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

 
 
> ATiny88 - проблема с TWI in slave mode
Student2
сообщение Dec 14 2009, 06:26
Сообщение #1


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

Группа: Участник
Сообщений: 83
Регистрация: 4-08-09
Из: Болгария / София
Пользователь №: 51 737



Здраствуйте,

Я нашел что Tiny88 держится непослушно в TWI slave mode и тянет линия SDA к GND на неопределенное время после просыпание. Сценарий возникновение проблемы такой:

1. Tiny88 в TWI slave моде, имеет адрес SLA и прерывание только на TWI. Чип работает на внутренним осцилляторе 8MHz.

2. Host посылает SLA+R и чип успешно принимает SLA+R в прерывание. Host начинает читать следующий байт.

3. В то время когда чтения байта происходить (после выполнения прерывании для SLA+R) Tiny88 разрешает прерывание из WDT и уходит в deep sleep mode - все модули с исключение TWI отключенный из питания из PRR. Просыпание возможно только из TWI или WDT.

4. Когда последний бит уже послан Tiny88 находиться в deep sleep моде.

5. Здесь происходить что то неладное (я в процесс уточнения что конкретно происходить )- чип просыпается но держит линия SDA к GND. Только установка и сброс TWSTO или забрана/разрешения TWEN может восстановить SDA.

Вопрос - кто то встречал уже такое поведение Tiny88? Как можно обманут процессора и избежать задержка SDA?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
niXto
сообщение Dec 14 2009, 19:36
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 40
Регистрация: 24-06-09
Из: Беларусь
Пользователь №: 50 607



Флаг TWINT сбрасывается? Для сброса в него нужно записать 1, аппаратно он НЕ сбрасывается. Also note that clearing this flag starts the operation of the TWI, so all accesses to the TWI Address Register (TWAR), TWI Status Register (TWSR), and TWI Data Register (TWDR) must be complete before clearing this flag

TWSR нужно читать после каждого байта!!!

0 на SDA означает "подтверждение приема" (для мастера). После сброса TWINT он переходит в 1
Go to the top of the page
 
+Quote Post



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

 


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


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