Новое семейство 8-разрядных микроконтроллеров
для автомобильной электроники компании Freescale Semiconductor
Статья посвящена описанию 8-разрядных микроконтроллеров семейства S08 для автомобильной электроники, выпускаемых компанией Freescale Semiconductor.
Анастасия СИТАЛО Хай Нинь НГУЭН
Компания Freescale Semiconductor является известным мировым производителем микроконтроллеров (МК) для автомобильной электроники. Продукция компании ориентирована на новейшие тенденции в развитии автомобильной промышленности. Объем продаж 8-разрядных МК компании для данного сегмента рынка за период с 2000 по 2006 год превысил 1 млрд экземпляров.
Freescale Semiconductor предлагает широкую гамму 8/16/32-разрядных МК с разнообразной периферией и в корпусах разных ти-
пов, с большим диапазоном объема ИазЬ-па-мяти и совместимостью по функциям и разводке выводов для МК различных семейств. 8-разрядные МК семейства 808 представляют собой СБС-процессоры, выполненные по технологии 0,25 мкм. Они характеризуются высоким быстродействием (частота процессора до 40 МГц, частота шины до 20 МГц), широким диапазоном рабочего питающего напряжения (от 2,7 до 5,5 В), наличием оптимальных энергосберегающих режимов (табл. 1), улучшенной, по сравнению с предыдущими семействами МК, электромагнитной совмес-
тимостью, наличием специализированных модулей автомобильных интерфейсов CAN и LIN, а также встроенной Flash-памятью объемом до 128 кбайт. Все эти качества являются в настоящее время необходимым условием для успешного применения МК в области автомобильной электроники. На рис. 1 представлена иерархическая структура семейства S08 в зависимости от степени интеграции периферийных модулей. Как видно из рисунка, все семейство состоит из трех серий:
• Серия D — высокоинтегрированные МК, обладающие наибольшим числом периферийных модулей и числом выводов, а также большим объемом внутренней Flash-памяти. Предназначены для применения в централизованных системах управления (Body Control), информационных шлюзах CAN — LIN, бортовых компьютерах и т. д.
• Серии E, A представляют собой МК со средней степенью интеграции периферийных модулей, однако следует отметить наличие специализированного модуля SLIC у МК серии EL, предназначенного для работы Slave-узла сети LIN (подробнее см. ниже). Область применения данных МК — это конечные мехатронные системы в распределенных сетях автомобиля: подсистемы дверного модуля, управление двигателями постоянного тока и т. д.
• Серия S — простейшие и самые дешевые представители семейства S08, обладающие минимальным набором периферийных модулей и памяти. Предназначены для применения в простейших системах управления: подрулевые переключатели, стеклоочистители и т. д.
Для обеспечения функций защиты от сбоев все МК данного семейства снабжены модулем слежения за понижением напряжения питания LVD, сторожевым таймером COP с независимым источником тактирования, а также функциями защиты содержимого памяти (Flash и ОЗУ) от несанкционированного доступа.
S08EN Family
20MHz, .25u MCG 32-48 pin
S08EL Family
20MHz, ,25u SLIC (LIN), EE, ICS 20-28 pin
S08SL Family
20MHz, .25u SLIC (LIN), EE, ICS 20-28 pin
S08SG Family
20MHz, .25u ICS
8-28 pin
Рис. 1. Иерархическая структура семейства S08
Таблица 1. Особенности работы МК в различных режимах пониженного энергопотребления на примере МК серии MC9S08AW
Режим Свойства Выход из режима Ток потребления
RUN (рабочий) Полное функционирование - 75G мкА* - 16,8 мА**
WAIT Источник тактирования внутренней шины остается активным. Центральный процессор не тактируется. Периферийные модули могут тактироваться опционально. Пониженный уровень помех во время преобразования АЦП. Регулятор напряжения остается активным, из-за этого энергопотребление существенно возрастает по сравнению с STOP2 и STOP3. По прерыванию от любого активного модуля, либо по сбросу МК 5GG мкА*
STOP3 Центральный процессор, периферийные модули в энергосберегающем режиме. Регулятор напряжения в энергосберегающем режиме. Содержимое ОЗУ и регистров сохраняется, повторная инициализация системы после выхода из режима не требуется. Состояние портов ввода/вывода фиксируется. Опционально работает АЦП, KBI, RTI, LVD. По прерыванию от любого активного модуля: НО, КВІ, ЮУ, НІ, АЦП либо по сбросу МК 825-122G нА***
STOP2 Центральный процессор, периферийные модули отключены. Регулятор напряжения в энергосберегающем режиме. Содержимое ОЗУ сохраняется. Текущее состояние портов ввода/вывода фиксируется. Состояние регистров периферийных модулей сбрасывается, после выхода из режима необходима их повторная инициализация. LVD не работает. Опционально работает RTI. По прерыванию от ІЮ, НІ, либо по сбросу МК 72G-1G2G нА***
STOP1**** - -
* — при частоте ядра 2 МГц, частоте шины 1 МГц, напряжении питания 5 В, температуре 25 °С, все модули, кроме АЦП, разрешены, но не работают
** — при частоте ядра 40 МГц, частоте шины 20 МГц, напряжении питания 5 В, температуре 25 °С, все модули, кроме АЦП, разрешены и работают
*** — в зависимости от того, какие модули работают (АЦП выключено)
**** — данный режим для МК, специализированных для автомобильной электроники, отсутствует
Система тактирования МК семейства S08 предлагает использование различных источников: универсального тактового генератора с фазовой автоподстройкой частоты (ФАПЧ), автоматической подстройкой частоты (АПЧ), а также внутреннего генератора.
Все микроконтроллеры семейства S08 оснащены модулями внутрисхемного эмулятора (In-Circuit Emulation — ICE) и отладчика (Background Debug Module — BDM). Эмулятор позволяет проводить отладку прикладной программы в режиме реального времени на рабочей частоте МК, задействовав всю периферию. Для работы модуля BDM необходимо задействовать только один специально предназначенный вывод МК, что обеспечивает легкость при программировании и отладке системы.
В набор инструкций центрального процессора были внесены дополнительные команды для оптимизации программирования на Си за счет сокращения объема программного кода. Также была повышена эффективность работы с памятью благодаря новой возможности использования 16-разрядного указателя стека в режиме индексной адресации. При этом МК семейства S08 полностью совместимы по объектному коду с МК предыдущих семейств — HC05 и HC08.
При обзоре периферийных модулей хотелось бы отметить 10-разрядный АЦП со временем преобразования до 2,5 мкс, модуль таймера с аппаратным режимом широтно-импульсной модуляции, встроенный регулятор напряжения, позволяющий МК функционировать на полной рабочей частоте во всем рабочем диапазоне питающего напряжения, а также присутствующий почти во всех кристаллах модуль I2C. Все МК семейства S08, предназначенные для автомобильной электрони-
ки, имеют расширенный температурный диапазон от -40 до +125 °С и выпускаются в корпусах, сертифицированных для данного применения, а также отвечают всем требованиям по электромагнитной совместимости.
Более подробное описание архитектуры МК семейства S08 проведем на примере наиболее сложного микроконтроллера MC9S08DZ60 (рис. 2).
Основные свойства данного МК:
• 60 032 байта Flash-памяти;
• 4096 байт ОЗУ;
• 2048 байт EEPROM;
• 32 (LQFP), 48 (LQFP) или 64 (QFN или LQFP) вывода в зависимости от типа корпуса;
• 2 аналоговых компаратора (AMP1, AMP2) (доступно только в 64-выводном корпусе), каждый для сравнения двух аналоговых сигналов, либо сравнения одного аналогового сигнала на входе с опорным уровнем внутреннего источника напряжения. Выход компаратора выводится на один из портов МК. Аналоговый компаратор поддерживает работу с сигналами внутри всего диапазона напряжения питания (rail-to-rail operation);
• 10-разрядный АЦП (ADC) последовательного приближения с 24, 16 или 10 каналами в зависимости от типа корпуса;
• встроенный модуль отладки (On-Chip Debug System — DBG);
• модуль I2C (Inter-Integrated Circuit);
• модуль прерывания по внешнему событию (External Interrupt Request — IRQ);
• система тактирования на универсальном тактовом генераторе (Multi-Purpose Clock Generator — MCG) с различными опциями тактирования PLL, FLL (с частотой от 31,25 до 38,4 кГц или от 1 до 16 M^) или внутренний источник тактирования;
• контроллер CAN-интерфейса (MSCAN) с реализацией протокола обмена CAN2.0A/B, поддержкой стандартного и расширенного формата данных, наличием 5 приемных и 3 передающих буферов FIFO и настраиваемым форматом фильтрации при приеме идентификатора: 2x32 бит, 4x16 бит или 8x8 бит;
• модуль счетчика реального времени (RealTime Counter — RTC) программируется в качестве источника периодического прерывания. Может использоваться для выполнения определенных задач через заданные промежутки времени, либо для периодического вывода МК из режима пониженного энергопотребления;
• 2 модуля асинхронного последовательного интерфейса (Serial Communications Interface SCI1 и SCI2) — линии приема и передачи модуля SCI2 могут быть программно скоммутированы на выводы PTF1 и PTF0, либо на выводы PTE7 и PTF6;
• модуль синхронного последовательного интерфейса (Serial Peripheral Interface — SPI), поддерживающий двунаправленный обмен с различными внешними периферийными устройствами;
• два 16-разрядных модуля таймера с возможностью аппаратной широтно-импульсной модуляции (Timer Pulse-Width Modulator) TPM1 и TPM2, причем TPM1 может содержать до 6 каналов (в 64- и 48-выводных корпусах), а TPM2 содержит 2 канала (источники тактирования каждого модуля TPM программируются индивидуально, при этом может использоваться либо внешний источник, либо различные делители частоты от внутренних источников; каналы модулей TPM могут быть настроены для функционирования в режимах входного захвата по выбранному фронту, выходного сравнения или буферированной центрированной ШИМ);
• модуль сторожевого таймера (Computer Operating Properly — COP);
• модуль слежения за понижением напряжения питания (Low-Voltage Detection— LVD) с настраиваемым порогом срабатывания (4,3 или 2,56 В); при снижении напряжения питания до выбранного значения может быть сгенерировано прерывание или сброс МК.
Микроконтроллеры серий DZ, DV, DN
МК серий DZ, DV, DN представляют высокоинтегрированные МК семейства S08. К особенностям данной серии можно отнести большое количество выводов (от 32 до 100), большой объем Flash-памяти (16-128 кбайт), наличие универсального тактового генератора MCG, внутренний модуль таймера с суммарным числом выходных каналов до 12, а также два аналоговых компаратора. Отметим, что контроллеры представленных серий совместимы друг с другом по разводке (в со-
PTA7/PIA7/ADP7/IRQ
PTA6/PIA6/ADP6
PTA5/PIA5/ADP5
PTA4/PIA4/ADP4
PTA3/PIA3/ADP3/ACMP10
PT A2/PIA2/ADP2/ACMP1—
PTA1/PIA1/ADP1/ACMP1+
PTAO/PIAO/ADPO/MCLK
PTB7/PIB7/ADP15 PTB6/PIB6/ADP14 PTB5/PIB5/ADP13 PTB4/PIB4/ADP12 PTB3/PIB3/ADP11 PTB2/PIB2/ADP10 PTB1/PIB1/ADP9 PTB0/PIB0/ADP8
PTC7/ADP23
PTC6/ADP22
PTC5/ADP21
PTC4/ADP20
PTC3/ADP19
PTC2/ADP18
PTC1/ADP17
PTC0/ADP16
PTD7/PID7/TPM1CH5 PTD6/PID6 /ТРМ1CH4 PTD5/PID5/TPM1CH3 PTD4/PID4/TPM1CH2 PTD3/PID3/TPM1СН1 PTD2/PID2/TPM1CH0 PTD1/PID1/TPM2CH1 PTD0/PID0/TPM2CH0
PTE7/RxD2/RXCAN
PTE6/TxD2/TXCAN
PTE5/SDA/MISO
PTE4/SCL/MOSI
PTE3/SPSCK
PTE2/SS
PTE1/RxD1
PTE0/TxD1
PTF7
PTF6/ACMP20
PTF5/ACMP2—
PTF4/ACMP2+
PTF3/TPM2CLK/SDA
PTF2/TPM1CLK/SCL
PTF1/RxD2
PTF0/TxD2
PTG5
PTG4
PTG3
PTG2
PTG1/XTAL
PTGO/EXTAL
Рис. 2. Внутренняя архитектура МК MC9S08DZ
BKGD/MS
RESET .
HCS08 CORE
HCS08 SYSTEM CONTROL
RESETS AND INTERRUPTS MODES OF OPERATION POWER MANAGEMENT
Vrefh -
VrfFI -
USER FLASH MC9S08DZ60 = 60K MC9S08DZ48 = 48K MC9S08DZ32 = 32K MC9S08DZ16 = 16K
USER EEPROM MC9S08DZ60 = 2K
USER RAM MC9S08DZ60 = 4K
DEBUG MODULE (DBG)
VOLTAGE
REGULATOR
СОР LVD
INT IRQ
REAL-TIME COUNTER (RTC)
ANALOG COMPARATOR (ACMP1)
24-CHANNEL,10-BIT ANALOG-TO-DIGITAL CONVERTER (ADC)
6-CHANNEL TIMER/PWM MADULE (TPM1)
2-CHANNEL TIMER/PWM MADULE (TPM1)
CONTROLLER AREA NETWORK (MSCAN)
SERIAL PERIPHERAL INTERFACE MODULE (SPI)
ANALOG COMPARATOR (ACMP2)
IIC MODULE (IIC)
/
/
/
АСМР10 /
< АСМР1—
^ АСМР1+ /
SERIAL COMMUNICATIONS INTERFACE (SCI1)
SERIAL COMMUNICATIONS INTERFACE (SCI2)
MULTI-PURPOSE
CLOCK GENERATOR
(MCG)
XTAL >
OSCILLATOR (XOSC) € EXTAL
ответствующих корпусах). В таблице 2 приведены особенности семейства S08D.
Микроконтроллеры серий AW, EN, EL
МК серий EN, EL и AW представляют собой средний уровень интеграции периферийных модулей семейства S08. Число выводов у них может составлять от 20 до 64, объем Flash-памяти от 8 до 60 кбайт. Сравнитель-
ные характеристики МК данных серий приведены в таблице 3.
Устройства серии ЕЫ содержат модуль универсального тактового генератора и выпускаются в корпусах с числом выводов 32 и 48 (как и МК серий Б2, БУ, БЫ), при этом они полностью совместимы по выводам, что упрощает разработчикам переход к системам более высокого уровня.
Особенностью МК серии ЕЬ является наличие специализированного модуля 8Ь!С
(Slave LIN Interface Controller), необходимого для упрощения создания ПО для узла LIN-сети. Аппаратными средствами данного модуля осуществляется автоматическая синхронизация и настройка частоты обмена в диапазоне 1-120 кбит/с без использования центрального процессора. Число прерываний, требуемых для обслуживания обмена данными по LIN-сети, существенно уменьшается (с 12 в обычном UART до 2 в SLIC-модуле), при этом данные, полученные в ходе
Таблица 2. Сравнительные характеристики МК DZ, DV и DN
Семейство Flash RAM EEPROM CAN UART SPI I2C АЦП Таймер Тактирование Число выводов Рабочее напряжение Дополнительные функции
DZ 16-128 KB 1-8 KB 512 B - 2 KB 1 2xSCI 2 2 до 24 каналов 10 бит АЦП 2 компаратора до 6+4+2 каналов MCG (PLL, FLL, OSC) 1GG, 64, 48, 32 2,7-5,5 40 МГц CPU, Watchdog OSC/Timer, COP, LVI, ICE, BDM, POR, KBI, датчик температуры
DV 16-128 KB 1-6 KB - 1 2xSCI 2 2 до 24 каналов 10 бит АЦП 2 компаратора до 6+4+2 каналов MCG (PLL, FLL, OSC) 1GG, 64, 48, 32 2,7-5,5 40 МГц CPU, Watchdog OSC/Timer, COP, LVI, ICE, BDM, POR, KBI, датчик температуры
DN 16-6G KB 1-2 KB 512 B - 2 KB G 1xSCI 1 1 до 16 каналов 10 бит АЦП 2 компаратора до 6+2 каналов MCG (PLL, FLL, OSC) 64, 48, 32 2,7-5,5 40 МГц CPU, Watchdog OSC/Timer, COP, LVI, ICE, BDM, POR, KBI, датчик температуры
Таблица 3. Сравнительные характеристики МК серий EN, EL и AW
Семейство Flash RAM EEPROM UART SPI I2C SLIC АЦП Таймер Тактирование Число выводов Рабочее напряжение Дополнительные функции
EN 16-32 KB 512 B - 1 KB 1xSCI 1 до 12 каналов 10 бит АЦП, 1 компаратор 4 канала MCG (PLL, FLL, OSC) 48, 32 2,7-5,5 40 МГц CPU, Watchdog OSC/Timer, COP, LVI, ICE, BDM, POR, KBI, датчик температуры
EL 16-32 KB 1 KB 512 В 1xSCI 1 1 1 до 12 каналов 10 бит АЦП, 2 компаратора 4+2 канала ICS 2G, 28 2,7-5,5 40 МГц CPU, Watchdog OSC/Timer, COP, LVI, ICE, BDM, POR, KBI, датчик температуры
AW 8-6GKB 768 B - 2 KB 2xSCI 1 1 до 16 каналов 10 бит АЦП 6+2 канала ICS 64, 48, 44, 32 2,7-5,5 40 МГц CPU, Watchdog OSC/Timer, COP, LVI, ICE, BDM, POR, KBI, датчик температуры
Таблица 4. Сравнительные характеристики МК серий SL и SG
Семейство Flash RAM EEPROM UART SPI I2C SLIC АЦП Таймер Тактирование Число выводов Рабочее напряжение Дополнительные функции
SL 8-16 KB 512 B до 256 В 1xSCI 1 1 1 до 16 каналов 10 бит АЦП, 1 компаратор 2+2 канала ICS 28, 2G 2,7-5,5 LIN Auto-Baud/Synch, 40 МГц CPU, Watchdog OSC/Timer, COP, LVI, ICE, BDM, POR, KBI, датчик температуры
SG 4-32 KB 256 B - 1 KB - 1xSCI 1 1 - до 16 каналов 10 бит АЦП, 1 компаратор 2+2 канала ICS 28,2G,16,8 2,7-5,5 40 МГц CPU, Watchdog OSC/Timer, COP, LVI, ICE, BDM, POR, KBI, датчик температуры
синхронизации, могут быть использованы для подстройки внутреннего тактового генератора. Модуль обладает необходимым количеством буферов для работы с LIN-сообщениями, производит аппаратную проверку идентификаторов и контрольной суммы байта. Наличие модуля SLIC позволяет не только существенно сократить и упростить программный код, при этом сэкономив свободное место во Flash-памяти, но и использовать однажды созданное программное обеспечение для множества приложений, даже при условии изменения скорости обмена или частоты шины МК. Высокая скорость передачи делает допустимым программирование по LIN, что упрощает процесс производства и оставляет возможность для перепрограммирования в системе.
Кроме того, микроконтроллеры серии EL содержат до 5 кбайт встроенной EEPROM и модуль внутреннего тактирования (Internal Clock Source — ICS).
Серия МК AW отличается расширенным диапазоном объема Flash-памяти (от 8 до 60 кбайт). В качестве источника тактирования этих МК используется внутренний тактовый генератор (Internal Clock Generator — ICG), не нуждающийся в каких-либо внешних компонентах. С использованием модуля ICG тактирование может осуществляться также от внешнего кварцевого резонатора или генератора.
Микроконтроллеры серии SL, SG
МК серии SL, SG — простейшие представители семейства S08. Объем внутренней Flash-памяти для МК данных серий варьиру-
ется от 4 до 16 кбайт, число выводов корпуса — от 8 до 28. В качестве устройства тактирования используется внутренний модуль ICS. Микроконтроллеры серий SL, SG и EL совместимы по разводке (в соответствующих корпусах). Сравнение МК серий SL и SG представлено в таблице 4.
МК серии SL содержат специализированный модуль SLIC (см. выше), а также до 2,5 кбайт встроенной EEPROM.
Серия SG является наиболее простой и дешевой из всего семейства МК и представляет собой модели с наименьшим объемом памяти, количеством выводов и набором периферийных модулей.
Заключение
Описанное семейство S08 для автомобильной электроники фирмы Freescale Semiconductor
обладает богатым набором периферийных модулей, широким диапазоном внутренней Flash-памяти, большим набором энергосберегающих режимов работы МК, совместимостью по корпусам внутри всего семейства, специализированными контроллерами интерфейсов LIN и CAN, а также высокопроизводительным низкопотребляющим 8-разрядным центральным процессором. Все эти особенности позволяют семейству S08 претендовать на собственную нишу на рынке современных МК для автомобильных приложений. ■
Литература
1. www.freescale.com
2. Крейдл Х., Куприс Г., Ремизевич Т. В., Панфилов Д. И. Работа с микроконтроллерами HC(S)08 / под ред. Д. И. Панфилова. М: Издательство МЭИ. 2005.