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, Novembar
Anonim
Dizajn I2C Master u VHDL -u
Dizajn I2C Master u VHDL -u

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

NAPOMENA: kliknite na svaku sliku da vidite cijelu sliku

Korak 1: Pregled sabirnice I2C

• Stalci za inter integrirano kolo.

• Sinhroni, polu dupleks.

• Dvožilni interfejs - SDA i SCL.

• SDA - Serijska linija podataka koju kontroliraju master i slave

• SCL - Serijski sat generira Master

• Multi-master, Multi-slave protokol.

• Dva režima - 100 kbita/s i 400 kbita/sek: spor i brz.

Korak 2: RTL dizajn u VHDL -u

Specifikacije dizajna našeg I2C Master -a

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

Koristi se čisti RTL kôd. Dakle, IP je lako prenosiv na sve FPGA -e. Kompaktni dizajn zasnovan na FSM -u koji koristi interno generirani sat osigurava optimalnu površinu i performanse.

Korak 3: Simulacija i testiranje

Test Environment

  • Funkcionalna simulacija i testiranje pomoću I2C Slave IP-a treće strane.
  • Sintetizirano pomoću Xilinx Vivado alata.
  • Implementirano i testirano na Artix-7 FPGA ploči.
  • Vremenski verifikovan 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 slave kôd prema svojim zahtjevima. Možda ćete htjeti promijeniti zadanu frekvenciju sata i slave adresu. Taktnu frekvenciju treba konfigurirati i u glavnom kodu.
  • Za vrijeme testiranja na ploči, ne zaboravite na otpornike za podizanje jer je SDA linija uobičajen 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 ispitni stolić i samostalno 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 povlačenjem.
  • Pažljivo prođite kroz IP dokumentaciju.

Korak 5: Priložene datoteke

  • Svi RTL kodovi I2C Master -a.
  • Testni sto, I2C Slave kodovi, za testiranje.
  • IP dokumentacija.

Za sve upite, slobodno me kontaktirajte:

Mitu Raj

pratite me:

Za upite kontaktirajte: [email protected]

Preporučuje se: