[an error occurred while processing this directive]
I2C LPC2148
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Argon 16 августа 2006 г. 07:12

столкнулся с проблемой взаимосвязи LPC2148 и i2c EEPROM и RTC.
Процедура чтения ячейки с произвольным адресом со стороны LPC:

1. старт
2. передать адрес slave с битом "запись"
3. передать адрес внутри устройства
4. снова старт
5. передать адрес slave с битом "чтение"
6. получить данные.

Проблема странного характера в том, что после п. 5 возникает состояние потеря шины 0x38 в LPC.
Причем это возникает примерно 1 раз в 500 чтений.

Изначально заметил это при редком ошибочном чтении времени с RTC.
Затем для тестирования зациклил чтение из одной ячейки EEPROM.
Прерывания и всю прочую периферию отключил.
i2c процедуры основаны не на прерываниях, а на опросе флагов.

Осциллом наблюдаются очень короткие пички на линии SDА в казалось бы произвольные моменты времени. Но иногда кажется, что у них есть период около 10 кГц. Нигде залипаний на печатной плате нет. Линии SDA и SCL идут только на 24LC64 и DS1307.
i2c контроллер настроен на 100 кГц.
Переключений портов на вход-выход и вообще работы с портами нет (кроме инициализации, конечно).

Может, Errata есть на эту тему? Сам пока не нашел...


Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа
Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 
URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание