Kazalo:

Oblikovanje I2C Master v VHDL: 5 korakov
Oblikovanje I2C Master v VHDL: 5 korakov

Video: Oblikovanje I2C Master v VHDL: 5 korakov

Video: Oblikovanje I2C Master v VHDL: 5 korakov
Video: Implementation of I2C Master Bus Controller on FPGA 2024, November
Anonim
Oblikovanje I2C Master v VHDL
Oblikovanje I2C Master v VHDL

V tem navodilu je obravnavano Oblikovanje preprostega mojstra I2C v VHDL.

OPOMBA: Če si želite ogledati celotno sliko, kliknite vsako sliko

1. korak: Pregled vodila I2C

• Stojala za inter integrirano vezje.

• Sinhrono, pol dupleksno.

• Dvožični vmesnik - SDA in SCL.

• SDA - Serijski podatkovni vod, ki ga nadzirata glavni in podrejeni

• SCL - Serijska ura, ki jo ustvari glavni

• Multi-master, Multi-slave protokol.

• Dva načina - 100 kbit/s in 400 kbit/s: počasen in hiter.

2. korak: Oblikovanje RTL v VHDL

Oblikovalske specifikacije našega I2C Masterja

  • 8-bitni podatkovni okvir.
  • Samo enosmerno krmiljenje SCL.
  • 7-bitni podrejeni naslov.
  • Podpira tako počasen kot hiter način.
  • Single Master, Multi-slave.
  • V skladu z izvirnimi specifikacijami I2C podjetja Philips.

Uporablja se čista koda RTL. Tako je IP zlahka prenosljiv na vse FPGA -je. Kompaktna zasnova na osnovi FSM z uporabo notranje ustvarjene ure zagotavlja optimalno območje in zmogljivost.

3. korak: Simulacija in testiranje

Preskusno okolje

  • Funkcionalna simulacija in testiranje z uporabo pomožnega IP I2C drugega proizvajalca.
  • Sintetizirano z orodjem Xilinx Vivado.
  • Izvedeno in preizkušeno na plošči Artix-7 FPGA.
  • Časovno preverjena zasnova za 100 MHz.
  • Testirane valovne oblike na DSO/CRO.
  • Uspešno preizkušena komunikacija z Arduino UNO kot I2C Slave.

4. korak: Pomembne opombe

  • Med preskušanjem glavnega z uporabo I2C podrejenega IP kodo podrejenega konfigurirajte glede na vaše zahteve. Morda boste želeli spremeniti privzeto uro in podrejeni naslov. Frekvenco ure je treba konfigurirati tudi v glavni kodi.
  • Med testiranjem na vozilu ne pozabite na vlečne upore, saj je linija SDA pogost odvodni izhod !!! Pri Googlu poiščite priporočeni vlečni upor za različne hitrosti i2c. Uporabil sem 2,2K za 100 kHz.
  • Če ne uporabljate preskusne mize in neodvisno simulirate glavnega, skrbno simulirajte signal SDA, saj gre za dvosmerni signalni (vhodni) signal. Ima dva gonilnika, glavni in pomožni. Morali bi vedeti, kdaj "prisiliti" in kdaj "opustiti".
  • SCL je enosmerna linija. Ni potrebe po vlečenju.
  • Temeljito preglejte dokumentacijo IP.

5. korak: Priložene datoteke

  • Vse RTL kode I2C Master.
  • Testna miza, tudi kode podrejenih I2C, za testiranje.
  • IP dokumentacija.

Za vsa vprašanja me prosim kontaktirajte:

Mitu Raj

sledi mi:

Za vprašanja se obrnite na: [email protected]

Priporočena: