Ontwerp van I2C Master in VHDL: 5 stappe
Ontwerp van I2C Master in VHDL: 5 stappe
Anonim
Ontwerp van I2C Master in VHDL
Ontwerp van I2C Master in VHDL

In hierdie instruksies word die ontwerp van 'n eenvoudige I2C -meester in VHDL bespreek.

LET WEL: klik op elke prent om die volledige prentjie te sien

Stap 1: I2C -busoorsig

• Staan vir Inter Integrated Circuit.

• Sinchronies, half duplex.

• Twee draads koppelvlak - SDA en SCL.

• SDA - Seriële data lyn beheer deur Master en Slave

• SCL - Serial Clock gegenereer deur Master

• Multi-master, Multi-slave protokol.

• Twee modusse - 100 kbit/sek en 400 kbit/sek: stadig en vinnig.

Stap 2: RTL -ontwerp in VHDL

Ontwerp spesifikasies van ons I2C Master

  • 8-bis data-raam.
  • Slegs SCL-eenrigtingbeheer.
  • 7-bis slawe-adres.
  • Ondersteun beide stadige en vinnige modusse.
  • Enkelmeester, multi-slaaf.
  • Voldoen aan die oorspronklike I2C -spesifikasies van Philips.

Suiwer RTL -kode word gebruik. Die IP is dus maklik draagbaar vir alle FPGA's. Kompakte ontwerp op FSM met behulp van intern gegenereerde klok verseker optimale oppervlakte en prestasie.

Stap 3: Simulasie en toetsing

Toetsomgewing

  • Funksionele simulasie en toetsing met behulp van I2C Slave IP van derde partye.
  • Sintetiseer met behulp van Xilinx Vivado -gereedskapstel.
  • Geïmplementeer en getoets op Artix-7 FPGA-bord.
  • Tydsgewys geverifieerde ontwerp vir 100 MHz.
  • Getoetste golfvorms op DSO/CRO.
  • Kommunikasie met Arduino UNO as I2C Slave suksesvol getoets.

Stap 4: Belangrike aantekeninge

  • Stel die slaafkode volgens u vereistes op terwyl u Master met I2C Slave IP toets. U kan die standaard klokfrekwensie en slaafadres verander. Die klokfrekwensie moet ook in die hoofkode opgestel word.
  • Moenie aan boordtoetse vergeet nie, want u kan nie optrekweerstands vergeet nie, aangesien SDA-lyn 'n algemene afvoer is !!! Kyk op Google vir die aanbevole optrekweerstand vir verskillende i2c-snelhede. Ek het 2.2K vir 100 kHz gebruik.
  • As u nie die toetsbank gebruik nie en die Master onafhanklik simuleer, moet u die SDA-sein noukeurig naboots, aangesien dit 'n tweerigtingsein (uit) sein is. Dit het twee bestuurders, meester- en slawe -kant. U moet weet wanneer u moet 'dwing' en wanneer u 'moet dwing'.
  • SCL is eenrigtinglyn. Nie nodig om op te trek nie.
  • Gaan die IP -dokumentasie deeglik deur.

Stap 5: lêers aangeheg

  • Alle RTL -kodes van I2C Master.
  • Toetsbank, I2C Slave -kodes ook, vir toetsing.
  • IP -dokumentasie.

Vir enige navrae, kontak my gerus:

Mitu Raj

volg my:

Vir navrae, kontak: [email protected]

Aanbeveel: