Innholdsfortegnelse:

Design av SPI Master i VHDL: 6 trinn
Design av SPI Master i VHDL: 6 trinn

Video: Design av SPI Master i VHDL: 6 trinn

Video: Design av SPI Master i VHDL: 6 trinn
Video: 3. SPI-интерфейс (Master) на VHDL 2024, November
Anonim
Design av SPI Master i VHDL
Design av SPI Master i VHDL

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

RTL -visning av SPI Master Core og simuleringsbølgeformer
RTL -visning av SPI Master Core og simuleringsbølgeformer
RTL -visning av SPI Master Core og simuleringsbølgeformer
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: