Курсовая работа: Работа периферийных устройств
порта UART
2313
4433
8515
8535
m163
m10З
RXD TXD
PD0 PD1
PD0 PD1
PD0 PD1
PD0 PD1
PD0 PD1
РЕО РЕ1
4. Последовательный порт ввода-вывода TWSI (I2C)
Порт TWSI входит в состав периферийных устройств микроконтроллера типа ml6
Через порт TWSI микроконтроллер подключается к двухпроводной шине IС.
Устройство может работать в качестве ведущего или ведомого. Статус микроконтроллера, подключенного к шине 1С, устанавливается программными средствами.
Линия SCL предназначена для передачи синхросигнала из веду цего Устройства в ведомое. Линия SDA совместно с линией SCL используется для передачи сигналов начала и конца обмена, адресных байтов и байтов данных и сигналов подтверждения приема байта. Линии SCL и SDA соединены с одноименными выводами подключенных устройств.
Кроме того, они через резисторы R1 и R2 подключены к шине VCC. При отсутствии обмена в линиях SCL и SDA устанавливается высокий уровень сигнала.
Ведущее устройство после перевода его в активное состояние дожидается освобождения шины от обмена между другими устройствами и формирует в шине посылку начала обмена {Start, ST), которая представлена переходом сигнала в линии SDA от высокого уровня к низкому уровню при высоком уровне сигнала в линии SCL.
После выдачи посылки ST в линии SCL устанавливается низкий уровень сигнала и далее формируется последовательность из девяти положительных импульсов. Установка требуемого значения бита в линии SDA производится при низком уровне сигнала в линии SCL. Передача байта начинается со старшего разряда.
Первым байтом, выдаваемом в шину ведущим устройством после выдачи посылки ST, является адресный байт. Старшие семь битов адресного байта представляют номер (адрес) ведомого устройства, с которым будет выполняться обмен, (А6,..., АО), а младший бит W/R определяет направление обмена. При W/R = 0 байты данных будут передаваться из ведущего устройства в ведомое, при W/R = 1 - в противоположном направлении. Ведомое устройство после получения восьмого бита устанавливает в линии SDA низкий уровень сигнала, что является подтверждением приема байта для ведущего устройства, (Acknowledge, ACK).
После адресного байта ведущее устройство передает (при W/R = 0) или принимает (при W/R =1) байты данных.
При передаче байта данных принимающее устройство после приема восьмого бита устанавливает в линии SDA низкий уровень сигнала (АСК), а передающее устройство при появлении девятого импульса опрашивает состояние линии SDA. Низкий уровень сигнала является подтверждением приема байта данных. При обнаружении высокого уровня подтверждения нет (No Acknowledge, NAC), что свидетельствует об отсутствии обмена или ошибке при передаче байта.
После успешной передачи байта данных возможны три варианта продолжения работы ведущего устройства:
1) передача следующего байта в том же направлении с участием того же ведомого устройства;
2) выбор другого ведомого устройства пли смена направления обмена или то и другое;
3) окончание обмена с освобождением линии.
В нервом случае ведущее устройство формирует последовательность из девяти импульсов и выполняется пересылка очередного байта данных. Во втором случае ведущее устройство формирует посылку ST и выдает новый адресный байт. В третьем случае ведущее устройство формирует посылку конца обмена (Stop, SP), которая представляется переходом сигнала в линии SDA от низкого уровня к высокому при высоком уровне сигнала в линии SCL.