[an error occurred while processing this directive]
Знатокам I2C
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
миниатюрный аудио-видеорекордер mAVR

Отправлено DenKop 12 июля 2002 г. 21:34

Столкнулся с использованием шины I2C и возникла
необходимость разбираться с принципом её работы.
Вот что я понял из найденного материала по предачи
данных по шине:
1) Передаётся условие Старт
2) На шину предаётся адрес устройства с которым требуется
установить связь
3) Принимается сигнал ACK, показывающий, что искомое
устройство готово к работе
4) Если ACK получен, слуге передаётся субадрес действия
которое должно выполнить Slave устройство
5) Слуга посылает Master устройству сигнал ACK,
подтверждающий готовность слуги к приёму данных
7) Переадача данных
8) Слуга посылает сигнал ACK о готовности выполнения
пунктов 2)-7)
6) Далее действия повторяются столько раз сколько
это требует Master устройство ( а от Master уст-ва
требует юзер)
7) После завершения предаётся Стоп условие, заканчивающее
цикл работы с адресованным устройством (2).

Каждое изменение (или неизменение, если требуется
передать 11 или 00) должно предварительно инициалировано
положительным импульсом на линии SCL. Т.е передача
каждого следующего бита продолжается после положительного
импульса на линии SCL.

Это то, что я понял из прочитанной доки. Теперь просьба,
если я, что-то не правлиьно сказал, поправьте меня
пожалуйста.

И ещё я не нашёл, что должно быть на линиях SCL и SDA в
режиме простоя шины (лог. 1 или лог. 0).
Кому передаётся условие Старт. Ведь адрес устройства с
которым устанавливается связь предаётся после передачи
условия Старт.

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

Ответы



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

E-mail: info@telesys.ru