Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: ATmega8 + PIC18F4525 TWI_BUS_ERROR в меге
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Abrvalg
Здравствуйте, помогите разобраться, даташит на мегу уже до дыр прокурил.
Есть девайс в котором PIC - master, ATmega8 - slave, помимо этого на шине висит DS1307 и EEPROM, проблема только с мегой.
При включении TWI в меге, она ловит TWI_BUS_ERROR, ну и после обработки отключает TWI.
На осцилле видно, что Мега не выдает АСК. Адрес правильный, бит TWEA в меге установлен.
Мега работает от внутреннего генератора 8Мгц. Частота SCL - 200 кГц.

Над кодом поэксперементировал, попробовал просто примеры из библиотек, та же картина.
Аппаратно - стандартная схема, подтяжки по 5.1 кОм, сигнал чистый, 3 день не могу въехать где проблема.
niXto
Еррату почитайте

Это документированный глюк 8 и вроде 88 мег

Ещё у них сторожевой таймер иногда глючит

Рекомендую связать ПИК и МЕГУ по SPI
algidim
Цитата(niXto @ Jul 1 2009, 17:34) *
Еррату почитайте

Это документированный глюк 8 и вроде 88 мег

Ещё у них сторожевой таймер иногда глючит

Рекомендую связать ПИК и МЕГУ по SPI

Чуш не советуйте человеку, всё там прекрасно работает. У меня была похожая задача правда вместо PICa at89c5131. На atmega 88/48 часы и ещё несколько задач. Связь с 51 по TWI – всё прекрасно работает. Даже и не знаю чем помочь, так как 1 раз на макетке сделал так оно сразу заработало. Уже не 1 сотня штук – полёт нормальный. Нет там ни каких проблем. Разбирайтесь…
IJAR
Попробуйте в Mege писать код стауса в массив, а по окончанию операции выбрасывайте его через
UART. Мне неоднократно это помогало выгрести баги из собственной программы.
Удачи.
Abrvalg
Спасибо за ответы, вроде дело сдвинулось, видимо нужно вводить задержки у PIC между старт и стоп посылками, так как если начать опрос с Меги, то она корректно отрабатывает старт условие. Разберусь до конца, тогда напишу в чем трабл был. smile3046.gif
esaulenka
Цитата(niXto @ Jul 1 2009, 17:34) *
Еррату почитайте
Это документированный глюк 8 и вроде 88 мег

Испугался и скачал свежий даташит.
В разделе "эррата" про I2C (пардон, TWI!) ни слова.

Уточните, пожалуйста!
singlskv
Цитата(Abrvalg @ Jul 3 2009, 10:59) *
Спасибо за ответы, вроде дело сдвинулось, видимо нужно вводить задержки у PIC между старт и стоп посылками, так как если начать опрос с Меги, то она корректно отрабатывает старт условие. Разберусь до конца, тогда напишу в чем трабл был. smile3046.gif
скорее всего Вы не корректно обрабатываете все состояния шины i2c,
или просто не "успеваете" за Вашим мастером который не поддерживает корректно "удержание шины"...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.