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

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

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

контакт SPICLK и одновременно передавать данные на контакт SPIMOSI и
принимать данные с контакта SPIMISO. Контроллер заканчивает прием и
передачу, когда будут переданы все данные из буфера передачи или если при
передаче возникла ошибка, а затем сбрасывает биты готовности буфера
передачи R := 0 и бит пустого буфера приема Е := 0 и уведомляет
центральный процессор об окончании передачи маскируемым прерыванием.
Если данные для передачи занимают несколько буферов в памяти, то они
будут передаваться из нового буфера без задержек по окончании передачи из
текущего буфера без ожидания повторной установки бита STR. Если в текущем
буфере установлен бит последнего буфера кадра L = 1, то передача после
передачи этого буфера будет остановлена. И текущий буфер приема данных
будет закрыт, даже если он не заполнен.
7
6
5
4
3
2
О
STR
Зарезервировано
Рис. 5.61. Формат регистра команд SPICOM
533
КОММУНИКАЦИОННЫЕ МИКРОКОНТРОЛЛЕРЫ И СИСТЕМЫ НА ИХ ОСНОВЕ
При работе в режиме slave SPI-интерфейс принимает данные от SPI master-
станций и немедленно передает их обратно. Для начала передачи slave-
устройством центральный процессор должен подготовить данные в буферах
памяти, заполнить слово состояния буферного дескриптора и установить для
буферов TxBD бит готовности к передаче R := 1. Кроме этого, процессор
должен подготовить для обмена и буферы приема RxBD. Когда данные будут
подготовлены, процессору необходимо установить бит STR := 1 в регистре
SPICOM, чтобы SPI-интерфейс мог подготовиться к возможному обмену
данными. Обмен начнется, когда придет активный сигнал выбора SPISEL = 0 и
поступят тактовые сигналы на вход SPICLK. Данные будут передаваться на
контакт SPIMISO и приниматься с контакта SPIMOSI. Маскируемое прерывание
может быть выставлено при завершении работы с текущим буфером или если в
ходе обмена зарегистрирована ошибка. SPI-контроллер продолжает принимать
данные в буферы приема RxBD, пока все подготовленные буферы не будут
заполнены или не будет снят активный сигнал SPISEL.
Если сигнал SPISEL стал пассивным, но все данные из буфера передачи еще
не переданы, то передача все равно будет прервана, а текущий буфер TxBD
останется открытым. После прихода активного сигнала SPISEL и тактового
сигнала SPICLK передача будет продолжена с точки остановки. Если же все
данные переданы, а сигнал SPISEL остается активным, то контроллер будет
продолжать передачу единичных битов "1".
При работе интерфейса в режиме multimaster одноименные выводы SPIMOSI,
SPIMISO, SPICLK всех SPI-устройств соединяются вместе, а линии SPISEL
присоединяются к каждому устройству по отдельности. При таком соединении
в каждый момент времени только один SPI-контроллер может быть master-
станцией, а все остальные - только устройствами slave. Если SPI-
контроллер в текущий момент времени сконфигурирован как master-станция, и
приходит активный сигнал SPISEL = 0 от другого master-устройства, то
регистрируется ошибка совместной работы multimaster-станций,
устанавливается бит MIME в регистре событий и генерируется маскируемое
прерывание центрального процессора. Работа SPI-устройств останавливается,
и для повторного использования контроллеров пользователь должен сбросить
бит включения EN в регистре SPIMODE.
Контроллер доступа к шине USB. Основные сведения о USB-контроллере в
МРС823. USB-контроллер в МРС823 состоит из четырех основных блоков:
приемника, передатчика и двух автоматов для реализации протоколов обмена
(protocol state machines). Оба автомата предназначены для управления
работой блоков приемника и передатчика, один из них используется, когда
контроллер работает в режиме function, а другой - когда контроллер
работает в режиме host. Таким образом, USB-контроллер в МРС823 может
работать или в режиме function, или в режиме host, или в обоих режимах
сразу (это используется при loop-back диагностировании аппаратуры).
Для тактирования USB-контроллера в МРС823 должна быть использована
частота (USB reference clock), которая в четыре раза превышает тактовую
частоту передаваемых данных, т. е. при работе с шиной 12 Мбит/с тактовая
частота должна составлять 48 МГц, а при работе с шиной 1,5 Мбит/с - 6
МГц.
В режиме function контроллер автоматически выполняет обработку
контрольной суммы CRC16/CRC5, NRZI-кодирование/декодирование данных с
операцией вставки/удаления бит-стаффинга (bit stuffing). В подчиненном
режиме контроллер может работать со скоростями 12 или 1,5 Мбит/с и
обеспечивает автоматическую повторную передачу в случае возникновения
ошибок.
В режиме host контроллер автоматически выполняет обработку только
контрольной суммы CRC16, NRZI-кодирование/декодирование данных с
операцией вставки/удаления бит-стаффинга (bit stuffing). В режиме master
контроллер может работать только со скоростью 12 Мбит/с и обеспечивает
поддержку диагностического режима работы "внутренняя петля" (local
loopback). Таким образом, при функционировании МРС823 в режиме host-
Предыдущая << 1 .. 293 294 295 296 297 298 < 299 > 300 301 302 303 304 305 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

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

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed