Съдържание:
- Стъпка 1: Преглед на шината I2C
- Стъпка 2: RTL дизайн във VHDL
- Стъпка 3: Симулация и тестване
- Стъпка 4: Важни бележки
- Стъпка 5: Прикачени файлове
Видео: Дизайн на I2C Master във VHDL: 5 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:52
В тази инструкция се обсъжда проектирането на прост 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]
Препоръчано:
Проектиране на прост четирипосочен контролер за асоцииран кеш във VHDL: 4 стъпки
Проектиране на прост четирипосочен контролер за асоцииран кеш във VHDL: В предишните ми инструкции видяхме как да проектираме прост директно картографиран кеш контролер. Този път вървим крачка напред. Ще проектираме прост четирипосочен контролер за асоциативен кеш. Предимство? По -малък процент пропуски, но с цената на перфо
Проектиране на програмируем контролер за прекъсвания във VHDL: 4 стъпки
Проектиране на програмируем контролер за прекъсвания във VHDL: Уморен съм от вида на отговорите, които получавам в този блог. Благодаря ви момчета, че посетихте моя блог и ме мотивирахте да споделя знанията си с вас. Този път ще представя дизайна на друг интересен модул, който виждаме във всички SOC - Interrupt C
Проектиране на обикновен кеш контролер във VHDL: 4 стъпки
Дизайн на прост кеш контролер във VHDL: Пиша тази инструкция, защото ми беше малко трудно да получа някакъв референтен VHDL код, за да науча и да започна да проектирам кеш контролер. Затова сам проектирах кеш контролер от нулата и го тествах успешно на FPGA. Имам п
Проектиране на обикновен VGA контролер във VHDL и Verilog: 5 стъпки
Дизайн на прост VGA контролер във VHDL и Verilog: В тази инструкция ще проектираме прост VGA контролер в RTL. VGA контролер е цифровата схема, предназначена за задвижване на VGA дисплеи. Той чете от Frame Buffer (VGA Memory), който представлява рамката за показване и генерира необходимо
Дизайн на SPI Master във VHDL: 6 стъпки
Дизайн на SPI Master във VHDL: В тази инструкция ще проектираме SPI Bus Master от нулата във VHDL