Tartalomjegyzék:

Az I2C Master tervezése VHDL -ben: 5 lépés
Az I2C Master tervezése VHDL -ben: 5 lépés

Videó: Az I2C Master tervezése VHDL -ben: 5 lépés

Videó: Az I2C Master tervezése VHDL -ben: 5 lépés
Videó: I2C - Bus Master - Step 1 2024, Július
Anonim
Az I2C Master tervezése VHDL -ben
Az I2C Master tervezése VHDL -ben

Ebben az utasításban egy egyszerű I2C mester tervezése VHDL -ben kerül tárgyalásra.

MEGJEGYZÉS: kattintson a képekre a teljes kép megtekintéséhez

1. lépés: Az I2C busz áttekintése

• Integrált áramkört jelent.

• Szinkron, félig duplex.

• Két vezetékes interfész - SDA és SCL.

• SDA - Soros adatvonal, amelyet a Master és a Slave vezérel

• SCL - a Master által generált soros óra

• Multi-master, Multi-slave protokoll.

• Két mód - 100 kb/s és 400 kb/s: lassú és gyors.

2. lépés: RTL tervezés VHDL -ben

Az I2C Master tervezési specifikációi

  • 8 bites adatkeret.
  • Csak SCL egyirányú vezérlés.
  • 7 bites slave cím.
  • Támogatja a lassú és a gyors üzemmódot is.
  • Egyetlen mester, többszolga.
  • Megfelel a Philips eredeti I2C specifikációinak.

Tiszta RTL kódot használnak. Így az IP könnyen hordozható minden FPGA -n. A kompakt, FSM -alapú kialakítás a belső generált óra használatával optimális területet és teljesítményt biztosít.

3. lépés: Szimuláció és tesztelés

Tesztkörnyezet

  • Funkcionális szimuláció és tesztelés harmadik féltől származó I2C Slave IP használatával.
  • Xilinx Vivado szerszámkészlettel szintetizálva.
  • Megvalósítva és tesztelve Artix-7 FPGA kártyán.
  • Az időzítés ellenőrzött tervezése 100 MHz -en.
  • Tesztelt hullámformák DSO/CRO -n.
  • Sikeresen tesztelt kommunikáció az Arduino UNO -val, mint I2C Slave.

4. lépés: Fontos megjegyzések

  • Miközben a Master -t teszteli az I2C Slave IP használatával, konfigurálja a slave kódot az Ön igényei szerint. Érdemes megváltoztatni az alapértelmezett órajel frekvenciát és a slave címet. Az óra frekvenciáját a mester kódban is be kell állítani.
  • A fedélzeti tesztelés során ne felejtse el a felhúzó ellenállásokat, mivel az SDA vonal gyakori lefolyó kimenet !!! Ellenőrizze a google-ban az ajánlott felhúzó ellenállást a különböző i2c sebességekhez. 2.2 k -t használtam 100 kHz -re.
  • Ha nem használja a próbapadot, és önállóan szimulálja a mestert, óvatosan szimulálja az SDA jelet, mivel ez kétirányú jel (bemenet) jel. Két meghajtója van, a master oldal és a slave oldal. Tudnia kell, mikor „kényszeríteni” és mikor „kényszeríteni”.
  • Az SCL egyirányú vonal. Nincs szükség felhúzásra.
  • Kérjük, alaposan nézze át az IP dokumentációt.

5. lépés: Csatolt fájlok

  • Az I2C Master összes RTL kódja.
  • Tesztpad, I2C Slave kódok is, teszteléshez.
  • IP dokumentáció.

Bármilyen kérdés esetén forduljon hozzám bizalommal:

Mitu Raj

kövess engem:

Kérdés esetén vegye fel a kapcsolatot: [email protected]

Ajánlott: