|
Из Atmega8 в Atmega16, TWI не хочет мигрировать |
|
|
|
Jun 6 2006, 17:16
|
Группа: Участник
Сообщений: 13
Регистрация: 14-01-06
Пользователь №: 13 169

|
Очень внимательно прочитал ветку "Проблема с TWI", но вопросы остались. Суть вопроса такова. До сихпор пользовался мегой8 и ее аппаратным TWI в слайве, но быстрый переход на мегу16 не удался. После долгих ковыряний всяких доков написал маленький софт на LPT (что-то вроде мастера TWI). Пришел к выводу, что при таких равных условиях 1. Оба кристала подключены по одинаковой схеме; 2. Оба работают на внутреннем генераторе 8МГц; 3. Оба кристала выполняют одинаковый код мега16 отказывается работать уже на частоте CLK ~150кГц, когда как м8 только на ~270кГц. Обе проца 16мегагерцовые, единственное м8-PDIP, а м16- TQFP. В чем может быть пичина?
|
|
|
|
|
 |
Ответов
|
Jun 9 2006, 17:13
|
Группа: Участник
Сообщений: 13
Регистрация: 14-01-06
Пользователь №: 13 169

|
Цитата(bodja74 @ Jun 9 2006, 20:19)  А с чего Вы взяли что TWBR=0x08 это Bit Rate: 250,000 kHz ? TWBR=0x08 это 166.666 Кгц ,что мы и имеем  Вообщето по идее слейву должно быть все равно значение TWBR,но вполне возможно мегу 16 решили доработать и использовать TWBR для формирования длительности ACK. PS Тяжко мне в Си разобраться  Последняя документация на мегу16 (doc2466.pdf) гласит: This unit controls the period of SCL when operating in a Master mode. The SCL period is controlled by settings in the TWI Bit Rate Register (TWBR) and the Prescaler bits in the TWI Status Register (TWSR). Slave operation does not depend on Bit Rate or Pres-caler settings, but the CPU clock frequency in the slave must be at least 16 times higher than the SCL frequency. Note that slaves may prolong the SCL low period, thereby reducing the average TWI bus clock period.Т.е. TWBR для формирования длительности ACK не используется.Что на счет кода? Может есть какие-то косяки?
|
|
|
|
Сообщений в этой теме
Basilkmv06 Из Atmega8 в Atmega16 Jun 6 2006, 17:16 defunct Цитата(Basilkmv06 @ Jun 6 2006, 20:16) ме... Jun 6 2006, 19:10 GetSmart Ух ты. Не знал, что LPT можно использовать как TWI... Jun 6 2006, 23:29 Basilkmv06 Цитата(GetSmart @ Jun 7 2006, 03:29) Ух т... Jun 7 2006, 10:41 Faradey может я не в тему а на какой частое узаете TWI?
я ... Jun 7 2006, 17:39 Basilkmv06 Цитата(Faradey @ Jun 7 2006, 21:39) может... Jun 8 2006, 15:19 GetSmart А может микруха глючная? Если есть вторая, то пров... Jun 9 2006, 00:09 GetSmart Я бы не полагался на PC-i2c и для проверки связал ... Jun 9 2006, 02:25 Starick Цитата(Basilkmv06 @ Jun 6 2006, 20:16) Оч... Jun 9 2006, 14:43 Basilkmv06 Цитата(Starick @ Jun 9 2006, 18:43) Цитат... Jun 9 2006, 15:32 bodja74 Внутрений генератор у мег на 1,2,4 и 8Мгц. Jun 9 2006, 14:56 bodja74 Еще ,выкладывайте инициализацию TWI слейва,посмотр... Jun 9 2006, 15:15 Basilkmv06 Цитата(bodja74 @ Jun 9 2006, 19:15) Еще ,... Jun 9 2006, 15:51  bodja74 Цитата(Basilkmv06 @ Jun 9 2006, 20:13) Чт... Jun 9 2006, 21:09   Basilkmv06 Цитата(bodja74 @ Jun 10 2006, 01:09) Цита... Jun 10 2006, 05:52 GetSmart Я не особо глубоко вникал в прогу, но на первый вз... Jun 10 2006, 07:19 bodja74 Арбитраж(выяснение отношений кто из мастеров первы... Jun 10 2006, 07:55 Woodoo осцилограф есть? может кинишь осцилограмки SDA/SCL... Jun 11 2006, 06:07 Basilkmv06 TWI ЗАРАБОТАЛ!!
Долгие размышления по пово... Jun 13 2006, 09:44
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|