Мужики, кто не прав я или автор книги "Шина I2C в радиотехнических конструкциях" ?
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено Саша100 01 июня 2004 г. 10:20

Дело было так. Решил в свободное время сваять приборчик на PCF8584.
С I2c давно не работал и немного подзабыл протокол. На филипс лень было лезть и переводить. У знакомого завалялась книжка уважаемого Б.Ю.
Семенова "Шина I2C в радиотехнических конструкциях".Стал писать программу ,руководствуясь "разжеванным" описанием протокола I2C.
Включаю прибор, а контроллер не видит подтверждение от PCF. Молчит SLAVe-PCF и точка. Программу стал перепроверять раз пять. На симуляторе прогнал столько же раз. Data Sheet PCF-ный перечитал столько же. Ну не видит проц PCF. Поставил под сомнение книгу Семенова.
Стал сравнивать I2C-BUS-specification от Филипс с Семеновским описанием.
Так вот Семенов на странице21 пишет, " В момент отрицательного перепада импульса 8 на линии SCL slave-абонент должен выставить на линию SDA нулевой уровень. Тем самым приемник подтверждает нормальный прием байта.Предатчик должен выставлять на линиюSDA единичное состояние. Передатчик должен проверить состояние линии SDA , затем выдать девятый стробирующий импульс, с которым slave-абонент выставит на линию SDA высокий уровень,проверить выполнение этой операции и лишь после продолжить передачу".
А филипс пишет совершенно другое : " The receiver must pull down the SDA line during the acknowledge clock pulse so that it remains stable LOW during the HIGH period of this clock pulse". Т.е slave- должен послать ack во время 9-го импульса sCL , а после спада 8-го импульса.
Когда я сделал по филипсу все заработало.
Но что самое интересное при связи МК с EEPROM 24LС64 , EEprom откликается сразу после формирования 8-го SCL.
Так прав ли Семенов?

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

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru