Obsah:

Návrh I2C Master vo VHDL: 5 krokov
Návrh I2C Master vo VHDL: 5 krokov

Video: Návrh I2C Master vo VHDL: 5 krokov

Video: Návrh I2C Master vo VHDL: 5 krokov
Video: Программирование МК AVR. Урок 16. Интерфейс TWI (I2C). Часть 1 2024, Júl
Anonim
Dizajn I2C Master vo VHDL
Dizajn I2C Master vo VHDL

V tomto návode je prediskutovaný návrh jednoduchého I2C masteru vo VHDL.

POZNÁMKA: kliknutím na každý obrázok zobrazíte celý obrázok

Krok 1: Prehľad zbernice I2C

• Stojany pre integrovaný obvod.

• Synchrónny, polovičný duplex.

• Dvojvodičové rozhranie - SDA a SCL.

• SDA - sériová dátová linka riadená Master a Slave

• SCL - Sériové hodiny generované Masterom

• Multi-master, Multi-slave protokol.

• Dva režimy - 100 kbit/s a 400 kbit/s: pomalý a rýchly.

Krok 2: Návrh RTL vo VHDL

Špecifikácia dizajnu nášho I2C Master

  • 8-bitový dátový rámec.
  • Len jednosmerné ovládanie SCL.
  • 7-bitová adresa slave.
  • Podporuje pomalý aj rýchly režim.
  • Single Master, Multi-slave.
  • V súlade s pôvodnými špecifikáciami I2C od spoločnosti Philips.

Je použitý čistý RTL kód. IP je teda ľahko prenosný cez všetky FPGA. Kompaktný dizajn založený na FSM pomocou interne generovaných hodín zaisťuje optimálnu plochu a výkon.

Krok 3: Simulácia a testovanie

Testovacie prostredie

  • Funkčná simulácia a testovanie pomocou Slave IP tretej strany.
  • Syntetizované pomocou sady nástrojov Xilinx Vivado.
  • Implementované a testované na doske FPGA Artix-7.
  • Časovo overený návrh pre 100 MHz.
  • Testované krivky na DSO/CRO.
  • Komunikácia bola úspešne testovaná s Arduino UNO ako I2C Slave.

Krok 4: Dôležité poznámky

  • Pri testovaní Master pomocou I2C Slave IP nakonfigurujte podradený kód podľa svojich požiadaviek. Možno budete chcieť zmeniť predvolenú frekvenciu hodín a adresu slave. Taktovacia frekvencia by mala byť nakonfigurovaná aj v hlavnom kóde.
  • Pri testovaní na palube nezabudnite na výsuvné odpory, pretože SDA linka je spoločný odtokový výkon !!! V Googli vyhľadajte odporúčaný výsuvný odpor pre rôzne rýchlosti i2c. Použil som 2,2 K na 100 kHz.
  • Ak nepoužívate testovaciu lavicu a simulujete Master nezávisle, simulujte opatrne signál SDA, pretože ide o obojsmerný (vstupný) signál. Má dva ovládače, hlavný a podradený. Mali by ste vedieť, kedy treba „vynútiť“a kedy „nevynútiť“.
  • SCL je jednosmerná čiara. Nie je potrebné vyťahovanie.
  • Prejdite si dôkladne dokumentáciu IP.

Krok 5: Pripojené súbory

  • Všetky RTL kódy I2C Master.
  • Testovacia lavica, aj kódy I2C Slave, na testovanie.
  • Dokumentácia IP.

V prípade akýchkoľvek otázok ma neváhajte kontaktovať:

Mitu Raj

sledujte ma:

V prípade otázok kontaktujte: [email protected]

Odporúča: