Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Пользователю -> Евстифеев А.В. -> "Микроконтроллеры семейства" -> 68

Микроконтроллеры семейства - Евстифеев А.В.

Евстифеев А.В. Микроконтроллеры семейства — Infineon, 2007. — 318 c.
Скачать (прямая ссылка): microkontrolleri2007.pdf
Предыдущая << 1 .. 62 63 64 65 66 67 < 68 > 69 70 71 72 73 74 .. 100 >> Следующая



Рисунок 1O-3

Формат данных в асинхронном 8-битном режиме

9-разрядный формат данных включает в себя либо 9 битов данных D8...D0 (S0M=100), либо 8 битов данных D7...D0 и автоматически генерируемый бит контроля четности (S0M=111), либо 8 битов данных D7...D0 и бит пробуждения (S0M=101). Контроль четности может быть как за четным так и за нечетным количеством.

В режиме пробуждения, получаемые данные передаются в буфер получения только в том случае, если 9-ый бит (бит пробуждения) содержит «1», в ином случае флаг запроса на прерывание по получению данных не устанавливается, и таким образом не происходит передача данных.

Данный режим может использоваться в многопроцессорных системах:

Когда ведущий микроконтроллер хочет передать блок данных, то первым делом посылается байт адреса, определяющий подчиненный микроконтроллер. Байт адреса отличается от байта данных, тем что дополнительный 9-ый бит для адреса устанавливается в «1», а для данных устанавливается в «0». Поэтому при передаче данных не прерывается работа ни одного из подчиненных микроконтроллеров, работающих в режиме 8-разрядных данных + бит пробуждения. При передаче байта адреса будет прервана работа всех микроконтроллеров, после этого каждый из подчиненных микроконтроллеров проверит значение 8-разрядного адреса. Тот микроконтроллер, для которого предназначается передача, переключится

10-5 Infineon

Jeehrrolo

МЭИ, Центр Промышленной Электроники Фирмы Infineon

Последовательный интерфейс/С167

в 9-битный режим данных (путем очистки бита SOM.O). Подчиненный микроконтроллер после этого получит байт данных, а все остальные останутся в режиме 8 бит данных + бит пробуждения, и таким образом проигнорируют все полученные данные.


Start Bit DO (LSB) D1 D2 D3 D4 D5 D6 D7 9th Bit (1st) Stop Bit 2nd Stop Bit


? ¦ Data Bit DS

'-¦ Parity

• Wake-up Bit

Рисунок 10-4

Формат данных в асинхронном 8-разрядном режиме

Асинхронная передача начинается при переполнении divide-by-16 счетчика (выше на рисунке), при этом устанавливается в «1» бит SOR. После этого данные загружаются в SOTBUF. Формат передаваемых данных содержит следующие элементы:

• Стартовый бит

• Поле данных (8 или 9 бит, а также первый LSB, включая, в случае необходимости, бит контроля четности)

• Ограничитель (1 или 2 стоповых бита)

Передача данных имеет двойную буферизацию. Когда передатчик находятся в незанятом режиме, передаваемые данные, загруженные в SOTBUF, немедленно передаются в промежуточный регистр, таким образом освобождая SOTBUF для следующих передаваемых данных. Этот процесс проявляет себя путем установки флага запроса на прерывание SOTBIR по передаче данных в буфер. После этого одновременно с передачей данных может производится загрузка следующих данных в буфер SOTBUF.

Флаг запроса на прерывание по завершению передачи данных (SOTIR) устанавливается, перед тем как будет передан последний бит пакета, иными словами перед первым или вторым стоповым битом из промежуточного регистра будут стерты данные.

Необходимо настроить вывод передачи данных TXDO/P3.1O на вывод значения альтернативной функции, т.е. P3.1O = 1 и DP3.1O = 1.

1O-6 МЭИ, Центр Промышленной Электроники Фирмы Infineon

Последовательный интерфейс/С167

Асинхронная передача данных начинается при поступлении отрицательного фронта на вход RXDO, при условии, что SOR = 1 и SOREN =1. Измерение значения на входе получения данных RXDO производятся 16 раз за один такт генератора baudrate. Значения битов определяются на 7-ом - 9-ом измерении значения на входе. Такая схема позволяет добиваться безошибочных результатов.

При обнаружении нуля в стартовом бите, схема получения данных сбрасывает все значения и ожидает следующего отрицательного фронта на входе RXDO. При правильном значении стартового бита, схема получения данных продолжает свою работу и записывает данные в промежуточный регистр получения.

После получения последнего стопового бита, содержимое промежуточного регистра передается в буфер данных SORBUF. Параллельно с 9-ым измерением в последнем стоповом бите вне зависимости от правильности значения последнего стопового бита устанавливается флаг запроса на прерывание по получению данных SORIR. После этого схема получения данных переходит в режим ожидания следующего стартового бита (отрицательного фронта).

Необходимо настроить вход получения данных на ввод DP3.11=O.

Асинхронный прием данных прекращается после очистки значения бита SOREN. В случае необходимости после этого завершается текущий прием данных, включая генерацию флага запроса на прерывание и запроса на прерывание по ошибке.

Примечание: В режиме пробуждения получаемые данные передаются только в буфер получения, если бит пробуждения установлен в «1». Если в этом бите содержится «O», дальнейшие действия не производятся.

1O-7 МЭИ, Центр Промышленной Электроники Фирмы Infineon

Последовательный интерфейс/С167

10.2 Работа в синхронном режиме

При работе в синхронном режиме поддерживается полудуплексная связь, основанная на одном входе при помощи регистров перемещения. Данные передаются и получаются через вывод RXD0/P3.11, при этом тактовый сигнал выводится через TXD0/P3.10. Для работы в синхронном режиме необходимо установить 000 в битовом поле S0M.
Предыдущая << 1 .. 62 63 64 65 66 67 < 68 > 69 70 71 72 73 74 .. 100 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100