Проектирование автоматизированнь2х станков и комплексов (831035), страница 34
Текст из файла (страница 34)
Это неотъемлемая часть любого микропроцессораи микроконтроллера. Алгоритм работы микропроцессора таков:1) считать из памяти содержимое ячейки,адрес которой содержится в счетчике команд РС, и интерпретировать считанное значение как код команды;2) покоду команды определить ее длину, наличие операндов или их адресов и адрес следующего кода команды;3) установитьв счетчике команд адрес кода следующей команды, выполнить предписанные действия и перейти к п.1.16613.Микроэлектронные устройства в станках и станочных комплексахЛюбой микропроцессор имеет выводReset,который служит для переводапроцессора в начальное состояние.
При этом в счетчике команд устанавливается предопределенное начальное значение (как правило, «О»). Достаточносчетчику команд сбиться и ввести вместо кода команды любую другую еечасть, и микропроцессору для восстановления нужно будет начинать все сначала. Для этого необходимо активизировать выводReset.Важным регистром микропроцессора является аккумулятор А, в которомпроводятся все предписываемые кодом команды действия.
Это основной регистр арифметико-логического устройства микропроцессора.Отдельные биты регистраPSW устанавливаютсвои значения по результатам предыдущей операции. Есть бит переполнения аккумулятора Оlay), битнулевого результатаZ (Zero),(Over-бит арифметического переноса и т. п.Эти биты широко используются системными программистами для построения арифметических действий со словами двойной или большей длины, дляуправления работой периферийных и внутренних устройств микропроцессора.Регистр-указатель данных содержит адреса операндов, над которымиследует произвести предписанные программой действия. Иногда эти регистры называют индексными.Регистр-указатель стекаSPуказывает на вершину стека микропроцессора.
Стековый механизм передачи управления настолько широко используется в микропроцессорах, что для его реализации предусмотрен специальныйрегистр. При переходе к вложенной подпрограмме значение счетчика команд(адресследующего кода команды, подлежащей исполнению) записывается ввершину стека. Затем в счетчик команд заносится адрес входа в подпрограмму. При возврате из подпрограммы значение счетчика команд восстанавливается из вершины стека.Регистры общего назначения служат обычно для хранения результатовпромежуточных вычислений.
Команды обращения к ним выполняются быстрее, чем к оперативной памяти, и занимают меньший объем. Во многих микропроцессорах эти регистры достаточноуниверсальны имогут выполнятьфункции вышеперечисленных регистров.Для реакции микропроцессора на внешние события предусмотрен механизм прерываний. Микропроцессор должен запустить подпрограмму обслуживания прерывания как реакцию на произошедшее событие. Например, есликоординатный стол дошел до упора (конечного выключателя), двигательнужно реверсировать и т. п. Поскольку важных для работы системы событийможет быть много и для каждого нужно запускать свою подпрограмму обслуживания, возможна векторная и автовекторная организация прерываний.При автовекторной организации прерывания для каждого устройства,фиксирующего внешние события, предусматривается своя линия запросапрерыванияINT_ n.Внешнее устройство при запросе выставляет на эту линию активный (обычно низкий) уровень.
Микропроцессор, обнаружив на13.3. ОднокрисmШlьные микроконтроллеры в станках и станочных комплексахсвоем выводеINT_n167активный уровень, заканчивает очередную команду; заносит содержимое счетчика команд в стек; устанавливает на счетчике командчисло, соответствующее активной линии прерывания-адрес вектора прерывания; обращается к ячейке памяти с этим адресом и считывает из нее иряда последующих ячеек адрес входа в подпрограмму обслуживания прерывания (адрес первой команды этой подпрограммы); выполняет подпрограммуобслуживания, которая должна заканчиваться командой возврата из прерывания; заносит в свой счетчик команд и регистрPSWсохраненные в стекезначения и возвращается к тому месту программного кода, где он был до возникновения прерывания.Если одновременно происходит несколько прерываний, в микропроцессоре предусмотрен механизм приоритетов линий.
Первым будет обслуживаться запрос линии с большим приоритетом прерывания. Прерывание сбольшим приоритетом может прервать и подпрограмму обслуживания менееприоритетного прерывания, а стековый механизм обеспечит правильный возврат в основную программу.При векторной организации прерывания линия запросапредусмотрена линия подтверждения прерыванияINTE.INTодна, ноПолучив запрос,микропроцессор заканчивает очередную команду, заносит содержимое счетчика команд в стек, выставляет активный уровень на линию подтвержденияпрерыванияINTE; внешнее устройство, запросившее прерывание, в ответ насигнал INTE выставляет на шину данных микропроцессора свой идентификатор адрес вектора прерывания; микропроцессор считывает с шинь1 данныхадрес вектора прерывания и заносит его в счетчик команд РС.
Далее все происходит аналогично автовекторной организации прерывания.При автовекторной организации источник прерываний предельно прост,например пара контактов, замыкающих линию. В микроконтроллерах используют обычно автовекторные, а в микропроцессорах-векторные прерывания.Современнь1е однокристальные микроконтроллеры можно разделить науниверсальные и специализированные, предназначенные для автоматизациисравнительно узкого класса объектов. Среди универсальных особое местозанимает семействоMCS-51фирмыIntel иего аналоги.
Среди специализированных микроконтроллеров следует отметить достаточно универсальные семействаPIC12- PIC18фирмыMicrochip,отличающиеся RISС-архитектуройи развитой специализацией под конкретные объекты. Особо следует отметитьмикроконтроллеры на основе ядра АRМ, разрабатываемого фирмой АRМLimited. Ядропозволяет широко масштабировать аппаратную часть в рамкахпрограммной совместимости. На основе этого лицензированного ядра рядомфирм, являющихся лидерами рынка микроконтроллеров, выпускается множество схем, специализированных для выполнения функций локальных, узловыхидажецентральныхмашинным интерфейсом.микроконтроллеровсразвитымчеловеко16813.Микроэлектронные устройства в станках и станочных комплексах13.3.2.
Устройство иработа основных узлов микроконтроллераНа примере микроконтроллера семействаMCS-51кратко рассмотрим типовые узлы, интегрированные на кристалле.Двунаправлет-тые порты ввода-вывода позволяют считывать подводимыек ним внешние сигналы, т. е. проводить дискретный контроль или программно выводить логические «О» илидискретное управление. Из36«1», а значит, непосредственно формировать40 выводов микроконтроллера семейства MCS-51организованы как четыре 8-разрядных порта РО-Р3, каждый бит которыхпрограммно может быть проконтролирован либо изменен.За портами РО и Р2 закреплена функция организации внешних шин адресов и данных, если возможностей микроконтроллера проводить контроль иуправление непосредственно через выводы портов не хватает.
Специализирован и порт Р3. По двум из его восьми выводов можно фиксировать два внешних автовекторных прерыванияINTOтатьзанимаявнешниеимпульсы,устройство. Два выводанеRxDиTxDиINTl,приа по выводам ТО иэтомTl -счиарифметико-логическоеявляются соответственно входом и выходом интегрированного на кристалле универсального синхронно-асинхронного приемопередатчика. Альтернативной функцией оставшихся двух выводовRDиWRявляется организация обращения к внешней памяти данных, еслиинтегрированной на кристалле оперативной памяти не хватает.Память микро1<.онтроллеров семействаны: резидентное ОЗУ объемом64 Кбайт;256MCS-51резидентная память программ объемомпрограмм, расширяемая доразделена на четыре зобайт; внешнее ОЗУ, расширяемое до4Кбайт и внешняя память64 Кбайт.Нижняя часть резидентного ОЗУ с адресами от О до128может использоваться программистом для хранения данных (память пользователя).
В нейразмещено четыре банка регистров общего назначения, выбор того или иногобанка определяется двумя битами слова состояния процессораPSW.Этоудобно использовать при переходах к подпрограммам и при обработке прерываний, поскольку освобождает программиста от необходимости сохранения регистров общего назначения в стеке.В зоне адресов от32до48возможна адресация и обработка отдельныхбитов.
В системе команд микроконтроллера предусмотрены специальные команды битового процессора. Они позволяют устанавливать и сбрасывать отдельные биты, проверять различные условия и делать переходы, что удобнопри написании УП.В верхних128 байтах резидентного ОЗУ расположены регистры специSFR, управляющие ресурсами микроконтроллера (портаальных функцийми, таймерами, приемопередатчиком, прерываниями и др.).
РезидентноеОЗУ при необходимости может быть дополнено внешним ОЗУ объемом до64 Кбайт.В памяти программ, представляющей собой РПЗУ, хранятся инструкции,исполняемые микроконтроллером. В нижней части РПЗУ расположены век-13.3. ОднокрисmШlьные микроконтроллеры в станках и станочных комплексахторы двух внешних прерыванийINTOиINT 1 и трех169прерываний от ресурсовмикроконтроллера (двух таймеров-счетчиков и приемопередатчика).Таймеры-счетчики предназначены для счета времени (машинных цикловмикроконтроллера) либо внешних импульсов через выводы ТО иTlпорта РЗ.Микроконтроллер содержит два 16-разрядных таймера-счетчика (нулевойТ/СО и первыйT/Cl).Они способны автономно работать в четырех режимах.С таймерами-счетчиками связано шесть регистров специальных функций:четыре счетных, образующих два 16-разрядных счетчика, регистр режимовработыTMOD и регистр управления TCON.Таймеры-счетчики могут отмерять заданные временные промежутки ивызывать прерывания при их завершении, измерять длительность или числовнешних импульсов, задавать частоту работы встроенного приемопередатчика ит.
п.На рис.ме1.В13.26показана схема работы нулевого таймера счетчика в режипрямоугольныхрамкахздесьприведеныаппаратные(устройства) микроконтроллера, в рамках со скругленными краямиресурсы-битыуправляющих регистров, ТО иINTO - выводы порта РЗ. Импульсы от внешнего кварцевого резонатора OSC после деления на 12 (машинные циклы длительностью 1 мкс) поступают на 16-битный счетчик TLO- ТНО и инкрементируют его. Как только он переполнится, установится бит TFO флаг прерываний нулевого таймера-счетчика.Наступит прерывание, если оно былоразрешено, и будет запущена подпрограмма его обслуживания.
Период возникновения таких прерываний составит65 535мкс, но если предварительнозаписать в счетчик значение, с которого начнется счет, период прерыванийможно уменьшить. Установка бита С/ТО в «О» задает счет внешних импульсов, поступающих на вывод ТО.БитыTRO регистров TMOD и TCON позволяют управлять счетомINTO. Если оба бита установлены в «1», высокий уровень на выводе INTO разрешает счет, а низкий запрещает. Таким образомможно измерять длительность положительного импульса, поданного на INTOС ТОЧНОСТЬЮ ДО 1 МКС.GateOиот внешнего выводаПриемопередатчик независимо от вычислительного ядра побитно выставляет или считывает информацию с линии связи и обеспечивает работуoscС/ТО/ 12TLO~ТО8биттно8битTFOGateOINTOРис.13.26. Схема работы нулевого таймера-счетчика в режиме 117013.Микроэлектронные устройства в станках и станочных комплексахмикроконтроллера в составе управляющей сети (см.