Ремонт&Сервис
 

Новости

О нас

О журнале Р&С

Архив Р&С

номера

разделы

Анонсы Р&C

ПОКУПАЕМ от АдоЯ

Архив АдоЯ

Файловый архив

Приглашаем

Реклама

Подписка

Где купить

Наши партнеры

Поиск Р&С

ТРИЗ

Запчасти

Архив_новости

 

Журнал

Реммаркет

схемы новости электроники

Ремонт аппаратуры (схемы, справочники, документация)

 
Ежемесячный журнал по ремонту и обслуживанию электронной техники

• бытовая техника

• аудиотехника

• техника связи

• телевизионная техника

• оргтехника

• видеотехника

• телефония

• элементная база

 

Архив/Номера/№6–2006

Назад
 
 
 

Евгений Кузнецов

 
 
 

Микроконтроллеры MOTOROLA семейства MC68HC08GPххА

Микроконтроллеры семейства MC68HC08GPххА компании MOTOROLA широко используются в различной бытовой технике, в том числе и в электронных модулях стиральных машин. В этом номере журнала в разделе „Бытовая техника» опубликована статья с описанием модуля EWM1000, который используется в целой линейке стиральных машин Elektrolux и Zanussi. Основой этого модуля является микроконтроллер MC68HC08GP32А, входящий в состав этого семейства процессоров. Предлагаемый информационный материал позволит читателям более подробно ознакомиться с этим микроконтроллером — его структурой и возможностями.

Общее описание

Микросхемы MC68HC08GPххА принадлежат к классу недорогих, 8-разрядных микроконтроллеров (МК) семейства M68HC08, выпускаемых компанией MOTOROLA. Основной чертой этого семейства является то, что все входящие в него МК построены на базе одного вычислительного ядра (центрального процессора) CPU08 и отличаются большим разнообразием типов и размеров памяти, периферии и конструктивным исполнением.

Маркировка МК

Назначение групп в маркировке микроконтроллеров семейства MC68HC08GPxxAyzz следующее:

- MC — фирма-производитель (MOTOROLA);

- 68HC08 — тип МК;

- GPxxA — семейство;

- y — температурный диапазон (C: –40… +85°C, V: –40…+105°C, M: –40…+125°C);

- zz — тип корпуса (B — SDIP, 42 вывода; FB — QFP, 44 вывода).

Расположение и назначение выводов МК MC68HC08GPxxA в корпусе QFP показаны на рис. 1.

Рис. 1. Расположение и назначение выводов микроконтроллеров семейства МС68НС08GPxxA

Основные особенности МК семейства MC68HC08GPххА

Перечислим особенности МК семейства MC68HC08GpххА:

– высокопроизводительная архитектура M68HC08 оптимизирована для C-компиляторов;

– полная совместимость с объектным кодом для семейств М6805, М146805, М68НС05;

– частота внутренней системной шины составляет 8 МГц;

– тактовый генератор с системой ФАПЧ, стабилизированный кварцевым резонатором частотой от 30 до 100 кГц (в рассматриваемом варианте — 32768 Гц);

– низкое потребление питания (режимы ожидания и останова);

– механизм системной защиты с последующим сбросом (неверный код операции, неверный адрес, пониженное питание);

– встроенное ОЗУ объемом 512 байт;

– встроенное ПЗУ:

- для МК MC68HC08GP16А — объемом 15872 байт;

- для МК MC68HC08GP32А — объемом 32256 байт;

– последовательный интерфейс периферийных устройств (SPI);

– последовательный коммуникационный интерфейс (SCI);

– двухканальный 16-разрядный интерфейс таймеров с ШИМ-модулятором (TIM1, TIM2);

– восьмиканальный 8-разрядный АЦП.

Перечислим особенности вычислительного ядра CPU08:

– улучшенная программная модель НС05;

– расширенные функции контроля циклов;

– 16-разрядная адресация;

– 16-битный индексный регистр и указатель стека;

– быстрые инструкции умножения в формате 88;

– быстрые инструкции деления в формате 16/8;

– двоично-десятичные инструкции;

– оптимизация для применения в МК;

– эффективная поддержка языка С.

Функциональная схема

Функциональная схема МК семейства МС68НС08GpxxA показана на рис. 2.

Рис. 2. Функциональная схема микроконтроллеров в семействе МС68НС08GpxxA

Рассмотрим подробнее назначение основных модулей этой микросхемы.

Модуль ЦП (Central Processor Unit)

Данный модуль является основным вычислительным блоком МК. В его задачи входит обработка всей поступающей информации в соответствии с кодом программы, записанной в ПЗУ. В состав блока входит арифметико-логическое устройство (АЛУ), предназначенное для выполнения последовательности арифметических и логических операций алгоритма, а также набор регистров для хранения промежуточных данных и конечных результатов.

Модуль тактового генератора (Clock Generator Module)

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

- тактовый генератор (его частота стабилизирована внешним кварцевым резонатором), формирующий основную тактовую частоту CGMXCLK;

- система ФАПЧ, которая предназначена для генерации программно управляемой частоты CGMVCLK;

- схема выбора тактовой частоты, представляющая собой программно-управляемую цепь, выбирающую частоты CGMXCLK, CGMXCLK/2, CGMVCLK, CGMVCLK/2 или CGMOUT.

Модуль памяти (Memory Map Module)

CPU08 может адресовать до 64 кбайт адресного пространства. Карта памяти МК включает в себя следующие области:

- ПЗУ (ROM) объемом 32256 байт (для MC68HC08GP32А) и 15872 байт (для MC68HC08GP16А);

- ОЗУ (RAM) объемом 512 байт;

- векторы прерывания, определяемые пользователем (36 байт);

- контрольное ОЗУ (307 байт).

Аналого-цифровой преобразователь (8 bit Analog-to-Digital Converter Module)

Данный модуль представляет собой 8-канальный 8-битный АЦП с программируемой частотой дискретизации. Он предназначен для преобразования входного аналогового сигнала, поступающего по 8-ми внешним входам PTB7/AD7-PTB0/AD0, в цифровую форму. Мультиплексор на входе АЦП позволяет выбирать один из каналов в качестве опорного напряжения VADIN. После завершения оцифровки результат операции помещается в регистр модуля АЦП, и после этого выставляется соответствующий флаг или генерируется прерывание.

Модуль контроля работы (Computer Operating Properly)

Данный модуль представляет собой, по сути, сторожевой таймер. В его состав входит автономный счетчик, который генерирует сброс при переполнении, таким образом, помогая программе восстановить свою работу при различных сбойных ситуациях. Данный модуль можно отключить, установив бит COPD в регистре COPCTL.

Модуль внешних прерываний (Single External Interrupt Module)

Данный модуль предназначен для регистрации прерывания от внешних устройств. Каждый раз, при поступлении сигнала низкого уровня на вывод IRQ, срабатывает защелка и в МК на обработку поступает прерывание. Управляющим регистром внешних прерываний является INTSCR, здесь же можно задать программно тип сигнала (срабатывание по заднему фронту или по уровню) установкой бита MODE.

Модуль прерываний от клавиатуры (8-bit Keyboard Interrupt module)

Данный модуль поддерживает до восьми независимых маскируемых прерываний, доступных через порты PTA0-PTA7. Когда порт открыт для работы с прерыванием, например от клавиатуры, внешнее устройство становится активным. Запись определенного бита KBIE7-KBIE0 в регистре INTKBIER делает активным тот или иной вывод порта A. Регистрация прерывания происходит в том случае, когда одна из линий клавиатуры (или любого другого внешнего устройства) меняет свой уровень с высокого на низкий. Для настройки типа сигнала, по которому происходит регистрация прерывания, необходимо установить бит MODEK регистра INTKBSCR в соответствующее значение (0 — срабатывание только по переднему фронту, 1 — по заднему фронту и низкому уровню).

Модуль последовательного интерфейса (Serial Communication Interface Module)

Данный модуль предназначен для обмена данными в высокоскоростном дуплексном асинхронном режиме с внешними устройствами или другим МК. В режиме передачи данных модуль ЦП следит за текущим статусом последовательного интерфейса, подготавливает данные для передачи и обрабатывает принятые. Скорость работы модуля задается программно — установкой требуемого значения биту SCIBDSRC в регистре MOR2 (1 — тактирование от внутреннего генератора, 0 — от внешнего).

Модуль начального сброса (Power on Reset Module)

Данный модуль предназначен для инициализации МК при включении питания. При наличии положительного напряжения на выводе VDD, не превышающего значения VPOR, происходит сброс по питанию. В результате этого, по истечении 4096 тактов CGMXCL стабилизации тактового генератора, происходит запуск ЦП и остальных модулей.

Модуль временного стробирования (Timebase Module)

Данный модуль служит для периодической генерации прерываний. Частота появления прерываний вычисляется путем деления частоты внутреннего тактового генератора CGMXCLC на один из коэффициентов (8, 16, 32, 64, 128, 2048, 8192, 32768). Коэффициент деления задается программно, путем установки требуемого значения битам TBR2-TBR0 и TBMCLKSEL.

Модуль останова выполнения программы (Single Breakpoint Break Module)

Данный модуль предназначен для генерации прерывания, которое останавливает нормальный ход выполнения программы, начиная с указанного адреса. При совпадении текущего адреса команды с адресом, прописанном в регистрах BRKL и BRKH, модуль формирует сигнал, который выдает ЦП команду загрузить регистр команд с опцией программного прерывания (SWI). Выход из данного режима осуществляется при поступлении команды возврата из обработки прерывания (RTI).

Модуль мониторинга (Monitor Module)

Данный модуль выполняет функции отладки программного обеспечения (ПО) и программирования МК с помощью управляющего персонального компьютера (ПК). В режиме мониторинга МК может выполнять код программы, загруженной в ОЗУ, в то время как остальные выводы микросхемы могут выполнять свои обычные функции. Связь с управляющим ПК осуществляется через вывод PTA0 в режиме „монтажного ИЛИ» (wired-OR), поэтому для интерфейса дополнительно требуется схема преобразователя уровня, а также мультиплексор.

Модуль защиты от пониженного напряжения (Low-Voltage Inhibit)

Данный модуль следит за уровнем напряжения на выводе VDD и в случае, если текущий уровень находится ниже порогового значения VTRIPF, формирует сигнал сброса МК. Для запуска такого режима контроля необходимо установить биты LVIPWRD и LVIRSTD в состояние „0». Данный модуль может быть программно настроен на работу с 5- и 3-вольтовым источником питания. Для этого необходимо установить бит LVI5OR3 в „1» или „0» соответственно.

Модуль таймера (Timer Interface Module)

В данном МК имеется два двухканальных таймера (TIM1 и TIM2). Каждый из таймеров предназначен для обеспечения функций захвата входной информации, сравнения результата и ШИМ обработки. В основу работы таймера положен 16-разрядный счетчик, который может функционировать как в автономном режиме, так в режиме счетчика по модулю 2. Значение счетчика может быть прочитано в любой момент времени без остановки его работы.

Модуль последовательного периферийного интерфейса (Serial Peripheral Interface Module)

Данный модуль реализует дуплексный синхронный интерфейс между МК и периферийными устройствами, включая другие МК. Обмен данными с периферийным устройством ведется через порт D, используя следующие выводы: (ведомый/ведущий), SPSCK (тактовая частота), MOSI (ведущий — на выход, ведомый — на вход), MISO (ведущий — на вход, ведомый — на выход). Настройка работы данного модуля осуществляется через регистр SPCR.

Регистры маски (Mask Option Register)

Данные регистры содержат основные настройки, необходимые для работы всех модулей МК. Регистры маски (MOR1, MOR2) расположены по 16-ричным адресам 001E и 001F и доступны только для чтения. Их содержимое можно изменить лишь во время записи кода основной программы в ПЗУ.

Порты ввода/вывода (IO Ports)

Данный микроконтроллер имеет 5 портов ввода/вывода, которые выведены на 33 вывода микросхемы. Порт А (PTA7-PTA0) — 8-разрядный, и предназначен для работы с прерываниями от клавиатуры (KBI). Порт B (PTB7-PTB0) также 8-разрядный, предназначен для работы с АЦП.

Порт С (PTC0-PTC6) — 7-разрядный порт ввода-вывода общего назначения. Порт D (PTD0-PTD7) является 8-разрядным портом специального назначения. Разряды PTD0-PTD3 используются для работы с последовательным периферийным интерфейсом, а разряды PTD4-PTD7 — для работы с таймерами TIM1, TIM2. Порт Е (PTE0-PTE1) является 2-разрядным портом специального назначения. Он предназначен для работы с последовательным асинхронным интерфейсом.

Модуль безопасности (Security Module)

Основное назначение этого модуля — запретить несанкционированное чтение и запуск кода программы из ПЗУ во время работы в режиме мониторинга. Механизм защиты состоит в записи кодовой последовательности из 8 байт по адресам FFF6-FFFD. При работе в режиме мониторинга после начального сброса (см. выше) МК ждет, когда управляющий ПК передаст ему кодовую последовательность. Если полученная кодовая последовательность совпадает с той, что находится по адресам FFF6-FFFD — пользователь получает доступ к информации, хранящейся в ПЗУ. В противном случае продолжается работа в режиме мониторинга, но при этом доступ к информации, хранящейся в ПЗУ, остается закрытым. Для соблюдения режима безопасности рекомендуется не оставлять диапазон адресов $FFF6-$FFFD незаполненным.

В таблице приведено назначение выводов МК семейства MC68HC08GPххА.

Номер вывода Обозначение Описание
Корпус QFP Корпус SDIP
1 6 Внешний сброс
2 7 PTC0 Порт ввода-вывода общего назначения (порт С)
3 8 PTC1
4 9 PTC2
5 10 PTC3
6 11 PTC4
7 PTC5
8 PTC6
9 12 PTE0/TxD Порт ввода-вывода общего назначения / последовательный асинхронный интерфейс (порт Е)
10 13 PTE1/RxD
11 14 Асинхронное внешнее прерывание
12 15 PTD0/ Порт ввода-вывода общего назначения / последовательный периферийный интерфейс (порт D)
13 16 PTD1/MISO
14 17 PTD2/MOSI
15 18 PTD3/SPSCK
16 19 VSS Общий цифровой части
17 20 VDD Напряжение питания цифровой части
18 21 PTD4/T1CH0 Порт ввода-вывода общего назначения / таймеры (порт D)
19 22 PTD5/T1CH1
20 23 PTD6/T2CH0
21 24 PTD7/T2CH1
22 25 PTB0/AD0 Порт ввода-вывода общего назначения / интерфейс АЦП (порт B)
23 26 PTB1/AD1
24 27 PTB2/AD2
25 28 PTB3/AD3
26 29 PTB4/AD4
27 30 PTB5/AD5
28 31 PTB6/AD6
29 32 PTB7/AD7
30 33 VDDAD/VREFH Напряжение питания АЦП / Верхнее опорное напряжение АЦП
31 34 VSSAD/VREFL Общий АЦП / Нижнее опорное напряжение АЦП
32 35 PTA0/ Порт ввода-вывода общего назначения / прерывания от клавиатуры (порт А)
33 36 PTA1/
34 37 PTA2/
35 38 PTA3/
36 39 PTA4/
37 40 PTA5/
38 41 PTA6/
39 42 PTA7/
40 1 VDDA Напряжение питания аналоговой части
41 2 VSSA Общий аналоговой части
42 3 CGMXFC Фильтр тактового генератора
43 4 OSC2 Кварцевый резонатор
44 5 OSC1

 
 
 

Свежий номер

№12–2024

Опрос

Обратная связь

 

Издательство СОЛОН-ПРЕСС

 

RB2 Network.
 
Rambler's Top100

© Издательство «Ремонт и Сервис 21», 1998-2007. Все права защищены.
Воспроизведение материалов сайта, журналов «Ремонт & Сервис», «Покупаем от А до Я» и справочника «Ремонт и сервис электронной техники» в любом виде, полностью или частично, допускается только с письменного разрешения издательства «Ремонт и Сервис 21».

 
RB2 Network.