Бродин В. Б., Шагурин И. И. Микроконтроллеры (1999) (1095894), страница 13
Текст из файла (страница 13)
Подробнее этн функции описаны ниже. Если данный вывод запрограммирован для параллельного обмена, то сответствующий разряд регистра Р! В1К задает направление передачи информации (табл. 1.15). Если установлено значение «О» данного разряда, то на вывод Рц будет выдаваться значение !-го разряда регистра данных Рт КЕО. При этом транзисторы Тп, Тр работают как двухфазный выходной каскад, обеспечивая быструю установку «О» или «1» на выходе микроконтроллера.
При установке «1» в соответствующем разряде Рт В1К транзистор Тр запирается, а транзистор Тп запирается или отпирается в зависимости от значения что разряда регистра МИЮОКОНТРОЛЛЕ»М СЕМЕЙСТВА МСВ-96 59 Твбп. 1.16. Режимы непользования выводов 1-го по1ттв Р! КЕС. В этом случае возможен как ввод, так и вывод информации. При выводе информации транзистор Тп работает с «открытым стоком» вЂ” ОС (транзистор Тр закрыт), поэтому для установки «1» (высокого потенциала) на выходе требуется подключение резистора между соответствующим выводом и шиной питания Чп. Если соединить выходы нескольких устройств, имеющих выходные каскады с «открытым стоком», то осуществляется поразрядное логическое сложение (операция ИЛИ) выводимых данных: (Р!1) ОК (Р!) ).
При вводе информации поступающее значение (Рц) логически умножается (операция И) на соответствующий разряд регистра Р! КЕС, и полученное значение заносится в регистр Р1 Р1Х; (Рц) АХВ (Р! КЕС)) - (Р! Р1Х)!. Таким образом, при вводе содержимое регистра Р! КЕС маскирует разряды поступающих на входы Р! данных. Для реализации немаскируемого ввода необходимо предварительно ввести в регистр Р! КЕС число ОГРН, то есть установить значение «1» во всех разрядах этого регистра.
Для повышения помехозащищен ности ввод данных в регистр Р! Р1Х производится через схему с гистерезисом на передаточной характеристике (триггер Шмитта, ТШ). На входе ТШ вклточена также цепь защиты от электростатического пробоя. Регистры портов Р1, 2, 3, 4 имеют адреса, расположенные на странице ООН памяти в диапазоне 1ГВОН..1РВРН (см. табл. 1.2). Для обращения к ним используется косвенно-регистровая или индексная (прямая) адресация. С помощью кадрирования (см. раздел 1.2, табл. 1 4) можно обеспечить доступ к этим регистрам с помощью регистровой адресации. Структура 4-разрядного порта ЕРОКТ также содержит четыре регистра ЕР МОВЕ, ЕР ШК, ЕР КЕС, ЕР Р1Х, которые функционируют аналогично соответствутощим регистрам портов Р1. 4.
При работе микроконтроллера в режиме 64 К этот порт реализует все расмотренные выше варианты параллельного ввода-вывода. При работе в режиме 1М выводы этого порта используются для вывода четырех старших разрядов адреса (номер страницы памяти). Адреса регистров порта ЕРОКТ занимают старшие позиции ца странице ООН памяти (1ГЕОН, 1РЕ2Н, 1ГЕ4Н, 1РЕ6Н, см.
табл. 1.2). МИКРОКОНТРОЛЛЕРЫ АРХИТЕКТУРА ПРОГРАММИРОВАНИЕ, ИНТЕ»Фейс 60 Однако они не могут кадрироваться в младший файл (см. раздел 1.2), поэтому доступны только с помощью косвенно-регистровой или индексной (прямой) адресации. Выходные каскады портов Р1, Р2, РЗ и ЕРОВ обеспечивают значения уровня «0» (низкий потенциал) 1)л ь 0,45 В, уровня «1» (высокий потенциал) 11, е 'тгп - 0,7 В при величине тока нагрузки 1н до ЗмА. Порт Р4 имеет более мощные выходные каскады, которые обеспечивают потенциал ПВ < 0,45 В при токах нагрузки 1н до 10 мА.
Отметим, что к выводам портов подключены также схемы сброса, осуществляющие быструто установку необходимых значений выходных потенциалов П«или 1), при поступлении внешних сигналов сброса ВЕЗЕТ№. Последовательный ввод-вывод осуществляется с помощью блока последовательного обмена (БПО), реализующего синхронный или асинхронный протоколы передачи. Структура БПО показана на рис. 1.15. Рис. 1.16. Структура блока последовательного обмен (БПО) В состав БПО входят пять адресуемых регистров: четыре 8-разрядных— ЯВ()Р ЕХ (адрес 1РВ8Н), 5В()Р ТХ (адрес 1РВАН), 5Р СО)т( (адрес 1РВВН), ЯР 5ТАТ(адрес 1РВОН), и один 16-разрядный — 5Р ВА()1) (адрес 1РВСН). Эти регистры размещены в адресном пространстве периферийных РСН на странице ООН (табл. 1.5) и могут перемещаться с помощью кадрирования в окно младшего регистрового файла (см, раздел 1.2). Буферные регистры ЯВПР ТХ, 5В1)Р ЕХ служат для промежуточного хранения одного байта МИКРОКОНТРОЛЛЕРЫ СЕМЕЙСТВА МСВ.ВЕ информации, вводимой в микроконтроллер с внешнего вывода КХР через сдвиговый регистр РПМ или выводимой из микроконтроллера через сдвиговый регистр РПД на внешний вывод ТХР.
Перед началом последовательного обмена в регистр управления ЯР СОХ загружается управляющее слово, определяющее режим работы БПО. Формат содержимого ЯРСОХ показан на рис. 1.16. 7 б 5 2 1 Резерв РАК ТВ 8 КЕХ РЕХ БЕК МОРЕ а) ЯР СОХ (адрес 1ЕВВН) 2 ! О 4 3 КРЕ/КВ 8 К! Т! ГЕ ТХЕ ОЕ резерв б) 3Р 3ТАТ (адрес !ЕВОН) Рис. 1.16. Формат регистров ЗР СОМ и ЗР ЗТАТ Два младших разряда (поле БЕК МОВЕ) определяют режим последователь- ного обмена: 00 — режим О, синхронный обмен; 01 — режим 1, асинхронный обмен; 10 — режим 2, асинхронный обмен; 11 — режим 3, асинхронный обмен. Бит разрешения контроля четности РЕХ используется в асинхронных режимах 1 и 3, в режиме 2 должно быть установлено значение РЕХ О.
Установка значения РЕХ = 1 в режиме 1 обеспечивает ввод-вывод семи битов данных Р6..0 и контрольного бита четности Р7 (рис. 1.17б), значение которого определяется битом типа контроля РАК в регистре ЯР СОХ. При РАК = 0 значение Р7 - 1 при четном числе «1» в битах данных, Р7 - 0 при нечетном числе «1». При РАК - 1 значение Р7 = 1 при нечетном числе «1» в битах данных, и Р7 - 0 при четном числе. Если установлено РЕХ - О, то производится последовательный ввод-вывод восьми битов данных Р7..0 без контроля четности (рис.
1.176). В режиме 3 установка РЕХ - 1 обеспечивает контроль четности (при РАК - 0) или нечетности (при РАК = 1) для восьми битов данных Р7..0. При атом контрольный бит передается в виде девятого бита РВ (рллс. 1.17в). МИКРОКОНТРОЛЛЕРЫ: АРХИТЕКГУРА ПРОГРАММИРОВАНИЕ, ИНТЕРФЕЙС 62 Бит разрешения приема КЕХ разрешает при значении КЕХ 1 последовательный ввод информации в асинхронных режимах 1, 2, 3 после поступления старт-бита (перепад из «1» в «О») на вход КХО.
В режиме 0 установка КЕХ - 1 вызывает начало последовательного приема, а КЕХ = 0 — начало последовательной передачи. Если установка КЕХ 1 производится в процессе приема, то прием прекращается. Бит ТВ8 в регистре 8Р СОХ содержит значение девятого бита )38, который передается в асинхронных режимах 2 или 3. После каждой передачи этот бит сбрасывается в «0», поэтому его требуется установить снова перед следующей загрузкой регистра ЯВПР ТХ. Если в режиме 3 установлено РЕХ- 1, то в качестве ()8 передается бит четности. -' -~Г 1Г..~ Г"~Г 1Г ~Г 1Г ~Г ах0 (вм вод) 00 0! 02 03 04 05 06 07 ах0 (ввод) 00 О! 02 03 04 05 06 07 а) режим 0 ах б) режим 1 в) режим 2 или 3 Рис.
1.17. Циклограмма последовательного обмене в синхронном (а) и асинхронных (б,в) режимах Бит типа контроля РАК определяет условие формирования контрольного бита: при РАК - 0 контрольный бит равен «1» при четном числе «1» в битах данных, при РАК = 1 контрольный бит равен «1» при нечетном числе «1», Два последних бита в регистре ЗР СОХ зарезервированы: в них должны быть записаны «0». ми«»охонт»олл«»ы се«ейстм мсз.я« ез В регистре состояния 8Р 8ТАТ (рис. 1.16) два младших разряда зарезервированы (в них должны быть записаны «О»). Бит ошибки переполнения ОЕ принимает значение ОЕ - 1, если производится ввод следующего байта данных из РПМ в буферный регистр ЯВ()Р КХ до того, как произошло считывание предыдушего содержимого ЗВ()Р КХ. Бит заполнения передатчика ТХЕ равен «1», если буферный регистр ЯВОР ТХ свободен для приема следуюшего байта.
Значение ТХЕ 0 устанавливается после передачи данных из ЯВПГ ТХ в РПД для последовательного вывода, значение ТХЕ 1— после записи очередного байта в регистр ЯВ() Р ТХ. Бит ошибки кадра РЕ- 1, если при асинхронном приеме после информационных битов (данные, контрольный бит) не поступил стоп-бит (значение «1» на входе ТХО в течение не менее одного такта синхросигналов).
Бит прерывания для передачи Т1 - 1 устанавливается во время выдачи на выход ТХП стоп-бита, бит прерывания для приема К1 - 1 — после приема последнего информационного бита. Эти биты служат запросами на выполнение подпрограмм вывода следующего байта или ввода принятого байта и обслуживаются в соответствии с их уровнем приоритета с помошью КПР или ПСР (см. раздел 1.3) Функции старшего бита в ЯР ШТАТ зависят от значения бита РЕг1 в регистре ЗР СОИ.
Если разрешен контроль четности (РЕг) 1), то в этом разряде устанавливается значение КРЕ - 1 в случае обнаружения при приеме ошибки четности (количество «1» в принятых данных не соответствует значению полученного контрольного бита). Если контроль четности запрешен (РЕ)ч О), то в этот разряд заносится значение полученного в режимах 2 или 3 девятого бита данных П8. Отметим, что после считывания содержимого регистра ЯР 8ТАТ в нем уста- навливаются значения ОЕ - РЕ - Т1 - К1 " КРЕ / КВ8 - О.
При синхронном режиме 0 (рис. 1.17а) обмен информацией производится через вывод КХП, а вывод ТХО используется для выдачи синхросигналов передачи. Для последовательного авода информации необходимо установить значение бита КЕХ - 1 в регистре ЗР СОг1, для вывода информации— значение КЕг) О. Ввод и вывод каждого бита производится при положительном фронте синхросигнала на выводе ТХП. Если установлено значение КЕг1 - О, то последовательный вывод данных начинается сразу после их загрузки в регистр Я В()Р ТХ.
После передачи последнего бита Э7 в регистре 8Р ЗТАТ устанавливается значение признака Т1 - 1, который служит в качестве одного из запросов на прерывание (раздел 1.4). Если установлено значение КЕг1 1, то последовательный прием битов данных происходит после установки признака К1 0 (загрузки регистра ЯВ()Р КХ) при каждом положительном фронте синхросигнала на ТХ1). При работе БПО в режиме 0 контроль четности передаваемой информации не производится. 64 МИКРОКОНТРОЛЛЕРЫ АРКИТЕКТРРА, ПРОГРАММИРОВАНИЕ, ИНТЕРФЕЙС При асинхронных режимах 1, 2, 3 вывод ТХР используется для приема, а вывод КХ1) — для передачи информации, обеспечивая дуплексный последовательный обмен.
Каждый кадр передаваемых данных содержит один стартбит, один стоп-бит и восемь или девять информационных битов (рис. 1.176, в). Начало передачи кадра определяется поступлением положительного перепада. Установившийся при этом низкий потенциал (старт-бит) поддерживается в течение одного периода синхросигналов передачи. Следующие затем информационные биты и стоп-бит имеют такую же длительность.
В асинхронном режиме запись байта в регистр ЯВОР ТХ вызывает начало последовательной передачи через вывод ТХ1). Поступившие в регистр БВ() Р ТХ новые данные будут передаваться только после вывода стоп-бита предыдущего кадра. Если разрешен прием данных (установлено значение КЕХ 1 в регистре ЗР СОХ), то отрицательный фронт сигнала на выводе КХР (поступление старт-бита) вызывает начало последовательного ввода данных. В режиме 1 передаваемый кадр данных содержит десять бит: (рис.