Курс лекций по вычислительной технике

       

Микроконтроллеры


 

Однокристальные процессоры, содержащие память и интерфейсы ввода-вывода называют микроконтроллерами.

 

Основные характеристики МК.

 

Стоимость.

Потребляемая мощность.

Производительность.

Память

Стоимость как правило впрямую зависит от остальных характеристик.

С точки зрения потребляемой мощности наиболее предпочтительным является использование КМОП технологии. В этом случае потребляемая мощность будет пропорциональна тактовой частоте.

Для RISC архитектур  производительность в основном определяется тактовой частотой. СИСК архитектура позволяет получать более компактные программы

Требования к памяти с одной стороны это требования к размеру, а с другой стороны  это номенклатура памятей. Обычно исходный размер оперативной памяти не велик (от 64 КБ), но важна возможность внешнего наращивания. Использование ПЗУ или ППЗУ для хранения программ, ЕСПЗУ или флэш для констант встречается достаточно часто.



Остальные характеристики определяются областью использования:

-       средства разработки программ и отладки системы с микроконтроллером.

-       встроенные средства тестирования.

-       устойчивость к сбоям и надёжность, включая жизненный цикл (не менее пяти лет).

 

                            Состав программного обеспечения.

         Редактор для написания программ.

         Ассемблер. Компоновщик связей,.

         Компилятор c языка СИ.

Программный симулятор моделирует исполнение программы и работу портов ввод/вывода.

         Аппаратный внутрисхемный эмулятор – аппаратное моделирование контроллера.

            Основные семейства микроконтроллеров (в порядке возрастания сложности): PIC, MCS-51(С52), Atmel Corp. (АТ90...,АТ91..., ATtiny..., ATmega...), ARM  (Advanced RISC Machines), Motorola  68000, МAXQRISC, Nios ПЛИС ALTERA.   Архитектура MCS-51 (8хС52 – дальнейшее развитие) фирмы Intel.( Н1830ВЕ31/ВЕ51 - НИИЭТ, г. Воронеж, ОКР «Танк-5»).


 

 

 

 

 

 

Микроконтроллеры PIC.

Область применения – мини АТС, системы контроля, автомобильная электроника.

 

         Основные характеристики.



Тактовая частота



10 Мгц



Выполнение операций



400-800нс



Данные



8 бит



команды



14 бит



Флэш или ПЗУ команд



До 1 Кб



ОЗУ данных



36-68 б



ЕСПЗУ данных



64 б



Таймер



Сторож



Линии ввода/вывода



   13



Прерывания



   4



Напряжение питания



2 – 6 В



Ток потребления



4 – 45 мА

Адресация: прямая, косвенная, сокращённая (команды).

Счётчик команд – один из общих регистров (может участвовать в операциях как операнд).

         Сторожевой таймер вызывает прерывание, если не был своевременно обнулён.

        

                                     

 

     Микроконтроллеры фирмы Atmel Corp.

 

     Состоят из нескольких AVR RISC семейств,  в  частности:  АТ90...,

АТ91..., ATtiny..., ATmega...

 

     Основные особенности.

 

-         32 общих регистра

-         8-разрядные данные (16/32 у серии АТ91)

-         16-разрядные команды  (118),  большинство  выполняется  за  один

-         цикл, 11 типов адресации

-          Гарвардская архитектура до 8МБ память программ – флэш (внутренняя до 128КБ)  и  до    8МБ  память данных - ОЗУ и/или EEPROM (внутренняя до 4КБ + 4КБ)

-        Частота 0-8МГц (25-40 - у АТ91)

-         Таймеры (8б - 2х8+16)

-         8-и канальный 10-и разрядный АЦП

-        СОМ порт (1 -2)

-        Последовательный порт 2МГц в/в

-        Параллельные 8-и битовые порты – 4-6



-        Потребляемая мощность  - до 25 мвт

-         Внутренние и внешние прерывания

