Innehållsförteckning:

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

Video: Design av I2C Master i VHDL: 5 steg

Video: Design av I2C Master i VHDL: 5 steg
Video: M12 - 6 - I2C Master Controller Design - Basic Actions 2024, Juli
Anonim
Design av I2C Master i VHDL
Design av I2C Master i VHDL

I denna instruktör diskuteras att designa en enkel I2C -master i VHDL.

OBS: klicka på varje bild för att se hela bilden

Steg 1: I2C -bussöversikt

• Står för interintegrerad krets.

• Synkron, halv duplex.

• Två tråds gränssnitt - SDA och SCL.

• SDA - Seriell datalinje som styrs av Master och Slave

• SCL - Seriell klocka genererad av Master

• Multi-master, Multi-slave-protokoll.

• Två lägen - 100 kbits/sek och 400 kbits/sek: långsam och snabb.

Steg 2: RTL -design i VHDL

Designspecifikationer för vår I2C Master

  • 8-bitars dataram.
  • Endast SCL enkelriktad kontroll.
  • 7-bitars slavadress.
  • Stöder både långsamma och snabba lägen.
  • Single Master, Multi-slav.
  • Uppfyller de ursprungliga I2C -specifikationerna från Philips.

Ren RTL -kod används. Så IP är lätt att bära över alla FPGA: er. Kompakt FSM -baserad design med internt genererad klocka garanterar optimal yta och prestanda.

Steg 3: Simulering och testning

Testmiljö

  • Funktionell simulering och testning med hjälp av tredje part I2C Slave IP.
  • Syntetiserat med Xilinx Vivado verktygssats.
  • Implementerad och testad på Artix-7 FPGA-kort.
  • Timingverifierad design för 100 MHz.
  • Testade vågformer på DSO/CRO.
  • Framgångsrikt testad kommunikation med Arduino UNO som I2C Slave.

Steg 4: Viktiga anmärkningar

  • När du testar Master med I2C Slave IP konfigurerar du slavkoden enligt dina krav. Du kanske vill ändra standardklockfrekvensen och slavadressen. Klockfrekvensen bör också konfigureras i masterkoden.
  • Vid test ombord, glöm inte uppdragningsmotstånd eftersom SDA-ledning är vanlig utgång !!! Kontrollera google för rekommenderat uppdragningsmotstånd för olika i2c-hastigheter. Jag använde 2,2K för 100 kHz.
  • Om du inte använder testbänken och simulerar Master oberoende, simulera försiktigt SDA-signalen, eftersom det är en dubbelriktad signal (in) signal. Den har två förare, mastersidan och slavsidan. Du bör veta när du ska "tvinga" och när du ska "tvinga fram".
  • SCL är en enkelriktad linje. Inget behov av uppdrag.
  • Gå igenom IP -dokumentationen noggrant.

Steg 5: Bifogade filer

  • Alla RTL -koder för I2C Master.
  • Testbänk, I2C Slavkoder också, för testning.
  • IP -dokumentation.

För frågor, kontakta mig gärna:

Mitu Raj

följ mig:

För frågor, kontakta: [email protected]

Rekommenderad: