Índice:

Projeto do Mestre SPI em VHDL: 6 etapas
Projeto do Mestre SPI em VHDL: 6 etapas

Vídeo: Projeto do Mestre SPI em VHDL: 6 etapas

Vídeo: Projeto do Mestre SPI em VHDL: 6 etapas
Vídeo: Breve introdução a FPGA e VHDL 2024, Novembro
Anonim
Projeto de SPI Master em VHDL
Projeto de SPI Master em VHDL

Neste instrutível, vamos projetar um SPI Bus Master do zero em VHDL.

Etapa 1: Visão geral do SPI

  • SPI é um barramento serial síncrono
  • Sua popularidade e simplicidade o tornaram um padrão de fato na comunicação serial
  • Barramento full-duplex
  • Protocolo simples e entre os barramentos seriais mais rápidos

Etapa 2: especificações de design

Estas são as especificações do SPI Master que iremos projetar:

  • Suporta todos os quatro modos de operação; configurável dinamicamente
  • Controle de ativação do relógio para economia de energia
  • Comprimento da palavra configurável estaticamente e velocidade
  • Interrupção única para transmissão e recepção

Etapa 3: começando

Em primeiro lugar, nosso IP deve ter duas interfaces. Uma é a interface serial e a outra é a interface paralela. A interface serial consiste nos sinais padrão de fato de SPI: MOSI, MISO, SS, SCLK.

MOSI às vezes é chamado de SDO e MISO às vezes é chamado de SDI.

A interface serial é usada para se comunicar com periféricos externos, ou seja, escravos SPI.

A interface paralela é usada para se comunicar com nosso host, isto é, um microcontrolador ou microprocessador, que realmente informa ao Mestre quais dados devem ser transmitidos e recebidos em série através das linhas seriais. ou seja, todos os barramentos de dados pertencem à interface paralela.

Temos um relógio global que comanda a lógica SPI interna, bem como SCLK, que geramos internamente.

Também temos alguns sinais de controle, como ativação de gravação e ativação do relógio. E interrupções e outros sinais de status.

Visto que temos que lidar com condições de controle complexas, é mais simples projetar IPs de comunicação serial como um FSM. Também projetaremos o mestre SPI como um FSM. O FSM será acionado por outro relógio interno que é duas vezes SCLK. Esse relógio interno é gerado usando contadores síncronos do relógio global.

Todos os sinais de controle que cruzam os domínios do clock têm sincronizadores para estar no lado mais seguro.

Etapa 4: Visualização RTL do núcleo mestre SPI e formas de onda de simulação

Visualização RTL do SPI Master Core e formas de onda de simulação
Visualização RTL do SPI Master Core e formas de onda de simulação
Visualização RTL do SPI Master Core e formas de onda de simulação
Visualização RTL do SPI Master Core e formas de onda de simulação

É um projeto RTL simples, sem o uso de IPs FPGA dedicados. Portanto, é um código totalmente portátil para qualquer FPGA.

Recomendado: