|
Т. Ремизевич
Микроконтроллеры семейства HC08 фирмы MOTOROLA
B предыдущих номерах журнала значительное внимание уделено 8-разрядным микроконтроллерам (МК) семейства 68HC705 компании MOTOROLA. Столь пристальный интерес обусловлен началом реализации в России программы “NO EXQUSES” (“Никаких извинений”), которая предусматривает резкое снижение цен на 8-разрядные однократнопрограммируемые МК с одновременным сокращением сроков поставки, а также доступность средств отладки и программирования этих МК. Рассмотренные модели МК семейства 68HC705 составляют лишь первый этап программы “NO EXQUSES”. На втором этапе, который должен быть реализован в течение 1999 года, фирма MOTOROLA предлагает модели МК нового семейства HC08 с FLASH-памятью программ. Статья знакомит читателя с микроконтроллерами семейства HC08 и перспективами его развития.
Общая характеристика МК семейства НС08
Hовое семейство МК HC08 продолжает на современном уровне технологии концепцию “заказных” МК, которую выдвинула и успешно воплощает в рамках семейства HC05 фирма MOTOROLA. Семейство HC08 проектируется для массового использования в различных областях и должно прийти на смену семейству HC05. Семейство HС08 анонсировано как “новый промышленный стандарт” фирмы MOTOROLA.
Отличительные особенности и направления развития семейства HC08:
- Высокопроизводительное 8-разрядное АЛУ. Увеличение производительности достигается повышением частоты обмена внутренней шины до 8,4 МГц, совмещением цикла исполнения и цикла выборки следующей команды, введением специальных команд просмотра таблиц и организации циклов, расширением числа способов адресации операндов. Указанные меры позволили повысить производительность центрального процессора HC08 в 6 раз по сравнению с процессором семейства HC05.
- Программная совместимость “снизу вверх” на уровне исходного текста с процессорным ядром семейства HC05.
- Закрытая архитектура. МК содержат на кристалле резидентное ПЗУ программ; режим адресации внешней памяти у большинства моделей отсутствует.
- Переход к FLASH-технологии для ПЗУ программ пользователя. Для большинства типов МК проектируется создание трех моделей с возможностью замены “корпус в корпус”. Эти МК полно-стью идентичны по функциональному составу и различаются только технологией занесения информации в ПЗУ программ (maskROM, EPROM, FLASH). Причём, в первую очередь в производство “запускаются” модели с FLASH-памятью программ.
- Интеграция на кристалле МК трёх типов памяти: памяти программ (maskROM, EPROM, FLASH), оперативной памяти данных (статическое ОЗУ) и энергонезависимой памяти данных (ЕЕPROM), которая программируется и стирается в рабочем режиме МК под управлением программы пользователя без подключения дополнительных источников питания.
- Структура устройства управления центрального процессора и периферийных модулей предусматривает возможность реализации режима прямого доступа к памяти (ПДП) при передаче данных между регистрами данных периферийных модулей (АЦП, последовательных портов ввода/вывода и т. д.) и памятью МК. Режим ПДП позволяет повысить производительность с 6 до 8 раз по сравнению с HC05. Модуль контроллера ПДП уже имеется в библиотеке периферийных модулей семейства.
- Библиотека периферийных модулей имеет расширенный набор контроллеров последовательного обмена. Кроме стандартных для МК фирмы Motorola портов асинхронного SCI и синхронного SPI обмена, разработан контроллер для работы в промышленных сетях с протоколом msCAN, проектируется создание контроллеров для перспективной шины вычислительной техники USB и контроллеров, обеспечивающих обмен с протоколом J1850.
- Существенно улучшены возможности отладки МК: встроенный монитор и специальный порт позволяют производить отладку прикладных программ без использования схемных эмуляторов, что значительно снижает цену средств разработки. Кроме того, в составе семейства появилась серия HC908GPxx, которая имеет не только встроенный монитор, но и драйвер программирования FLASH-памяти программ, что предоставляет возможность отлаживать ПО непосредственно на рабочей плате только при помощи компьютера без дополнительных дорогостоящих средств отладки.
- Специальные схемотехнические решения повышают надёжность работы МК в условиях электромагнитных помех и неблагоприятной внешней среды.
Каждый МК семейства HC08 содержит на кристалле центральный процессор (ядро HC08), резидентную память двух или трёх типов (ПЗУ программ, ОЗУ данных, энергонезависимую память данных типа EEPROM), модуль системной интеграции, модуль формирования тактовой частоты, устройства для повышения надёжности функционирования МК, модуль встроенной отладки и некоторый набор периферийных устройств (рис. 1).
Рис. 1. Структурная схема МК MC68HC908GP20
Модуль системной интеграции SIM08 совместно с модулем формирования тактовой частоты CGM08 выполняют следующие функции:
- осуществляют программное управление тактовой частотой с использованием блока ФАПЧ;
- формируют внутреннюю тактовую частоту для центрального процессора и встроенных подсистем (таймеров, последовательных интерфейсов, контроллера ПДП, сторожевого таймера и т. д.);
- осуществляют обработку и арбитраж внутренних и внешних аппаратных и программных прерываний и запросов на ПДП, формируют вектора прерываний и сброса;
- управляют ресурсами в режимах пониженного потребления и останова.
Устройства повышения надёжности функционирования МК включают: сторожевой таймер, систему мониторинга напряжения питания с формированием сигнала сброса при включении напряжения питания и при его снижении до уровня неработоспособности МК, систему контроля неправильного кода команды или формирования адреса несуществующей ячейки памяти с генерацией раздельных векторов сброса.
МК семейства имеют объединённое адресное пространство памяти программ, данных и регистров специальных функций периферийных модулей (рис. 2), и как следствие, полную идентичность системы команд, независимо от количества и назначения интерфейсных модулей. Большинство моделей МК семейст-ва HC08 не имеют режима адресации и выборки внешней памяти программ, то есть предназначены для использования только в однокристальном варианте.
Рис. 2. Распределение адресного пространства МК семейства HC08
Библиотека периферийных устройств МК семейства НС08 включает следующие типы модулей:
- параллельные порты ввода/вывода с возможностью индивидуальной настройки направления передачи каждой линии (PA…PH);
- модуль сканирования клавиатуры (KBI08);
- многорежимный таймер с подсистемами входного захвата, выходного сравнения и ШИМ (TIM08);
- таймер периодических прерываний (PIT08);
- контроллеры последовательного интерфейса связи нескольких типов (SCI08, SPI08, msCAN08);
- контроллер прямого доступа к памяти (DMA08);
- многоканальный АЦП (ADC08);
- контроллер ШИМ-модулятора для управления преобразователями частоты электропривода (PWM08);
- контроллеры ЖК индикаторов и светодиодной матрицы.
Внутренняя магистраль адреса позволяет адресовать 64К памяти. В карту памяти (рис. 2) включены регистры специальных функций: регистры параллельных портов ввода/вывода, регистры данных и регистры управления периферийных модулей. Адреса регистров специальных функций и ОЗУ традиционно для МК фирмы MOTOROLA располагаются в верхней части карты памяти, начиная с адреса 0000h. Это связано с особенностью системы команд, которая позволяет производить операции над отдельными битами ячеек памяти, адрес которых лежит в пределах 00-0FFH. Кроме того, система команд CPU08 предусматривает вы-полнение пересылки массива в регистры данных периферийных модулей с автоинкрементированием текущего адреса байта данных в массиве. Отличительной особенностью МК семейства НС08 являются программируемые пользователем вектора прерывания и сброса, которые расположены в нижней части карты памяти в области ПЗУ.
Все МК семейства HC08 имеют три режима энергопотребления: активный режим (Run mode); режим ожидания (Wait mode); режим останова (Stop mode). Численные характеристики энергопотребления двух МК семейства НС08 представлены в табл. 1.
Таблица 1. Ток потребления МК семейства НС08 в различных режимах
Тип МК |
Режимы работы |
Run mode, мА |
Wait mode, мА |
Stop mode, мкА |
68HC908GP20 Vdd = 5B |
30 |
12 |
5 |
68HC805GP20 Vdd = 3B |
10 |
6 |
3 |
68HC908MR24 Vdd = 5B |
40 |
12 |
100 |
В активном режиме все ресурсы МК находятся в рабочем состоянии. В режиме останова полностью прекращает работу система тактирования МК: генераторы центрального процессора и периферийных модулей, включая сторожевой таймер. Возврат МК из состояния останова в активный режим осуществляется по сигналам внешних прерываний или сигналу сброса. Задержка перехода из режима останова в активный режим может быть выбрана пользователем и составляет 4096 или 32 цикла fШИНЫ МК. В режиме ожидания останавливает работу тактовый генератор центрального процессора, но продолжают работу генераторы всех периферийных модулей. Переход МК из режима ожидания в активный режим происходит по сигналам запроса внешних прерываний, прерываниям подсистемы таймера, АЦП, по-следовательных интерфейсов, по переполнению сторожевого таймера и сигналу внешнего сброса. Уровень сигналов на всех линиях вывода МК в режимах ожидания и останова сохраняется неизменным, тем, который был определён в активном режиме.
МК семейства НС08 имеют две группы исполнения по напряжению питания. К первой группе относятся МК с напряжением питания 5 В ± 10%. Вторая группа — МК с пониженным напряжением питания от 3,0 до 5,0 В, что позволяет им работать в составе переносных устройств с батарейным питанием.
Структура центрального процессора и система команд
Рис. 3. Программно-логическая модель центрального процессора МК НС08
Центральный процессор МК семейства HC08 (далее CPU08) выполняет действия над 8-разрядными операндами. Программная модель CPU08 (рис. 3) содержит 5 регистров, которые не являются частью объединённого адресного пространства, и, следовательно, для обращения к ним используются специальные команды:
- Аккумулятор (АСС) — 8-разрядный регистр, в котором хранятся операнды, результаты арифметических и логических операций.
- Индексный регистр (H:X) — 16-разрядный регистр (H — старший байт, X — младший байт), основное назначение которого — участие в формировании адреса операнда в режимах косвенной и индексной адресации. Индексный регистр может также использоваться для хранения промежуточных результатов вычислений и как источник одного из операндов в операциях умножения и деления. Система команд CPU08 предусматривает загрузку данных в индексный регистр и выполнение операций над ними как в 2-байт, так и в 1-байт форматах. В последнем случае обращение производится только к младшему байту регистра X. По сигналу сброса старший байт индексного регистра H принудительно устанавливается в 0, что обеспечивает адекватное выполнение программ, ранее написанных для семейства HC05.
- Программный счётчик (PC) — 16-разрядный регистр, содержит адрес текущей команды, либо адрес операнда, используемого в текущей команде.
- Указатель стека (SP) содержит адрес верхушки стека. В отличие от CPU05, глубина стека МК семейства HC08 ограничена только объёмом резидентного ОЗУ. Вызов подпрограммы использует 2 ячейки стека, прерывание — 5 ячеек. Следует отметить, что стремление разработчиков обеспечить полную программную совместимость с CPU05 привело к тому, что при переходе на подпрограмму прерывания CPU08 автоматически сохраняет в стеке счётчик команд, АСС, регистр Х и регистр признаков, но не сохраняет старший байт индексного регистра Н.
- Регистр признаков (CCR) — 8-разрядный регистр, содержит 6 флагов условий: переноса (C), нулевого результата (Z), отрицательного результата (N), переполнения (V), дополнительного переноса (H), бит маски прерывания (I). Особенностью флага нулевого результата Z и флага знака N является установка их после операций пересылки.
По сравнению с МК НС05 система адресации CPU08 претерпела существенное развитие. Для выборки операндов из памяти МК семейства HC08 используют следующие способы адресации:
- Неявная (операнд располагается в одном из регистров центрального процессора);
- Непосредственная (8- или 16-разрядный операнд содержится во втором и третьем байтах команды);
- Прямая (8- или 16-разрядный ад-реc операнда указан во втором и третьем байтах команды);
- Косвенная (адрес операнда указан в индексном регистре H:X);
- Индексная (адрес операнда образуется сложением содержимого индесного регистра H:X или указателя стека SP с 8- или 16-разрядным кодом смещения, который располагается во втором и третьем байтах команды);
- Косвенная с постинкрементированием (адрес операнда содержится в индексном регистре H:X, после выборки операнда содержимое H:X увеличивается на единицу);
- Индексная с постинкрементированием (адрес операнда вычисляется путём сложения содержимого индексного регистра H:X с 8-разрядным кодом смещения, после выборки операнда содержимое H:X увеличивается на единицу);
- Относительная (подобно другим МК используется только в командах условных переходов, адрес перехода по метке образуется путём сложения содержимого счётчика команд и 8-разрядного кода смещения).
Отличительной особенностью CPU08 по сравнению с хорошо известными 8-разрядными семействами HC05 и HC11 фирмы Motorola является введение в систему команд инструкций пересылок типа “память–память” с различными способами адресации.
Система команд МК включает 91 инструкцию, которые делятся на 6 традиционных групп: команды за-грузки и пересылки; арифметические команды; логические команды; команды битового процессора; команды передачи управления; команды управления режимами энергопотребления.
Первая группа включает 13 команд: команды загрузки аккумулятора АCC, индексного регистра H:X и младшего байта индексного регистра Х из памяти (LDA, LDHX, LDX), команды передачи данных из ACC, H:X, X в память (STA, STHX, STX), команды пересылки данных между регистрами центрального процессора (TAP, TAX, TPA, TSX, TXA, TXS), команду пересылки данных между двумя ячейками памяти, минуя регистры центрального процессора (MOV). Наличие последней команды вы-годно отличает процессорное ядро HC08 от его предшественника HC05. Команда MOV допускает использование 4-х способов адресации:
- MOV #data,adr — загрузить константу в прямоадресуемую ячейку памяти;
- MOV adr1,adr2 — переслать данные из одной прямоадресуемой ячейки памяти в другую прямоадресуемую;
- MOV adr,x+ — переслать данные из ячейки памяти, адрес которой указан в индексном регистре H:X, в прямоадресуемую ячейку памяти. Содержимое H:X увеличивается на 1 после пересылки;
- MOV x+, adr — переслать данные из прямоадресуемой ячейки памяти в ячейку, адрес которой указан в индексном регистре H:X. Cодержимое H:X увеличивается на 1 после пересылки.
Группа команд арифметических операций позволяет выполнять следующие действия: сложение аккумулятора с байтом памяти с учётом и без учёта переноса (ADC и ADD), вычитание байта памяти из аккумулятора (SBC и SUB), целочисленное беззнаковое умножение (MUL, сомножители расположены в регистрах АCC и Х, 2-байт произведение в H:ACC, время выполнения операции составляет 5 циклов), целочисленное беззнаковое деление (DIV, (H:ACC) — делимое, (Х) — делитель, частное расположено в АCC, остаток — в Н, делитель Х сохраняется без изменения, время выполнения операции — 7 циклов), сложение 2-байт операнда в H:X или SP с 1-байт константой (AIX, AIS), операции инкремента и декремента над содержимым АСС, Х и ячеек памяти (INC, INCA, INCX, DEC, DECA, DECX).
Группа команд логических операций включает 19 инструкций. Стандартный набор логических операций И, ИЛИ, исключающее ИЛИ (AND, ORA, EOR) дополнен командами очистки (CLR), инверсии (COM), получения дополнительного кода (NEG), проверки байта на ноль и знак (TST), поразрядного тестирования аккумулятора (BIT). Команда NSA осуществляет обмен тетрадами в байте аккумулятора, команда DAA производит стандартное преобразование десятичной коррекции. Команды сравнения выполняют вычитание 1-байт операнда из аккумулятора (CMP), регистра X (CPX), или вычитание 2-байт операнда из индексного регистра H:X (CPHX) с установкой признаков C, Z, N, V без сохранения результата вычитания. В группу логических команд входят также операции арифметических и циклических сдвигов (ASL, ASR, LSR, LSR, ROL, ROR) операндов, хранящихся в АCC, Х или ячейке памяти. Следует отметить, что все арифметические и логические команды, использующие в качестве одного из операндов содержимое ячейки памяти, предусматривают 8 способов адресации.
Команды битового процессора позволяют установить (BSET) или сбросить (BCLR) бит с указанным номером в одной из 256 ячеек первой страницы памяти МК (адреса 0000ё00FF); выполнить условный переход по значению бита (BRSET и BRCLR); установить и сбросить бит переноса и бит маски прерывания (SEC, SEI, CLC, CLI). Распределение адресного пространства МК позволяет использовать команды битового процессора для управления регистрами специальных функций периферийных модулей.
Группа команд управления включает команду безусловного перехода JMP, команды ветвления программы по различным условиям (всего 25 инструкций), команды для организации циклов (DBNZ — вычесть 1 и перейти по метке, если операнд не равен 0), специальные команды для просмотра данных в таблицах (CBEQ — сравнить содержимое аккумулятора с операндом и перейти по метке, если они равны), команды вызова (JSR) и возврата (RTS) из подпрограмм, команду программного прерывания (SWI) и команду возврата из прерывания (RTI). Команды JMP и JSR используют пять возможных способов адресации, в том числе косвенный и индексный. Множество команд условных переходов расширено до 25, присутствуют команды ветвления по условиям >, >=, <, Ј при сравнении операторов в формате как со знаком, так и без него. Инструкция немаскируемого прерывания SWI позволяет под управлением программы передать управление в начало или даже в середину какой-либо подпрограммы прерывания. Последнее исключает повторение отдельных модулей программного кода.
Команды управления режимами WAIT и STOP переводят МК в один из двух режимов пониженного энергопотребления.
Все команды имеют 1-, 2- или 3-байт формат. Команды выполняются за 2...5 циклов тактовой частоты процессора (за исключением команды деления). Максимальное значение частоты внутренней шины составляет fШИНЫ = 8,0 МГц для кристаллов с напряжением питания 5,0 В и fШИНЫ = 4 МГц для моделей МК с напряженим питания 3,0 В (МК семейства 908AZxx 908GPxx допускают fШИНЫ = 8,4 МГц).
Периферийные модули МК семейства НС08
К семейства HC08 выполнены на основе модульной технологии, которая подразумевает создание постоянно пополняемой библиотеки периферийных модулей. Основные характеристики уже реализованных модулей приведены ниже.
Порты ввода/вывода. Реализованные в настоящее время МК семейства HC08 имеют от 10 до 48 линий ввода/вывода, которые объединены в 8-разрядные параллельные порты PA, PB,…, PH. Большинство портов обеспечивает двунаправленный обмен, однако порты могут быть специфицированы только на ввод или только на вывод. Направление передачи каждой линии двунаправленных портов определяется посредством программной инициализации, независимо от направления передачи других линий этого же порта. Система команд предусматривает возможность работы с данными порта как в байтовом формате, так и обращение к отдельным линиям портов с использованием команд битового процессора. Большинство линий портов имеют так называемую альтернативную функцию: линии становятся входами или выходами периферийных модулей, если в результате инициализации эти модули вступают в работу. Типовая нагрузочная способность линии порта составляет I0 = 1,6 мА при низком логическом уровне на выходе и I1 = 2,0 мА при высоком выходном напряжении. Однако, некоторое число линий имеет повышенную нагрузочную способность до ± 15 мА (иногда ± 25 мА).
Модуль сканирования клавиатуры KBI08 переопределяет до 8 линий ввода/вывода как входы для приёма внешних запросов на прерывание при изменении уровня сигнала на входе с высокого на низкий. Подсоединение к каждой линии отдельной клавиши, либо построение типовой матричной схемы опроса клавиатуры с присоединением выходов матрицы к линиям модуля KBI08 позволяет распознать нажатие клавиши в процессе выполнения любой программы без дополнительных затрат времени.
Модуль программируемого таймера TIM08 представляет собой многоканальный процессор событий с 16-разрядной временной базой. Двоичный счётчик модуля TIM08 имеет возможность программного управления временной базой при помощи функций останова и сброса, счётчик может тактироваться внутренним генератором с программируемым делителем частоты:
fTIM = fШИНЫ /KTIM ,
где KTIM = 1, 2, 4, 8, 16, 32, 64.
Имеется возможность тактирования внешним генератором с частотой не более 4 МГц. Важно отметить, что при использовании низкочастотных кварцевых резонаторов для тактирования МК, разрешающая способность счётчика таймера модуля TIM сохраняется. Каждый канал модуля TIM содержит подсистемы входной фиксации IC, выходного сравнения OC и 16-разрядного ШИМ модулятора. Программная инициализация позволяет назначить каждому каналу одну из трёх названных функций. Модуль TIM08 спроектирован таким образом, что число каналов, подключённых к одной временной базе, может быть доведено до 8. В настоящее время реализованы модули TIM08 с 1, 2, 4 и 6 каналами. Пары каналов могут быть объединены для организации буферированного выходного сравнения или буферированной ШИМ.
Модуль прямого доступа к памяти DMA08 обеспечивает высокоскоростной обмен между памятью и внешними устройствами без участия процессора. DMA08 обеспечивает обмен блоками до 256 байт в режимах “память–память”, “УВВ–память” и “память–УВВ”. Каждому из трёх независимых каналов ПДП назначается адрес приёмника и передатчика и способ изменения алреса после передачи каждого байта (инкремент, декремент или прежнее значение). Контроллер имеет режим автозагрузки параметров инициализации, а также систему распределения приоритетов при возникновении одновременно двух или трёх запросов на ПДП. DMA08 предоставляет возможность задавать предельную часть времени, занимаемую ПДП: 25, 50, 67 или 100%. Практические исследования показали, что использование модуля DMA08 даёт выигрыш по производительности до 5 раз в задачах пересылки массива из памяти в память, и до 7 раз при пересылках из последовательного порта в память.
Модуль последовательного периферийного интерфейса SPI08 (Serial Peripheral Interface) предназначен для высокоскоростного обмена между МК и периферийными микросхемами, такими как АЦП и ЦАП, FLASH-память большой информационной ёмкости, часы реального времени. Данный интерфейс может быть также использован для обмена между двумя МК, расположенными на небольшом расстоянии. Достоинством синхронной последовательной приёмо/передачи с использованием протокола SPI является полный дуплексный обмен данными, что в случае необходимости позволяет реализовать экономичную потенциальную развязку между приёмником и передатчиком. Модуль SPI семейства HC08 обладает следующими характеристиками:
Модуль связного коммуникационного интерфейса SCI08 (Serial Communication Interface) обеспечивает стандартный асинхронный формат приёма/передачи данных с одним стартовым и одним стоповым битом и длиной информационного слова в 8 или 9 бит. Частота обмена программируется в соответствии с формулой:
fSCI = fШИНЫ/64 x K1SPI x K2SPI,
где K1SPI = 1, 3, 4, 13; K2SPI = 2n; n = 1...7.
Следует отметить, что в отличие от МК с ядром Intel 8CX51/52/55, которые для задания скорости обмена используют один канал таймера, модуль SCI МК HC08 не использует ресурсы модуля таймера для этих целей. Такой подход, с одной стороны, имеет преимущество по экономии использования ресурсов МК, однако, с другой стороны, не позволяет задать произвольное соотношение между частотой обмена и собственной частотой кварцевого резонатора генератора синхронизации МК. Последнее накладывает ограничения на выбор частоты кварцевого резонатора, если скорость обмена в разрабатываемом устройстве должна соответствовать стандартному ряду. Модуль SCI HC08 способен обеспечить максимальную скорость стандартного ряда в 76800 бод. Модуль позволяет раздельно маскировать работу приёмника и передатчика, генерирует запросы на прерывание с раздельными векторами или запросы на прямой доступ к памяти по завершению приёма очередного байта или по окончанию передачи байта. Модуль имеет встроенные функции распознавания адреса приёмника для работы в локальной сети. Аппаратные средства приёмника позволяют распознать наличие помехи на линии, в этом случае формируется запрос на прерывание.
Модуль аналого-цифрового преобразователя ADC08. В состав библиотеки входят два модуля аналого-цифрового преобразователя. Специализированный МК для управ-ления преобразователями частоты PC68HC908MR24 и планируемый к выпуску МК для управления режимами аккумулятора MC68HC908DX16 содержат в своем составе модуль 10-разрядного АЦП. Для МК общего применения (табл. 2) разработан модуль АЦП с разрешением в 8 разрядов. Каждый тип модуля АЦП содержит коммутатор аналоговых сигналов, что позволяет преобразовывать в двоичный код сигналы нескольких датчиков, непосредственно подключаемых ко входам МК. Структура устройства управления АЦП позволяет иметь коммутатор с максимальным числом входов, равным 16. В различных моделях МК реализованы АЦП с 4, 8, 10 и 12 аналоговыми входами. Выбор канала измерения осуществляется только под управлением программы путём записи в регистр режима соответствующего кодового слова. Автоинкрементирование кодового слова после очередного измерения не предусмотрено. Схемотехника АЦП предусматривает использование внешнего источника опорного напряжения, для подключения которого предназначены выводы VREFH и VREFL. Максимальное значение напряжения источника опорного напряжения равно напряжению источника питания МК. Измеряемое напряжение должно находиться в диапазоне (VREFH – VREFL). Модуль АЦП PC68HC908MR24 имеет минимальное время преобразования 17 мкс, которое может быть увеличено программными средствами до 34 мкс. Погрешность полной шкалы этого АЦП составляет 4 единицы младшего разряда. Блок управления позволяет реализовать как однократный запуск АЦП на измерение под управлением программы, так и многократный автоматический перезапуск по окончании измерения. Модуль АЦП формирует запрос на прерывание или запрос на прямой доступ к памяти при установке триггера готовности данных.
Таблица 2. Структура МК семейства НС08
Тип МК Корпус/Uпит |
Резидентная память |
Линии вв./выв. |
Таймер |
Посл. интерфейс |
АЦП |
Примечание |
XC68HC08Z0 100LQFP/5V |
1 K RAM 512 EEPROM |
48 |
16 бит, 4 канала 16 бит, 2 канала IC/OC/PWM COP |
SCI SPI msCAN |
8 каналов 8 бит |
Резидентная память программ отсутствует. Имеет внешнюю шину адрес/данные и линии "chip select" для страничной адресации. |
XC68HC08AZ32 44QFP/5V |
20 K maskROM 1K RAM 512 EEPROM |
48 |
16 бит, 4 канала 16 бит, 2 канала IC/OC/PWM COP |
SCI SPI msCAN |
8 каналов 8 бит |
|
XC68HC908AZ60 64QFP/5V |
60 K FLASH 2 K RAM 1 K EEPROM |
48 |
16 бит, 4 канала 16 бит, 2 канала IC/OC/PWM COP |
SCI SPI msCAN |
15 каналов 8 бит |
|
XC68HC908GP20 40DIP/44QFP 5V/3V |
20 K FLASH 512 RAM |
33 |
16 бит, 2 канала 16 бит, 2 канала IC/OC/PWM COP |
SCI SPI |
8 каналов 8 бит |
МодульCGM обеспечивает режим тактирования 32 кГц. Режим "in circuit programmable". Выпуск: 2 кв. 1999 г. |
XC68HC08LN56 144LQFP 5V/3.3V |
56 K maskROM 1280 RAM |
42 |
16 бит, 4 канала IC/OC/PWM COP |
SCI SPI |
4 каналa 8 бит |
Контроллер ЖКИ 40х32 |
PC68HC908JL3 16DIP/28SOIC 5V/3V |
4 K FLASH 128 RAM |
23 |
16 бит, 2 канала IC/OC/PWM COP |
нет |
12 каналов 8 бит |
Выпуск: 3 кв. 1999 г. |
PC68HC908KX6 16DIP/16SOIC 5V |
6.5 K FLASH 192 RAM |
14 |
16 бит, 1 канал 16 бит, 1 канал IC/OC/PWM COP |
SCI |
4 каналa 8 бит |
Версия с RC-генератором синхронизации. Выпуск: 4 кв. 1999 г. |
PC68HC908MR24 64QFP/5V |
24 K FLASH 512 RAM |
44 |
16 бит, 4 канала 16 бит, 2 канала IC/OC/PWM COP |
SCI SPI |
10 каналов 10 бит |
Специальный модуль PWM08 для управления ПНЧ. Выпуск: 4 кв. 1999 г. |
PC68HC908DX16 64QFP/3V |
16 K FLASH 512 RAM 512 EEPROM |
35 |
16 бит, 2 канала IC/OC/PWM COP |
SCI I2C |
4 каналa 10 бит |
Специальный модуль TDM для слежения за разрядом батареи. Выпуск: 4 кв. 1999 г. |
Модификации МК семейства НС08
B настоящее время семейство насчитывает 8 МК (табл. 2), в ближайшее время предполагается выпуск 10 новых моделей МК. МК семейства объединены в серии. Каждая серия имеет буквенное обозначение: HCx08AZxx, HCx08GPxx, HCx08KXxx. МК, принадлежащие к одной серии, имеют одинаковый или очень близкий набор периферийных модулей, но различаются объёмом встроенной памяти. Тип памяти программ указан в позиции “х”: 7 — однократно программируемое ПЗУ (OTP), 9 — многократно программируемое с электрическим стиранием FLASH ПЗУ, если символ отсутствует — резидентное ПЗУ программ отсутствует вовсе или оно масочного типа (maskROM). Цифры в позиции “хх” указывают объём резидентного ПЗУ программ (табл. 2). За редким исключением, все МК одной серии имеют одинаковое число выводов и выпускаются в одинаковых корпусах, что обеспечивает замену типа “корпус в корпус” при наращивании объёма программного кода.
Наибольшее развитие в настоящее время получила серия AZ. Это обусловлено наличием в составе семейства контроллера локальной промышленной сети msCAN, которая приобретает всё большее распространение. Следует обратить внимание, что модель XC68HC08AZ0 предназначена для использования с внешним ПЗУ программ. Схемотехника модуля внешней шины этого МК позволяет адресовать память, превышающую 64К. Кроме очевидного преимущества по объёму кода прикладной программы, данная модель позволяет организовать недорогой отладочный стенд с использованием эмулятора ПЗУ. В планах развития данной серии планируется создание ряда AZ0, AZ16, AZ24, AZ32, AZ60. Аналогичный ряд МК планируется для серии AB, в которой контроллер msCAN будет заменён контроллером J1850.
МК серии AZ и AB представляют собой high-end семейства HC08: предельно реализуемая для CPU08 резидентная память и широкий набор периферии. К “среднему классу” следует отнести нарождающееся семейство GP с его первым представителем XC68HC908GP20. Встроенный монитор отладки дополнен драйвером программирования FLASH-памяти, что делает МК серии in circuit programmable, то есть программируемыми на плате разработанного устройства без использования специального программатора. Такой подход не требует дополнительных затрат на средства отладки, что в сочетании с производительностью CPU08 и хорошим набором периферийных модулей делает эту серию чрезвычайно перспективной.
Low-end семейства HC08 представлен пока всего двумя моделями: выполненными в корпусах DIP16 68HC908KX6 и 68HC908JL3. МК 68HC908KX6 — идеальная элементная база для построения несложных систем сбора данных. Этот МК объединил в одном корпусе 8-разрядный АЦП с 4-канальным коммутатором, два 1-канальных модуля таймера TIM08, которые позволяют производить измерения с привязкой к внешним сигналам синхронизации или через определённые интервалы времени, ОЗУ для накопления некоторой последовательности отсчётов и процессорное ядро для обработки результатов измерений. Пересылка результатов измерений может быть выполнена средствами последовательного интерфейса SCI. Спектр применения МК 68HC908JL3: устройства локального управления, не требующие сопряжения с управляющим устройством верхнего уровня.
Кроме МК общего применения, в состав семейства уже включены два специализированных контроллера: PC68HC908MR24 для управления преобразователями частоты электропривода и другими типами устройств силовой электроники, и МС68HC908DX16 для интеллектуального управления встроенными аккумуляторами переносных приборов. Разработаны МК для управления компьютерной периферией на основе перспективной шины USB: 68HC708KL8, 68HC708KHL12, 68HC708JB6 и 68HC708BD64.
|