Inhoudsopgave:

Ontwerp van SPI Master in VHDL - Ajarnpa
Ontwerp van SPI Master in VHDL - Ajarnpa

Video: Ontwerp van SPI Master in VHDL - Ajarnpa

Video: Ontwerp van SPI Master in VHDL - Ajarnpa
Video: Тонкости работы с монтажной пеной. То, что ты не знал! Секреты мастеров 2024, Juli-
Anonim
Ontwerp van SPI Master in VHDL
Ontwerp van SPI Master in VHDL

In deze instructable gaan we een SPI Bus Master helemaal opnieuw ontwerpen in VHDL.

Stap 1: Overzicht van SPI

  • SPI is een synchrone seriële bus
  • Zijn populariteit en eenvoud maakten het een de facto standaard in seriële communicatie
  • Full-duplex bus
  • Eenvoudig protocol en een van de snelste seriële bus

Stap 2: Ontwerpspecificaties

Dit zijn de specificaties van de SPI Master die we gaan ontwerpen:

  • Ondersteunt alle vier de werkingsmodi; dynamisch configureerbaar
  • Klok inschakelen controle voor energiebesparing
  • Statisch configureerbare woordlengte en snelheid
  • Enkele onderbreking voor zowel verzending als ontvangst

Stap 3: Beginnen

Allereerst moet ons IP-adres twee interfaces hebben. De ene is een seriële interface en de andere is een parallelle interface. Seriële interface bestaat uit de de-facto standaardsignalen van SPI: MOSI, MISO, SS, SCLK.

MOSI wordt soms SDO genoemd en MISO wordt soms SDI genoemd.

Seriële interface wordt gebruikt om te communiceren met externe randapparatuur, bijv. SPI-slaves.

Parallelle interface wordt gebruikt om te communiceren met onze host, dat wil zeggen een microcontroller of microprocessor, die de Master daadwerkelijk vertelt welke gegevens serieel moeten worden verzonden en ontvangen via de seriële lijnen. dat wil zeggen, alle databussen behoren tot een parallelle interface.

We hebben een globale klok die de interne SPI-logica aanstuurt, evenals SCLK, die we intern genereren.

We hebben ook enkele stuursignalen, zoals schrijven inschakelen, klok inschakelen. En interrupt- en andere statussignalen.

Omdat we te maken hebben met complexe regelomstandigheden, is het eenvoudiger om dergelijke seriële communicatie-IP's als een FSM te ontwerpen. We zullen de SPI-master ook als FSM ontwerpen. De FSM wordt aangedreven door een andere interne klok die twee keer SCLK is. Die interne klok wordt gegenereerd met behulp van synchrone tellers van de globale klok.

Alle stuursignalen die klokdomeinen overschrijden, hebben synchronisatoren om aan de veilige kant te zijn.

Stap 4: RTL-weergave van de SPI Master Core en simulatiegolfvormen

RTL-weergave van de SPI Master Core en simulatiegolfvormen
RTL-weergave van de SPI Master Core en simulatiegolfvormen
RTL-weergave van de SPI Master Core en simulatiegolfvormen
RTL-weergave van de SPI Master Core en simulatiegolfvormen

Het is een kaal RTL-ontwerp zonder speciale FPGA-IP's. Daarom is het een volledig overdraagbare code voor elke FPGA.

Aanbevolen: