Innholdsfortegnelse:

Design av I2C Master i VHDL: 5 trinn
Design av I2C Master i VHDL: 5 trinn

Video: Design av I2C Master i VHDL: 5 trinn

Video: Design av I2C Master i VHDL: 5 trinn
Video: How to make a LED digital counter using 7- Segment Display 2024, Juli
Anonim
Design av I2C Master i VHDL
Design av I2C Master i VHDL

I denne instruksjonsboken diskuteres det å designe en enkel I2C -master i VHDL.

MERK: Klikk på hvert bilde for å se hele bildet

Trinn 1: I2C -bussoversikt

• Står for interintegrert krets.

• Synkron, halv dupleks.

• To -tråds grensesnitt - SDA og SCL.

• SDA - Seriell datalinje kontrollert av Master og Slave

• SCL - Seriell klokke generert av Master

• Multi-master, Multi-slave-protokoll.

• To moduser - 100 kbits/sec og 400 kbits/sec: sakte og raskt.

Trinn 2: RTL -design i VHDL

Designspesifikasjoner for vår I2C Master

  • 8-biters dataramme.
  • Kun enveis kontroll SCL.
  • 7-biters slave-adresse.
  • Støtter både sakte og rask modus.
  • Single Master, Multi-slave.
  • I samsvar med originale I2C -spesifikasjoner fra Philips.

Ren RTL -kode brukes. Så IP er lett bærbar på tvers av alle FPGAer. Kompakt FSM -basert design ved hjelp av internt generert klokke sikrer optimalt område og ytelse.

Trinn 3: Simulering og testing

Test miljø

  • Funksjonell simulering og testing ved bruk av tredjeparts I2C Slave IP.
  • Syntetisert med Xilinx Vivado verktøysett.
  • Implementert og testet på Artix-7 FPGA-kort.
  • Timing -verifisert design for 100 MHz.
  • Testede bølgeformer på DSO/CRO.
  • Vellykket testet kommunikasjon med Arduino UNO som I2C Slave.

Trinn 4: Viktige merknader

  • Mens du tester Master ved bruk av I2C Slave IP, konfigurerer du slavekoden i henhold til dine krav. Det kan være lurt å endre standard klokkefrekvens og slaveadresse. Klokkefrekvensen bør også konfigureres i hovedkoden.
  • Mens du tester ombord, ikke glem pull-up-motstander, ettersom SDA-linjen er vanlig utløpsutgang !!! Sjekk google for anbefalt pull-up-motstand for forskjellige i2c-hastigheter. Jeg brukte 2.2K for 100 kHz.
  • Hvis du ikke bruker testbenken og simulerer Master uavhengig, simuler SDA-signalet forsiktig, ettersom det er et toveis signal (inout) signal. Den har to drivere, hovedsiden og slavesiden. Du bør vite når du skal "tvinge" og når du skal "tvinge ut".
  • SCL er enveis linje. Du trenger ikke trekke opp.
  • Gå grundig gjennom IP -dokumentasjonen.

Trinn 5: Filer vedlagt

  • Alle RTL -koder for I2C Master.
  • Testbenk, I2C Slave -koder også, for testing.
  • IP -dokumentasjon.

For spørsmål, kontakt meg gjerne:

Mitu Raj

følg meg:

For spørsmål, kontakt: [email protected]

Anbefalt: