Функциональное описание ВЕ51

Синхронизация микроконтроллера. Приборы семейства ВЕ51/8052 размещаются в стандартных 40-выводных корпусах (рис. 4.24), для их работы требуется единственный источник питания +5 В. Встроенный в схему генератор рассчитан на работу с кварцевым резонатором (диапазон частот 3,5—12 МГц), подключенным к выводам XTAL1 и XTAL2 (рис. 4.25). Возможно также использование внешнего ГТИ с подачей тактовых импульсов на вывод XTAL1.

Рис. 4.24. Условное графическое обозначение ВЕ51 Рис. 4.25. Схема включения ВЕ51

При делении частоты OSC на 2 получается основная внутренняя тактовая частота CLK. Первая половина периода CLK называется фазой Р1, вторая—фазой Р2. Каждый машинный цикл состоит из шести периодов CLK, называемых состояниями S1, S2, ..., S6 или 12 периодов OSC, называемых фазами S1P1, S1P2, S2P1, S2P2, ..., S6P1, S6P2. Каждый машинный цикл сопровождается генерацией двух стробов ALE длительностью в один период CLK, которые размещаются в фазах S1P2—S2P1 и S4P2—S5P1 соответственно. Период следования ALE (машинный полуцикл) равен 6 периодам OSC.

Командный цикл МК содержит несколько машинных циклов и отсчитывается от фазы S1P1. По фазе S1P2 в IR фиксируется код операции. Второй байт двухбайтовой команды читается в S4P2 того же машинного цикла, третий—в S1P2 следующего. Таким образом, для ввода каждого байта требуется один машинный полуцикл. Во время всех оставшихся полуциклов в фазах S1P2 и S4P2 читается код операции следующей размещенной в памяти команды. Однако байт в IR не вводится и PC не инкрементируется, что приводит к его игнорированию. Ввод повторяется до окончания текущего командного цикла, который всегда завершается в фазе S6P2. Вслед за этим начинается новый командный цикл с вводом в IR кода операции следующей по исполнению команды.

Другую временную последовательность исполнения имеет однобайтовая двухцикловая команда обращения к внешнему ОЗУ данных MOVX. Доступ к ОЗУ реализуется во втором машинном цикле, поэтому первый машинный цикл соответствует общей схеме, а во втором отсутствую пустые операции FETCH. Во время второго машинного цикла первый строб ALE отсутствует, так как доступ к внешнему ОЗУ требует всего машинного цикла.

Запись результата операции в порты Р0—Р3 реализуется в фазе S6Р2 последнего машинного цикла соответствующей команды, однако на выходе порта новое значение появляется только в следующей фазе S1P1. При записи в порты Р1—Р3 информации требующей перехода из 0 в 1, через выходную цепь в течение S1P1 и S1P2 пропускается импульс тока, амплитуда которого в 100 раз превышает номинальное значение. Это делается для повышения скорости переключения выходных сигналов. Порт Р0 такими свойствами не обладает.

Выходы портов Р1—Р3 обеспечивают управление четырьмя маломощными ТТЛ-входами (I0L = 1,6 мА). Нагрузочная способность пopтa Р0 I0L = 3,2 мА. Однако для его работы требуются внешние нагрузочные резисторы, за исключением случая работы в режиме AD.

Считывание данных, присутствующих на входе портов Р0, Р1, выполняется по фазе S5P1 последнего машинного цикла команды, а на входе портов Р2, Р3—по фазе S5P2.

Вход RST служит для приведения МК в исходное состояние Сигнал запроса воспринимается всякий раз, когда на входе RST удерживается напряжение высокого уровня более двух машинных циклов (24 периода OSC) при условии, что генератор запущен. В течение следующего машинного цикла формируется внутренний сигнал сброса, который повторяется до тех пор, пока вход RST активен. При внутреннем сбросе установка регистров МК осуществляется следующим образом:

PC 0000H Т2СОN(ВЕ52) 00Н
АСС 00Н ТH0 00Н
В 00Н TL0 00Н
PSW 00Н ТН1 00Н
SP 07H TL1 00Н
DPTR 0000H ТН2 00Н
Р0—Р3 0FFH TL2 00Н
IР(ВЕ51) XXX00000B РСАР2Н(ВЕ52) 00Н
IР(ВЕ52) XX000000B РСАР2L(ВЕ52) 00Н
IE(BЕ51) 0XX00000B SCON 00Н
IЕ(ВЕ52) 0X000000B SBUF XXH
TMOD 00Н РСОN(n-МОП) 0хххххххB
TCON 00Н PCON(KMOП) 0XXX0000B

Схема автоматического сброса МК при включении источника питания приведена на рис. 4.25. Указанные на схеме элементы RC-цепочки обеспечивают длительность импульса RST, достаточную для стабилизации генератора и последующего за ней сброса МК.

Микроконтроллеры семейства ВЕ51 осуществляют режим хранения записанных в их внутреннюю память данных при выключенном источнике питания +5 В. В данном режиме запасное напряжение питания поступает на вход RST, а ток потребления очень мал. При подаче напряжения +5 В запасной источник должен оставаться во включенном состоянии еще два машинных цикла, в течение которых выполняется общий сброс МК.

В КМОП-вариантах для перехода в режим с малым потреблением используются флажки PD и IDL в PCON. При установке флажка IDL работа генератора не прекращается и, следовательно, все внутренние ПУ продолжают работать. При установке флажка PD работа генератора прекращается. Выход из состояния IDL = 1 может быть осуществлен по прерыванию или с помощью общего сброса. Выход из режима останова с пониженной мощностью (PD = 1) может произойти только с помощью общего сброса.

В МК не предусмотрен вход пошаговой отладки, как это сделано в ВЕ48. С этой особенностью ВЕ51 связано усложнение отладочных средств для МС на его основе. Приходится либо разрабатывать специальные диагностические кристаллы, например 8051Е, либо проектировать сложные аппаратные средства, подставляющие в «прозрачном» для пользователя режиме специальные циклические программы. Однако существует еще одна возможность организации пошагового режима работы, которая может быть использована в простейших системах отладки. Для этого резервируется один из входов или , который программируется для работы в режиме статического входа. Простая программа обеспечивает тестирование, например входа , с последующим выходом из прерывания:

JNB Р3.2, $ ;Ждать пока = 0
JB P3.2, $ ;Ждать пока = 1
RETI   ;Возврат и выполнение одной команды

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

Интерфейс расширения. Как и в ВЕ48, внутренние ресурсы ВЕ51/8052 могут быть расширены внешними средствами. При этом память программ CSEG достигает 64К байт, а память данных увеличивается за счет ввода в действие внешней памяти XSEG, максимальная емкость которой тоже 64К байт. Внешняя часть CSEG и область XSEG могут быть объединены в одно физическое пространство. Расширение области ВВ выполняется за счет части пространства XSEG (совмещенный ВВ).

Для связи со средствами расширения МК имеет встроенную системную магистраль, которая физически частично совмещена с портами Р0, Р1 и Р3. В состав магистрали входят двунаправленная шина AD (порт Р0), шина старшей части адреса А (порт Р2), стробы фиксации адреса ALE, чтения памяти программ PSEN, записи WP (линия Р3.6) и чтения RD (линия Р3.7) внешней памяти данных XSEG.

По срезу ALE передаваемая через порт Р0 младшая часть адреса фиксируется во внешнем регистре (см. рис. 4.25). Старшая часть принимается из порта Р2. Стробы (I0L = 3,2 мА), и определяют тип доступа. При чтении CSEG (операция ) данные считываются по фронту строба (фаза S1P1 и S4P1) (рис. 4.26, а), при чтении XSEG (операция )—по фазе S3P1 (рис. 4.26, б), при записи в XSEG (операция ) данные действительны на всем стробе (рис. 4.26, в).

Рис. 4.26. Временные диаграммы обращения к внешней памяти: а—считывание CSEG; б—считывание XSEG; в—запись в XSEG Рис. 4.27. Работа таймеров/счетчиков СТ0, СТ1: а—в режиме 0 и 1; б—в режиме 2; в—в режиме 3 (только СТ0)

Цикл внешнего обращения к CSEG инициируется всякий раз при выходе адреса за пределы внутреннего ПЗУ, а также при = 0. Возможность отключения внутреннего ПЗУ используется в системах эмуляции МК и отладки МС на его основе. Цикл обращения к внешней памяти инициируется по команде MOVX.

В операциях обращения к внешней памяти участвуют порты Р0 (совмещенная магистраль AD), P2 (магистраль старшего адреса), а также линии Р3.6 (строб ) и Р3.7 (строб ) порта Р3. При работе порта Р0 в качестве линии AD содержимое связанного с ним выходного регистра теряется и принимает значение 0FFH. Содержимое выходного регистра порта P2 при работе в режиме адресной шины сохраняется и поступает на выводы порта в тех машинных циклах и полуциклах, когда нет обращения к внешней памяти.

Физическое совмещение пространств CSEG и XSEG выполняется объединением стробов и в один строб чтения.

Работа таймеров/счетчиков. Каждый из таймеров/счетчиков СТ0—СТ1 (СТ2) выполняет функцию таймера ( = 0) или счетчика ( = 1). Функция таймера состоит в счете синхроимпульсов, следующих с частотой OSC/12, функция счетчика—в счете числа переходов из 1 в 0 на выходах Т0, Т1 или Т2.

В этом режиме соответствующий вход тестируется в течение фазы S5P2 каждого машинного цикла. При обнаружении состояния 1 в одном цикле и состояния 0 в следующем за ним значение связанного с входом счетчика увеличивается на 1. В фазе S3P1 нового машинного цикла модифицированное значение отражается в регистровой паре. Так как процедура обнаружения перехода длится два машинных цикла, то максимальная скорость счета не должна превышать OSC/24. Существует единственное ограничение, накладываемое на временную последовательность входных импульсов, подлежащих счету: каждый уровень (1 или 0) должен удерживаться неизменных по крайней мере в течение одного машинного цикла. В рамках выбранной функции определены четыре режима работы для СТ0, СТ1 (М0, M1) и три для СТ2 ( , RCLK, TCLK).

Режим 0 таймеров/счетчиков СТ0, СТ1 подобен режиму работы СТ микроконтроллера ВЕ48 с предварительным делителем на 32 (рис. 4.27, а). В данном режиме счетный регистр имеет длину 13 бит (5 младших разрядов TLj и THj, j = 0—1), три старших разряда TLj игнорируются. Сигнал переполнения счетчика фиксируется флажком TFj. Счет разрешается при TRj = 1 и GATE = 0 либо TRj = 1 и = 1. Установка GATE = 1 дает возможность таймеру измерять ширину импульсов на входе . Установка флажка TRj не влияет на содержимое THj, TLj.

Режим 1 подобен режиму 0, за исключением того, что в нем используется полный 16-разрядный счетчик ТН, TL.

Режим 2 конфигурирует 8-разрядный счетчик TLj с автозагрузкой содержимым THj (рис. 4.27, б). Сигнал переполнения TLj не только устанавливает флажок TFj, но и перезагружает TLj содержимым THj.

Режим 3 для СТ0 и СТ1 осуществляется по-разному. В случае СТ0 два счетных регистра TL0 и ТН0 рассматриваются независимо друг от друга (рис. 4.27, в). Логика управления работой TL0 аналогична режиму 1. Второй счетчик работает в режиме таймера, управляемого флажком TR1. Сигнал переполнения фиксируется флажком TF1. В случае СТ1 режим 3 останавливает счет, подобно тому, как это было при TR1 = 0 в других режимах. Использование режима 3 позволяет увеличить число счетчиков МК ВЕ51 до трех, что может быть необходимо в некоторых практических случаях.

В МК 8052 имеется еще один 16-разрядный счетчик СТ2, который может работать в одном из трех основных режимов: захвата ( = 1), автозагрузки ( = 0) и генератора скорости (RCLK = 1 или TCLK = 1). В зависимости от состояния флага EXEN2 определены два варианта организации режима захвата (рис. 4.28, а). При EXEN2 = 0 сигнал переполнения СТ2 устанавливает флажок переполнения TF2. Дополнительно к этому при EXEN2 = 1 каждый переход из 1 в 0 на входе Т2ЕХ вызывает перезагрузку 16-разрядного регистра СТ2 значением, хранящимся в САР2, и установку флажка EXF2.

Рис. 4.28. Работа таймера/счетчика СТ2 в режимах захвата (а) и автозагрузки (б) Рис. 4.29. Форматы передачи данных: а—режим 0; б—режим 1; в—режим 2 и 3

В режиме автозагрузки (рис. 4.28, б) каждое переполнение СТ2 кроме установки флага TF2 вызывает перезагрузку СТ2 значением из САР2. Одновременно с этим при EXEN2 = 1 реализуется возможность перезагрузки СТ2 переходом из 1 в 0 на входе Т2ЕХ и установку флажка EXF2.

При RCLK = 1 или TCLK = 1 устройство работает в режиме генератора скорости приемника или передатчика последовательного канала связи.

Работа последовательного канала связи. Встроенный в ВЕ51 последовательный канал связи может быть запрограммирован для работы в одном из четырех режимов. В режиме 0 (рис. 4.29, а) данные принимаются или передаются последовательно через линию R´D со скоростью OSC/12 младшими битами вперед по 8 разрядов за операцию. Для синхронизации внешних средств используется линия Т´D. Передача инициируется всякий раз, когда новые данные записываются в SBUF. Признаком окончания передачи служит установка флажка TI. Операция ввода данных активизируется при разрешенном приеме (REN = 1) пo сбросу флажка RI. Установка флажка RI свидетельствует о готовности введенных данных для считывания из SBUF.

Выдаваемый на линию Т´D синхросигнал переходит в состояние 0 в фазе S3P1 второго машинного цикла, следующего за циклом исполнения команды записи данных в SBUF или команды сброса RI при REN = 1 (рис. 4.29, а). Затем он переключается через каждые шесть тактов, переходя в состояние 1 в фазе S6P1 и возвращаясь в состояние 0 в фазе S3P1 до тех пор, пока не будут переданы или приняты все 8 бит. Флажок RI или ТI в зависимости от выполняемой операции устанавливается после фронта восьмого синхроимпульса. Прием выходных данных внешними средствами следует осуществлять по фронту синхросигнала. Ввод данных от внешних средств выполняется перед очередным фронтом синхросигнала в фазе S5P2.

В отличие от режима 0 в трех оставшихся режимах реализуется асинхронный обмен данными, форматы которых приведены на рис. 4.29, б, в. Для повышения помехоустойчивости приема в режимах 1—3 каждый бит данных опрашивается трижды. Для этого период передачи бита данных делится на 16 интервалов. Опрос осуществляется в интервалах 7—9. Решение о состоянии бита данных принимается голосованием «два из трех».

До прихода стартового бита приемник проверяет вход R´D 16 раз за период. При обнаружении перехода из 1 в 0 на входе R´D приемник начинает счет периодов передачи данных. В интервалах 7—9 первого периода приемник проверяет правильность генерации стартового бита. Если стартовый бит не подтверждается, то переход принимается за помеху, в противном случае реализуется операция последовательного приема 8 или 9 бит данных, которые запоминаются в регистре SBUF и во флажке RB8 (режим 2 и 3) при приеме последующего стопового бита. Одновременно с этим устанавливается флажок готовности приемника RI, свидетельствующий о приеме очередного кадра.

Данные передаются на вход T´D после их записи в SBUF независимо от состояния TI. Передача стартового бита начинается в фазе S1P1 машинного цикла, следующего за первым сигналом переполнения счетчика, который используется в качестве генератора скорости. Таким образом, начало передачи данных оказывается синхронизированным по отношению к генератору скорости. Кадр завершается выдачей стопового бита. Перед началом передачи стопового бита устанавливается флажок TI, свидетельствующий об окончании передачи данных.

В режимах 1—3 кадр данных имеет форматы, представленные на рис. 4.29, б, в. Если данные D0—D7 доступны через SBUF, то разряд D8—через флажки ТВ8 и RB8 управляющего слова SCON. В режиме 2 скорость передачи в зависимости от значения флажка SMOD в регистре PCON может быть равной либо OSC/32 (SMOD = 1), либо OSC/64 (SMOD = 0). В режиме 1 и 3 скорость передачи определяется частотой переполнения СТ1 или СТ2 (RCLK = 1 или TCLK = 1). В случае SMOD = 1 скорость передачи 1/16 совпадает с частотой переполнения, а при SMOD = 0 скорость передачи в 2 раза меньше (1/32). Таким образом, манипулируя флажком SMOD, можно понизить скорость передачи в режимах 1—3 в 2 раза.

Флажки RI и TI способны осуществлять запрос на прерывание. В режимах 1—3 установка флажка SM2 разрешает установку флажка RI и генерацию запросов от него только при приеме кадра с D8 = 1. Для режима 1 это соответствует контролю кадра на стоповый бит. Для режима 2 и 3 такая организация работы обеспечивает разделение кадров на два класса в зависимости от состояния RB8. В противном случае принятые данные в SBUF не записываются и безвозвратно теряются.

Возможность реагировать только на кадры с RB8 = 1 учитывается при построении межмашинной магистральной сети, когда несколько подчиненных процессоров связаны через единую последовательную магистраль с главным процессором. Кадры с RB8 = 1 широковещательные, так как всегда воспринимаются всеми подчиненными процессорами. Они могут применяться для установления связи с одним из подчиненных узлов с последующим обменом информацией с помощью обычных кадров (RB8 = 0), которые игнорируются всеми процессорами, за исключением адресованного. Для вызова следующего процессора используется новый широковещательный кадр с новым адресом.

ГЛАВА 5.








Дата добавления: 2019-02-07; просмотров: 497;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.012 сек.