Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 08.12.2010, 11:13  
niXto
Почётный гражданин KAZUS.RU
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: Зависание TWI в atmega48

Сообщение от winso Посмотреть сообщение
Виснет сам аппаратный TWI. В нем где задержку то поставить? Только и остается похоже ресетится.
Ну я же и говорю - Перед командой Старт включите таймаут, если за это время передача не завершена - выкл/вкл ТВИ (это ресетит его). Аналогично на слэйвах - если по ТВИ в норме гуляет допустим 10 посылок в секунду, а тут вдруг за секунду ни одной - ресетим ТВИ в слэйвах

Почему-то у всех работает...
Реклама:
niXto вне форума  
Непрочитано 08.12.2010, 11:28  
winso
Частый гость
 
Регистрация: 29.07.2010
Сообщений: 23
Сказал спасибо: 0
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
winso на пути к лучшему
По умолчанию Re: Зависание TWI в atmega48

Сообщение от niXto Посмотреть сообщение

Почему-то у всех работает...
У меня тоже работает. Сутками. Месяцами. Но несколько раз подходишь к изделию - мастер бедный вопит - а нет у меня никого не шине. нет - и все. И блоки тоже - а нет мастера, чего делать не знаем. Вот после того и начал гонять на восстановление обмена после любых ошибок. Пока добился того, что подвесить шину стало достаточно сложно. Но удается. то есть если минуты 2 тупо тыкать перемычку туда-сюда в scl-sda - вдруг вешается.
А для меня это клиника.
Но я все это из дома пишу, пока со вчерашнего до макетки еще не доехал... Доеду - посмотрим...
winso вне форума  
Непрочитано 08.12.2010, 14:48  
Cybermaker
Вид на жительство
 
Регистрация: 21.08.2007
Сообщений: 318
Сказал спасибо: 12
Сказали Спасибо 67 раз(а) в 61 сообщении(ях)
Cybermaker на пути к лучшему
По умолчанию Re: Зависание TWI в atmega48

Сообщение от winso Посмотреть сообщение
У меня тоже работает. Сутками. Месяцами. Но несколько раз подходишь к изделию - мастер бедный вопит - а нет у меня никого не шине. нет - и все. И блоки тоже - а нет мастера, чего делать не знаем. Вот после того и начал гонять на восстановление обмена после любых ошибок. Пока добился того, что подвесить шину стало достаточно сложно. Но удается. то есть если минуты 2 тупо тыкать перемычку туда-сюда в scl-sda - вдруг вешается.
А для меня это клиника.
Но я все это из дома пишу, пока со вчерашнего до макетки еще не доехал... Доеду - посмотрим...
Дык беда ваша оттого, что слэйв питание получает позже чем подключается к шине. Вот через защитные диоды мега и кормится с неё Соответсвенно просаживает шину создавая фальшивый старт.

Вы либо дата пины покороче сделайте, чтобы они позже питания подключались, либо подводите питание и плюс и минус дважды - с разных сторон интерфейса. Ошибки с 15% это уменьшит, но не до нуля

Да, кстати, всё вышеописанное - защита от перекоса при установке модуля

Последний раз редактировалось Cybermaker; 08.12.2010 в 14:57.
Cybermaker вне форума  
Непрочитано 08.12.2010, 15:29  
alberio
Гражданин KAZUS.RU
 
Аватар для alberio
 
Регистрация: 08.07.2006
Сообщений: 583
Сказал спасибо: 76
Сказали Спасибо 90 раз(а) в 66 сообщении(ях)
alberio на пути к лучшему
По умолчанию Re: Зависание TWI в atmega48

Мне кажется, проблема у вас с софтом. Ясное дело, что у хардварного тви есть моменты, при которых он виснет, но правильным софтом это (100%) можно вылечить.

По поводу уарт, посмотрите в дш, в разделе уарт вещь MPCM (на мегу48 стр.193 дш), на ведущем поставите софтовый, на ведомых аппартный. Плюс преобразователи уарт/485.

По поводу 1вайр, есть преобразователи и2с/1 вайр, DS2482, к примеру - снимает с процессора все заботы о таймингах, рамсирчах и проч 1вайровой чепухе.
Вот.
__________________
Sex, Druggs, Rock&Roll
alberio вне форума  
Непрочитано 09.12.2010, 14:59  
Frogfot
Прохожий
 
Регистрация: 27.04.2010
Адрес: Kiev
Сообщений: 7
Сказал спасибо: 4
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Frogfot на пути к лучшему
По умолчанию Re: Зависание TWI в atmega48

А поставить подтяжки с двух концов линии слабо?
Frogfot вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ATMega & TWI в режиме прерываний nerozero Микроконтроллеры, АЦП, память и т.д 13 07.12.2010 17:24
USART на Atmega48 vgtmaster Микроконтроллеры, АЦП, память и т.д 4 23.10.2010 12:04
AVR (ATmega16) - TWI (аппаратный) - DS1302 igor-k Микроконтроллеры, АЦП, память и т.д 9 06.07.2010 15:26
Обмен м/у AVR по шине TWI Fan79 Микроконтроллеры, АЦП, память и т.д 15 22.06.2010 09:58
Затруднение с TWI интерфейсом toxxinus Микроконтроллеры, АЦП, память и т.д 11 21.12.2009 06:30


Часовой пояс GMT +4, время: 10:35.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot