КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
УПРАВЛЕНИЕ РАБОТОЙ МИКРОКОНТРОЛЛЕРА ⇐ ПредыдущаяСтр 7 из 7
Устройство управления МК совместно с логической схемой в каждом цикле команды формирует последовательность сигналов, управляющих функциями всех блоков МК и системой их взаимосвязи. Рассмотрение работы МК и особенностей реализации тех или иных процедур удобно выполнить путем анализа работы отдельных блоков МК в различных режимах его работы. Синхронизация микроконтроллера. Опорную частоту синхронизации определяет или кварцевый осциллятор, подключаемый к входам ХI и Х2, или ЕС-цепь; ХI является входом, а Х2 — выходом генератора, способного работать в диапазоне частот от 1 до б МГц. На вход -ХI может подаваться сигнал от источника внешней синхронизации. Схема синхронизации МК показана на рис. 4.7, а. В нее входят два счетчика с модулями пересчета З и 5. Первый используется для формирования сигнала системной синхронизации, который может передаваться на вывод ТО послё команды Е СЕК. Этот же сигнал поступает на счетчик машинных циклов, на выходе которого через каждые пять сигналов синхронизации МК формируется сигнал САВП, идентифицирующий каждый машинный цикл и используемый в расширенных МК-системах для стробирования адреса внешней памяти. Временные диаграммы машинного цикла и цикла команды МИ показаны на рис. 4.7, 6. Системный сброс. В обслуживаемых МК-системах для инициализации используется кнопка сброса, которая зазёмляет соответствующий вход после подачи электропитания. В необслуживаемых МК-системах на вход СБРОС подсоединяется конденсатор емкостью 1 мкФ, что обеспечивает подачу сигнала, близкого к потенциалу земли, длительностью не менее 50 мс, после того, как напряжение электропитания установится после включения (рис. 4.8, а). Сигнал СБРОС производит следующие действия: сбрасывает счетчик команд и указатель стека, устанавливает Рис. 4.7. Схема синхронизации МК (а), временные диаграммы машинного цикла и цикла команды (б) Порт BUS в высокоимпедансное состояние, а порты Р1 и P2 – на режим ввода; выбирает банк регистров 0 и блок памяти 0; запрещает прерывания; останавливает таймер и выдачу синхросигнала на вывод Т0; сбрасывает признак переполнения таймера FТ и признаки пользователя F0 и F1. Пошаговый режим работы. Схема запуска и временная диаграмма работы МК в пошаговом режиме показаны на рис. 4.8, и в соответственно Этот режим используется на этапе отладки МИ-системы и предоставляет разработчику возможность выполнить прикладную программу покомандно с выводом адреса очередной команды через порт BUS и младшую тетраду порта Р2. Сигнал ШАГ=О останавливает работу МИ после окончания цикла текущей команды И выдает подтверждающий сигнал САВП. для вывода МК из состояния останова не обходимо подать сигнал ШАГ = 1, на который МК откликается генерацией подтверждающего сигнала САВП=О. для того, чтобы МИ остановился на следующей команде, на вход ШАГ вновь должен быть подан сигнал 0, как только сигнал САВП стал равен нулю. Переход от команды команде осуществляется по нажатию кнопки ШАГ, запускающей буферный D-триггер по входу синхронизации. Сигнал ШАГ на выходе 1 не приобретает значение до тех пор, пока сигнал САВП не будет равен 1. Так как вход R асинхронного сброса D-триггера эквивалентен трем ТТЛ-нагрузкам, то между выходом сигнала САВГI и входом сброса D-триггера нёобходимо установить усилитель. Счетчик команд и логика условных переходов. Только 10 младших разрядов. счетчика команд используются для адресации 1 Кбайт резидентной памяти программ, а 2 старших разряда — для обращения к внешней памяти программ в расширенных МИ-системах. При прерываниях или вызове подпрограмм все 12 разрядов счетчика команд загружаются в стек. Кроме того, в стек загружается часть слова Состояния процёссора, в состав которого входят признаки переноса, вспомогательного переноса, признак пользователя F0 и признак банка регистров ВS. Логика условных переходов МК позволяет прикладной программе проверять не то внутренние признаки, но и условия, внешние по отношению к МК. По командам условного перехода в случае удовлетворения проверяемого условия в счетчик команд (разряды 0—7) из второго бай та команды загружается адрес перехода. Логика переходов оперирует со следующим набором условий. Прерывание. Линия запроса прерывания от внешнего источника ЗПР проверяется каждый машинный цикл во время действия сигнала САВП, но передача управления ячейке 3, где расположена команда JМР, выполняется только по завершения цикла команды. При обработке прерывания, как и при вызове подпрограммы, содержимое счетчика команд и части ССП сохраняется в стеке. Ко входу ЗПР микроконтроллера через монтажное ИЛИ от схем с открытым коллектором могут быть подключены несколько источников прерывания. Система прерывания одноуровневая, так как после распознавания прерывания все после дующие запросы прерывания игнорируются до тех пор, пока по командё возврата 1 вновь будет разрешена работа логики прерываний. Это справедливо и для внутреннего прерывания, генерируемого признаком переполнения таймера. На рис. 4.9 показана схема системы прерываний МК. Режим прерываний может быть запрещен или разрешен программой по командам DISI и ENI. Сигнал ЗПР должен быть снят внешним устройством перед окончанием подпрограммы обслуживания, т. е. до исполнения команды RETR. В том случае, если внешнее устройство не сбрасывает свой триггер запроса прерываний при обращении МK к его буферному регистру, одна из выходных линий МК используется подпрограммой обслуживания прерывания ДЛЯ сброса триггера запроса прерывания во внешнем устройстве. Так как вход ЗПР может быть проверен по команде условного перехода JNI то при запрещенном режиме прерывания вход ЗПР может быть использован в качестве дополнительного тестирующего входа подобно входам Т0 и Т1. При необходимости в МК можно создать двухуровневую систему прерываний. Для этого надо разрешить прерывания от таймера, загрузить в него число FF16 и пере вести в режим подсчета внешних событий, фиксируемых на входе Т1. Переход сигнала на входе Т1 из состояния 1 в состояние 0 приведет к прерыванию по вектору в ячейке 7. В случае одновременного запроса прерываний от внешнего источника и запроса от признака переполнения таймера приоритет остается за источником, воздействующим на вход 3ПР. При входе в подпрограммы обслуживания прерываний старший разряд счетчика команд СК11 принудительно устанавливается в нуль. Следовательно, вся программа об работки прерывания должна быть размещена в блоке памяти 0. Выполнение команд SEL МВ в процедуре обработки прерывания нежелательно, так как по этим командам изменяется только содержимое триггера признака блока памяти, но остается неизменным до выхода из прерывания (RETR) содержимое СК11 = 0. Таймер/счетчик событий. Внутренний 8-разрядный двоичный суммирующий счетчик может быть использован для формирования временных задержек и для подсчета внешних событий. Содержимое счетчика можно прочитать в аккумулятор или модифицировать из аккумулятора по командам МОV. Две команды STRT Т и STRT СNT настраивают и запускают счетчик в режиме таймера или в режиме счетчика событий соответственно. Остановить работу (но не сбросить содержимое) счетчика можно или командой SТ0Р ТСNT или сигналом системного сброса СБРОС. Из СОСТОЯНИЯ FF16 счетчик переходит в начальное состояние 0016. При этом устанавливается в 1 признак переполнения счетчика, который может вызвать прерывание, ёсли оно разрешено командой ЕN ТСNТI. Прерывание от таймера может быть запрещено командой DIS ТСNТI но признак переполнения таймера может быть прочитан по команде условного перехода JТF. Выполнение команды JТF точно так же, как и переход к подпрограмме обработки прерывания по вектору с адресом 7, сбрасывает признак переполнения таймера. В режиме таймера на вход счетчика через делитель частоты на 32 поступают основные синхросигналы машинного цикла САВП (400 кГц), и счетчик увеличивает свое состояние на 1 через каждые 80 мкс (12,5 кГц). Путем программной установки счетчика в исходное состояние и анализа признака переполнения могут быть реализованы различные временные задержки, лежащие в диапазоне от 80 мкс до 20 мс. Временные задержки, превышающие по длительности 20 мс (256 состояний счетчика), могут быть получены накоплением переполнений в рабочем регистре под управлением программы. В режиме счетчика событий внутренний счетчик увеличивает свое состояние на 1 каждый раз, когда сигнал на входе Т1 переходит из состояний 1 к состоянию 0. Минимально возможное время между двумя входными считаемыми сигналами равно 7,5 мкс (3 машинных цикла при использовании осциллятора б МГц). Минимальная длительность единичного сигнала на входе Т1 составляет 0,5 мкс. Режим внешнего доступа. Подача уровня +5В на вход РВД позволяет отключить резидентную память про грамм МК и осуществлять выборку команд только из внешней памяти. Этот режим работы удобен на этапе отладки МК-системы, так как позволяет пользователю подключать внешнюю память, содержащую или диагностическую про грамму, или варианты прикладной программы. При помощи этого же сигнала РВД с уровнем +25 В возможно выполнить чтение содержимого резидентной памяти программ извне, что особенно важно на этапе программирования СППЗУ для проверки вводимой информации. Программирование и проверка СНИЗУ. Процесс программирования СПГIЗУ состоит из ряда, последовательных действий, показанных на рис. 4.10, и требует использования программатора, генерирующего специальные сигналы, а также предоставляющего средства ввода в МК адресов/данных и средства визуального или иного контроля введенной информации. В процессе программирования СППЗУ участвует большая группа контактов корпуса МК, сигналы на которых должны формироваться в строго определенной последовательности. Эта временная последовательность приводится на рис. 4.11. Верификация прикладной программы, содержащейся в резидентной памяти МК, может быть выполнена путем про- чтения ее содержимого в режиме внешнего доступа. Схема и временная диаграмма этого режима работы МИ по казаны на рис. 4.12. Микроконтроллер переводится в ре жим чтения резидентной памяти подачей сигнала +-25 В на вход РВД при фиксированном уровне +5 В на тестирующем входе Т0. В это время сигнал СБРОС должен быть равен нулю. Вслед за тем адрес читаемой ячейки резидент ной памяти вводится в МК через порт ВUS и 2 бита порта Р2. Сигнал СБРОС при переходе от уровня 0 к уровню 1 фиксирует заданный адрес и выдает в порт ВUS содержи мое адресуемой ячейки резидентной памяти программ МК.
|