Innholdsfortegnelse:
- Trinn 1: Oversikt over SPI
- Trinn 2: Designspesifikasjoner
- Trinn 3: Start
- Trinn 4: RTL -visning av SPI Master Core og simuleringsbølgeformer
Video: Design av SPI Master i VHDL: 6 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
I denne instruksen skal vi designe en SPI Bus Master fra bunnen av i VHDL.
Trinn 1: Oversikt over SPI
- SPI er en synkron seriell buss
- Populariteten og enkelheten gjorde den til en de facto -standard innen seriell kommunikasjon
- Full dupleksbuss
- Enkel protokoll og blant de raskeste seriebussene
Trinn 2: Designspesifikasjoner
Dette er spesifikasjonene til SPI Master vi skal designe:
- Støtter alle fire driftsmåter; dynamisk konfigurerbar
- Klokke aktiverer kontroll for strømsparing
- Statisk konfigurerbar ordlengde og hastighet
- Enkelt avbrudd for både overføring og mottak
Trinn 3: Start
Først og fremst bør vår IP ha to grensesnitt. Det ene er serielt grensesnitt og det andre er parallelt grensesnitt. Serielt grensesnitt består av de-facto standardsignaler fra SPI: MOSI, MISO, SS, SCLK.
MOSI kalles noen ganger SDO og MISO kalles noen ganger SDI.
Serielt grensesnitt brukes til å kommunisere med eksterne eksterne enheter, dvs. SPI -slaver.
Parallelt grensesnitt brukes til å kommunisere med verten vår, dvs. en mikrokontroller eller mikroprosessor, som faktisk forteller masteren hvilke data som må overføres serielt og mottas gjennom serielinjene. dvs. Alle databusser tilhører et parallelt grensesnitt.
Vi har en global klokke som driver intern SPI -logikk, så vel som SCLK, som vi genererer internt.
Vi har også noen kontrollsignaler som skrive aktivering, klokke aktivering. Og avbrudd og andre statussignaler.
Siden vi må håndtere komplekse kontrollbetingelser, er det enklere å designe slike serielle kommunikasjons -IP -er som en FSM. Vi skal også designe SPI master som en FSM. FSM vil bli drevet av en annen intern klokke som er to ganger SCLK. Den interne klokken genereres ved hjelp av synkrone tellere fra den globale klokken.
Alle styringssignaler som krysser klokkedomener har synkroniseringer for å være på den sikrere siden.
Trinn 4: RTL -visning av SPI Master Core og simuleringsbølgeformer
Det er en ren RTL -design uten dedikerte FPGA -IP -er. Derfor er det en fullt bærbar kode til enhver FPGA.
Anbefalt:
Design av en enkel fire-veis sett assosiert cache-kontroller i VHDL: 4 trinn
Design av en enkel fire-veis sett assosiert cache-kontroller i VHDL: I min forrige instruktive så vi hvordan vi designer en enkel direkte kartlagt cachekontroller. Denne gangen går vi et skritt videre. Vi skal designe en enkel assosiativ cache-kontroller med fire veier. Fordel? Mindre glipprate, men på bekostning av perfo
Design av en programmerbar avbryterkontroller i VHDL: 4 trinn
Design av en programmerbar interrupt -kontroller i VHDL: Jeg er overveldet over den typen svar jeg får i denne bloggen. Takk gutter for at du besøkte bloggen min og motiverte meg til å dele min kunnskap med deg. Denne gangen skal jeg presentere designet til en annen interessant modul vi ser i alle SOC -er - Interrupt C
Design av en enkel cache -kontroller i VHDL: 4 trinn
Design av en enkel cache -kontroller i VHDL: Jeg skriver dette instruerbart, fordi jeg syntes det var litt vanskelig å få noen referanse -VHDL -koder for å lære og begynne å designe en cache -kontroller. Så jeg designet en cache -kontroller selv fra bunnen av, og testet den vellykket på FPGA. Jeg har p
Design av I2C Master i VHDL: 5 trinn
Design av I2C Master i VHDL: I denne instruksjonsboken diskuteres det å designe en enkel I2C -master i VHDL. MERK: klikk på hvert bilde for å se hele bildet
Design av en enkel VGA -kontroller i VHDL og Verilog: 5 trinn
Design av en enkel VGA -kontroller i VHDL og Verilog: I denne instruksen skal vi designe en enkel VGA -kontroller i RTL. VGA -kontrolleren er den digitale kretsen designet for å drive VGA -skjermer. Den leser fra Frame Buffer (VGA Memory) som representerer rammen som skal vises, og genererer nese