
INHOUDSOPGAWE:
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-23 12:53

In hierdie instruksies gaan ons 'n SPI Bus Master van nuuts af in VHDL ontwerp.
Stap 1: Oorsig van SPI
- SPI is 'n sinchrone reeksbus
- Die gewildheid en eenvoud daarvan het dit 'n de facto standaard gemaak in reekskommunikasie
- Vol dupleks bus
- Eenvoudige protokol en een van die vinnigste reeksbusse
Stap 2: Ontwerpspesifikasies
Dit is die spesifikasies van die SPI Master wat ons gaan ontwerp:
- Ondersteun al vier werkswyses; dinamies konfigureerbaar
- Klok maak beheer moontlik vir kragbesparing
- Woordlengte en -spoed wat staties instelbaar is
- Enkele onderbreking vir beide transmissie en ontvangs
Stap 3: Begin
In die eerste plek moet ons IP twee koppelvlakke hê. Die een is 'n seriële koppelvlak en die ander is 'n parallelle koppelvlak. Seriële koppelvlak bestaan uit die de-facto standaard seine van SPI: MOSI, MISO, SS, SCLK.
MOSI word soms SDO genoem en MISO word soms SDI genoem.
Die seriële koppelvlak word gebruik om met eksterne randapparatuur te kommunikeer, dws SPI -slawe.
'N Parallelle koppelvlak word gebruik om met ons gasheer te kommunikeer, dit wil sê 'n mikrobeheerder of mikroverwerker, wat eintlik vir die meester vertel watter data in reekse oorgedra en deur die reekslyne ontvang moet word. dit wil sê, alle databusse behoort tot 'n parallelle koppelvlak.
Ons het 'n wêreldwye klok wat interne SPI -logika dryf, sowel as SCLK, wat ons intern genereer.
Ons het ook 'n paar beheerseine soos skryfaktiveer, klokaktiveer. En onderbreek en ander statusseine.
Aangesien ons ingewikkelde beheerstoestande moet hanteer, is dit makliker om sulke seriële kommunikasie -IP's as 'n FSM te ontwerp. Ons sal ook die SPI -meester as 'n FSM ontwerp. Die FSM word aangedryf deur 'n ander interne klok wat twee keer SCLK is. Die interne klok word gegenereer met behulp van sinchrone tellers van die globale klok.
Alle beheerseine wat klokdomeine oorsteek, het sinchroniseerders om aan die veiliger kant te wees.
Stap 4: RTL -aansig van die SPI Master Core en simulasiegolfvorms


Dit is 'n kaal RTL -ontwerp sonder dat daar spesiale FPGA -IP's gebruik word. Daarom is dit 'n volledig draagbare kode vir enige FPGA.
Aanbeveel:
Ontwerp van 'n eenvoudige vierweg-stel assosiatiewe kasbeheerder in VHDL: 4 stappe

Ontwerp van 'n eenvoudige vierweg-stel assosiatiewe cache-beheerder in VHDL: In my vorige instruksies het ons gesien hoe om 'n eenvoudige direkte gekarteerde kasbestuurder te ontwerp. Hierdie keer beweeg ons 'n stap vorentoe. Ons ontwerp 'n eenvoudige assosiatiewe kasbestuurder met vier rigtings. Voordeel? Minder miskoers, maar ten koste van perfo
Ontwerp van 'n programmeerbare onderbrekingsbeheerder in VHDL: 4 stappe

Ontwerp van 'n programmeerbare onderbrekingsbeheerder in VHDL: Ek is oorweldig deur die soort reaksies wat ek op hierdie blog kry. Dankie ouens dat julle my blog besoek het en my gemotiveer het om my kennis met julle te deel. Hierdie keer bied ek die ontwerp aan van nog 'n interessante module wat ons in alle SOC's sien - Interrupt C
Ontwerp van 'n eenvoudige kasbeheerder in VHDL: 4 stappe

Ontwerp van 'n eenvoudige cache -beheerder in VHDL: ek skryf hierdie instruksies, want dit was 'n bietjie moeilik om 'n verwysing -VHDL -kode te kry om te leer en 'n kasbestuurder te begin ontwerp. Ek het dus self 'n kasbeheerder ontwerp en dit met sukses op FPGA getoets. Ek het p
Ontwerp van I2C Master in VHDL: 5 stappe

Ontwerp van I2C Master in VHDL: In hierdie instruksies word die ontwerp van 'n eenvoudige I2C master in VHDL bespreek.OPMERKING: klik op elke prent om die volledige prent te sien
Ontwerp en realisering van 'n stelsel van oriëntasie van fotovoltaïese panele: 5 stappe

Ontwerp en realisering van 'n stelsel van oriëntasie van fotovoltaïese panele: Ontwerp en realisering van 'n stelsel van oriëntasie van fotovoltaïese panele