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

 
 
> зависание 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
Ответов
viakon
сообщение Mar 25 2008, 11:10
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 290
Регистрация: 9-12-05
Из: г. Пермь
Пользователь №: 12 002



Была проблема на меге16, не отрабатывался стоп
решил таким способом.

TWCR = (1<<TWINT) | (1<<TWSTO) | (1<<TWEN); // стоп
watchdog = 0;
while(~PINC & 1<<PC1) // ждать стоп
if(++watchdog > 20) {
TWCR = 0;
PORTC |= 1<<PC1;
DDRC |= 1<<PC1;
PORTC &= ~(1<<PC1);
DDRC &= ~(1<<PC1);
}

Причем просто выключение TWI не помогает пришлось дергать ногами. Сброс по WDT помогал, но при этом рвалось IP соединение (слэйв w3100).
Go to the top of the page
 
+Quote Post



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

 


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


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