Научная литература
booksshare.net -> Добавить материал -> Физика -> Александров Е.К. -> "Микропроцессорные системы" -> 298

Микропроцессорные системы - Александров Е.К.

Александров Е.К., Грушвицкий Р.И., Купрянов М.С., Мартынов О.Е. Микропроцессорные системы — Спб.: Политехника, 2002. — 935 c.
ISBN 5-7325-0516-4
Скачать (прямая ссылка): mikroprocessorniesistemi2002.djvu
Предыдущая << 1 .. 292 293 294 295 296 297 < 298 > 299 300 301 302 303 304 .. 528 >> Следующая

все регистры интерфейса находятся в исходном состоянии. Включение SPI-
интерфейса в работу производится записью "1" в бит EN регистра SPIMODE,
как показано на рис. 5.59. После установки этого бита изменять значения
других битов в регистре режима пользователю запрещено.
Порт может работать или в нормальном режиме (если бит LOOP = 0) или в
тестовом петлевом режиме (бит LOOP = 1). В петлевом режиме приемник и
передатчик работают нормально, но выходы передатчика внутренне соединены
со входом приемника, а данные на входных контактах приемника
игнорируются.
Назначение выводов SPIMOSI и SPIMISO может меняться в зависимости от
режима работы контроллера (табл. 5.37). Это сделано для упрощения
объединения контроллеров в режиме multimaster.
Таблица S.37
Режимы использования контактов
Контакт Назначение выводов
Режим-master Режим slave
SPIMISO SPIMOSI Вход (прием) Выход (передача) Выход (передача) Вход
(прием)
При помощи сигнала SPISEL master-станция активизирует работу slave-
станции. Когда контроллер работает в режиме multimaster, вход SPISEL
используется для обнаружения ошибки, когда несколько master-станций хотят
работать одновременно. При этом, если контроллер работает как master-
станция и обнаруживает на своем входе активный сигнал выбора slave-
станции SPISEL от другого устройства master, то регистрируется ошибка.
Когда контроллер работает с несколькими slave-устройствами, следует
использовать выводы параллельных портов ввода/вывода для формирования
сигналов выбора slave-устройств.
Для инвертирования полярности тактового сигнала для SPI-порта
используется бит CI. Если бит CI = 0, то данные выставляются на линию TXD
по положительному перепаду тактового сигнала, а считываются с линии RXD -
по отрицательному (рис. 5.60). Когда SPI-порт не передает данные,
пассивное состояние линии тактового сигнала равно 0. Если же бит CI = 1,
то данные передаются по отрицательному перепаду тактового сигнала, а
считываются по положительному. Когда SPI-порт не передает данные,
пассивное состояние линии тактового сигнала равно 1.
SPICLK (СМ) SPICLK (CI-1)
SPITXD (output)
Logic rtgh
SPITXD (output)
SPIRXD (input)
Logic High
7 6 5 4 Э 2 1 0
i LSB
7 6 5 4 Э 2 1 0
Рис. 5.60. Временные диаграммы работы SPI-интерфейса в различных режимах
532
ОРГАНИЗАЦИЯ КОММУНИКАЦИОННЫХ ПРОЦЕССОРНЫХ МОДУЛЕЙ в кмк
Бит СР определяет рабочую фазу тактового сигнала при передаче данных.
Если бит СР = 0, то тактовый сигнал выставляется на линию SPICLK только в
середине битового интервала передачи первого бита данных. Если бит СР =
1, то тактовый сигнал выставляется в начале битового интервала передачи
первого бита данных.
Пользователь может управлять работой SPI-интерфейса при помощи команд
INIT ТХ PARAMETERS, CLOSE RX BD и INIT RX PARAMETERS.
Прием и передача данных. В контроллере МРС860 параметры SPI-контроллера
хранятся на 2-й странице памяти параметров (parameter RAM) со смещением +
0x1 D80 от начала двухпортовой памяти. Структура и состав памяти
параметров SPI-контроллера совпадают со структурой таблицы протокол-
независимых параметров (см. табл. 5.30). Отличие заключается только в
том, что отсутствуют две последние ячейки таблицы со смещениями SPI
base+28 и SPI base+2C.
Данные для SPI-канала хранятся в буферах памяти, которые организованы в
таблицу TxBD (передачи) и RxBD (приема). Принцип организации таблицы
аналогичен таблицам буферов для SCC-каналов ввода/вывода. Стартовый адрес
таблиц в памяти контроллера хранится в ячейках RBASE и TBASE памяти
параметров SPI-контроллера. Число буферов в таблице пользователь может
ограничить, установив бит W := 1 в слове состояния последнего
необходимого буферного дескриптора. Значения, хранящиеся в ячейках RBASE
и TBASE, должны быть кратны 8.
Буферы данных могут быть расположены или во внешней памяти или во
внутренней двухпортовой памяти, например, в области параметров
неиспользуемых SCC-каналов.
При подготовке обмена данными центральный процессор готовит данные для
передачи в буферах памяти, заполняет соответствующие буферные дескрипторы
и устанавливает в их слове состояния бит готовности к передаче R := 1, а
также заранее подготавливает буферы для приема данных.
Для начала передачи данных необходимо установить бит STR в регистре
команд SPICOM (рис. 5.61). Остальные биты регистра SPICOM должны быть
сброшены в "0". Если SPI-интерфейс работает в режиме master, то при
установке бита STR := 1 контроллер начинает передавать и принимать
данные. Данные начнут передаваться только тогда, когда они будут
загружены по SDMA-каналам в буфер FIFO передатчика. Когда контроллер
работает в режиме slave, то передача начнется только после прихода
сигнала выбора SPISEL и внешнего тактового сигнала. Бит STR сбрасывается
в "0" автоматически через один период системной тактовой частоты после
начала передачи.
Размер буферов FIFO для приема и передачи ограничен двумя символами.
Master-станция начинает выдавать тактовые импульсы для каждого символа на
Предыдущая << 1 .. 292 293 294 295 296 297 < 298 > 299 300 301 302 303 304 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed