Бродин В. Б., Шагурин И. И. Микроконтроллеры (1999) (1095894), страница 28
Текст из файла (страница 28)
1.8.7, не реализуются. 5 4 3 2 0 АР МОРЕ ОО АР СНАХ БЕ1. Ззрезерзнроззно а) АР СОММАХР (адрес 02Н, запись в кадре О, чтение в кадре 15) 3 2 0 АР кЕБШТ Резерв АР МОРЕ БТ АР БТАТ АР СНАХ ХРМ 6) АР КЕЯР|Т (адрес 02Н, запись в кадре 15, чтение в кадре О) Рис.
1.61. Формат регистров АР СОММАХО, АР йЕЗЦ).Т Регистр АР СОММАХР (рис. 1.51а) доступен для записи в кадре О, для считывания в кадре 15. Поле АР СНАХ БЕ). в этом регистре указывает номер выбираемого входа АСНх, где х = 0..7 соответствует номеру вывода РО.х порта РО, на который поступает преобразуемый аналоговый сигнал. Бит ОО управляет запуском АЦП: при значении СО = 1 преобразование начинается сразу после загрузки команды в регистр АР СОММАХР, при СО 0 начало преобразования задается сигналом АР БТАКТ, поступающим из блока быстрого ввода-вывода в заданный момент времени (см. п.
1.8.6). Значение бита АР МОРЕ определяет разрядность преобразования: 8-разрядное при АР МОРЕ - 1 или 10-разрядное при АР МОРЕ = О. Значения битов АР Т!МЕ ЕХА и АР ГАБТ в регистре управления 1ОС2 (рис. 1.50в) устанавливают времена выборки и преобразования.
Если АР ' Т1МЕ ЕХА - 1, то эти времена задаются содержимым регистра АР Т1МЕ (см. рис. 1.386), как это описано в п. 1.8.7. Если АР Т1МЕ ЕХА - О, то времена определятотся значением бита АР ГАБТ. При АР ГАБТ - 0 устанавливается время выборки Тз = 15 тактов, время преобразования Тс - 158 тактов (медленный режим), при АР ГАБТ - 1 устанавливается Тз 8 тактов, 1З4 микРОЕОнтРОллеРы: АРхитектуРА ОРОГРАммиРОеАниа интен»еЯО Тс = 91 такт (быстрый режим). Эти режимы характерны для АЦП в более ранних моделях микроконтроллеров 8ХС196КВ, и таким образом обеспечивается совместимость последующих разработок с предыдущими.
Результат аналого-цифрового преобразования считывается из 16-разрядного регистра АР КЕБЫ (рис. 1.38 г) в кадре О. В старших 8 или 10 разрядах регистра (поле АР КЕЯП.Т) содержится число Х, определяющее величину потенциала на выбранном входе. Младшие четыре разряда (поле АР СНАХ Х(! М) указывают номер выбранного входа (соответствует полю АР СНАХ БЕЕ в регистре АР СОММАХР). Бит АР 8ТАТ принимает значение «1» спустя восемь тактов после начала преобразования; когда преобразование завершается, устанавливается АР 5ТАТ - О.
После окончания преобразования вырабатывается запрос прерывания, который может обслуживаться контроллером прерываний или периферийным сервером, С помощью этих устройств и блока БВВ можно обеспечить периодическое обслуживание АЦП (см. пп. 1.8.6, 1.8.7). 1.9.6. Таймеры Как и другие модели семейства, микроконтроллеры 8ХС196КС / КР содержат два 16-разрядных таймера. Таймер 1 работает как суммирующий счетчик, состояние которого меняется через каждые восемь рабочих тактов (восемь периодов внутренних синхросигналов). Текущее состояние счетчика хранится в регистре Т!МЕК1 (адрес ОАН) и может считываться в кадре О. Предварительная установка таймера 1 производится путем записи в этот регистр в кадре 15.
Сброс таймера 1 в исходное (нулевое) состояние не предусмотрен. Таймер 2 работает как реверсивный счетчик с внутренними или внешними сигналами переключения, текущее состояние которого хранится в регистре Т!МЕК 2 (адрес ОСН) н может записываться и считываться в кадре О. Направление счета задается значением бита Т2!)Р ЕХА в регистре управления !ОС2 (см.
рис. 1.50в): при Т2ПР ЕХА - 0 таймер функционирует как суммирующий счетчик, при Т2(ЗР ЕХА - 1 функционирование счетчика зависит от значения сигнала Т2() Р-РХ на выводе Р2 6 порта Р2. Если Т2 ПРРХ - О, то счетчик работает как суммирующий, если Т2!)Р-РХ - 1 — как вычитающий. Управление переключением таймера 2 осуществляет бит Т2 ЕХА в регистре ! ОСЗ (рис. 1.50г): при Т2 ЕХА - 0 переключение производится внутренними сигналами, при Т2 ЕХА - 1 — внешними сигналами.
Если используются внутренние сигналы, то значение бита РАЯТ Т2 ЕХА определяет частоту переключения: при РАЗТ Т2 ЕХА - 1 таймер переключается в каждом такте синхронизации (быстрый счет), при РАБТ Т2 ЕХА = 0 — в каждом восьмом такте (нормальный счет). Если переключение производится внешними МИКРОКОНТРОЛЛЕРЫ СЕМЕЙСТВА МСВ-ВВ 1З5 сигналами, то значение бита Т2С1.К БКС выбирает источник этих сигналов: при Т2СЕК БКС - 0 таймер переключается сигналами на входе Т2СЕК (вывод Р2.3 порта Р2), при Т2СЕК БКС - 1 — сигналами на входе НБ1.1. В данном случае при значении ГАБТ Т2 ЕХА - 1 производится быстрый счет (переключение в каждом периоде внешних сигналов), при ГАБТ Т2 ЕХА = 0— нормальный счет (переключение на каждые восемь периодов). Сброс таймера 2 в исходное (нулевое) состояние может производится программно или аппаратно, а также по команде блока ВВВ.
Программный сброс осуществляется путем загрузки в регистр управления 1ОСО (см. Рис. 1.50а) содержимого, в котором значение бита Б'тТЕ' Т2КБТ 1. Аппаратный сброс выполняется при поступлении положительного перепада потенциала на вход Т2КБТ (вывод Р2.4 порта Р2) или НБ1.0, причем высокий потенциал Ч1 на этом входе должен поддерживаться в течение не менее одного такта. Выбор входа определяется значением бита Т2КБТ БКС в регистре 1ОСО: при Т2КБТ БКС - 0 сброс производится сигналом на входе Т2КБТ, при Т2КБТ БКС-1— сигналом на входе НБ1.0. Сброс таймера по команде блока БВВ описывается в п.
1.8.6. В состав таймера 2 входит также регистр Т2 САРТ()КЕ (адрес ОСН, чтение-запись в кадре 15), в который заносится текущее содержимое регистра Т1МЕК 2 при поступлении на вывод Р2.7 порта Р2 положительного перепада потенциала. Высокий потенциал на этом выводе должен затем поддерживаться не менее двух тактов. При этом формируется запрос прерывания Т2САР который может обслуживаться КПР или ПСР (см.
п, 1.8.7). Таким образом, таймер 2 может работать в режиме захвата, фиксируя время поступления внешнего сигнала на вывод Р2.7. В микроконтроллерах 8ХС196КС, К1) формируются также запросы прерывания: ОЧКТМК1 при переполнении таймера 1, ОЧКТМК2 при переполнении таймера 2, ОЧКТМК при переполнении любого из них.
Биты Т(ОЧГ 1ХТ, Т2ОЧГ 1ХТ в регистре 10С1 определяют влияние таймеров 1, 2 на формирование запроса ОЧКТМК: если бит имеет значение «1», то переполнение соответствутощего таймера вызывает запрос ОЧКТМК, если значение «О», то не вызывает. Значение бита Т2АЕТ 1ХТ в регистре 1ОС2 (см.
рис. 1.50в) задает условия переполнения таймера 2 для формирования запроса ОЧКТМК2: при Т2А1.Т 1ХТ - 0 переполнением считается изменение состояния из ОГГГГН в 0000Н, при Т2А|Т 1ХТ - 0 — изменение из 7ГГГН в 8000 Н. Когда при переполнении таймеров формируются запросы прерывания ОЧКТМК1 или ОЧКТМК2, в регистре состояния 1081 (рис. 1.566) устанавливаются значения флагов Т1 ОЧГ или Т2 ОЧГ - 1. Процедуры обслуживания запросов прерывания описаны в пп. 1.8.7 и 1.8.6. МИКРОКОНТРОЛЛЕРЫ: АРХИТЕКТУРА, ПРОГРАММИРОЕАНИ ИНТЕРФЕЙС 1З6 1.9.6. Блок быстрого ввода-вывода (БВВ) Блок БВВ содержит молули быстрого ввода Н5! и вывода НЯО, которые обеспечивают обработку временных интервалов, то есть прием и выдачу сигналов в заданные моменты времени, ншо ня ~ нв 2 <нзои> ншз (нзо 5) Внутреииин шина Рис. 1.62. Структура модуля ввода НЗ! Модуль ввода Н$1 (рис.
1.52) принимает поступающие на входы Н513..0 сигналы о внешних событиях, регистрирует время их прихода и вырабатывает запросы прерывания. Выводы Н512, 3 могут также использоваться в качестве выходов НЯО4, 5 модуля НЯО. В состав модуля Н51 входят детектор событий, контролирующий состояние входов Н513..0, регистровое Г1ГО (кпервый пришел — первый вышели) с выходным регистролт ОНтк, блок управления и прерывания, регистры НЯ! МОРЕ (адрес ОЗН), НЯ1 ШТАТ (адрес 06Н), НЯ! Т1МЕ (адрес 04Н), которые записываются и считываются в кадрах 0 или 15 (см.
табл. 1.35). Г(ГО содержит семь строк Е6..0 по 20 бит. Двухбитные поля Н51х МОРЕ, где х = О, 1, 2 или 3 в регистре режима НЯ! МОРЕ (рис. 1.53 а) устанавливают для каждого из входов НЯ1х вид события, время которого фиксируется в одной из строк Г1ГО: Ф каждый положительный перепад потенциала: Н51х МОРЕ - 01; Ф каждый отрицательный перепад потенциала: НЯ1х МОРЕ - 1О; МИКРОКОНТРОЛЛЕРЫ СЕМЕЙСТВА МСВ-Вв 137 е каждый перепад потенциала (ноложительный или отрицательный); НБ1х МО1)Е = 11; + каждый восьмой положительный перепад: НБ1х МОПЕ - 00.
Виты НБ1х ЕХА, поступающие в блок управления из регистра 1ОСО (см. рис. !.50а), разрешатот при НБ1х Е)ь)А - 1 регистрацию событий на соответствующем входе НБ1х. Поступление первого события на один из разрешенных входов вызывает запись текущего содержимого регистра Т1МЕК 1 в регистр ОНК.
В регистре состояния ГОБ1 (рис. !.566) ~ри этом устанавливается значение бита НБ1 К?)У" 1, указывающее на готовность модуля НБ1 к выдаче информации о поступивших событиях. При каждом последующем событии соответствующее значение Т1МЕК ! будет заноситься в очередную строку Г!ГО, заполняя его. Одновременно с содержимым Т1МЕК 1 (временем события) в регистр ОНК и Г1ГО заносятся четыре бита НЯх ЕЧ, где х О, 1, 2 или 3, указывающие входы, на которые это событие поступило. Таким образом в Г!ГО и регистре ОНК может содержаться до восьми 20- битовых записей о внешних событиях.
Каждая запись состоит из 16-разрядного поля НБ1 Т1МЕ (время события) и 4-разрядного поля НБ1 ЕЧ (входы события). Так как содержимое Т1МЕВ. 1 меняется каждые восемь тактов, то модуль НЯ фиксирует в одной записи события, происходящие в течение данного промежутка времени на всех разрешенных входах НБ1х. Поле НЯ Т1МЕ из регистра ОНК копируется в 16-разрядном регистре НБ1 Т1 МЕ, а поле НБ1 ЕЧ вЂ” в четырех разрядах регистра НБ1 БТАТ (рис. 1.536). При считывании из НБ1 Т1МЕ в выходной регистр ОНК поступает из Г1ГО следутощая запись о событии, и все содержимое Г1ГО сдвигается, освобождая строку для новой записи.