-        Аппаратный стек возвратов и прерываний

                   ARM  (Advanced RISC Machines) – процессоры.

Условные инструкции ARM (Advanced RISC Machines).

В этой архитектуре вместо обычных условных переходов все команды являются условными, то есть выполняются при наличии (или отсутствии) определённого условия.

Например, конструкция

Если условие истинно, то выполнить  действие 1. Если ложно, то – действие 2.

В обычной архитектуре:

1)      вычислить условие

2)      если условие выполнено то к 5)

3)      выполнить действие 2

4)      переход к 6)

5)      выполнить действие 1

6)       

В  архитектуре ARM

1)      вычислить  условие

2)      выполнить действие 1, если условие истинно

3)      выполнить действие 2, если условие ложно

Сегодня ARM используется более, чем в 75%  встроенных процессоров (котроллеры ЖД,  игрушки и т. д.)  

         Применяются в телефонах, модемах, карманных компьютерах.

Форматы данных: байт и двойное слово.

         Регистры.

         32-разрядные: с 0-го по 14-й - общие 15-й счётчик команд; 16-й – регистр состояния. Имеется ещё 15 регистров для режима ОС и прерываний.

         Формат команд.

         Все команды 32- разрядные.      

         Режимы адресации.

-         косвенная регистровая со смещением

-         косвенная регистровая базово-индексная со сдвигом результата вправо или влево на заданную величину

-         относительная со смещением.

Первые две могут быть преиндексные (суммирование до формирования адреса) и постиндексные (суммирование после формирования адреса).



         Набор операций стандартный для процессоров РИСК, Почти все команды являются условными (то есть могут либо выполняться, либо нет), кроме того операция сдвига совмещается с основной операцией ( перед выполнением один из операндов сначала сдвигается). С памятью выполняются только операции пересылок (в том числе и групповые). В состав набора входит операция Умножение со сложением.

 

 

 

 

 

Процессоры  Motorola : 68000

 

Формат данных 8/16/32                                                                                                                                                                                  

Состав регистров 8 (32) – данных;  7(32) -  адресные; 1 + 1 – указатели стека для пользователя и ОС, счётчик команд и регистр состояния.

Режимы адресации.

Все адреса 24-разрядные

Память 16- разрядная; нумерация байтов слева направо; два соседних слова могут интерпретироваться как 32-разрядное.

Память разделена на на страницы размером в 32 КБ

Поддерживаются все виды адресации, но базовым регистром может быть только адресный регистр , а индексным иногда может быть регистр данных.

Система команд ортогональная; то есть  все форматы данных и все виды адресации поддерживаются. Все команды с данными устанавливают флаги.

Имеются команды условного перехода (всего 16),в  том числе по счётчику циклов без учёта флагов.

 

                   Архитектура MAXQ RISC.

 

Новое микроконтроллерное ядро, соче­тающее высокое быстродействие и низкую мощность потребления с много­образием сложных аналоговых функций. Трудность создания смешанных схем в низкой помехоустойчивости  аналоговой части.  С этой целью исполь­зуется интеллектуальное управление тактовыми импульсами: они выдаются только на те схемы, которым они требуются.

 Все инструкции выполняются за один такт (16 разрядный переход  - два такта), хотя конвейер отсутствует.

Все операции одноадресные. Второй операнд находится  в одном из 8  (16–и) аккумуляторов (активном).


Все команды имеют один 16 –битовый формат и являются операциями пересылки (совмещаемыми с другими опера­циями).


 



Формат



Получатель



Источник



   f



ddd dddd



ssss ssss



   1



Индекс- модуль



Индекс -модуль



    0



Индекс- модуль



Данные (00h  - FFh)

 

 

Гарвардская архитектура дополнена возможностью отображения па­мяти команд на память данных.

Понятие набора регистров заменено на понятием карты пересылок, ко­торая определяет модификацию пересылок.

 

 

