Модуль III. Микроконтроллеры и специализированные микропроцессоры 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Модуль III. Микроконтроллеры и специализированные микропроцессоры



 

Микроконтроллеры. 8-разрядные микроконтроллеры. 16- и 32-разрядные микроконтроллеры. Структурная организация. Построение микропроцессорной системы на базе микроконтроллеров. Особенности программирования.

 

Разрядные микроконтроллеры

Фирма Motorola предлагает самую широкую в мире номенклатуру микроконтроллеров, охватывающую практически все области применения и включающую в себя около 300 моделей: от простейших дешевых до высокопроизводительных 32-разрядных микроконтроллеров с RISC-ядром и мощной периферией. Как следствие, пользователь имеет возможность выбрать для своего приложения оптимальную модель микроконтроллера как по набору встроенных функций, минимизируя число компонентов в системе, так и по экономическим параметрам, соответствующим объему и особенностям производства.

Второй важной особенностью микроконтроллеров (и остальной продукции) фирмы Motorola является их высокое качество и надежность. Являясь традиционным поставщиком военно-промышленного и аэрокосмического комплексов, а также автомобильной промышленности США, предъявляющих повышенные требования к надежностикомпонентов, фирма Motorola выработала и продолжает развивать специальную программу повышения качества продукции. Заслуги фирмы в этой области отмечены национальной наградой США «за высшее качество продукции», а также многочисленными наградами фирме как лучшему поставщику от таких крупных компаний, как General Motors, Ford, Chrysler, Bosch и др.

Семейство HC05. Семейство HC05 содержит наибольшее количество модификаций микроконтроллеров (около 180), поскольку это семейство в немалой степени формировалось крупными потребителями фирмы Motorola, заказывающими разработку микроконтроллеров нужной конфигурации под свою конкретную продукцию. Поэтому семейство HC05 иногда называют семейством «заказных» микроконтроллеров.

Областями применения семейства HC05 являются самые разнообразные устройства связи, автомобильной и бытовой электроники, промышленного управления, компьютерной периферии.

Все микроконтроллеры этого семейства имеют одинаковое 8-разрядное процессорное ядро, основанное на популярной процессорной архитектуре 6800, и отличаются набором периферийных функций. Это означает, что применение любого микроконтроллера этого семейства открывает пользователю возможность использовать приобретенный опыт при создании новых устройств как с применением других микроконтроллеров из обширного семейства HC05, так и на основе более производительного, но программно совместимого семейства HC08.

В состав семейства HC05 входят: ПЗУ всех типов, ОЗУ, таймеры, АЦП, ШИМ, контроллеры ЖКИ и других дисплеев, последовательные интерфейсы и многие другие устройства. Все представители семейства HC05 имеют версии с пониженным питанием и расширенным температурным диапазоном и выпускаются в самых разнообразных корпусах.

Семейство HC08. Семейство HC08 является следующим шагом в развитии заказных микроконтроллеров фирмы Motorola для массовых приложений и характеризуется повышенной в 5-10 раз производительностью процессорного ядра, совместимого по системе команд с ЦПУ HC05. Семейство HC08 поддерживает дополнительные эффективные команды и методы адресации, а также такие ногвые функции, как прямой доступ к памяти, технология «нечеткой логики» и элементы цифровой обработки сигналов.

При этом полностью статическое процессорное ядро оптимизировано для работы с пониженным напряжением питания и позволяет гибко управлять потреблением с помощью встроенного синтезатора тактовой частоты. Семейство HC08 является первым 8-разрядным семейством с определяемой пользователем архитектурой на базе набора стандартных модулей, что значительно ускоряет цикл разработки нового заказного микроконтроллера.

Набор модулей в настоящее время включает в себя различные типы ПЗУ и ОЗУ, таймеры, последовательные интерфейсы, АЦП, контроллер ЖКИ, контроллер ПДП, силовые и высоковольтные ключи и т.д.

Первые представители этого семейства появились в 1994 г., в настоящий момент в состав семейства входят около 20 моделей. Новая программа «Заказной микроконтроллер за 7 дней», введенная фирмой Motorola в 1996 г., позволила радикально сократить цикл разработки новых микроконтроллеров семейства HC08, что безусловно приведет к его динамичному развитию.

Семейство HC11. В отличие от относительно специализированных микроконтроллеров «заказных» семейств семейство МС68НС11 содержит набор примерно из 40 более универсальных и высокопроизводительных микроконтроллеров, ориентированных как на массовые рынки, так и на среднее и мелкое производство. Процессорное ядро микроконтроллеров этого семейства имеет повышенную производительность, отличается от НС05 более эффективной архитектурой, системой команд, наличием дополнительных методов адресации и возможностью адресовать больший объем внешней памяти. Микроконтроллеры семейства НС11 содержат встроенную память различных типов и конфигураций.

Периферийные функции представлены многофункциональными таймерами, АЦП (до 12 каналов и 10 разрядов), встроенным сопроцессором, ускоряющим выполнение умножения и деления на порядок, ШИМ и ЦАП; последовательными интерфейсами, контроллером ПДП, синтезатором тактовой частоты и другими функциями. Как и в других семействах, имеется большое разнообразие корпусов, а также версии с пониженным напряжением питания и расширенным температурным диапазоном.

Процессор и система команд семейства HC05. Процессор семейства HC05, отличающееся простотой и удобством программирования, имеет стандартную внутреннюю тактовую частоту 2 Мгц, для некоторых МК существуют версии с тактовой частотой 4 Мгц (цикл команды 250 нс). Программная модель процессора содержит 5 регистров (рис. 54), которые не являются частью карты памяти.

 

 

Рис. 54 – Программная модель микроконтроллера семейства HC05

 

Аккумулятор (АСС) – это 8-битный регистр общего назначения, в котором хранятся операнды, результаты арифметических операций, а также данные, с которыми производятся какие-либо операции. Аккумулятор используется также и для логических операций.

Индексный регистр (Х) используется либо при индексном режиме адресации, либо как вспомогательный аккумулятор. Этот регистр может быть загружен как непосредственно, так и из памяти, может быть сохранен в ячейке или сравнен с ее содержимым.

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

Указатель стека (SP) содержит адрес следующей (свободной) ячейки стека. Глубина стека МК семейства HC05 составляет 64 байта. Вызов подпрограммы использует 2 ячейки стека, прерывание – 5 ячеек.

Регистр признаков (СС) содержит 5 флагов, устанавливающихся в зависимости от результата выполнения арифметических и других операций. Этими флагами являются: флаг полупереноса (Н), флаг отрицательного результата (N), флаг нулевого результата (Z), бит прерываний (I) и флаг переноса (С).

Система команд микроконтроллера включает в себя 65 команд, делящихся на следующие группы:

1) команды перемещения данных (LDA, STA, CLR, LDX, STX...);

2) команды передачи управления (JMP, JSR, RTI, переходы по условиям и битам, …);

3) арифметические команды (ADD, SUB, MUL,...);

4) логические команды (AND, OR, COM, NEG,...);

5) команды работы с битами (BSET, BCLR, сдвиги,...);

6) специальные команды (WAIT, STOP, SWI,...).

Команды МС68НС05 выполняются, как правило, за 2...5 циклов внутренней тактовой частоты, что составляет 1...2,5 мкс при стандартной внутренней тактовой частоте 2 Мгц.

Микроконтроллеры семейства МС68НС05 используют восемь режимов адресации: неявная, непосредственная, прямая, расширенная, индексная без смещения, индексная с 8-разрядным смещением, индексная с 16-разрядным смещением, относительная.

Встроенная память МК семейства НС05. Встроенная память микроконтроллера семейства НС05 может включать в себя ПЗУ (масочное, однократно программируемое, программируемое с УФ-стиранием, программируемое с электрическим стиранием) и ОЗУ объемом до 768 байт.

