Бродин В. Б., Шагурин И. И. Микроконтроллеры (1999) (1095894), страница 25
Текст из файла (страница 25)
1. 34). Если установлена защита ПЗУ от записи или считывания, то производится сравнение ранее записанного в П3 У кода защиты с 16-байтным кодом, вводимым от программатора по адресам 2020Н..202РН. При совпадении кодов разрешается программирование или контрольное чтение остальных ячеек ПЗУ, в противном случае эти процедуры не выполняются. При программировании через последовательный порт микроконтроллер подклточается по последовательному каналу к персональному компьютеру. Для передачи информации используется универсальный последовательный порт, работающий в асинхронном режиме 1 (см.
раздел 1.5). Вывод Р2.0 порта Р2 используется в качестве выхода передатчика ТХП, вывод Р2.1 — в качестве входа приемника КХП. Эти выводы соединяются с персональным компьютером через интерфейсную схему преобразователя сигналов в соответствии со стандартом К5-232. Для реализации данного режима программирования необходимо подать на входы порта РО код РМОГ)Е - 0000 и подключить напряжение Чп р - 12,5 В к выводам Чпр и ЕА№ микроконтроллера. Программирование производится под управлением программы-монитора К1ЯМ, записанного во внутреннее тест-ПЗУ при изготовлении микроконтроллера. Ввод адресов и данных из персонального компьютера выполняется с помощью специальных команд монитора. Для этого рекомендуется испольэовать специальную обслуживающую программу 1ВЗР 196, распространяемуто компанией 1псе).
Тактовая частота микроконтроллера при последовательном программировании должна находиться в диапазоне Рс - 3,5..16 МГц. При частоте Рг - 16 МГц скорость обмена составляет 9600 Вод, время программирования 16-разрядного слова — 11,5 мс. С помощью команд монитора можно изменить режим и мяееоконтеояееем семействе мое.ее 121 ско1юсть обмена, загружая соответствующее содержимое в регистры БР СОХ, БР ВАШ), а также вводя код РРЪУ, определяющий длительность импульсов программирования, по адресу 221СН, 221РН. Режим программирования через последовательный порт позволяет также выполнить следующие процедуры: + просмотр содержимого внутреннего ПЗУ, а также всех регистров; еь выполнение фрагмента программы, записанной в ПЗУ, с контролем промежуточных результатов; + загрузка внутреннего ОЗУ, просмотр и изменение его содержимого, выполнение и отладка записанных в ОЗУ программ, Эти процедуры выполняются при подключении напряжения Чпр - 5 В.
При подключении напряжения Нпр - 12,5 В можно осуществить перезапись фрагмента записанной в ОЗУ и отлаженной программы во внутреннее ПЗУ. Следует отметить, что при программировании через последовательный порт проверка кода защиты не выполняется. Если байт конфигурации устанавливает защиту внутреннего ПЗУ от записи или считывания, то микроконтроллер не может функционировать в данном режиме. Он входит в бесконечный программный цикл, выход из которого осуществляется только переводом в начальное состояние. Режим контрольного чтения обычно используется для верификации содержимого внутреннего ПЗУ. Данный режим реализуется, если выполнить описанную в начале п.
1.7.9 процедуру установки начального состояния и подключения напряжений Уп, Упр при подаче на входы порта РО кода РМОРЕ - 0110. В этом случае микроконтроллер производит запись содержимого ПЗУ во внешнюю память, причем для выдачи разрядов А14, А15 адреса вместо выводов Р4.6, Р4.7 порта Р4 используются выводы Р1.1, Р1.2 порта Р1. Содержимое ячеек ПЗУ с адресами ОР2000Н..ОР9РРРН заносится во внешнюю память по адресам 4000Н..ОВРГРН. Если байт конфигурации устанавливает защиту внутренней памяти, то перед контрольным чтением производится ввод ключевого кода, который должен быть записан в ячейках внешней памяти с адресами ОЕ020Н..ОЕ02РН.
При совпадении ключевого кода и кода защиты выполняется контрольное чтение содержимого ПЗУ, при несовпадении микроконтроллер входит в бесконечный внутренний цикл, для выхода из которого необходимо провести начальную установку. Если в регистре 11ЯРК установлено значение бита РЕ0 - 1, то контрольное чтение не производится. Оперативное программирование может производиться непосредственно в ходе выполнения микроконтроллером пользовательской программы. Предварительно необходимо обеспечить доступ к внутреннему ПЗУ, для чего следует при начальной установке микроконтроллера подать высокий потенциал МИКРОКОНТРОЛЛЕРЫ: АРХИТЕКТУРА ПРОГРАММИРОВАНИЕ ИНТЕРФЕЙС 122 Ч, - 4..5 В на вывод ЕА№.
Для программирования ячейки ПЗУ в этом режиме достаточно выполнить пересылку необходимого числа по ее адресу с помощью команды 5ТВ (или ЯТ при программировании пары ячеек). При этом необходимо подать напряжение Чпр - 12,5 В на время программирования, которое для записи одного байта (или пары байтов) составляет пять циклов по 100 мкс каждый. В течение данного периода после команды пересылки необходимо запретить обращение к ПЗУ, чтобы не прерывать программирование данной ячейки (или пары ячеек). Поэтому следует на это время перевести микроконтроллер в холостой режим или обеспечить выборку и выполнение команд только из внешней памяти.
Это условие реализуется с помощью специальной подпрограммы с использованием внутреннего таймера. Отметим, что данный режим, как и программирование через последовательный порт, не реализуется, если байт конфигурации предусматривает защиту ПЗУ. В этом случае при попытке записи в ПЗУ микроконтроллер попадает в бесконечный цикл, выход из которого возможен только путем сброса в начальное состояние. 1.8.11. Функционирование сторожввого таймара (СТТ) и контроль частоты тактовых импульсов Сторожевой таймер осуществляет сброс микроконтроллера в начальное состояние при остановке выполнения программы более, чем на 65536 тактов. Контроль производится путем введения в программу двух последовательно выполняемых команд загрузки в ! 6-разрядный счетчик-таймер ЪЧАТСНПОС (адрес ОАН) чисел 1ЕН и ОЕ1Н.
Эти команды (Е1)В ОАН, №1ЕН и ).РВ ОАН, №ОЕ1Н) сбрасывают счетчик в нулевое состояние, после чего он начинает счет синхросигналов, поступающих с частотой Ес. При переполнении счетчика происходит сброс микроконтроллера в начальное состояние, и на выводе КЕБЕТ устанавливается низкий потенциал, который поддерживается в течение 16 тактов. Нормально функционирующая программа должна производить сброс счетчика не реже, чем один раз за 65536 тактов.
Отсутствие сброса указывает на остановку выполнения программы (кзависание» системы). Управление запуском сторожевого таймера осушесталяется с помощью бита ЧтГПЕ в байте конфигурации ССК1. При значении ЪЧПЕ - 0 таймер начинает счет синхросигналов сразу после загрузки байта ССК1. При ттГ1)Е 1 таймер начинает счет только после первой процудуры его очистки с помощью команд загрузки в счетчик Ч~АТСН(РОС чисел 1ЕН, ОЕ1Н. После запуска таймера он продолжает функционировать и при работе микроконтроллера в режиме холостого хода. В этом случае переполнение таймера вызывает сброс микроконтроллера в начальное состояние и последующий переход в нормальный рабочий режим. МИКРОКОНТРОЛЛЕРЫ СЕМЕЙСТВА МСВ-90 1гЗ Схема контроля частоты тактовых сигналов работает, если в регистре (16г Ге (см.
рис. 1А7) установлено значение бита Ог 12 - 1. При этом производится сброс микроконтроллера в начальное состояние, если частота следования тактовых сигналов Гг становится менее 100 кГц. Микроконтроллеры 8ХС196КС, КП являются более младшими моделями семейства МСБ-96, чем рассмотренные выше модели 8ХС1961чР )хШ, )х(Т. Их основное отличие состоит в том, что модели 8ХС196КС, КГ2 обеспечива7от адресацию внешней памяти объемом только до 64 Кбайт. Эти микроконтроллеры реализутот такие же способы адресации и набор команд, как 8ХС196Р(Р, 1х((), )х(Т, за исключением команд с расширенной адресацией Е?Л), ЕЬРВ, ЕЯТ, ЕБТВ, ЕВМОЧ1, ЕВК, ЕСА1.1, ЕЗМР (см. раздел 1.3).
Коды остальных команд, а также времена их выполнения (см. Приложение 2) для всех указанных моделей полностью совпадают, что обеспечивает программную совместимость младших моделей со старшими. Микроконтроллеры работают при напряжении питания 5 В. Максимальная тактовая частота для различных моделей составляет 16 или 20 МГц. Чы, Ро, АО!Х.» ггн Р0.7..0, вводы АЦП выводы ШНМ дымны ЧПП, ШНМ, н ввхввт ыном м»мхов Х нрвоыввннв ськоот 1.9.
Структура и функционирование микроконтроллеров ВХС196КС, К0 Рис.1.49. Структура микроконтроллеров 8ХС196КС, КС Сягнвлы Рнрввлоняд обмоном вхч ко» тчк» Пчкь»> внв» Пчкн»7 АТЛ 'хАОч»7 !Мзт КВАОЧ РЗ, АО7,.0 МИКРОКОНТРОЛЛЕРЫ. АРХИТЕКТУРА ПРОГРЯММИРОЕАНИЕ. ИНТЕРФЕЙС 1.9.1.
Структура микроконтроллвров ВХС196КС, КО Центральные процессоры этих микроконтроллеров аналогичны процессорам ранее рассмотренных моделей (см. рис, 1.2), отличаясь от них только отсутствием дополнительного программного счетчика ЕРС. Процессор содержит регистр состояния, в котором хранится слово состояния программы РЗЖ (см. рис. 1.3). Формат и функциональное назначение разрядов Р8% описаны в разделе 1.1. Модель 8ХС196КО имеет одинаковые со старшими моделями объем и организацию регистрового блока, состоящего из младшего (256 байт) и старшего (768 байт) регистровых файлов с возможностью кадрирования регистров старшего файла в окно младшего файла с помощью регистра ЖБК (см.
раздел 1.2). Модель 8ХС196КС имеет объем регистрового блока 512 байт, поэтому ее старший регистровый файл содержит 256 байт. Микроконтроллеры 8ХС196К1) имеют внутреннее ПЗУ объемом 32 Кбайт, программируемое при изготовлении (модель 83С196К)у) или электрически программируемое (модель 87С196КР).
Для моделей 83С196КС, 87С196КС объем внутреннего ПЗУ составляет 16 Кбайт. Обмен данными с внешними устройствами осуществляется через пять 8-разрядных параллельных портов РО..Р4 и универсальный последовательный порт (УПП). Большинство выводов портов имеет альтернативное функциональное назначение, которое определяется режимом работы различных блоков микроконтроллера.