Интерфейсы ПК

       

Протокол передачи данных PC


Рисунок 7.12.

Протокол передачи данных PC

Последовательный интерфейс УС обеспечивает двунаправ- ленную передачу данных между парой устройств, исполь- зуя два сигнала: данные SDA (Serial Data) и синхронизацию SCL (Serial Clock). В обмене участвуют два устройства - ве- дущее (Master) и ведомое (Slave). Каждое из них может вы- ступать в роли передатчика, помещающего на линию SDA информационные биты, или приемника. Протокол обмена иллюстрирует Рисунок 7.12. Синхронизацию задает ведущее ус- тройство - контроллер. Линия данных - двунаправленная с выходом типа "открытый коллектор" - управляется обоими устройствами поочередно. Частота обмена (не обязательно постоянная) ограничена сверху величиной 100 кГц для стан- дартного режима и 400 кГц для скоростного, что позволяет организовать программно-управляемую реализацию контрол- лера интерфейса.

Начало любой операции - условие Start - инициируется переводом сигнала SDA из высокого в низкий при высоком уровне SCL. Завершается операция переводом сигнала SDA

из низкого уровня в высокий при высоком уровне SCL - условие Stop. При передаче данных состояние линии SDA может изменяться только при низком уровне SCL, биты дан- ных стробируются положительным перепадом SCL Каждая посылка состоит из 8 бит данных, формируемых передатчи- ком (старший бит - MSB - передается первым), после чего передатчик на один такт освобождает линию данных для получения подтверждения. Приемник во время девятого так- та формирует нулевой бит подтверждения Ack.

После пере- дачи бита подтверждения приемник может задержать сле- дующую посылку, удерживая линию SCL на низком уровне. Приемник также может замедлить передачу по шине на уров- не приема каждого бита, удерживая SCL на низком уровне после его спада, сформированного передатчиком.

Каждое ведомое устройство имеет свой адрес, разрядность ко- торого по умолчанию составляет 7 бит. Адрес А[6:0]

передается ведущим устройством в битах [7:1] первого байта, бит 0 содер- жит признак операции Я1У(Я1/У=1 - чтение, RW=Q


-запись). 7- битный адрес содержит две части: старшие 4 бита А[6:3]

не- сут информацию о типе устройства (например, для EEPROM - 1010), а младшие 3 бита А[0:2] определяют номер устройства данного типа. Многие микросхемы с интерфей- сом PC имеют три адресных входа, коммутацией которых на логические уровни 1 и 0 задается требуемый адрес. Некото- рые значения полного адреса зарезервированы (табл. 7.4).

Общий вызов позволяет включившемуся устройству заявить о себе широковещательным способом. Байт Start

предназна- чен для привлечения внимания процессора к интерфейсу, если в устройстве он организован программным (не аппаратным) способом. До получения этого байта микроконтроллер уст- ройства не опрашивает состояние и не следит за сигналами интерфейса. При использовании 10-битной адресации биты [2:1] содержат старшую часть адреса, а младшие 8 бит будут переданы в следующем байте, если признак RW=0.



Адрес ведомого устройства и тип обращения задается кон- троллером при инициировании обмена. Обмен с памятью иллюстрирует Рисунок 7.13. Здесь SA[0:2] - адрес устройства, DA[0:7] - адрес данных, D[0:7] - данные, W - признак за- писи (0), R - признак чтения (1).

Биты [7:1] BKTO(RW) Назначение
0000 000 0 General call address - адрес общего вызова
0000 000 1 Start. - начало активного обмена
0000 001 X Адрес устройства шины CBUS (для сов- местимости)
0000 010 X Адрес для устройств иных шин
0000 011 X Зарезервировано
0000 1ХХ X Зарезервировано
1111 1ХХ X Зарезервировано
1111 ОХХ X Признак 10-битной адресации





Содержание раздела