В карту памяти включены регистры портов параллельного ввода/вывода (причем, как правило, эти адреса одинаковы для всех моделей семейства), а также адреса управляющих регистров и регистров данных периферийных устройств (таймера, последовательного интерфейса и т.д.). Область загрузочного ПЗУ является масочной и позволяет осуществлять «самозагрузку» данных во встроенную память (включая программирование ППЗУ) через параллельные или последовательные порты. Наконец, векторы прерываний, располагающиеся в ППЗУ, определяют адреса переходов по прерываниям от периферийных подсистем (таймера, последовательных интерфейсов, вывода внешнего прерывания) и в других случаях (RESET, программное прерывание).

Встроенные подсистемы МК семейства НС05. Ниже приведено описание некоторых встроенных подсистем, встречающихся в наибольшем количестве микроконтроллеров семейства НС05.

Основу блока таймера составляет 16-битный счетчик с предделителем, имеющий возможность формировать прерывание по переполнению и синхронизируемый внутренней тактовой частотой, деленной на 2.

Большинство микроконтроллеров семейства содержат также связанные со счетчиком подсистемы входной фиксации (IC) и выходного сравнения (ОС). Система IC служит для обработки временных параметров внешних сигналов и позволяет записывать в регистр IC содержимое счетчика при перепаде уровня внешнего сигнала, с выдачей соответствующего прерывания или установкой флага. Система ОС предназначена для генерации импульсного сигнала с программируемыми временными параметрами и позволяет выдавать в линию порта "0” или “1” в момент равенства содержимого счетчика и содержимого регистра ОС. В наиболее простых моделях семейства функции IC и ОС могут отсутствовать и заменяться прерываниями реального времени (RTI) с программируемым интервалом между прерываниями. Еще одной важной системой, связанной с таймером, является система слежения за выполнением программы (COP WatchDog). Эта система формирует RESET, если периодически с определенным промежутком времени не будет произведена запись в специальный регистр.

Последовательный интерфейс связи SCI представляет собой полнодуплексный асинхронный приемопередатчик и может быть использован для связи с терминалом, ПЭВМ (например, RS-232) или другими микроконтроллерами. Встроенный генератор частоты обмена позволяет делить внутреннюю тактовую частоту с получением 32 стандартных частот обмена - от 37,56 бод до 125 кбод. SCI также поддерживает такие функции, как программируемая длина посылки, выходы из режима ожидания приемника по свободной линии или адресному маркеру, отдельное разрешение приемника и передатчика, обнаружение ошибки кадра и шума в линии (с временным разрешением 1/16 бита). SCI может формировать пять видов прерываний (или устанавливать пять флагов) по следующим условиям: «регистр данных передатчика пуст», «передача завершена», «регистр данных приемника заполнен», «приемник переполнен» и «линия приема свободна».

Последовательный периферийный интерфейс SPI используется для синхронной передачи информации в последовательном коде на меньшие расстояния, но со значительно большей скоростью. SPI позволяет микроконтроллеру взаимодействовать с различными периферийными устройствами, от сдвигового регистра до подсистемы ЖКИ дисплея или внешнего АЦП. SPI поддерживает следующие функции: полный дуплекс; режим ведущего и ведомого; четыре программируемые тактовые частоты до 1,05 Мгц с программируемой полярностью и фазой; флаг прерывания по окончании передачи; защита от конфликтов на магистрали.

Аналого-цифровой преобразователь производит преобразование внешнего напряжения в диапазоне от Vss (нижнее опорное напряжение, подключаемое к общей шине) до Vrh (верхнее опорное напряжение) в 8-разрядный код от $00 до $FF, соответственно. АЦП использует метод последовательных приближений, процесс преобразования занимает 32 цикла внутренней тактовой частоты (16 мкс при 2 Мгц). При тактовой частоте меньшей, чем 1 Мгц, используется встроенный RC-генератор частоты для АЦП (1,5 Мгц). Встроенный мультиплексор позволяет проводить преобразование по одному из внешних аналоговых входов (до 8), а также измерять Vss, Vrh, (Vrh+Vss)/2 для проведения контроля и юстировки. Подсистема АЦП содержит регистр управления (задает режим работы и запуск преобразования), регистр статуса (содержит флаг окончания преобразования) и регистр данных (результат преобразования).

