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

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

Александров Е.К., Грушвицкий Р.И., Купрянов М.С., Мартынов О.Е. Микропроцессорные системы — Спб.: Политехника, 2002. — 935 c.
ISBN 5-7325-0516-4
Скачать (прямая ссылка): mikroprocessorniesistemi2002.djvu
Предыдущая << 1 .. 177 178 179 180 181 182 < 183 > 184 185 186 187 188 189 .. 528 >> Следующая

последнего бита в сдвиговом регистре приемника находится принятый байт
данных, который автоматически переносится в регистр RDBUF. Одновременно
устанавливается в "1" флаг завершения приема RI. Бит RI может быть считан
под управлением программы, а если прерывания от приемника разрешены, то
генерируется запрос на прерывание. В процессе выполнения подпрограммы
прерывания принятый байт данных считывается из регистра данных приемника
RDBUF в память МК. Сразу после копирования байта данных из сдвигового
регистра в RDBUF приемник может начать формирование следующего байта
данных, отдельные биты которого продолжают поступать на вход RxD. Однако
необходимо, чтобы центральный процессор МК успел считать данные из
буферного регистра RDBUF до завершения формирования в сдвиговом регистре
следующего принятого байта. Если этого не произошло, то возникшая
аварийная ситуация в модулях UART разрешается различными путями. В
модулях SCI фирмы "Motorola" запись следующего принятого байта в буферный
регистр данных не производится и устанавливается флаг ошибки OR
(Overrun). Этот флаг наравне с триггером RI может генерировать запрос на
прерывание от приемника. В модулях МК Intel MSC-51 и ему полностью
аналогичных такая защита отсутствует: следующий принятый байт затирает
предыдущий в регистре RDBUF.
Для повышения достоверности приема каждого разряда аппаратные средства
модуля UART считывают уровень сигнала на входе RxD три раза в течение
интервала присутствия бита. Значение бита, которое будет занесено в
младший разряд сдвигового регистра приемника, определяется мажоритарным
способом: по принципу два из трех. Модули SCI сообщают пользователю о
наличии шума на линии приема: если не все три значения при приеме любого
из битов кадра совпали, то устанавливается флаг NF (Noise Error). В
модулях UART МК Intel MSC-51 такая защита не предусмотрена.
Подсистемы приемника и передатчика модуля UART не являются полностью
автономными. Скорость обмена и формат кадра асинхронной приемопередачи
назначаются в процессе инициализации модуля одинаковыми для приемника и
для передатчика. Модули UART различных МК предоставляют неодинаковые
возможности по регулированию скорости обмена. В МК Intel MSC-51
допускается плавное регулирование с дискретностью, равной периоду частоты
тактирования таймера. Для задания скорости обмена используется один из
каналов модуля таймера. Напротив, модуль SCI МК Motorola не использует
ресурсы модуля таймера для этих целей. Такой подход, с одной стороны,
имеет преимущество по экономии использования ресурсов МК, однако, с
другой стороны, не позволяет задать произвольное соотношение между
частотой обмена и собственной частотой кварцевого резонатора генератора
синхронизации МК. Последнее накладывает ограничения на выбор частоты
кварцевого резонатора, если скорость обмена в разрабатываемом устройстве
должна соответствовать стандартному ряду.
Все модули типа UART предусматривают два типа кадров асинхронного обмена.
На рис. 4.20 представлена временная диаграмма 10-битового кадра: 8 бит
данных передаются вслед за стартовым битом, начиная с младшего D0,
завершает передачу стопо-
318
СТРУКТУРА СОВРЕМЕННЫХ 8-РАЗРЯДНЫХ МИКРОКОНТРОЛЛЕРОВ
Рис. 4.20. Формат 10-битового кадра обмена в асинхронном режиме
вый бит. Логические уровни для передачи стартового бита (низкий) и
стопового бита (высокий) формируются аппаратными средствами передатчика.
Приемник распознает начало передачи нового кадра по изменению уровня
сигнала на входе RxD с высокого, который может длиться сколь угодно
долго, на низкий. Передаваемая в кадре полезная информация длиною в один
байт может кодироваться абсолютно произвольно. Но может быть использовано
и стандартное решение, при котором информация кодируется семью битами D6
- D0, старший бит D7 используется для контроля правильности приема. С
этой целью передающий МК кодирует бит паритета D7 из условия четного
(контроль на четность) или нечетного (контроль на нечетность) числа
единиц в передаваемом слове, а принимающий МК производит проверку
принятого кода в соответствии с выбранным способом кодирования. Если
число единиц в байте данных соответствует выбранному способу кодирования,
т. е. четное (нечетное), то передача считается успешной.
Следует заметить, что не все модули UART 8-разрядных МК имеют опции
автоматического формирования бита паритета и не контролируют принятое
слово на четность или нечетность аппаратными средствами. Поэтому при
необходимости эти операции должны быть реализованы программными
средствами. Рассмотренный 10-битовый формат кадра наиболее часто
используется при организации связи встраиваемой МП системы с системой
управления верхнего уровня.
Временная диаграмма 11-битового кадра асинхронного обмена представлена на
рис. 4.21: 9 бит данных обрамляются одним стартовым и одним стоповым
битом. При формировании 9-разрядного слова для передачи сначала старший
разряд D8 помещается в бит Т8 одного из регистров управления модулем, а
Предыдущая << 1 .. 177 178 179 180 181 182 < 183 > 184 185 186 187 188 189 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

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

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed