Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
HCS12 с применением языка С - royallib.ru.doc
Скачиваний:
125
Добавлен:
11.03.2016
Размер:
2.28 Mб
Скачать

Регистр данных spCxDr

Формат регистра данных контроллера SPI приведен на рис. 4.75. Особенностью этого регистра является то, что он одновременно является регистром для размещения как передаваемых, так и принимаемых данных. Эта особенность обусловлена рассмотренным ранее принципом обмена по интерфейсу SPI. В процессе обмена регистр данных передающего контроллера (этот контроллер ведущий) и регистр данных принимающего контроллера (этот контроллер ведомый) объединяются в 16-разрядный кольцевой сдвиговый регистр. По прошествии восьми импульсов синхронизации SCK 8-разрядное слово из ведущего контроллера сдвигается в регистр данных ведомого контроллера. При этом 8-разрядное слово регистра данных ведомого перемещается в регистр данных ведущего. Таким образом, независимо от того, желает программист передать данные из ведущего в ведомый или принять данные из ведомого в ведущий, в любом из этих случаев оба устройства одновременно принимают и передают данные. Поэтому до сеанса обмена регистр данных ведущего контроллера содержит подготовленные к передаче данные, а после сеанса обмена этот же регистр содержит принятые данные.

Рис. 4.76. Формат регистра данных и альтернативные функции линий порта PORTS

Регистр данных порта s

Порт S может работать в режиме порта ввода/вывода общего назначения. Работа каждой линии в режиме ввода или в режиме вывода определяется соответствующим разрядом регистра направления передачи DDRS. Если линия порта PSx установлена на ввод, то чтение регистра данных порта PORTS возвращает в разряде PORTSx значение сигнала на соответствующем выводе МК. Если линия PSx установлена на вывод, то запись в разряд PORTSx регистра данных PORTS 1 или 0 устанавливает на выводе МК сигнал с логическим уровнем 1 или 0. Альтернативной функцией порта S является обслуживание контроллеров асинхронного SCI и синхронного SPI последовательного обмена.

Регистр направления передачи порта s

Если порт S работает в режиме порта ввода/вывода общего назначения, то биты регистра направления передачи DDRS определяют режим ввода или режим вывода для каждой линии порта S. Если разряд DDRSx установлен в 0, то линия PSx работает в режиме ввода. При DDRSx = 1 линия PSx работает в режиме вывода.

Рис. 4.77. Формат регистра направления передачи порта PORTS

Если активизированы контроллеры последовательных интерфейсов, то значения битов регистра DDRS определяют режим работы линий порта S по следующим правилам:

DDRS2, DDRS0.  Если контроллер SCI конфигурирован для работы в обычном двухпроводном режиме, то линии порта PS2 и PS0 будут выполнять функцию входов приемников двух модулей SCI независимо от значения битов DDR2 и DDR0.

DDRS3, DDRS1.  Если контроллер SCI конфигурирован для работы в обычном двухпроводном режиме, то линии порта PS3 и PS1 будут выполнять функцию выходов передатчиков двух модулей SCI независимо от значения битов DDR3 и DDR1.

DDRS6…DDRS4.  Если контроллер SPI активизирован и использует некоторые линии из PS6…PS4 для ввода данных, то эти линии будут работать в режиме ввода, независимо от значения соответствующих битов регистра DDRS. Если же по логике работы контроллера SPI некоторые линии из PS6…PS4 должны работать на вывод, то необходимо соответствующий бит регистра DDRS установить в 1.

DDRS7.  Если контроллер SPI активизирован и работает в режиме ведомого, то линия PS7 будет выполнять функцию входа для выбора ведомого

, независимо от значения разряда DDR7. Если же контроллер SPI работает в режиме ведущего, то значение бита DDR7 определяет направление передачи линии PS7, независимо от того, используется ли она контролером SPI, или работает как линия ввода/вывода общего назначения (см. таблицу рис. 4.73 и примечание к ней).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]