Obsah:
- Krok 1: Prehľad zbernice I2C
- Krok 2: Návrh RTL vo VHDL
- Krok 3: Simulácia a testovanie
- Krok 4: Dôležité poznámky
- Krok 5: Pripojené súbory
Video: Návrh I2C Master vo VHDL: 5 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:58
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:
Návrh jednoduchého štvorsmerového radiča asociatívnej vyrovnávacej pamäte vo VHDL: 4 kroky
Návrh jednoduchého štvorsmerového radiča asociatívnej vyrovnávacej pamäte vo VHDL: V mojom predchádzajúcom návode sme videli, ako navrhnúť jednoduchý radič vyrovnávacej pamäte s priamym mapovaním. Tentokrát sa posunieme o krok vpred. Navrhneme jednoduchý štvorsmerový radič asociatívnej vyrovnávacej pamäte. Výhoda? Menšia miera zmeškania, ale za cenu perfo
Návrh programovateľného regulátora prerušenia vo VHDL: 4 kroky
Dizajn programovateľného prerušovača vo VHDL: Som ohromený typom odpovedí, ktoré dostávam v tomto blogu. Ďakujem, chlapci, že ste navštívili môj blog a motivovali ma, aby som sa s vami podelil o svoje znalosti. Dnes predstavím návrh ďalšieho zaujímavého modulu, ktorý vidíme vo všetkých SOC - Interrupt C
Návrh jednoduchého radiča vyrovnávacej pamäte vo VHDL: 4 kroky
Návrh jednoduchého ovládača vyrovnávacej pamäte vo VHDL: píšem tento návod, pretože bolo pre mňa trochu ťažké získať nejaký referenčný kód VHDL, aby som sa ho naučil a začal navrhovať radič vyrovnávacej pamäte. A tak som sám navrhol radič vyrovnávacej pamäte od začiatku a úspešne som ho otestoval na FPGA. Mám p
Návrh SPI Master vo VHDL: 6 krokov
Dizajn SPI Master vo VHDL: V tomto návode sa chystáme navrhnúť SPI Bus Master od začiatku vo VHDL
Návrh UART vo VHDL: 5 krokov
Dizajn UART vo VHDL: UART je skratka pre univerzálny vysielač asynchrónneho prijímača. Je to najpopulárnejší a najjednoduchší sériový komunikačný protokol. V tomto návode sa naučíte, ako navrhnúť modul UART vo VHDL