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

 
 
> зависание TWI
Штефан Виталий
сообщение Mar 25 2008, 07:11
Сообщение #1





Группа: Новичок
Сообщений: 10
Регистрация: 13-02-08
Пользователь №: 35 002



Прошу помощи в освоении шины TWI.
Связываю 2 атмеги 8535, подтяжка резисторы 3к3, длина мене 10см скрость 120 000 кварц 6мег, есть пауза 0.1с перед запуском интерфейса при включении.
Реализованно чтение (мастер читает данные на слейве). Контролирую состояния TWSR через терминалку на слейве и 7ми сегментом индикаторе на мастере.
В какой-то момент связь между мастером и слейвом прекращается, момент этот может прийти через 5с работы, а может всю ночь простоять (не устойчиво). Выражается это в пропадании прерываний, очень редко перед повисом слейв генерит состояние 0, чаще все зависает с нормальными последними состояниями TWSR на мастете 0x50, на слейве 0xB8. На шине SCL наблюдается 1 а на SDA 0 (чаще всего). Пытался оживить интерфейс вписывая TWCR=0x94 или TWCR=0x84 потом пробывал TWCR=0x00 пауза 1с TWCR=0x84. После этого условия старта (кажется 0xE5), потом пробывал перезагружать сторожевиком (при исчезновении прерываний) безтолку. Помогает восстановить связь только аппаратный резет. Тк самопроизвольное зависание контроллера можно ждать очень долго, то я его вешал коротя отверткой сигнальные линии.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Штефан Виталий
сообщение Mar 25 2008, 10:15
Сообщение #2





Группа: Новичок
Сообщений: 10
Регистрация: 13-02-08
Пользователь №: 35 002



Выдать восемь битов - это пощелкать SCK при SDA=1? - это я еще не пробовал.
Ну флаг TWINT я вроде не забываю в 1 (те сбрасывать), да если бы забывал, то думаю висло гораздо чаще.
Вообще TWCR в обработчике прерывания обнавляю в последнюю очередь перед return;
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 23:32
Рейтинг@Mail.ru


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