Рябов В.Т. - Устройство и программирование однокристальных микроконтроллеров (1041592), страница 3
Текст из файла (страница 3)
Обычно, чем меньше значение вектора прерываний, тем прерывание важнее и автовекторная линия его запроса приоритетней. В первуюочередь обслуживается наиболее приоритетное прерывание и все прерывания с меньшимприоритетом откладываются и не могут прервать обслуживание. Но, если во время обслуживания какого либо прерывания произойдет запрос по линии с большим приоритетом, будетвыполнен описанный выше цикл и стековый механизм обеспечит правильный возврат.При векторной организации прерывания линия запроса обычно одна INT, но предусмотрена линия подтверждения прерывания INTE (Interrupt Enable).
Микропроцессор, получив запрос:1) заканчивает очередную команду;2) заносит содержимое счетчика команд в стек;3) выставляет активный уровень на линию подтверждения прерывания INTE;4) внешнее устройство, запросившее прерывание, в ответ на сигнал INTE должно на шинуданных микропроцессора выставить свой идентификатор – адрес вектора прерывания;5) микропроцессор, выставив INTE считывает с шины данных адрес вектора прерывания изаносит его в счетчик команд РС;6) обращается к ячейке памяти, адрес которой равен вектору прерываний и из нее и ряда последующих ячеек памяти считывает адрес входа в подпрограмму обслуживания возникшего прерывания (адрес первой команды кода подпрограммы);7) выполняет подпрограмму обслуживания, которая должна заканчиваться командой возврата из прерывания (обычно в различных ассемблерах она кодируется RETI или RTI);8) встретив команду возврата из прерывания, микропроцессор заносит в свои РС и PSW сохраненные в стеке значения и возвращается к тому месту программного кода, где он былдо возникновения прерывания.А как быть с приоритетом обслуживания нескольких одновременных запросов? На рис.3.1.
показана «географическая» организация приоритетов. Здесь ряд устройств, требующих прерывания (объектов О1 … On) подключено выходами повторителей 1 к линии INT. Так что, появление низкого уровня хотя бы на одном выходе активизирует линию. Прерывание возникает присрабатывании выключателя Кn. При этом низкий уровень появляется на входе и, соответственно,на выходе повторителя. Получив запрос и проделав действия 1 и 2 описанного выше алгоритма,микропроцессор активизирует INTE.
Низкий уровень сигнала приходит к первому объекту. Еслион не запрашивал обслуживания (выключатель К1 не замкнут), на выходе ячейки ИЛИ-НЕ объек-9та также низкий уровень и сигнал INTE проходит далее. Если К1 замкнут, на обоих входах ячейкиИЛИ-НЕ будет низкий уровень, что приведет к высокому на его выходе и сигнал INTE будет блокирован. В тоже время, низкий уровень на обоих входах ячейки ИЛИ переведет буфер BF из высокоимпедансного (Z), в активное состояние. На входе буфера Di с помощьюрезистивной матрицы установлено двоичное число, соответствующее векторупрерываний объекта О1. Именно эточисло появится на выходе буфера и нашине данных микропроцессора.
Ему остается только проделать пункт 5 и далееалгоритма обработки прерывания.Первые однокристальные микроконтроллеры были выпущены фирмой Intel в 1979 году. Это было семейство MCS-48. Основной его особенноРис. 3.1. «Географическая» организация приоритестью было разделение памяти протов векторного прерывания.грамм и памяти данных. Микроконтроллер был восьмиразрядным и содержал на кристалле резидентную оперативную памятьданных на 64 байта, резидентную память программ на 2 кБ, тактовый генератор, два восьмиразрядных таймера. Прерывания микроконтроллера были автовекторные, помимо двух внутренних прерываний от таймеров-счетчиков, было предусмотрено и два внешних входа прерывания. Микросхема была упакована в сорока выводной ДИП корпус.Затем, после краткого выпуска 49-ой серии, было выпущено семейство MSC-51, послужившего в некотором роде эталоном восьмиразрядного микроконтроллера.
Множествофирм выпустило аналоги этого семейства, совместимые по системе команд, наличию минимального комплекта внутренних устройств, повторило и расширило архитектуру микроконтроллера.В настоящее время успехи планарной технологии позволяют выпускать уже 32-х разрядные ЧИПы - микроконтроллеры, однако восьмиразрядные МК являются основой построения вычислительного ядра простых локальных периферийных микроконтроллеров, которые есть смысл разрабатывать при конструировании автоматизированного технологического оборудования.
Более мощные контроллеры целесообразнее скомпоновать из имеющегося набора серийно выпускаемых ПЛК или одноплатных ЭВМ клона РС и плат УСО.Современные однокристальные МК можно разделить на универсальные и специализированные, предназначенные для автоматизации сравнительно узкого класса объектовуправления. Деление это весьма условно, но помогает навести некоторый порядок в представленном сегодня на рынке множестве различных микроконтроллеров.Среди универсальных МК выдающееся место занимает семейство MCS-51 фирмы Intelи его аналоги. Пожалуй, это наиболее широко выпускаемая серия. Семейство MC68 фирмыMotorola и его аналоги отличаются развитой таймерной системой, получившей название«процессор реального времени».Среди специализированных МК следует отметить достаточно универсальное семейство PIC12 - PIC18 фирмы Microchip, отличающиеся RISC архитектурой и развитой специализацией под конкретные объекты.
Отдельные семейства МК специализированы под частотнорегулируемый асинхронный электропривод.Сейчас выделилось направление сигнальных микроконтроллеров, предназначенныхдля цифровой обработки аналоговых сигналов. MSP-контроллеры (Mixed Signal Processor)предназначены для обработки смешанных дискретно-аналоговых сигналов и специализированы для применения в различных измерительных приборах и датчиках. Часто они имеютуникально низкое энергопотребление, поскольку рассчитаны под батарейное питание или наработу в двухпроводной токовой петле 4 – 20 мА.
Так, производимый фирмой Texas Instru-10ments микроконтроллер MSP430FG327 является шестнадцати разрядным с RISC архитектурой и имеет в своем составе флеш-память на 32 Кб, ОЗУ на 512байт, развитую таймернуюсистему, 12-и разрядный АЦП с коммутатором, два 12-и разрядных ЦАП, драйвер ЖК индикатора на 128 сегментов и три операционных усилителя, выводы которых программно коммутируются.
ОУ могут быть программно подсоединены к выводам корпуса, скоммутированы внутри МК как инструментальный усилитель с программно управляемым усилением, какдифференциальный усилитель на двух ОУ и т.д. И стоит такой МК менее семи долларов.Контрольные вопросы.1. Микропроцессоры и микроконтроллеры. Общность и различие.2. Типовой портрет обобщенного микропроцессора. Регистры, способы адресации.3. Механизм прерываний типовых микропроцессоров: векторная и автовекторнаяорганизация.3.2.
Микроконтроллеры семейства MCS51В настоящее время различными фирмами выпускается множество модификаций ианалогов этого семейства, как фирмой Intel, так и другими производителями, тактовая частота и объем памяти возросли в десятки раз и продолжают повышаться. Дополняется и наборвстроенных в БИС модулей. В большое число современных моделей встроен резидентныйбыстродействующий АЦП, имеющий 12 и более разрядов. Для управления мощностью, подаваемой на нагрузку (нагреватели, двигатели и другие исполнительные механизмы) добавлен блок формирования широтно-модулированных последовательностей импульсов. Числотактов, за которые выполняются короткие команды микроконтроллера сокращено до одного,т.е. реализована RISC-архитектура при неизменном ядре системы команд, что, наряду с повышением тактовой частоты, на два порядка повысило быстродействие по сравнению с первыми моделями.Но в основе семейства МСS51 БИС 8051, 80С51, 8751, 87С51, 8031, 80С31 фирмыIntel, первые образцы которых были выпущены в 1980 году.Микроконтроллеры семейства MCS51 выполнены по высококачественной n-МОП и kМОП технологии.
Второй символ, следующий за цифрой 8 означает: 0 – РПЗУ на кристалле нет, 7 – РПЗУ объемом 4К с ультрафиолетовым стиранием. Третий символ: 3 – ПЗУ накристалле нет, 5 – если нет РПЗУ, то на кристалле масочное ПЗУ.И так, 80С51 – БИС по k-МОП технологии с заказным масочным ПЗУ на кристалле,8031 – БИС n-МОП без памяти программ (ПЗУ, РПЗУ) на кристалле, 8751 – БИС n-МОП срезидентным (размещенным на кристалле) РПЗУ с ультрафиолетовым стиранием. Мы далее и будем рассматривать БИС 8751, делая, если нужно оговорки об отличиях другихсхем, приводя те параметры, которые были опубликованы для первых серийных БИС. Детальное описание первых образцов этого семейства, выпуск которых был начат еще вСССР, приведено в [1].
Дополнительную информацию о всех современных модификацияхВы, при необходимости, можете найти в интернете, фирменных справочниках и технической документации.Общие характеристики и назначение выводовМК содержат все узлы, необходимые для автономной работы: центральный восьмиразрядный процессор; память программ объемом 4 Кбайт (только 8751 и 87С51); памятьданных объемом 128 байт; четыре восьмиразрядных программируемых порта ввода-вывода;два 16-битовых многорежимных таймера/счетчика; систему автовекторных прерываний спятью векторами и двумя программно управляемыми уровнями приоритетов; последовательный интерфейс, включающий универсальный дуплексный приемопередатчик, способный функционировать в четырех режимах; тактовый генератор.