Satura rādītājs:

I2C Master dizains VHDL: 5 soļi
I2C Master dizains VHDL: 5 soļi

Video: I2C Master dizains VHDL: 5 soļi

Video: I2C Master dizains VHDL: 5 soļi
Video: M12 - 6 - I2C Master Controller Design - Basic Actions 2024, Novembris
Anonim
I2C Master dizains VHDL
I2C Master dizains VHDL

Šajā pamācībā tiek apspriesta vienkārša I2C meistara projektēšana VHDL.

PIEZĪME: noklikšķiniet uz katra attēla, lai redzētu pilnu attēlu

1. darbība: I2C kopnes pārskats

• Integrētās shēmas statīvi.

• Sinhronais, pusdupleksais.

• Divu vadu saskarne - SDA un SCL.

• SDA - sērijas datu līnija, ko kontrolē meistars un palīgs

• SCL - sērijveida pulkstenis, ko ģenerē meistars

• Multi-master, Multi-slave protokols.

• Divi režīmi - 100 kbit/s un 400 kb/s: lēns un ātrs.

2. darbība. RTL dizains VHDL

Mūsu I2C Master dizaina specifikācijas

  • 8 bitu datu rāmis.
  • Tikai SCL vienvirziena vadība.
  • 7 bitu vergu adrese.
  • Atbalsta gan lēno, gan ātro režīmu.
  • Viens meistars, daudzslānis.
  • Atbilst oriģinālajām Philips I2C specifikācijām.

Tiek izmantots tīrs RTL kods. Tātad IP ir viegli pārnēsājams visos FPGA. Kompakts uz FSM balstīts dizains, izmantojot iekšēji ģenerētu pulksteni, nodrošina optimālu laukumu un veiktspēju.

3. darbība: simulācija un testēšana

Pārbaudes vide

  • Funkcionāla simulācija un pārbaude, izmantojot trešās puses I2C Slave IP.
  • Sintezēts, izmantojot Xilinx Vivado instrumentu komplektu.
  • Ieviests un pārbaudīts uz Artix-7 FPGA plates.
  • Laika pārbaudīts dizains 100 MHz.
  • Pārbaudītas viļņu formas uz DSO/CRO.
  • Veiksmīgi pārbaudīta komunikācija ar Arduino UNO kā I2C Slave.

4. darbība. Svarīgas piezīmes

  • Pārbaudot Master, izmantojot I2C Slave IP, konfigurējiet vergu kodu atbilstoši savām prasībām. Iespējams, vēlēsities mainīt noklusējuma pulksteņa frekvenci un verga adresi. Pulksteņa frekvence ir jākonfigurē arī galvenajā kodā.
  • Veicot testēšanu uz kuģa, neaizmirstiet pievilkšanas rezistorus, jo SDA līnija ir izplatīta izplūdes izeja !!! Pārbaudiet google, vai nav ieteicamā pievilkšanas pretestība dažādiem i2c ātrumiem. Es izmantoju 2,2K 100 kHz.
  • Ja neizmantojat testa stendu un patstāvīgi simulējat galveno, uzmanīgi simulējiet SDA signālu, jo tas ir divvirzienu signāla (ieejas) signāls. Tam ir divi draiveri - galvenā puse un vergu puse. Jums vajadzētu zināt, kad “piespiest” un kad “nepiespiest”.
  • SCL ir vienvirziena līnija. Nav nepieciešams pievilkt.
  • Lūdzu, rūpīgi iziet IP dokumentāciju.

5. darbība. Pievienotie faili

  • Visi I2C Master RTL kodi.
  • Testēšanas stends, arī I2C Slave kodi testēšanai.
  • IP dokumentācija.

Ja rodas kādi jautājumi, lūdzu, sazinieties ar mani:

Mitu Radžs

seko man:

Jautājumu gadījumā sazinieties ar: [email protected]

Ieteicams: