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

 
 
> I2C (аппаратная реализация) PIC18F6680, Как обрабатывать коллизии?
Dimmy
сообщение Jun 22 2007, 15:10
Сообщение #1


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

Группа: Участник
Сообщений: 106
Регистрация: 12-09-05
Пользователь №: 8 503



Господа!
Заказчик предовставил для разработки модули Modtronix SBC68EC + IOR5E (www.modtronix.com) + реализованный уже WEB-сервер в исходниках. Жуть редкая - разводка платы оставляет желать, есть схемотехнич. ошибки (например, последовательный резистор в цепи SDA 2,7k). Вобщем - при работе страшно глючит I2C. На шине - 24C512 и часы реального времени DS1307.
Чтение более-менее наладил, но вот запись... Перевел шину в 100кГц - не помогло.
В фирменных подпрограммах работы с шиной I2C начисто отсутствует обработка коллизий. Подпрограммы тупо возвращают значение бита BCLIF ( Bus Collision Interrupt Flag bit) из регистра PIR2 и никак не отрабатывают факт его установки. В даташите кроме фразы "A bus collision occurred while the SSP module (configured in I2C Master mode) was transmitting (must be cleared in software)" ничего нет... Какова последовательность разрешения коллизии?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
rezident
сообщение Jun 22 2007, 20:53
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Кстати, а вы не задумывались откуда на шине могут возникнуть коллизии, если мастер один? И тем более что указанные вами как слейвы м/с SCL не "растягивают".
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 12th August 2025 - 02:23
Рейтинг@Mail.ru


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