Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: работа I2C в SAM7
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
NMI
я уже такой пост делал на сахаре, да что-то никто ничего не посоветовал, даже вроде как ни у кого такого не было.
в доке написано что I2C в SAM7 сделан чтоб читать всякий примитив типа EPROMов, но у меня он работает на связь с Mega128 в другом модуле, где-то 50 см кабеля между ними. не подумайте плохо, не я это придумал smile.gif)
SAM мастер, Mega - slave. Mega иногда не успевает за один битовый интервал убрать/положить байт, и делает "затяжку SCL", то есть держит эту линию в нуле. это как бы нормальное поведение для slave, но у SAMа от этого крышу рвёт и у него сбивается внутренний конечный автомат, в результате чего он начинает терять имульсы SCL и выдавать на линию неполные байты, иногда импульс SCL теряется полностью, а иногда некрасиво обрезается.
Atmel был сильно озадачен этим, я даже осциллограммы отправил им, хотя они нас любят и их инженер поддержки просто не вылазил от на с до этого случая.
В итоге пришлось сделать программную реализацию, таж и живём с тех пор.
Кто такое видел откликнитесь... wacko.gif
KRS
У нас похожая фигня в PowerPC MPC5200
в еррата написано что 9 клок не всегда выставляет на ACK
похоже как раз когда слейв задерживает линию, тоже пришлось программно решать.
okela
Цитата(NMI @ Sep 26 2005, 20:11)
Mega иногда не успевает за один битовый интервал убрать/положить байт, и делает "затяжку SCL", то есть держит эту линию в нуле. это как бы нормальное поведение для slave....wacko.gif
*


Мдя, а мне почему то думалось до сих пор , что сигналом SCL монопольно управляет Master, a Slave лишь принимает его... wacko.gif
NMI
когда на обоих концах линии стояло по Megе, всё работало отлично, и эатяжка синхронизации отлично работала... а вот перешли на SAM и получили...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.