Семейство НС08 является следующим шагом в развитии концепции заказных микроконтроллеров фирмы Motorola для массовых приложений, получившей заслуженное признание у пользователей во всем мире. Основными движущими силами возникновения нового заказного семейства явились необходимость повышения производительности ЦПУ, а также резкого сокращения цикла разработки нового заказного микроконтроллера. Разработанное для удовлетворения этих потребностей рынка семейство НС08 характеризуется повышенной в 5-10 раз производительностью процессорного ядра, совместимого по системе команд с ЦПУ НС05. Семейство НС08 поддерживает дополнительные эффективные команды и методы адресации, а также такие новые функции, как прямой доступ к памяти, технология «нечеткой логики» и элементы цифровой обработки сигналов. Одной из важных особенностей семейства НС08 является то, что все модели адресуют внешнюю память, что существенно упрощает отладку программ. Полностью статическое процессорное ядро оптимизировано для работы с пониженным напряжением питания и позволяет гибко управлять потреблением с помощью встроенного синтезатора тактовой частоты. Семейство НС08 является первым 8-разрядным семейством с определяемой пользователем архитектурой на базе набора стандартных модулей, что значительно ускоряет цикл разработки нового заказного МК.

Ниже кратко рассмотрены особенности некоторых модулей, входящих в состав микроконтроллеров семейства НС08.

Особенности центрального процессора (CPU08):

1) тактовая частота 8 Мгц (цикл 125 нс);

2) 16-разрядные: индексный регистр, программный счетчик и указатель стека;

3) аппаратная поддержка ПДП, точек останова;

4) быстрые операции умножения и деления;

5) 64К байт адресуемой памяти с возможностью расширения;

6) полностью статическая архитектура, низкое потребление, пониженное питание.

Модуль прямого доступа к памяти (DMA08) обеспечивает скоростной обмен между памятью и внешними устройствами без участия процессора. DMA08 может обслуживать последовательный интерфейс (прием и передача), таймер либо обеспечивать передачу блоков данных до 256 байт. Каждому из трех независимых каналов назначается адрес источника данных, адрес приемника данных и схема изменения адреса после каждой передачи (инкремент, декремент или прежнее значение). Специальный режим позволяет проводить автоматическую реинициализацию параметров ПДП после окончания пересылки. DMA08 дает возможность задавать предельную часть времени, занимаемую ПДП: 25, 50, 67 или 100%, а также распределять приоритеты прерываний, обрабатываемых ПДП и ЦПУ, что позволяет сбалансировать их взаимодействие. Практические исследования показали, что использование ПДП дает выигрыш по производительности до 5 раз при пересылке массива из памяти в память и до 7 раз при пересылке из последовательного порта в память. Варианты использования DMA08 практически безграничны: например он может быть задействован для автоматической инициализации регистра таймера при генерации ШИМ или для обновления информации на ЖКИ, подключенном через синхронный последовательный порт.

Модуль таймера (TIM08) представляет собой гибкое устройство для решения разнообразных задач, связанных с обработкой временных интервалов. Таймер выпускается в различных модификациях и может иметь до 2, 4 или 6 независимых каналов, каждый из которых содержит 16-битный счетчик с программируемым предделителем, регистры входной фиксации, выходного сравнения и ШИМ.

Счетчики TIM08 отличаются от счетчиков HC05 возможностью подстройки временной базы с помощью функций останова и сброса, а также возможностью внешнего тактирования. Пары каналов таймера могут быть объединены для организации буферированного ШИМ.

Модули последовательного обмена представлены универсальным асинхронным интерфейсом (SCI08), скоростным синхронным интерфейсом (SPI08), а также специализированными последовательными интерфейсами MSCAN08 и BDLC08, применяемыми в автомобильных системах и системах промышленного управления.

