Taula de continguts:
- Pas 1: Visió general de SPI
- Pas 2: especificacions de disseny
- Pas 3: començar
- Pas 4: Vista RTL del nucli principal SPI i de les formes d'ona de simulació
Vídeo: Disseny de SPI Master en VHDL: 6 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:13
En aquest instructiu, dissenyarem un SPI Bus Master des de zero en VHDL.
Pas 1: Visió general de SPI
- SPI és un bus sèrie síncron
- La seva popularitat i simplicitat el van convertir en un estàndard de facto en la comunicació en sèrie
- Bus full-duplex
- Protocol senzill i entre els busos de sèrie més ràpids
Pas 2: especificacions de disseny
Aquestes són les especificacions del SPI Master que dissenyarem:
- Admet els quatre modes de funcionament; configurable dinàmicament
- Control del rellotge per estalviar energia
- Longitud i velocitat de les paraules configurables estàticament
- Interrupció única per transmissió i recepció
Pas 3: començar
En primer lloc, la nostra IP ha de tenir dues interfícies. Un és una interfície sèrie i l’altre és una interfície paral·lela. La interfície sèrie consta de senyals estàndard de facto de SPI: MOSI, MISO, SS, SCLK.
MOSI de vegades es diu SDO i MISO de vegades SDI.
La interfície sèrie s'utilitza per comunicar-se amb perifèrics externs, és a dir, esclaus SPI.
La interfície paral·lela s'utilitza per comunicar-se amb el nostre amfitrió, és a dir, un microcontrolador o microprocessador, que en realitat indica al Mestre quines dades s'han de transmetre i rebre en sèrie a través de les línies serials. és a dir, tots els busos de dades pertanyen a una interfície paral·lela.
Tenim un rellotge global que impulsa la lògica SPI interna, així com SCLK, que generem internament.
També tenim alguns senyals de control com l’habilitació d’escriptura i l’activació del rellotge. I interrupcions i altres senyals d'estat.
Com que hem de fer front a condicions de control complexes, és més senzill dissenyar IPs de comunicació en sèrie com un FSM. Dissenyarem també el mestre SPI com a FSM. El FSM serà conduït per un altre rellotge intern que és SCLK dues vegades. Aquest rellotge intern es genera mitjançant comptadors síncrons del rellotge global.
Tots els senyals de control que creuen dominis de rellotge tenen sincronitzadors per estar al costat més segur.
Pas 4: Vista RTL del nucli principal SPI i de les formes d'ona de simulació
És un disseny RTL senzill sense utilitzar cap FPGA IP dedicada. Per tant, és un codi totalment portàtil per a qualsevol FPGA.
Recomanat:
Disseny d'un controlador de memòria cau associatiu conjunt de quatre vies en VHDL: 4 passos
Disseny d'un controlador de memòria cau associatiu de configuració simple de quatre direccions en VHDL: en el meu instructable anterior, vam veure com dissenyar un controlador de memòria cau mapat directe. Aquesta vegada, fem un pas endavant. Dissenyarem un senzill controlador de memòria cau associativa de quatre vies. Avantatge ? Menys percentatge de missatges, però a costa de perfos
Disseny d'un controlador d'interrupció programable en VHDL: 4 passos
Disseny d'un controlador d'interrupció programable en VHDL: estic aclaparat pel tipus de respostes que rebo en aquest bloc. Gràcies nois per visitar el meu bloc i motivar-me a compartir el meu coneixement amb vosaltres. Aquesta vegada, presentaré el disseny d’un altre mòdul interessant que veiem a tots els SOCs: Interrupt C
Disseny d'un controlador de memòria cau simple en VHDL: 4 passos
Disseny d'un controlador de memòria cau simple a VHDL: escric això instructiu, perquè em va semblar una mica difícil obtenir algun codi VHDL de referència per aprendre i començar a dissenyar un controlador de memòria cau. Així que vaig dissenyar un controlador de memòria cau des de zero i el vaig provar amb èxit a FPGA. Tinc p
Disseny del màster I2C en VHDL: 5 passos
Disseny del màster I2C en VHDL: en aquest instructiu, es parla del disseny d’un màster I2C simple en VHDL. NOTA: feu clic a cada imatge per veure la imatge completa
Disseny d'un controlador VGA simple en VHDL i Verilog: 5 passos
Disseny d'un controlador VGA senzill en VHDL i Verilog: en aquesta instrucció, dissenyarem un controlador VGA simple en RTL. El controlador VGA és el circuit digital dissenyat per conduir pantalles VGA. Es llegeix des de Frame Buffer (memòria VGA) que representa el marc que es mostrarà i genera nece