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

 
 
> TWI на USI и апаратное TWI, виснет
MichaZ
сообщение Apr 13 2006, 12:53
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 17
Регистрация: 20-10-05
Пользователь №: 9 886



Привет Всем!

столкнулся со следующей проблемой.
есть мастер - Samsung с апаратным TWI
слейв1 - ATtiny2313 c TWI на USI
слейв2 - ATmega8535 с апаратным TWI

так вот.
если подключить отдельно - каждый слейв работает правильно.вместе-не хотят.
тоесть 8535 зависает.
вижу проблему в следующем:
в TWI на 2313 время обработки прерывания по приходу байта не должно превышать 10мкс (время прихода одного бита на 100КГц) для того,чтобы не помешать передаче подтверждения и подготовке приема следующего байта.но время обработки получается 17 мкС
но ето не страшно,поскольку мастер поддерживает растягивание тактов,а 2313 держит такты в нуле до выхода из прерывания.
такое растягивание тактов не нравиться 8535.и она виснет

вопрос.
можно ли доверять показателю времени выполнения в AVR Studio(workspace,окно I/O,Processor,Stop Watch)?
сталкивался ли Кто-то с такой проблемой?как решил?
решит ли проблему программа на 8535 - ПРАВИЛЬНАЯ обработка коллизий на шине?
или надо подкорачивать обработчик?
в том ли дело вообще?

спасибо
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 2)
Kovrov
сообщение Apr 13 2006, 18:03
Сообщение #2


Мастер-фломастер
****

Группа: Свой
Сообщений: 611
Регистрация: 29-12-05
Пользователь №: 12 700



а что происходит у 8535, когда он прочитал чужой адрес?


--------------------
Вон ПОПОВ, клоун клоуном, а радио изобрел!!
Go to the top of the page
 
+Quote Post
beer_warrior
сообщение Apr 14 2006, 01:26
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380



У меня была подобная проблема - диагноз ставил следующим образом -
подключал на свободный порт 4 светодида и после прохода каждого этапа обмена адрес - подтверждение - рестарт итп. писал заветное число в порт.Причину зависания выловил довольно быстро.

Это я к чему - моделировать обмен не стоит, а вот четкое понимание места в котором зависли уже половина решения. По моим наблюдениям обычно вис идет по причине неотданного/ непринятого ACK.
По поводу растягивания тактов - думаю проблема не в этом - насколько я помню AVR-TWI конечный автомат управляемый фронтами на 2-х ногах, лишняя пара микросекунд каши не испортит.


--------------------
Вони шукають те, чого нема,
Щоб довести, що його не існує.
Go to the top of the page
 
+Quote Post

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

 


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


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