Лекция 7 Обзор универсальных микроконтроллеров Лектор: Люличева И.А. 1 Содержание Обзор основных производителей МК Х51-совместимые МК МК фирмы Motorola МК фирмы Atmel 2 Классификация МК и их производители Номенклатура предлагаемых на сегодняшнем мировом рынке микроконтроллеров (МК) чрезвычайно обширна и в своем составе содержит множество семейств, выпускаемых различными производителями. Семейства между собой различаются: по архитектуре процессорного ядра; набору интегрируемых на кристалл МК модулей памяти и периферийных устройств; разрядности обрабатываемых данных ( 8, 16, 32, 64 бит) быстродействию; энергопотреблению и ряду других характеристик. 3 Классификация МК и их производители В пределах семейства, как правило, микроконтроллеры подразделяются на подгруппы или серии. Серии же между собой различаются, в основном, составом и параметрами встроенных периферийных устройств, определяющих специфику применения МК. В число периферийных устройств обычно входят параллельные порты ввода/вывода, каналы последовательного интерфейса, таймеры и таймеры/счетчики, контроллер прерываний и т.п. 4 Классификация МК и их производители Кроме этого, многие микроконтроллеры содержат дополнительные запоминающие устройства многофункциональные таймерные модули, многоканальные АЦП и ЦАП, широтно-импульсные модуляторы, цифровые компараторы, устройства для подключения жидкокристаллических и электролюминесцентных индикаторов и другие устройства. 5 Классификация МК и их производители Наиболее крупными и известными на мировом рынке производителями микроконтроллеров являются такие фирмы как Intel, Motorola, Microchip, Atmel, Zilog, AMD, Philips, NEC, Dallas Semiconductor, Texas Instruments, Hitachi, Mitsubishi, Fujitsu, Toshiba, и ряд других японских фирм 6 Классификация МК и их производители Holtek, Ubicom (Scenix), Infineon (Siemens), Temic, STMicroelectronics, Samsung, Triscend и ряд других американских, европейских, южноазиатских фирм. Отечественная промышленность выпускала весьма ограниченный спектр микроконтроллеров, большая часть которых относилась к Intel-совместимым (серии К1816, К1830, К1835). 7 Наиболее распространенные МК Из рассмотренных семейств МК на сегодняшний день у разработчиков СНГ наиболее популярными являются семейства, совместимые с микропроцессорным ядром х51, PIC-контроллеры фирмы Microchip, RISC-контроллеры семейства AVR фирмы Atmel и достаточно активно продвигаемые на наш рынок семейства МК фирмы Motorola. 8 MCS-совместимые микроконтроллеры Рассмотрение MCS-совместимых микроконтроллеров начнем с МК фирмы Cygnal, которые оснащены усовершенствованным микроконтроллерным ядром CIP-51, полностью совместимым по набору инструкций со стандартным MCS-51 ядром. Кроме того, зависимости от типа семейства, ядро может содержать 3, 4 или 5 таймеров-счетчиков, два последовательных порта UART, как минимум 256 байт встроенной оперативной памяти, 128-байтный регистр специальных функций SFR (Special Function Register). 9 MCS-совместимые микроконтроллеры Микроконтроллеры различных семейств могут иметь от 1 до 8 портов (т. е. от 8 до 64 линий ввода/вывода). Таким образом, ядро CIP-51 с одной стороны обеспечивает полную совместимость со стандартным х51-совместимым ядром, с другой имеет более широкие аппаратные возможности за счет пополнения встроенной цифровой и аналоговой периферии. 10 MCS-совместимые микроконтроллеры (СР) Как уже говорилось МК фирмы Cygnal различных семейств могут иметь от трех до пяти таймеров. Первые два шестнадцатибитных таймера/счетчика совместимы с таймерами х51. Дополнительные таймеры имеют специальное назначение. Таймер 2 имеет дополнительные возможности, которых нет у таймеров 0 и 1. Он может измерять временной интервал или генерировать периодический запрос прерываний или работать в качестве генератора скорости UART1. Четвертый шестнадцатибитный таймер используется совместно с аналого-цифровыми преобразователями (АЦП), интерфейсом SMBus, либо может использоваться для общих применений. 11 Микроконтроллеры фирмы Моtorola (НС11) Фирма Моtorola выпускает месколько семейств 8разрядных МК – МС68НС03, МС68НС05, МС68НС11 и множество заказных семейств. Семейство НС11 является одним из наиболее распространенных и популярных в мире семейств микроконтроллеров (к 2002 году было продано более 100 млн. МК этого семейства). Семейство НС11 содержит набор из около 40 универсальных и высокопроизводительных микроконтроллеров, ориентированных как на массовые рынки, так и на среднее и мелкое производство. 12 Микроконтроллеры фирмы Моtorola (НС11) ЦПУ семейства НС11 чрезвычайно удобно для программирования и оптимизировано по энергопотреблению и быстродействию. Наиболее характерные его особенности: два 8-битных или один 16-битный аккумулятор два 16-битных индексных регистра два программно управляемых режима пониженного энергопотребления операции умножения 8Х8 и деления 16/16 внутренняя тактовая частота до 4 МГц 13 Структурная схема НС11 14 Память МК семейства МС68НС11 (СР) МК семейства HC11 имеют в своем составе все типы внутренней памяти, характерные для семейства МС68НС05: ПЗУ (программируемое или масочное), EEPROM (EEPROM), ОЗУ объемом до 2К байт. Все МК семейства НС11 адресуют внешнюю память, причем есть версии с немультиплексированными магистралями данных и адреса (НС11F1), а также версии с расширенным до 256К...1М адресным пространством (HC11Kx). 15 Спец регистры МК фирмы Моторола (СР) Для обращения к внутренним регистрам микроконтроллера выделено 96 адресов, которые при начальной установке (процедура RESET) располагаются в позициях $1000-$105F . В число этих регистров, кроме служебных регистров процессора, входять регистры (рисунок 7.1): параллельних портов PORTA, PORTB, PORTC, PORTCL, DDRC, PORTD, DDRD, PORTE, последовательных портов SPDR, SPCR, SPSR, SCDR, SCCR1, SCCR2, SCSR, BRR, таймера TCNT, TIC1-3, ТОС1-5, TMSK1, TMSK2, TFLG.1,TFLG2, TCTL1, TCTL2, OCIM, OCID, CFORC 16 Группы команд микроконтроллеров фирмы Моtorola Система команд представлена следующими группами: команды пересылки данных, связанные с аккумуляторами (LDAB (load accum. B), LDD, STAB, TAB (transfer A to В), CLRA (Clear A), PSHA (push A to stack), PULA, ...) команды пересылки для стека и индекс. регистров (PSHX, TSX (transfer SP to X), ...) арифметические команды (ADD, SUB, INC, DEC, MUL, DIV, CMP, ...) логические команды (AND, OR, EOR, ...) 17 Группы команд микроконтроллеров фирмы Моtorola команды работы с битами (установка, сброс, проверка, сравнение, сдвиги, ...) команды переходов (JMP, JSR (jump to subroutine), RTS (return from subroutine), переходы по условиям и состояниям битов, ...) специальные команды (STOP, WAI (wait for interrupt), SWI (software interrupt), ...) 18 Виды адресации Н05-Н11 Для выборки операндов используются такие способы адресации: регистровая- операнды располагаются в регистрах процессора; непосредственная - 8- або 16-разрядный операнд im8 или iml6 размещается во 2-3 байтах; прямая - 16- или 20-разрядный адрес операнда а16 или а20 занимает 2 и 3й байты команды (20-разр адрес используется только в командах JMP и JSR); относительная - адрес команди вычисляется как РС=РС+ сдвиг (м.б не только 8 разрядным!). 19 Виды адресации Н05-Н11 косвенная - 8- или 16-разрядный операнд im8 или iml6 содержится во втором и третьем байтах команды; Косвенно-регистровая со смещением – адрес операнда создается сложением 20-разрядного содержания индексного регистра X, У или Z с расширением ХК, YK или ZK и 16-разрядного смещения е16 содержащегося в аккумуляторе, которое является числом со знаком; Косвенно-регистровая с пост-модификацией после выполнения команды к содержанию индексного регистра X с расширением ХК добавляется заданное в команде смещение d8 со знаком; 20 Сравнение 8-разрядных МК по производительности 21 Стандартные семейства AVR: tinyAVR megaAVR Флеш-память 8 Кб, SRAM 512 б, EEPROM 512 б Число линий В/В 6-18 (общее количество выводов 8-32) Ограниченный набор периферийных устройств Флеш-память 256 Кб, SRAM 8 Кб, EEPROM 4 Кб Число линий В/В 23-86 (общее количество выводов 28-100) Аппаратный умножитель Расширенная система команд и периферийных устройств XMEGA AVR Флеш-память 384 Кб, SRAM 32 Кб, EEPROM 4 Кб 4-ех канальный DMA-контроллер Инновационная система обработки событий 22 Микроконтроллеры фирмы AVR Все AVR имеют Flash-память программ, которая может буть загружена как с помощью обычного программатора, так и с помощью SPI-интерфейса, в том числе непосредственно на цельной плате. Количество циклов перезаписи - не меньше 1000. 23 Микроконтроллеры фирмы AVR 24 Микроконтроллеры фирмы AVR Следующая отличительная черта архитектуры микроконтроллеров AVR регистровый файл быстрого доступа. Каждый из 32-х регистров общего назначения длиной 1 байт непосредственно связан с арифметико-логическим устройством (ALU) процессора. Другими словами, в AVR существует 32 регистра - аккумулятора. 25 Микроконтроллеры фирмы AVR Это обстоятельство позволяет в сочетании с конвеерной оброботкой выполнять одну операцию в ALU за один машинный цикл. Так, два операнда извлекаются с регистрового файла, выполняется команда и результат записывается опять в регистровый файл в течении одного машинного цикла. Шесть из 32-х регистров файла могут использоваться как три 16-разрядных показателя адреса при косвенной адресации данных. 26 Микроконтроллеры фирмы AVR Один из этих указателей (Z Pointer) применяется также для доступа к данным, записанным в памяти программ МК. Использование трех 16битных указателей (X, Y и Z Pointers) существенно увеличивает скорость пересылки данных при роботе прикладной программы. 27 Система команд микроконтроллеров AVR весьма развита и насчитывает в различных моделях от 90 до 133 различных инструкций. Большинство команд занимает 16 бит. Большинство команд выполняется за 1 такт. Всё множество команд микроконтроллеров AVR можно разбить на несколько групп: команды пересылки данных команды арифметических операций команды логических операций и команды сдвига команды операции с битами команды передачи управления команды управления системой 28 Особенности АЛУ Выполнять арифметико-логические операции и операции сдвига непосредственно над содержимым ячеек памяти нельзя. Нельзя также записать константу или очистить содержимое ячейки памяти. Система команд AVR позволяет лишь выполнять операции обмена данными между ячейками SRAM и оперативными регистрами. Достоинством системы команд можно считать разнообразные режимы адресации ячеек памяти, кроме прямой адресации имеются следующие режимы: косвенная, косвенная с пост-инкрементом, косвенная с пре-декрементом и косвенная со смещением. 29 команды пересылки данных 30 Вопросы для самоконтроля Какие фирмы лидируют на рынке МК? Сравните структурные схемы микроконтроллеров (МК) двух различных фирм. Поясните особенности Гарвардской архитектуры МК. Детальнее остановитесь на регистрах специальных функций. Дайте краткую характеристику системы команд х51-совместимых МК. Какие особ RISC МК вам известны? Приведите структурную схему типичного устройства на базе МК. Поясните принцип подключения дополнительных БИС. 31