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

 
 
> Проблема с DS1678, не отвечает, работа с I2C
Camelot
сообщение Sep 14 2005, 10:36
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 182
Регистрация: 10-01-05
Пользователь №: 1 872



Добрый всем день!

Использую на плате этого зверя, управляю им с помощью Cyclone.
Написал корку, которая используя I2C, пишет в него Memory Adsress Pointer, но
этот девайс не отдает бит ACK в нужные моменты, т.е. простыми словами
молчит. Посмотрел на осциле - все ОК, пакет с синхронизацией правильные,
как в доке, но ACK от DS1678 вместо логического 0 равен логической единице (DS1678 не сливает). Если кто знает с чем это может быть связано, посоветуйте плиз.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Camelot
сообщение Sep 15 2005, 07:07
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 182
Регистрация: 10-01-05
Пользователь №: 1 872



Спасибо большое за советы smile.gif
Особенности применения ПЛИСины, как оказалось. Добавил по выходу SDA триггер, который засинхронизировал по системному клоку и включил "open-drain" в свойствах пина. Во время когда должен отвечать логгер, переключал SDA в третье состояние (если этого не делать, то уровень SDA не вытягивает до логического нуля, а провисает где-то до 2 В, т.е. остается в логической единицей).
Go to the top of the page
 
+Quote Post
-Al-
сообщение Sep 15 2005, 13:45
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 330
Регистрация: 10-06-05
Из: Россия, Москва
Пользователь №: 5 894



Цитата(Camelot @ Sep 15 2005, 11:07)
Спасибо большое за советы  smile.gif
Особенности применения ПЛИСины, как оказалось.  Добавил по выходу SDA триггер, который засинхронизировал по системному клоку и включил "open-drain" в свойствах пина. Во время когда должен отвечать логгер, переключал SDA в третье состояние (если этого не делать, то уровень SDA не вытягивает до логического нуля, а провисает где-то до 2 В, т.е. остается в логической единицей).
*

Не только SDA должеен быть Open-Drain, но и SCL тоже. Приемник имеет полное право держать уровень SCL в низком состоянии для формирования цикла ожидания. Высокий уровень (1) на линиях I2C формируется ТОЛЬКО за счет подтягивающих резисторов. Учите мат-часть!
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Camelot   Проблема с DS1678, не отвечает   Sep 14 2005, 10:36
- - BVU   Цитата(Camelot @ Sep 14 2005, 14:36)Добрый вс...   Sep 14 2005, 13:29
- - Camelot   Да вроде правльно инициализирую, посылаю слева-нап...   Sep 14 2005, 13:34
|- - BVU   Цитата(Camelot @ Sep 14 2005, 17:34)Да вроде ...   Sep 14 2005, 13:50
- - Camelot   Может это и неправильно, но во время когда DS1678 ...   Sep 14 2005, 14:02
|- - BVU   Цитата(Camelot @ Sep 14 2005, 18:02)Может это...   Sep 14 2005, 14:15
- - Camelot   Синхросигнал я беру с PLL и делю его, на осциле см...   Sep 14 2005, 14:05
|- - BVU   Цитата(Camelot @ Sep 15 2005, 11:07)Спасибо б...   Sep 15 2005, 09:46
|- - BVU   Цитата(-Al- @ Sep 15 2005, 17:45)Вы...   Sep 15 2005, 14:35
- - Camelot   Передача идет по одному пину (который в ПЛИСе наст...   Sep 15 2005, 11:32
- - BVU   Батарейное питание для любых часовых контроллеров ...   Sep 15 2005, 12:09
- - Camelot   Помоему уже это проехали После драки кулаками не ...   Sep 16 2005, 05:14
- - BVU   Если у DS1678 имеется NVR, то почему бы и нет?...   Sep 16 2005, 05:59


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

 


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


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