Основными функциями модуля системной интеграции (SIM08) являются:

1) формирование внутренней тактовой частоты для ЦПУ и встроенных подсистем (таймера, последовательных интерфейсов и т.д.);

2) обеспечение совместно с модулем формирователя тактовой частоты (CGM) режимов пониженного энергопотребления STOP и WAIT, а также программное управление тактовой частотой с помощью ФАПЧ;

3) управление прерываниями и RESET: формирование сигнала сброса при обнаружении неправильных кодов команды и адресов, а также поступлении сигналов от модулей контроля напряжения питания и сторожевого таймера; обработка и арбитраж программных и аппаратных прерываний.

Встроенная память может состоять из масочного или программируемого ПЗУ, ЭСПЗУ (EEPROM и Flash EEPROM), ОЗУ.

Модуль управления ЖКИ-дисплеем (LCD08) позволяет подключать до 1280 сегментов ЖКИ (32 группы по 40 сегментов) и содержит внутреннее буферное ОЗУ объемом 160 байт с побитовой адресацией. Встроенный генератор накачки заряда позволяет формировать необходимые уровни напряжения на выходе драйверов, а регулировка контрастности с 8-разрядным разрешением и обратной связью поддерживает заданную контрастность во всем диапазоне рабочих напряжений.

Другие периферийные модули семейства НС08:

1) АЦП (ADC08);

2) 12-разрядный 6-канальный контроллер ШИМ (PWM08);

3) таймер периодических прерываний (PIT08);

4) модуль расширения адресации внешней памяти до 16 Мбайт (ADX08).

Семейство НС11 является одним из наиболее распространенных и популярных в мире семейств микроконтроллеров (на настоящий момент продано более 100 млн микроконтроллеров этого семейства).

В отличие от специализированных микроконтроллеров «заказных» семейств семейство НС11 содержит набор приблизительно из 40 универсальных и высокопроизводительных микроконтроллеров, ориентированных как на массовые рынки, так и на среднее и мелкое производство.

Все микроконтроллеры этого семейства содержат одинаковое 8-разрядное ЦПУ, основанное на микропроцессорной 8-разрядной архитектуре «второго поколения» (МС6809) и отличающееся повышенной производительностью, эффективной системой команд и методов адресации. Ставшая фактически промышленным стандартом архитектура НС11 поддерживается наибольшим количеством доступных отладочных средств, бесплатным программным обеспечением, многочисленными примерами применения.

Микроконтроллеры семейства НС11 содержат встроенную память различных типов и конфигураций. Периферийные функции представлены подсистемами, наиболее часто требующимися в системах встроенного управления: многофункциональными таймерами, АЦП, ШИМ, ЦАП, последовательными интерфейсами, а также контроллером ПДП, синтезатором тактовой частоты, встроенным сопроцессором, ускоряющим выполнение умножения и деления на порядок, и другими функциями. Как и в других семействах, имеются большое разнообразие корпусов, а также версии с пониженным напряжением питания и расширенным температурным диапазоном.

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

Процессор и система команд семейства НС11. Процессор семейства НС11 чрезвычайно удобен для программирования и оптимизирован по энергопотреблению и быстродействию. Наиболее характерные его особенности (рис 55):

1) два 8-битных или один 16-битный аккумулятор;

2) два 16-битных индексных регистра;

3) два программно управляемых режима пониженного энергопотребления;

4) операции умножения 8×8 и деления 16/16;

5) внутренняя тактовая частота до 4 МГц.

 

 

Рис. 55 – Программная модель микроконтроллера семейства HC11

 

Процессор некоторых моделей семейства содержит встроенный математический сопроцессор, выполняющий 16-битные операции умножения и деления в 10 раз быстрее, чем процессор. Существуют версии микроконтроллеров с программно управляемым значением тактовой частоты на основе ФАПЧ, что позволяет гибко управлять энергопотреблением в зависимости от сложности вычислительных задач. Процессор семейства НС11 поддерживает следующие режимы адресации: неявная, непосредственная, прямая, расширенная, индексная и относительная.

