Tabla de contenido:

Diseño de SPI Master en VHDL: 6 pasos
Diseño de SPI Master en VHDL: 6 pasos

Video: Diseño de SPI Master en VHDL: 6 pasos

Video: Diseño de SPI Master en VHDL: 6 pasos
Video: Diseño de una memoria RAM en VHDL usando el MegaWizard de Quartus II 2024, Noviembre
Anonim
Diseño de SPI Master en VHDL
Diseño de SPI Master en VHDL

En este instructable, vamos a diseñar un SPI Bus Master desde cero en VHDL.

Paso 1: descripción general de SPI

  • SPI es un bus serie síncrono
  • Su popularidad y simplicidad lo convirtieron en un estándar de facto en la comunicación en serie.
  • Bus full-duplex
  • Protocolo simple y uno de los buses serie más rápidos

Paso 2: especificaciones de diseño

Estas son las especificaciones del SPI Master que vamos a diseñar:

  • Admite los cuatro modos de funcionamiento; configurable dinámicamente
  • Control de activación del reloj para ahorrar energía
  • Longitud y velocidad de palabra configurables estáticamente
  • Interrupción única tanto para transmisión como para recepción

Paso 3: Comenzando

En primer lugar, nuestra IP debe tener dos interfaces. Una es la interfaz en serie y la otra es la interfaz paralela. La interfaz en serie consta de las señales estándar de facto de SPI: MOSI, MISO, SS, SCLK.

MOSI a veces se llama SDO y MISO a veces se llama SDI.

La interfaz en serie se utiliza para comunicarse con periféricos externos, es decir, esclavos SPI.

La interfaz paralela se utiliza para comunicarse con nuestro host, es decir, un microcontrolador o microprocesador, que en realidad le dice al Maestro qué datos deben transmitirse y recibirse en serie a través de las líneas serie. es decir, todos los buses de datos pertenecen a la interfaz paralela.

Tenemos un reloj global que impulsa la lógica SPI interna, así como SCLK, que generamos internamente.

También tenemos algunas señales de control como escritura habilitada, habilitación de reloj. E interrupción y otras señales de estado.

Dado que tenemos que lidiar con condiciones de control complejas, es más sencillo diseñar tales IP de comunicación en serie como un FSM. También diseñaremos el maestro SPI como un FSM. El FSM será impulsado por otro reloj interno que es dos veces SCLK. Ese reloj interno se genera utilizando contadores síncronos del reloj global.

Todas las señales de control que cruzan dominios de reloj tienen sincronizadores para estar en el lado más seguro.

Paso 4: Vista RTL del núcleo maestro SPI y formas de onda de simulación

Vista RTL del núcleo maestro SPI y formas de onda de simulación
Vista RTL del núcleo maestro SPI y formas de onda de simulación
Vista RTL del núcleo maestro SPI y formas de onda de simulación
Vista RTL del núcleo maestro SPI y formas de onda de simulación

Es un diseño RTL desnudo sin IP FPGA dedicadas utilizadas. Por lo tanto, es un código totalmente portátil para cualquier FPGA.

Recomendado: