Sadržaj:
- Korak 1: Pregled sabirnice I2C
- Korak 2: RTL dizajn u VHDL -u
- Korak 3: Simulacija i testiranje
- Korak 4: Važne napomene
- Korak 5: Priložene datoteke
Video: Dizajn I2C Master u VHDL -u: 5 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:06
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:
Dizajn jednostavnog četvorosmjernog asocijativnog kontrolera predmemorije u VHDL-u: 4 koraka
Dizajn jednostavnog četvorosmjernog asocijativnog kontrolera predmemorije u VHDL-u: U mojim prethodnim uputama vidjeli smo kako dizajnirati jednostavan kontroler predmemorije s direktnim mapiranjem. Ovaj put idemo korak dalje. Dizajnirat ćemo jednostavan četverosmjerni set asocijativnih kontrolera predmemorije. Prednost? Manje propuštanja, ali po cijenu performanse
Dizajn programabilnog kontrolera prekida u VHDL -u: 4 koraka
Dizajn programabilnog kontrolera prekida u VHDL -u: Oduševljen sam vrstama odgovora koje dobivam na ovom blogu. Hvala momci što ste posjetili moj blog i motivirali me da podijelim svoje znanje s vama. Ovaj put ću predstaviti dizajn još jednog zanimljivog modula koji vidimo u svim SOC -ovima - Interrupt C
Dizajn jednostavnog kontrolera predmemorije u VHDL -u: 4 koraka
Dizajn jednostavnog kontrolera predmemorije u VHDL -u: Pišem ovo uputstvo, jer mi je bilo malo teško nabaviti neki referentni VHDL kôd za učenje i započeti dizajniranje kontrolera predmemorije. Stoga sam sam dizajnirao predmemorijski kontroler od nule i uspješno ga testirao na FPGA. Imam p
Dizajn jednostavnog VGA kontrolera u VHDL -u i Verilogu: 5 koraka
Dizajn jednostavnog VGA kontrolera u VHDL -u i Verilogu: U ovom uputstvu ćemo dizajnirati jednostavan VGA kontroler u RTL -u. VGA kontroler je digitalno kolo dizajnirano za pogon VGA ekrana. Čita iz Frame Buffer -a (VGA memorija) koji predstavlja okvir za prikaz i generira potrebno
Dizajn SPI Master -a u VHDL -u: 6 koraka
Dizajn SPI Master -a u VHDL -u: U ovom uputstvu, dizajnirat ćemo SPI Bus Master od nule u VHDL -u