Использование ПЛИС позволяет строить системы на кристалле.

 

 

Архитектура         процессора  Nios ПЛИС ALTERA.   

 

         Он представляет собой универсальный процессор, который может быть сконфигурирован для широкого круга применений. По архитектуре это конвейерный RISC процессор с 16 разрядной командой и 32 разрядным словом ( с возможностью адресации к байту и полуслову).            

Комплект средств отладки включает компилятор, отладчик и компоновщик С/С++/.

1.Форматы данных.

 

В памяти целые со знаком и без 8/16,32. Все А/Л операции – 32разрядные (умножение  16х16).

 

2.     Набор регистров.

 

Набор 32-разрядных регистров  включает как  файл универсальных регистров, так и регистры управления.

Регистровый файл может иметь размер 128, 256 или 512 регистров. Программно  доступно всегда только окно из 32 регистров, которое может перемещаться по файлу с шагом в 16 регистров. Регистровое окно разделено на четыре группы:

 

 





                 Группы регистров



Регистры ввода



%r24-%r31  (%i0-%i7)



Локальные регистры



%r16-%r23  (%L0-%L7)



Регистры вывода



%r6-%r15  (%i0-%i7)



Общие регистры



%r0-%r7  (%g0-%g7)

 

Перемещение окна не затрагивает общие регистры. При сдвиге окна на 16 регистры вывода оказываются регистрами ввода. 

 

         К регистрам управления относятся:

 

-  Счётчик команд программы содержит   адрес первого байта команды.


Поскольку все команды 16 разрядные, младший разряд в нём всегда равен «0».


-         Регистр префикса команды (К - регистр) имеет 11 разрядов. После выполнения любой команды (кроме собственно установки префикса) он обнуляется.

-         Регистр состояния (%ctl0)

 





17



16



15



14



13



12



11



10



9



8



7



6



5



4



3



2



1



0



DC



IC



IE



            IPRI



      CWP



N



V



Z



C

 

C,Z,V,N – признаки результата ( код условия).

 

CWP – указатель положения текущего окна в регистровом файле.

 

При перемещении окна ин- или декрементируется.

 IPRI – содержит текущий уровень приоритета (вектор прерывания), который устанавливается при входе в прерывание.  Если прерывающая программа хочет установить вектор, значение которого больше, чем значение поля   IPRI, то прерывание игнорируется.

IE -  признак разрешения прерываний.

IC и DC – признаки разрешения использования кэш команд и данных, соответственно.

-         Регистр %ctl1 (ISTATUS) служит для запоминания текущего состояния  на момент прерывания. Из него осуществляется восстановление состояния при возврате из прерывания.

-         Регистр %ctl2 (WVALID) содержит две величины: верхнюю и нижнюю границы регистрового файла. Если значение      CWP выходит за эти границы возникает соответствующее исключение.

-         Регистр ICACH (DCACH) хранит адрес строки кэш команд (кэш данных) при записи  команды (или данных)  в основную память по этому адресу из вне.

-         Регистр CPU_ID служит для хранения идентификатора версии процессора.

-         Set_IE  и CLR_ IE – вовсе не регистры. Просто запись в них устанавливает (сбрасывает) признак разрешения прерывания.

-          



3.     Форматы команд.

 

Все команды имеют длину 16 бит. Код операции, как правило, занимает 6 бит. Всего имеется 16 форматов команд.

Разрядность (длина) некоторых команд может быть увеличена за счёт префикса на 11 разрядов. Префикс загружается по специальной команде. А/Л операции двухадресные. 

 

4.     Методы адресации.

 

Память представляется как 32 разрядная, но адресация осуществляется с точностью до байта, поэтому в адресе слова два младших разряда нулевые. Обращение за байтами и словами   обеспечивается специальными операциями.

 

                       .

 

                      

-   Прямая регистровая

-         Сокращённая непосредственная.

