Obsah:

Design I2C Master ve VHDL: 5 kroků
Design I2C Master ve VHDL: 5 kroků

Video: Design I2C Master ve VHDL: 5 kroků

Video: Design I2C Master ve VHDL: 5 kroků
Video: M12 - 6 - I2C Master Controller Design - Basic Actions 2024, Červenec
Anonim
Design I2C Master ve VHDL
Design I2C Master ve VHDL

V tomto pokynu je diskutován návrh jednoduchého I2C masteru ve VHDL.

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

Krok 1: Přehled sběrnice I2C

• Stojany pro integrovaný obvod Inter.

• Synchronní, poloviční duplex.

• Dvouvodičové rozhraní - SDA a SCL.

• SDA - sériová datová linka řízená Master a Slave

• SCL - Sériové hodiny generované Masterem

• Multi-master, Multi-slave protokol.

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

Krok 2: Návrh RTL ve VHDL

Specifikace designu našeho I2C Master

  • 8bitový datový rámec.
  • Pouze jednosměrné ovládání SCL.
  • 7bitová adresa slave.
  • Podporuje pomalý i rychlý režim.
  • Single Master, Multi-slave.
  • Vyhovuje původním specifikacím I2C od společnosti Philips.

Používá se čistý RTL kód. IP je tedy snadno přenosný napříč všemi FPGA. Kompaktní design založený na FSM pomocí interně generovaných hodin zajišťuje optimální plochu a výkon.

Krok 3: Simulace a testování

Testovací prostředí

  • Funkční simulace a testování pomocí Slave IP třetí strany.
  • Syntetizováno pomocí sady nástrojů Xilinx Vivado.
  • Implementováno a testováno na desce FPGA Artix-7.
  • Časově ověřený design pro 100 MHz.
  • Testované průběhy na DSO/CRO.
  • Úspěšně testována komunikace s Arduino UNO jako I2C Slave.

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

  • Při testování Master pomocí I2C Slave IP nakonfigurujte podřízený kód podle svých požadavků. Možná budete chtít změnit výchozí frekvenci hodin a adresu slave. Taktovací frekvence by měla být nakonfigurována také v hlavním kódu.
  • Při testování na palubě nezapomeňte na výsuvné odpory, protože SDA linka je společný odtokový výkon !!! Na Googlu zkontrolujte doporučený pull-up rezistor pro různé rychlosti i2c. Použil jsem 2,2K pro 100 kHz.
  • Pokud nepoužíváte zkušební stolici a simulujete Master nezávisle, simulujte pečlivě signál SDA, protože se jedná o obousměrný signál (vstup). Má dva ovladače, hlavní a podřízený. Měli byste vědět, kdy „vynutit“a kdy „nevzdat“.
  • SCL je jednosměrná linka. Není třeba tahat.
  • Projděte si důkladně dokumentaci IP.

Krok 5: Připojené soubory

  • Všechny RTL kódy I2C Master.
  • Testovací stolice, kódy I2C Slave také pro testování.
  • IP dokumentace.

V případě jakýchkoli dotazů mě neváhejte kontaktovat:

Mitu Raj

sledujte mě:

V případě dotazů kontaktujte: [email protected]

Doporučuje: