Код состояния (I2STAT) |
Текущее состояние шины IZC и аппаратной логики интерфейса |
Отлет пользовательского программного обеспечения |
|||||
Операции с I2DAT |
Операции с битами I2CONSET |
Следующее действие аппаратной логики интерфейса |
|||||
STA |
STO |
SI |
АА |
||||
58h |
Байт данных был принят; бит NOT АСК был передан в линию |
Прочитать байт данных |
1 |
0 |
0 |
X |
Условие повторный START будет передано в линию |
Прочитать байт данных |
0 |
i |
0 |
X |
Условие STOP будет передано в линию; флаг STO будет сброшен |
||
Прочитать байт данных |
1 |
1 |
0 |
X |
Условие STOP, сопровождаемое условием START будет передано в линию; флаг STO будет сброшен |
Формат обмена по шине 12С для режима ведущего приемника изображен на Рис. 12.4. На Рис. 12.5 показан формат обмена по шине 12С при переключении интерфейса 12С микроконтроллера из режима ведущего приемника в режим ведущего передатчика после генерации условия повторный START.
12.3.3. Режим ведомого приемника
В режиме ведомого (Slave) приемника микроконтроллер получает байты данных от ведущего (Master) передатчика. Переход в режим ведомого приемника осуществляется следующим образом: пользовательская программа инициализирует регистр адреса ведомого (I2ADR), записывая в него заданное значение адреса, а также инициализирует регистр установок управления I2C (I2CONSET), записывая в него значения, указанные в Табл. 12.4.
Таблица 12.4. Инициализация регистра I2CONSET для режима ведомого
Номер бита |
Название бита |
Значение бита |
0 |
- |
|
1 |
- |
|
2 |
ЛЛ |
1 |
3 |
SI |
0 |
4 |
STO |
0 |
5 |
STA |
0 |
б |
I2EN |
1 |
7 |
- |
- |
Бит I2EN (флаг разрешения) регистра I2CONSET должен быть установлен, чтобы разрешить работу интерфейса 12С в микроконтроллере. Установка в логическую 1 бита АА (флаг подтверждения) указывает интерфейсу 12С микроконтроллера, что он должен после получения из линии собственного адреса ведомого или адреса общего вызова выдавать в линию бит «подтверждение» (АСК). Биты (флаги) STA, STO и SI должны быть сброшены.
После инициализации регистров I2ADR и I2CONSET, интерфейс 12С ведомого ожидает обращения от внешнего (ведущего) устройства по его (ведомого) индивидуальному адресу ведомого или сетевому адресу общего вызова. Характер этого обращения (запись или чтение) идентифицируется ведомым по значению бита направления данных в поступившей от ведущего посылке. Если бит направления сброшен (НИЗКИЙ уровень соответствует режиму записи в линию), значит, ведущее устройство намерено передавать данные, а интерфейс 12С микроконтроллера переходит в режим ведомого приемника.
После получения адреса ведомого и бита направления данных, микроконтроллер в режиме ведомого приемника устанавливает бит SI и возвращает соответствующий код состояния в регистре состояния (I2STAT). Действия, которые должны быть предприняты пользовательским программным обеспечением в соответствии со значением этого кода состояния, перечислены в Табл. 12.5.
НА ГЛАВНУЮ | | ЧТО ТАКОЕ PIC ? | | ПРОГРАММАТОР | | ПРОЕКТЫ | | СТАТЬИ | | ССЫЛКИ | | КАРТА САЙТА |