-         регистровая косвенная.

 

Сокращённый непосредственный адрес содержит 5 разрядов (из 16-и). К нему может быть приставлен 11- разрядный префикс из регистра К.

Смещение формируется из с [K] и/или непосредственного адреса.

В качестве регистра косвенного адреса может выступать либо любой регистр (из 32), либо некоторые фиксированные регистры.

 

5.     Набор операций.

 

-         Пересылки.

-         А/Л регистровые и с непосредственной адресацией.

-         Умножения – 16х16.

-         БП, вызов процедур, вызов прерывания ветвления (БП  относительно счётчика команд). До перехода выполняется следующая  за ним.

-         Условный пропуск следующей команды (или двух, если следующая команда – установки префикса).

-         Сдвиг регистрового окна.

-         Вход в прерывание. Местоположение таблицы векторов прерываний в памяти может определяться пользователем.



-   предусмотрена возможность введения операций, алгоритм работы которых определяется пользователем.

В состав системы входит программный модуль процессорного ядра на языке VERILOG или  VHDL и модули интерфейсов:  параллельного, последовательного (UART) и таймера, для которых пользователь может задать параметры по своему усмотрению.

Производительность процессора может достигать 50 MIPS.

Имеется возможность создания мультипроцессорной системы.

Архитектура MCS-51 (8хС52 – дальнейшее развитие) фирмы Intel.

( Н1830ВЕ31/ВЕ51 - НИИЭТ, г. Воронеж, ОКР «Танк-5»).

Архитектурные особенности.

Гарвардская архитектура.

8 – разрядное целочисленное АЛУ с результатом в аккумуляторе и умножителем.

Память программ (4КБ) и ОЗУ (128байт)

Четыре 8-разрядных двунаправленных порта ввода/вывода с альтернативными функциями.

Два программируемых таймера.

Дуплексный порт UART.

       Процессор имеет следующие характеристики

1.     Тактовая частота – FC = 24 Мгц. Длительность машинного цикла равна 1/ FC/12 = 0,5 мксек. Большинство операций  выполняется за 1 цикл (умножение 4 цикла).

2.     Формат данных – один байт

3.     Ёмкость внутреннего ОЗУ – 256 байт. Адреса с 0 по 31 – четыре банка регистров общего назначения по семь регистров  в банке. Адреса с 32 по 47 – прямо адресуемые биты; адреса  с 47 по 127 – ОЗУ. Адреса с 128 по 255 – специальные регистры.

4.     Память команд – ПЗУ на 8 Кбайт. ПЗУ может быть масочным, что обеспечивает большую устойчивость к спец факторам, или однократно программируемым. Большинство команд  имеют длину один или два байта.

5.     Три 8-разрядных двунаправленных порта. Имеется ещё и четвёртый порт, но его входы-выходы используются для альтернативных функций.

6.     Последовательный дуплексный порт (UART) имеет три режима: синхронный (симплексный) на частоте, FC /12=2 Мгц и три асинхронных с максимальной частотой FC /32=0,75 Мгц.Размер адреса – восемь бит (до 256 адресов). Предусмотрено пять источников прерываний: два внешних и три внутренних (в том числе от последовательного порта). Время реакции – три цикла (1,5 мксек).

7.     Условия  эксплуатации по ГОСТ В 20.39.304-76 – все климатическое исполнение  (спец факторы 3У – 6У).

 

Микросхемы 1830 ВЕ01У, 1830 ВЕ71У представляют собой  8-разрядные микроконтроллеры с тактовой частотой не менее 33 МГц,  встроенным ОЗУ емкостью 256х8, с масочным или программируемым вариантом встроенной памяти программ объемом 8Кх8 и портом последовательного ввода/вывода.

Дополнительные возможности.

Программируемый массив счетчиков, обеспечивающий пять каналов выдачи сигналов с широтно-импульсной модуляцией.

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

 

 

 


Содержание раздела