ВУЗ:
Составители:
78
го, аппаратно скопируется в бит I2CTX регистра I2CCON, что дает возмож-
ность целевой программе определить алгоритм ее дальнейших действий. В слу-
чае, если I2CTX окажется установлен, т. е. «ведущий» ожидает передачи ему
данных, «ведомому» следует произвести передачу путем программной записи
подлежащего передаче байта в регистр I2CDAT. Если I2CTX окажется сбро-
шен, т. е. «ведущий» продолжает передачу, то переданный им байт данных сно-
ва окажется в регистре I2CDAT. После окончания приема опять будет сгенери-
ровано прерывание от модуля I2C – установится бит I2CI регистра I2CCON.
Аппаратная логика «ведомого» будет удерживать линию SCLOCK в низком
уровне до тех пор, пока программой не будет очищен бит I2CI. Таким образом
осуществляется «растягивание синхронизации», которое обеспечивает запрет пе-
редачи «ведущему» устройству до наступления готовности «ведомого» к приему.
Аппаратные средства интерфейса I
2
C не предоставляют возможности раз-
личить прерывание по приему условия «START» с адресом «ведомого» и пре-
рывания по приему байта данных. Такая возможность должна быть реализована
программно путем слежения за последовательностью процедуры обмена. Бит
флага прерывания I2CI устанавливается всякий раз, когда принят или передан
полный байт данных с последующим битом подтверждения ACK. Если байт за-
вершается битом неподтверждения NACK, прерывание генерироваться не бу-
дет. При распознавании на шине условии «STOP» логика интерфейса I
2
C сбра-
сывается в первоначальное состояние ожидания выдачи условия «START».
Аппаратное построение модуля I2C накладывает на его работу в режиме
«аппаратный ведомый» следующие функциональные ограничения:
– «ведомый» микроконвертер не распознает адрес общего вызова для
всех устройств на шине («ceneral call address») – 0000000;
– «ведомый» микроконвертор не может обрабатывать условие «повтор-
ный START», использование которого допускается стандартом I
2
C;
– «ведомый» микроконвертер не поддерживает режим 10-битной адресации.
1.14. Порты ввода-вывода
В этой и последующих двух главах дается краткое описание ряда перифе-
рийных программно доступных узлов МК. Вся эта периферия по функциональ-
ному назначению и способам управления является полностью совместимой с
микроконтроллерами семейства 8051.
МК использует для обмена данными с внешними устройствами четыре
параллельных порта ввода-вывода, имеющие стандартные номера с 0 по 3.
В дополнение к общим функциям ввода-вывода некоторые порты могут работать с
внешней памятью данных и программ, а отдельные линии других портов имеют аль-
тернативные функции обслуживания внутренней периферии устройства. В общем
случае, когда альтернативная функция данной конкретной линии порта МК разре-
шена, эту линию нельзя использовать как линию ввода-вывода общего назначения.
Порт 0 является 8-битным двунаправленным портом ввода-вывода,
Страницы
- « первая
- ‹ предыдущая
- …
- 76
- 77
- 78
- 79
- 80
- …
- следующая ›
- последняя »