реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> I2C на verilog, пример
addi II
сообщение Mar 31 2016, 05:21
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 277
Регистрация: 1-02-16
Пользователь №: 90 294



Здравствуйте!

Нет ли у кого, кто мог бы поделиться, проекта для квартуса реализации I2C?

Если не жалко)

Заранее благодарен!

П.С. необязательно только для квартуса, главное исходники

Go to the top of the page
 
+Quote Post
Maverick
сообщение Mar 31 2016, 05:28
Сообщение #2


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(addi II @ Mar 31 2016, 08:21) *
Здравствуйте!

Нет ли у кого, кто мог бы поделиться, проекта для квартуса реализации I2C?

Если не жалко)

Заранее благодарен!

П.С. необязательно только для квартуса, главное исходники

вот - Verilog / VHDL
Прикрепленные файлы
Прикрепленный файл  XAPP333_and_XAPP385___I2C_Controller_Xilinx.CPLD_____________A_.rar ( 22.19 килобайт ) Кол-во скачиваний: 26
Прикрепленный файл  xapp333.pdf ( 559.26 килобайт ) Кол-во скачиваний: 52
Прикрепленный файл  XAPP333_and_XAPP385___I2C_Controller_Xilinx.CPLD_____________B_.rar ( 698.64 килобайт ) Кол-во скачиваний: 19
 


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
andrew_b
сообщение Mar 31 2016, 05:34
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 975
Регистрация: 30-12-04
Из: Воронеж
Пользователь №: 1 757



Цитата(addi II @ Mar 31 2016, 08:21) *
Нет ли у кого, кто мог бы поделиться, проекта для квартуса реализации I2C?
На opencores.org есть.
Go to the top of the page
 
+Quote Post
Maverick
сообщение Mar 31 2016, 05:46
Сообщение #4


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



еще вот
и вот


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
Александр77
сообщение Mar 31 2016, 06:41
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 608
Регистрация: 10-07-09
Из: Дубна, Московская область
Пользователь №: 51 111



Цитата(andrew_b @ Mar 31 2016, 08:34) *
На opencores.org есть.

Даже каким-то из проектов пользуется altera и ставит в своих демонстрашках (видимо экономят на оплате патента за бренд i2c)
Go to the top of the page
 
+Quote Post
Koluchiy
сообщение Mar 31 2016, 13:43
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 972
Регистрация: 12-04-09
Из: Москва
Пользователь №: 47 543



Набирайте на сайте альтеры i2с и качайте то, куда оно пошлет. Отлично работает, исходники открыты.
Я их для Xilinx использую, чуть подправил только для совместимости с хилыми библиотеками sm.gif.
Go to the top of the page
 
+Quote Post
Timmy
сообщение Mar 31 2016, 16:20
Сообщение #7


Знающий
****

Группа: Участник
Сообщений: 835
Регистрация: 9-08-08
Из: Санкт-Петербург
Пользователь №: 39 515



Интересно, умеют ли i2c корки обрабатывать ситуацию с зависанием слейва на чтении. Если слейв не поймает(например из-за помехи) финальный ACK, или мастер внезапно отвалится, слейв может застрять на промежуточном нулевом бите и держать SDA в LOW, не давая делать старт/стоп правильным образом. Чтобы выйти из этого состояния, кто-то должен подёргать за SCL, пока подвисший слейв не дойдёт до позиции ACK или единичного бита данных и не отпустит SDA.
В микроконтроллере это можно решить софтовым ногодрыгом, а вот в FPGA переключения пинов в GPIO обычно не предусматриваютsm.gif.
Go to the top of the page
 
+Quote Post
Corner
сообщение Apr 3 2016, 12:39
Сообщение #8


Профессионал
*****

Группа: Участник
Сообщений: 1 072
Регистрация: 11-12-12
Пользователь №: 74 815



Цитата(Timmy @ Mar 31 2016, 19:20) *
Интересно, умеют ли i2c корки обрабатывать ситуацию с зависанием слейва на чтении. Если слейв не поймает(например из-за помехи) финальный ACK, или мастер внезапно отвалится, слейв может застрять на промежуточном нулевом бите и держать SDA в LOW, не давая делать старт/стоп правильным образом. Чтобы выйти из этого состояния, кто-то должен подёргать за SCL, пока подвисший слейв не дойдёт до позиции ACK или единичного бита данных и не отпустит SDA.
В микроконтроллере это можно решить софтовым ногодрыгом, а вот в FPGA переключения пинов в GPIO обычно не предусматриваютsm.gif.

Короче. В корку нужно прикрутить вотчдог))) два байта переслать....
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 16:20
Рейтинг@Mail.ru


Страница сгенерированна за 0.01426 секунд с 7
ELECTRONIX ©2004-2016