Abrvalg 0 30 июня, 2009 Опубликовано 30 июня, 2009 · Жалоба Здравствуйте, помогите разобраться, даташит на мегу уже до дыр прокурил. Есть девайс в котором PIC - master, ATmega8 - slave, помимо этого на шине висит DS1307 и EEPROM, проблема только с мегой. При включении TWI в меге, она ловит TWI_BUS_ERROR, ну и после обработки отключает TWI. На осцилле видно, что Мега не выдает АСК. Адрес правильный, бит TWEA в меге установлен. Мега работает от внутреннего генератора 8Мгц. Частота SCL - 200 кГц. Над кодом поэксперементировал, попробовал просто примеры из библиотек, та же картина. Аппаратно - стандартная схема, подтяжки по 5.1 кОм, сигнал чистый, 3 день не могу въехать где проблема. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
niXto 0 1 июля, 2009 Опубликовано 1 июля, 2009 · Жалоба Еррату почитайте Это документированный глюк 8 и вроде 88 мег Ещё у них сторожевой таймер иногда глючит Рекомендую связать ПИК и МЕГУ по SPI Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
algidim 0 1 июля, 2009 Опубликовано 1 июля, 2009 · Жалоба Еррату почитайте Это документированный глюк 8 и вроде 88 мег Ещё у них сторожевой таймер иногда глючит Рекомендую связать ПИК и МЕГУ по SPI Чуш не советуйте человеку, всё там прекрасно работает. У меня была похожая задача правда вместо PICa at89c5131. На atmega 88/48 часы и ещё несколько задач. Связь с 51 по TWI – всё прекрасно работает. Даже и не знаю чем помочь, так как 1 раз на макетке сделал так оно сразу заработало. Уже не 1 сотня штук – полёт нормальный. Нет там ни каких проблем. Разбирайтесь… Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
IJAR 0 2 июля, 2009 Опубликовано 2 июля, 2009 · Жалоба Попробуйте в Mege писать код стауса в массив, а по окончанию операции выбрасывайте его через UART. Мне неоднократно это помогало выгрести баги из собственной программы. Удачи. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Abrvalg 0 3 июля, 2009 Опубликовано 3 июля, 2009 · Жалоба Спасибо за ответы, вроде дело сдвинулось, видимо нужно вводить задержки у PIC между старт и стоп посылками, так как если начать опрос с Меги, то она корректно отрабатывает старт условие. Разберусь до конца, тогда напишу в чем трабл был. :smile3046: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
esaulenka 7 3 июля, 2009 Опубликовано 3 июля, 2009 · Жалоба Еррату почитайте Это документированный глюк 8 и вроде 88 мег Испугался и скачал свежий даташит. В разделе "эррата" про I2C (пардон, TWI!) ни слова. Уточните, пожалуйста! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
singlskv 0 3 июля, 2009 Опубликовано 3 июля, 2009 · Жалоба Спасибо за ответы, вроде дело сдвинулось, видимо нужно вводить задержки у PIC между старт и стоп посылками, так как если начать опрос с Меги, то она корректно отрабатывает старт условие. Разберусь до конца, тогда напишу в чем трабл был. :smile3046:скорее всего Вы не корректно обрабатываете все состояния шины i2c, или просто не "успеваете" за Вашим мастером который не поддерживает корректно "удержание шины"... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться