INHOUDSOPGAWE:

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

Video: Ontwerp van I2C Master in VHDL: 5 stappe

Video: Ontwerp van I2C Master in VHDL: 5 stappe
Video: Pro Micro ATMEGA32U4 Arduino Pins and 5V, 3.3V Explained 2024, Julie
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: