Код состояния (I2STAT)
Текущее состояние шины
12С и аппаратной логики интерфейса
Ответ пользовательского программного обеспечения
Операции с I2DAT
Операции с битами I2CONSET
STA STO SI АА
Следующее действие аппаратной логики интерфейса
AOh
Во время работы 12С в режиме ведомого приемника или ведомого передатчика, было получено условие STOP или условие повторный START
Нет операций с I2DAT
О
Переключение в режим, в котором предварительная адресация ведомого отсутствует; индивидуальный сетевой адрес ведомого или адрес общего вызова не будут распознаваться
AOh
Во время работы 12С в режиме ведомого приемника или ведомого передатчика, было получено условие STOP или условие повторный START
Нет операций с I2DAT
Переключение в режим, в котором предварительная адресация ведомого отсутствует; индивидуальный адрес ведомого будет распознаваться; адрес общего вызова будет распознаваться, если I2ADR[0] = 1
Нет операций с I2DAT
Переключение в режим, в котором предварительная адресация ведомого отсутствует; индивидуальный сетевой адрес ведомого или адрес общего вызова не будут распознаваться; условие START будет передано в линию, когда шина освободится
Нет операций с I2DAT
Переключение в режим, в котором предварительная адресация ведомого отсутствует; индивидуальный адрес ведомого будет распознаваться; адрес общего вызова будет распознаваться, если I2ADR[0] = 1; условие START будет передано в линию, когда шина освободится
Формат обмена по шине 12С для режима ведомого приемника показан на Рис. 12.6.
12.3.4. Режим ведомого передатчика
В режиме ведомого передатчика первый байт принимается от ведущего и обрабатывается аналогично режиму ведомого приемника, за исключением того, что установленный бит направления данных (ВЫСОКИЙ уровень соответствует чтению данных из линии) сигнализирует о намерении ведущего принимать данные от ведомого. По линии SDA в последовательном виде ведомый передает ведущему данные, в то время как по линии SCL от ведущего к ведомому поступает последовательность синхроимпульсов. Условия START и STOP распознаются ведомым, как начало и конец последовательной передачи.
Как и в режиме ведомого приемника, в режиме ведомого передатчика аппаратные средства интерфейса 12С производят сравнение принятого от ведущего адреса ведомого со своим индивидуальным адресом ведомого и адресом общего вызова. Если хотя бы один их этих адресов совпадает с полученным от ведущего, то генерируется прерывание микроконтроллера по этому событию.
В Табл. 12.6 перечислены коды состояний, возвращаемых микроконтроллером в регистре состояния (12STAT) для режима ведомого передатчика, и действия, которые должны быть предприняты программой пользователя в соответствии со значением этого кода.
Таблица 12.6. Коды состояния для режима 12С ведомого передатчика
Код состояния (I2STAT) |
Текущее состояние шины 12С и аппаратной логики интерфейса |
Ответ пользовательского программного обеспечения |
Следующее действие аппаратной логики интерфейса |
||||
Операции с I2DAT |
Операции с битами I2CONSET |
||||||
STA |
STO |
SI |
АА |
||||
A8h |
Индивидуальный сетевой адрес ведомого +R был получен из линии; бит АСК был возвращен (передан в линию) |
Загрузить байт данных |
X |
0 |
0 |
0 |
Последний байт данных будет передан в линию; бит АСК будет принят из линии |
Загрузить байт данных |
X |
0 |
0 |
1 |
Байт данных будет передан и бит АСК будет принят из линии |
||
BOh |
Арбитраж был потерян во время прохождения адреса ведомого +R/W от ведущего; индивидуальный адрес ведомого +R был получен; бит АСК был возвращен |
Загрузить байт данных |
X |
0 |
0 |
0 |
Последний байт данных будет передан в линию; бит АСК будет принят из линии |
Загрузить байт данных |
X |
0 |
0 |
1 |
Байт данных будет передан и бит АСК будет принят из линии |
||
B8h |
Байт данных из регистра I2DAT был передан в линию; бит АСК был принят из линии |
Загру-_ зить байт данных |
X |
0 |
0 |
0 |
Последний байт данных будет передан в линию; бит АСК будет принят из линии |
Загрузить байт данных |
X |
0 |
0 |
1 |
Байт данных будет передан и бит АСК будет принят из линии |
Таблица 12.6. Коды состояния для режима 12С ведомого передатчика (продолжение)
НА ГЛАВНУЮ | | ЧТО ТАКОЕ PIC ? | | ПРОГРАММАТОР | | ПРОЕКТЫ | | СТАТЬИ | | ССЫЛКИ | | КАРТА САЙТА |