Система команд представлена следующими группами:

1) команды пересылки данных, связанные с аккумуляторами (LDAB (load ACC B), LDD, STAB, TAB (transfer A to B), CLRA (Clear A), PSHA (push A to stack), PULA,...);

2) команды пересылки для стека и индексных регистров (PSHX, TSX (transfer SP to X),...);

3) команды переходов (JMP, JSR (jump to subroutine), RTS (return from subroutine), переходы по условиями состояниям битов,...);

4) арифметические команды (ADD, SUB, INC, DEC, MUL, DIV, CMP, …);

5) логические команды (AND, OR, EOR, COM,...);

6) команды работы с битами (установка, сброс, проверка, сравнение, сдвиги,...);

7) специальные команды (STOP, WAI (wait for interrupt), SWI (software interrupt),...).

Встроенная память МК семейства НС11. Микроконтроллеры семейства НС11 имеют в своем составе все типы внутренней памяти, упоминавшиеся при рассмотрении семейства МС68НС05: ПЗУ (программируемое или масочное), EEPROM, ОЗУ объемом до 2К байт. Характерно, что все микроконтроллеры семейства НС11 адресуют внешнюю память, причем есть версии с немультиплексированными магистралями данных и адреса (HC11F1), а также версии с расширенным до 256К...1М адресным пространством с помощью программируемых выборок внешней памяти (НС11Кх).

Микроконтроллеры семейства НС11 функционируют в одном из трех режимов, которые определяются состоянием специальных входов в момент RESET. В однокристальном режиме программа находится во встроенном ППЗУ (или EEPROM), при этом линии всех портов доступны для ввода/вывода. В расширенном режиме возможно подключение внешней памяти программ и данных. В режиме загрузки управление после RESET передается программе, записанной в масочном ПЗУ и производящей загрузку кода, например из персонального компьютера по последовательному порту в любую область памяти (включая программирование ППЗУ и EEPROM). Примечательно, что микроконтроллеры семейства НС11 позволяют программно переназначить начало областей ОЗУ, EEPROM и регистров на границу любой области размером 4К.

Встроенные подсистемы МК семейства НС11. Многофункциональный таймер микроконтроллеров семейства НС11 имеет структуру и выполняет функции, аналогичные таймеру семейства НС05 (16-разрядный счетчик с предделителем, функции входной фиксации и выходного сравнения). Счетчик внешних импульсов, также входящий в подсистему таймера, осуществляет либо подсчет перепадов уровня на входе, либо подсчет импульсов тактовой частоты при наличии активного уровня на входе. К подсистеме таймера относится также CОР Watchdog таймер, формирующий аппаратный RESET при отсутствии обращения к нему больше установленного времени и защищающий тем самым систему от «зависаний».

Подсистема последовательного интерфейса представлена универсальным асинхронным последовательным интерфейсом SCI (от 1 до 3) и скоростным синхронным интерфейсом SPI (1 или 2), полностью аналогичным соответствующим подсистемам НС05.

Аналого-цифровой преобразователь производит преобразование внешнего напряжения в диапазоне от Vrl (нижнее опорное напряжение) в 8-разрядный код от $00 до $FF, соответственно. АЦП использует метод последовательных приближений и содержит встроенную схему выборки-хранения. Процесс преобразования занимает 16 мкс при стандартной тактовой частоте 4 Мгц. Встроенный мультиплексор позволяет проводить преобразование по одному из защищенных от перенапряжения внешних аналоговых входов (до 12), а также измерять Vrl, Vrh и (Vrh+Vrl)/2 для проведения контроля и юстировки.

Среди прочих подсистем, имеющихся в некоторых микроконтроллерах семейства НС11, можно выделить ШИМ, ЦАП, наборы силовых ключей, контроллер ЖКИ, арифметический сопроцессор и контроллер ПДП.

 



Поделиться:


Последнее изменение этой страницы: 2016-08-12; просмотров: 243; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.21.233.41 (0.043 с.)