Proyectos que usan openMSP430

Proyectos que usan openMSP430

de Julio Perez -
Número de respuestas: 0

Este mensaje va para los grupos de proyecto que usan el procesador openMSP430:

Registrador de activación de fallas (Cosentino/Cerviño/Foglino)
Medidor de consumo (Barboza/rirogom@gmail.com/Pisano)
Periférico DALI (Martinez/González)

a los demás disculpas por el ruido.

En este mensaje les paso material y algunas pistas para comenzar a trabajar con el openMSP430.

El martes próximo en el horario habitual del curso podemos hacer una sesión para aclarar dudas.

Nos vemos,

julio

----

* openMSP430

** Descargarlo de OpenCores

http://opencores.org/project,openmsp430,overview

Busquen el link: "Latest version: download"

Eso les descarga un archivo comprimido, abranlo en un directorio para trabajar.


** Organización de archivos y directorios

Aquí:

http://opencores.org/project,openmsp430,file%20and%20directory%20description

 hay una descripción de todos los archivos descargados.


** Ejemplo de periférico con cuatro registros

Hay dos ejemplos de periféricos que les pueden servir de inspiración.

Están en:

   rtl\verilog\openmsp430\periph

Lamentablemente están en verilog y no en vhdl.

El periférico que van a diseñar ustedes se va a conectar al bus de periféricos. Para entender fácil cómo va conectado vean este diagrama esquemático:

http://opencores.org/project,openmsp430,integration%20and%20connectivity


Presten atención a lo siguiente:

Los buses de datos son de 16 bits, pero el espacio de direcciones se refiere a palabras de 8 bits. Cada palabra de 16 bits ocupa dos lugares en el espacio de direcciones: el byte bajo corresponde a una dirección par y el byte alto corresponde a una dirección impar. Por ese motivo no se conecta el bit menos significativo de las direcciones.

La señal de control per_we[1:0] de dos bits permite distinguir entre las diferentes posibles escrituras y lecturas:

 00 lectura
 01 escritura de 8 bits en byte bajo (dirección par)
 10 escritura de 8 bits en byte alto (dirección IMpar)
 11 escritura de 16 bits

Ya vieron algo similar en Wishbone.

En las lecturas el procesador elige internamente el byte alto, bajo o ambos dependiendo de lo que quiere leer.

De los dos ejemplos, uno  permite solo transferencias de 16 bits (template_periph_16b.v) y el otro permite todas las variantes (template_periph_8b.v)


** En placa DE0

El ejemplo que suministra OpenCores es para otra placa.

No se gasten en migrarlo a la placa DE0, ya tenemos eso funcionando, se los haremos llegar más adelante.


Para poder depurar y hacer las pruebas van a necesitar conectarse con un puerto serie RS232.

Para conectarse a un notebook (o a un pc que no tenga puerto rs232) van a necesitar un conversor de USB/RS232.

La placa tiene un conversor de niveles de tensión para los niveles rs232, conectado a pines I/O del fpga, marcado como RS-232 en el circuito impreso como se ve en esta foto:

http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=56&No=364&PartNo=3


Como ven no tiene instalado el conector. Hay que soldar conector y/o cable para llevarlo a un conector DB9 estandar de puerto serie.