Съдържание:

Дизайн на I2C Master във VHDL: 5 стъпки
Дизайн на I2C Master във VHDL: 5 стъпки

Видео: Дизайн на I2C Master във VHDL: 5 стъпки

Видео: Дизайн на I2C Master във VHDL: 5 стъпки
Видео: Впервые в интернете! Подключение I2C дисплея LCD 1602 в Tinkercad! 2024, Юли
Anonim
Дизайн на I2C Master във VHDL
Дизайн на I2C Master във VHDL

В тази инструкция се обсъжда проектирането на прост I2C магистър във VHDL.

ЗАБЕЛЕЖКА: Щракнете върху всяко изображение, за да видите пълното изображение

Стъпка 1: Преглед на шината I2C

• Стойки за интегрална схема.

• Синхронен, полудуплекс.

• Двупроводен интерфейс - SDA и SCL.

• SDA - линия от серийни данни, контролирана от Master и Slave

• SCL - Сериен часовник, генериран от Master

• Multi-master, Multi-slave протокол.

• Два режима - 100 kbits/sec и 400 kbits/sec: бавен и бърз.

Стъпка 2: RTL дизайн във VHDL

Спецификации на дизайна на нашия I2C Master

  • 8-битов кадър за данни.
  • Само еднопосочно управление SCL.
  • 7-битов подчинен адрес.
  • Поддържа бавни и бързи режими.
  • Single Master, Multi-slave.
  • Съответства на оригиналните спецификации на I2C от Philips.

Използва се чист RTL код. Така че IP е лесно преносим във всички FPGA. Компактният дизайн, базиран на FSM, използващ вътрешно генериран часовник, осигурява оптимална площ и производителност.

Стъпка 3: Симулация и тестване

Тестова среда

  • Функционална симулация и тестване, използвайки I2C Slave IP на трети страни.
  • Синтезиран с помощта на набор от инструменти Xilinx Vivado.
  • Изпълнено и тествано на платка Artix-7 FPGA.
  • Проверка на времето за 100 MHz.
  • Тествани форми на вълни на DSO/CRO.
  • Успешно тествана комуникация с Arduino UNO като I2C Slave.

Стъпка 4: Важни бележки

  • Докато тествате Master, използвайки I2C Slave IP, конфигурирайте подчинения код според вашите изисквания. Може да искате да промените часовника по подразбиране и подчинения адрес. Тактовата честота също трябва да бъде конфигурирана в главния код.
  • Докато тествате на борда, не забравяйте издърпващи се резистори, тъй като SDA линията е общ източник на източване !!! Проверете в Google за препоръчителен резистор за изтегляне за различни скорости i2c. Използвах 2.2K за 100 kHz.
  • Ако не използвате тестовия стенд и не симулирате Master самостоятелно, внимателно симулирайте SDA сигнал, тъй като той е двупосочен сигнален (входен) сигнал. Той има два драйвера, главна и подчинена страна. Трябва да знаете кога да „насилвате“и кога да „разваляте".
  • SCL е еднопосочна линия. Няма нужда от издърпване.
  • Моля, преминете внимателно през IP документацията.

Стъпка 5: Прикачени файлове

  • Всички RTL кодове на I2C Master.
  • Изпитателен стенд, I2C Slave кодове, също за тестване.
  • IP документация.

За всякакви въпроси, не се колебайте да се свържете с мен:

Миту Радж

следвайте ме:

За запитвания се свържете с: [email protected]

Препоръчано: