Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-23 14:47
U ovom uputstvu, dizajnirat ćemo 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
- Puni dupleks 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ćuje kontrolu radi uštede energije
- Statistički podesiva duljina 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. Jedno je serijsko sučelje, a drugo paralelno sučelje. 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.
Paralelno sučelje koristi se za komunikaciju s našim domaćinom, tj. Mikrokontrolerom ili mikroprocesorom, koji zapravo govori Gospodaru koji se podaci moraju serijski prenositi i primati putem serijskih linija. tj. Sve podatkovne sabirnice pripadaju paralelnom sučelju.
Imamo globalni sat koji pokreće internu SPI logiku, kao i SCLK, koji generiramo interno.
Imamo i neke kontrolne signale poput omogućavanja pisanja, omogućavanja takta. I prekidni i drugi signali statusa.
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 unutarnji sat koji je dva puta SCLK. Taj unutarnji sat generira se pomoću sinkronih brojača iz globalnog sata.
Svi upravljački signali koji imaju domete sa unakrsnim taktima imaju sinkronizatore 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 -ova koji se koriste. Stoga je to potpuno prenosivi kod za bilo koju FPGA.
Preporučeni:
Dizajn jednostavnog četverosmjernog asocijativnog upravljača predmemorije u VHDL-u: 4 koraka
Dizajn jednostavnog četverosmjernog asocijativnog upravljačkog predmemorije u VHDL-u: U mojim prethodnim uputama vidjeli smo kako dizajnirati jednostavan izravno mapirani predmemorski kontroler. Ovaj put idemo korak naprijed. 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 vam momci što ste posjetili moj blog i motivirali me da svoje znanje podijelim s vama. Ovaj put ću predstaviti dizajn još jednog zanimljivog modula koji vidimo u svim SOC -ovima - Interrupt C
Dizajn jednostavnog upravljača predmemorijom u VHDL -u: 4 koraka
Dizajn jednostavnog upravljača predmemorijom 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 projektiranje 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 majstora 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 digitalni sklop dizajniran za pogon VGA zaslona. Čita iz Frame Buffer -a (VGA memorija) koji predstavlja okvir za prikaz i generira potrebno