Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-23 14:37
U ovom uputstvu ćemo dizajnirati SPI Bus Master od nule u VHDL -u.
Korak 1: Pregled SPI -ja
- SPI je sinkrona serijska sabirnica
- Njegova popularnost i jednostavnost učinili su ga de facto standardom u serijskoj komunikaciji
- Full-duplex sabirnica
- Jednostavan protokol i među najbržim serijskim sabirnicama
Korak 2: Specifikacije dizajna
Ovo su specifikacije SPI Master -a koje ćemo dizajnirati:
- Podržava sva četiri načina rada; dinamički konfigurirano
- Sat omogućava kontrolu radi uštede energije
- Statistički podesiva dužina i brzina riječi
- Pojedinačni prekid i za prijenos i za prijem
Korak 3: Pokretanje
Prije svega, naš IP trebao bi imati dva sučelja. Jedan je serijski interfejs, a drugi paralelni interfejs. Serijsko sučelje sastoji se od de-facto standardnih signala SPI-a: MOSI, MISO, SS, SCLK.
MOSI se ponekad naziva SDO, a MISO se ponekad naziva SDI.
Serijsko sučelje koristi se za komunikaciju s vanjskim perifernim uređajima, tj. SPI slave.
Paralelni interfejs se koristi za komunikaciju sa našim domaćinom, tj. Mikrokontrolerom ili mikroprocesorom, koji zapravo govori masteru koji se podaci moraju serijski prenositi i primati preko serijskih linija. tj. Sve podatkovne sabirnice pripadaju paralelnom sučelju.
Imamo globalni sat koji pokreće internu SPI logiku, kao i SCLK, koji generišemo interno.
Imamo i neke kontrolne signale poput omogućavanja pisanja, omogućavanja takta. I signali prekida i drugi statusni signali.
Budući da se moramo nositi sa složenim uvjetima upravljanja, lakše je dizajnirati takve IP -ove serijske komunikacije kao FSM. Dizajnirat ćemo i SPI master kao FSM. FSM će pokretati drugi interni sat koji je dva puta SCLK. Taj unutrašnji sat generira se pomoću sinkronih brojača iz globalnog sata.
Svi kontrolni signali koji imaju domene unakrsnog takta imaju sinhronizatore kako bi bili na sigurnijoj strani.
Korak 4: RTL pogled na SPI Master Core i simulacijske valne oblike
To je goli RTL dizajn bez namjenskih FPGA IP adresa. Stoga je to potpuno prenosiv kod na bilo koju FPGA.
Preporučuje se:
Dizajn jednostavnog četvorosmjernog asocijativnog kontrolera predmemorije u VHDL-u: 4 koraka
Dizajn jednostavnog četvorosmjernog asocijativnog kontrolera predmemorije u VHDL-u: U mojim prethodnim uputama vidjeli smo kako dizajnirati jednostavan kontroler predmemorije s direktnim mapiranjem. Ovaj put idemo korak dalje. Dizajnirat ćemo jednostavan četverosmjerni set asocijativnih kontrolera predmemorije. Prednost? Manje propuštanja, ali po cijenu performanse
Dizajn programabilnog kontrolera prekida u VHDL -u: 4 koraka
Dizajn programabilnog kontrolera prekida u VHDL -u: Oduševljen sam vrstama odgovora koje dobivam na ovom blogu. Hvala momci što ste posjetili moj blog i motivirali me da podijelim svoje znanje s vama. Ovaj put ću predstaviti dizajn još jednog zanimljivog modula koji vidimo u svim SOC -ovima - Interrupt C
Dizajn jednostavnog kontrolera predmemorije u VHDL -u: 4 koraka
Dizajn jednostavnog kontrolera predmemorije u VHDL -u: Pišem ovo uputstvo, jer mi je bilo malo teško nabaviti neki referentni VHDL kôd za učenje i započeti dizajniranje kontrolera predmemorije. Stoga sam sam dizajnirao predmemorijski kontroler od nule i uspješno ga testirao na FPGA. Imam p
Dizajn I2C Master u VHDL -u: 5 koraka
Dizajn I2C Master -a u VHDL -u: U ovom uputstvu se raspravlja o dizajniranju jednostavnog I2C master -a u VHDL -u. NAPOMENA: kliknite na svaku sliku da biste vidjeli cijelu sliku
Dizajn jednostavnog VGA kontrolera u VHDL -u i Verilogu: 5 koraka
Dizajn jednostavnog VGA kontrolera u VHDL -u i Verilogu: U ovom uputstvu ćemo dizajnirati jednostavan VGA kontroler u RTL -u. VGA kontroler je digitalno kolo dizajnirano za pogon VGA ekrana. Čita iz Frame Buffer -a (VGA memorija) koji predstavlja okvir za prikaz i generira potrebno