Sadržaj:

Dizajn I2C Master u VHDL -u: 5 koraka
Dizajn I2C Master u VHDL -u: 5 koraka

Video: Dizajn I2C Master u VHDL -u: 5 koraka

Video: Dizajn I2C Master u VHDL -u: 5 koraka
Video: Цифровая схемотехника 3 2024, Srpanj
Anonim
Dizajn I2C Master u VHDL -u
Dizajn I2C Master u VHDL -u

U ovom uputstvu govori se o dizajniranju jednostavnog I2C majstora u VHDL -u.

NAPOMENA: kliknite na svaku sliku da biste vidjeli cijelu sliku

Korak 1: Pregled sabirnice I2C

• Označava inter integrirani krug.

• Sinkroni, polu dupleksni.

• Dvožilno sučelje - SDA i SCL.

• SDA - Serijski podatkovni vod kojim upravljaju master i slave

• SCL - Serijski sat generira Master

• Multi-master, Multi-slave protokol.

• Dva načina rada - 100 kbita/s i 400 kbita/sek: spor i brz.

Korak 2: RTL dizajn u VHDL -u

Specifikacije dizajna našeg I2C majstora

  • 8-bitni okvir podataka.
  • Samo jednosmjerno upravljanje SCL.
  • 7-bitna adresa slave.
  • Podržava spori i brzi način rada.
  • Single Master, Multi-slave.
  • U skladu s originalnim specifikacijama I2C tvrtke Philips.

Koristi se čisti RTL kod. Dakle, IP je lako prenosiv na sve FPGA -e. Kompaktni dizajn temeljen na FSM -u koji koristi interno generirani sat osigurava optimalno područje i performanse.

Korak 3: Simulacija i testiranje

Ispitno okruženje

  • Funkcionalna simulacija i testiranje pomoću I2C Slave IP-a treće strane.
  • Sintetizirano pomoću alata Xilinx Vivado.
  • Implementirano i testirano na Artix-7 FPGA ploči.
  • Vremenski provjeren dizajn za 100 MHz.
  • Testirani valni oblici na DSO/CRO.
  • Uspješno testirana komunikacija s Arduino UNO kao I2C Slave.

Korak 4: Važne napomene

  • Dok testirate Master pomoću I2C Slave IP -a, konfigurirajte kôd slave prema vašim zahtjevima. Možda ćete htjeti promijeniti zadanu frekvenciju sata i podređenu adresu. Taktnu frekvenciju treba konfigurirati i u glavnom kodu.
  • Tijekom testiranja na ploči, ne zaboravite pull-up otpornike jer je SDA linija uobičajeni izlaz za odvod !!! Provjerite u Googleu preporučeni pull-up otpornik za različite brzine i2c. Koristio sam 2.2K za 100 kHz.
  • Ako ne koristite testni stol i neovisno simulirate Master, pažljivo simulirajte SDA signal jer je to dvosmjerni signalni (ulazni) signal. Ima dva vozača, master i slave. Trebali biste znati kada 'prisiliti', a kada 'rasformirati'.
  • SCL je jednosmjerna linija. Nema potrebe za podizanjem.
  • Pažljivo prođite kroz IP dokumentaciju.

Korak 5: Priložene datoteke

  • Svi RTL kodovi I2C Master -a.
  • Testna ploča, I2C Slave kodovi, za testiranje.
  • IP dokumentacija.

Za sve upite, slobodno me kontaktirajte:

Mitu Raj

pratite me:

Za upite kontaktirajte: [email protected]

Preporučeni: