Главная
Новости рынка
Рубрикатор



Архив новостей -->



 



   

А. Райхман, А. Пивоваров

Flash-микроконтроллеры

Использование энергонезависимой flash-памяти в семействе однокристальных микроконтроллеров MCS-51 позволило создавать легко перепрограммируемые высокопроизводительные и дешевые микроконтроллеры, на основе которых производится множество портативных бытовых и промышленных приборов — датчики, сигнализаторы, измерители, контроллеры процессов. Данные компоненты производятся многими ведущими производителями на рынке микроконтроллеров — фирмами Philips, Atmel, Maxim/Dallas, Cygnal, Winbond и др., поэтому перед разработчиками и изготовителями всегда стоит проблема выбора поставщика. В данной статье предлагается один из вариантов подхода к решению этой проблемы на основе семейства 8-разрядных микроконтроллеров Philips P89LPC9xx, отличающихся высокоэффективной flash-памятью и пониженным энергопотреблением.

Семейство однокристальных микроконтроллеров MCS-51® было представлено фирмой Intel на рынке в начале 80-х гг. [1]. Первые версии кристаллов выполнялись по nМОП-технологии, на смену которой в дальнейшем пришла более совершенная КМОП-технология с пониженным энергопотреблением [2]. Изначально эти микроконтроллеры являлись функционально завершенными однокристальными микроЭВМ, построенными по гарвардской архитектуре с разделением адресных пространств памяти программ и данных. Программный код в этих кристаллах мог храниться во внутреннем однократно программируемом ПЗУ программ или в ППЗУ с ультрафиолетовым стиранием.

Дальнейшее совершенствование характеристик семейства пошло по пути наращивания периферийных возможностей и производительности. Большую роль в поддержании популярности этих микроконтроллеров сыграло создание фирмой Intel в 1988 г. коммерчески пригодного к использованию кристалла энергонезависимой flash-памяти [З]. Благодаря этому открылась возможность изготавливать недорогие микроконтроллеры с многократно перепрограммируемой памятью программ и данных. И если поначалу было возможно только полное стирание flash-памяти, то в большинстве современных микроконтроллеров интегрирована память, допускающая стирание отдельных секторов и/или страниц. Это предоставляет пользователю возможность гибкого перепрограммирования прибора: становится возможным программирование в системе ISP' и программирование в приложении IAP2.

Поскольку разработчиками накоплен огромный опыт работы с микроконтроллерами С51, многие фирмы в настоящее время выпускают серии этих приборов для самых разнообразных применений. Ведущими производителями на рынке микроконтроллеров С51-архитектуры являются фирмы Philips, Atmel, Maxim/Dallas, Cygnal и Winbond.

Фирма Atmel, обладающая собственной технологией изготовления flash-памяти низкой стоимости, выпускает большую номенклатуру микросхем на основе ядра С51 как для общего пользования (в т.ч. полные аналоги MSC-51ф, но с flash-памятью программ), так и для специализированных применений: CAN-мультиплексирование, декодеры МРЗ, приложения USB, Smart Card и др.

Другой производитель — Cygnal Integrated Products производит большую гамму программно совместимых с С51-архитектурой микроконтроллеров с развитой аналоговой периферией и высокой производительностью — до 100 MIPS. Многие модели имеют интегрированные АЦП/ЦАП, перепрограммируемый "на лету" встроенный тактовый генератор, JTAG и разнообразные последовательные интерфейсы.

Как и Cygnal, компания Maxim/Dallas выпускает высокопроизводительные микроконтроллеры, совместимые с MCS-51ф по системе команд и аппаратным средствам. Процессорное ядро этих приборов организовано так, что выполнение каждой команды происходит в 1,5-3 раза быстрее, чем в оригинальной архитектуре при той же самой тактовой частоте. В результате микроконтроллер имеет в 2,5 раза большую производительность при использовании тех же кодов и того же кварцевого резонатора. Помимо этого, имеются аппаратные усовершенствования: 2 аппаратных USART, сторожевой таймер, часы реального времени, АЦП (не во всех моделях) и пр. Также производится серия микроконтроллеров с повышенной защищенностью пользовательского программного обеспечения.

Признанным лидером на рынке микроконтроллеров является фирма Philips Semiconductor. Она имеет обширное портфолио продукции, охватывающее 8-, 16- и 32-разрядные семейства, включая самый широкий в индустрии диапазон микроконтроллеров на ядре 80С51 [4]. Продукция компании отличается высокой производительностью, необходимой для огромного разнообразия современных приложений во всех сегментах рынка, при самой низкой потребляемой мощности и самых маленьких корпусах.

Области применения микроконтроллеров Philips с flash-памятью программ на основе 8-разрядного 80С51-ядра весьма широки:

  • контроллеры управления и разграничения доступа в зданиях;
  • измерители температуры и детекторы огня;
  • управляющая аппаратура для промышленных приложений;
  • промышленное оборудование;
  • бытовая техника;
  • ручные измерительные системы;
  • системы преобразования протоколов.

Одним их семейств 8-разрядных микроконтроллеров Philips, имеющих высокоэффективную flash-память и пониженное энергопотребление, является рассматриваемое в настоящей статье семейство P89LPC9xx.

Семейство P89LPC9XX

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

В основе микроконтроллеров LPC9xx лежит ядро, совместимое с 80С51-архитектурой, но со временем выполнения команд от 2 до 4 тактов. Благодаря этому производительность увеличена в 6 раз. Таким образом, на частоте 12 МГц большинство команд выполняется за 167 не. Помимо этого, снижена величина электромагнитных излучений (EMI).

Все микроконтроллеры семейства оснащены flash-памятью, созданной по 0,35-мкм технологическому процессу Philips, и работают в промышленном диапазоне температур от -40 до +85°С (кроме P89LPC932B) при напряжении питания от 2,4 до 3,6 В. Линии ввода/ вывода допускают подключение нагрузок с потреблением до 20 мА, а при работе с внешними устройствами на линии ввода/вывода возможна подача напряжения 5 В.

Младшие модели выпускаются в корпусах SO8, DIP8 и различаются между собой набором периферийных устройств и расположением выводов — как по индустриальному стандарту (P89LPC901-903), так и по альтернативному стандарту Philips (P89LPC906-908). Все они обладают возможностью внутрисхемного программирования (ICP), а некоторые модели оснащены интегрированным RC-осциллятором. Поскольку хороший кварцевый резонатор — дорогостоящее изделие, наличие встроенного тактового RC-генератора является дополнительной возможностью снижения стоимости готового изделия и повышения надежности при использовании микроконтроллеров Philips. При сбросе частота RC-осциллятора устанавливается равной 7,3728 МГц ± 2,5%, что облегчает установку стандартных скоростей асинхронной передачи UART. Программное обеспечение пользователя может изменить эту частоту путем записи соответствующего значения в 6-разрядный регистр TRIM.

Средние модели P89LPC912-914 семейства имеют в два раза большее количество линий ввода/вывода (корпус TSSOP14), оснащены интерфейсом SPI и двумя аналоговыми компараторами. Подобно младшим моделям, некоторые из них имеют модули ШИМ и UART.

Наибольшее количество периферийных модулей и функциональных возможностей имеют старшие модели P89LPC920-935 семейства LPС9хх. Они поддерживают различные режимы программирования: ISP, IAP, а также параллельное программирование PP. Значительной функциональной насыщенностью обладают два типа микроконтроллеров: P89LPC935 и P89LPC932.

В кристалл P89LPC935 интегрировано 768 байт ОЗУ, 512 байт EEPROM данных и 8 Кб flash-памяти программ. Он имеет развитые возможности коммуникации через интерфейсы UART, I2C и SPI; два 16-разрядных таймера/счетчика, модуль захвата/сравнения и два 8-разрядных 4-канальных АЦП. Более подробно особенности микроконтроллеров семейства LPС9хх рассматриваются далее на примере прибора P89LPC932.

Микроконтроллер P89LPC932 фирмы PHILIPS

Структура микроконтроллера P89LPC932 представлена на рисунке.

Структура микроконтроллера P89LPC932
Рисунок. Структура микроконтроллера P89LPC932

Интегрированная в него память подразделяется на память данных EEPROM 512 байт, 768 байт ОЗУ и 8 Кб Flash-памяти программ.

Память программ микроконтроллера LPC932 разделена на 8 секторов по 1 Кб или на 128 страниц по 64 байта. В сектор 7 может быть записана процедура для выполнения ISP-программирования, а в сектор 8 подпрограмма IAP-программирования программной памяти. При этом программирование может выполняться через любой удобный пользователю последовательный интерфейс. Процесс записи страницы или стирания страницы/сектора/массива выполняется за 2 мс. Для каждого сектора возможна индивидуальная защита программного кода.

При работе с памятью данных EEPROM возможно чтение/стирание/запись каждого байта. Имеется режим страничного (64 байта) и блочного (512 байт) заполнения. ОЗУ делится на основное (256 байт) и вспомогательное (512 байт).

Наличие двух 16-разрядных полнофункциональных таймеров/счетчиков и двухканального модуля захвата/сравнения позволяет генерировать три разновидности ШИМ-сигнала: асимметричный ШИМ, симметричный ШИМ и "альтернативный выходной режим".

Все линии ввода/вывода, за исключением трех, поддерживают четыре режима работы:

  • квазидвунаправленный;
  • двухтактный (push-pull);
  • только входной;
  • открытый сток.

Вытекающий ток каждого вывода — до 20 мА (совокупный ток 80 мА), выходные драйверы ножек имеют управляемую скорость нарастания выходного напряжения (время нарастания/спада 10 нc). Выводы микроконтроллера разделены на четыре порта: 8-разрядные порты 0, 1 и 2, а также 2-разрядный порт 3. Если используется схема внутреннего сброса при включении (отключено функционирование вывода nonRST как входа сигнала сброса), а в качестве источника тактовой частоты задействован внутренний RC-генератор или сторожевой таймер, для ввода/вывода данных доступно 26 ножек в 28-выводном корпусе.

Встроенный модуль UART в совокупности с интегрированным генератором скорости передачи не нуждается в использовании таймеров для своей работы. Он может обнаруживать ошибки фрэйма и переполнения, выполнять передачу с двойной буферизацией, а опция раздельного прерывания Tx/Rx позволяет легко реализовать полнодуплексную последовательную передачу.

Интегрированные модули интерфейсов 12С и SPI оснащены полным набором необходимых функций и могут использоваться для обмена данными с любыми устройствами, имеющими эти интерфейсы.

Каждый из двух встроенных аналоговых компараторов имеет по два программно переключаемых входа и возможность использования как встроенного источника опорного напряжения (1,23 В ± 10%), так и внешнего напряжения, подаваемого на соответствующий вывод. Имеется возможность генерировать прерывание от компараторов при их переключении.

В микроконтроллере LPC932 реализована возможность подключения клавиатурной матрицы (можно использовать максимум 8 входных линий порта 0) для быстрого обнаружения нажатой кнопки по сгенерированному прерыванию.

Система тактирования микроконтроллера может использовать сигнал внешнего тактирования (от 0 до 12 МГц), внешний кварцевый резонатор (от 20 кГц до 12 МГц), встроенный RC-генератор (от 7,189 до 7,557 МГц) или встроенный сторожевой таймер WDT (400 кГц + + 20...30%).

В качестве часов реального времени RTC используется отдельный 16-разрядный счетчик обратного отсчета с 7-разрядным прескалером. Он может выступать в качестве системного таймера, пробуждать устройство из режима Power-Down и генерировать прерывание при переполнении.

Развитая система менеджмента энергопотребления позволяет устройству находиться в одном из четырех возможных режимов работы:

  • нормальный режим — ядро и периферия работают, но конкретные периферийные устройства могут быть выключены путем записи соответствующего значения в регистр PCONA,
  • режим ожидания — ядро остановлено, периферия ещё работает, но некоторые периферийные модули могут быть отключены с помощью регистра PCONA,
  • режим "питание выключено" (Power-Down) — могут работать только системный таймер/RTC, компараторы, BOD и WDT (если их работа разрешена),
  • общий режим выключения питания — остаются работать только системный таймер/RTC и WDT (если их работа разрешена).

Микроконтроллер P89LPC932 производится в корпусах трех типоразмеров: TSSOP28, PLCC28 и HVQFN28. Интересно отметить, что все представленные корпуса имеют очень небольшие размеры, к примеру, размеры корпуса HVQFN28 составляют всего 6 х 6 х 0,85 мм с расстоянием между выводами 0,65 мм.

Существуют микросхемы, работоспособные как в индустриальном диапазоне температур (с индексами FDH и FHN), так и в коммерческом (с индексами ВА и BDH).

Краткий сводный перечень основных возможностей микроконтроллера P89LPC932:

  • высокопроизводительное ядро 80С51, обеспечивающее время выполнения команды 167...333 не на частоте 12 МГц для всех команд, кроме умножения и деления. Низкая тактовая частота уменьшает энергопотребление и снижает уровень электромагнитных излучений;
  • диапазон питающего напряжения от 2,4 до 3,6 В. На ножки ввода/вывода может подаваться напряжение до 5 В;
  • flash-память объёмом 8 Кб имеет стираемые сектора объёмом 1 Кб и 64-байт размер стираемой страницы;
  • 256 байт ОЗУ данных, 512 байт дополнительного ОЗУ;
  • 512 байт памяти EEPROM для хранения пользовательских данных;
  • два 16-разрядных таймера/счетчика;
  • система тактирования реального времени (RTC), используемая также в качестве системного таймера;
  • модули захвата/сравнения (CCU) с 32х PLL, обеспечивающие функции ШИМ, входного захвата и пр.;
  • два аналоговых компаратора с возможностью выбора входа и источника опорного напряжения;
  • многофункциональный UART с расширенными возможностями;
  • коммуникационные порты: шина 12С до 400 кГц и SPI до 3 Мбит/с;
  • 8 входов прерывания от клавиатуры и 2 дополнительных входа внешнего прерывания;
  • сторожевой таймер WDT и схема сброса при понижении напряжения питания BOD;
  • конфигурируемый RC-осциллятор с изменяемой частотой 7,3728 МГц ± 2,5%;
  • нагрузочная способность любого из выводов имеющихся портов 20 мА;
  • минимум 23 линии ввода/вывода (максимум 26);
  • программирование flash-памяти внутри приложения (IAP) во время работы;
  • поддержка эмуляции.

Средства разработки и отладки

За годы, прошедшие со времени создания первых 80С51-микроконтроллеров, разработчиками накоплен огромный опыт создания программного обеспечения для них. Существует большое количество разнообразных средств поддержки этого семейства: компиляторы, программаторы, внутрисхемные эмуляторы. В табл. 2 представлен обширный перечень средств разработки, выпускаемых различными производителями для семейства микроконтроллеров 1_РС9хх фирмы Philips. Следует отметить, чтодля работы с этим семейством доступно бесплатное программное обеспечение с ограничением максимального размера генерируемого кода: компиляторы фирм Keil и Raisonance. Кроме того, Philips выступила в качестве спонсора при создании компанией Embedded Systems Academy комплекта свободно распространяемого программного обеспечения: программы FlashMagic для ISP-программирования микроконтроллеров Philips и генератора кода с языка С для семейства LPC93x.

Таблица 2. Поставщики средств разработки для микроконтроллеров Philips P89LPC9xx

Производитель Название продукта Адрес в Интернете Стоимость1
Аппаратные средства
Keil Software Отладочная плата МСВ900 www.keil.com $59
Acqura Systems Адаптер эмулятора FPA900-901-2-3 для LPC901-903 www.acqura.com $89
Acqura Systems Адаптер эмулятора FPA900-906-7-8 для LPC906-908 www.acqura.com $89
Acqura Systems Адаптер эмулятора FPA900-TSSOP14 для LPC912-914 www.acqura.com $79
Acqura Systems Адаптер эмулятора FPA900-DIP20 для LPC912-914 www.acqura.com $59
Aprilog Адаптер эмулятора для LPC93x www.aprilog.com $72
Ceibo Система разработки, в т.ч. эмулятор FE-900 www.ceibo.com $399
Кeil Software Эмулятор и программатор ЕРМ900 www.keil.com $199
Philips Эмулятор и программатор PE-ICD900 www.semiconductors.philips.com $169
Acqura Systems Система разработки, в т.ч. эмулятор PDS-900 www.acqura.com $499
Phyton Эмулятор PICE-52   -
ВР Microsystem Универсальный программатор для LPC92x и выше www.bpmicro.com -
Advantech Equipment Универсальный программатор LabTool-48XP www.aec.com.tw -
ЕЕ Tools Программатор ТорМах www.eetools.com -
Phyton Программатор ChipProg+ www.phyton.com -
Tribal Microsystems Программаторы ALL-1 1 и ALL-GANG www.tribalmicro.com -
Xeltek Программатор серии SUPERPRO www.xeltek.com -
System General Инженерный программатор PowerLab для LPC92x и выше www.sg.com.tw -
- Программатор ZLG CP932, включая адаптер PLCC28 (только для LPC932) - $99
- Программатор ZLG CP932, включая адаптер TSSOP28 (только для LPC932) - $99
Программные средства
Keil Software Компилятор PKLPC-8K www.keil.com $199
Keil Software Компилятор С51 Free Eval (ограничение кода до 2 кБ) www.keil.com Бесплатно
Keil Software Комплект разработчика (компилятор) DK51 www.keil.com -
Keil Software Компилятор LPC Developer Studio (4 кБ) www.keil.com -
Keil Software Профессиональный набор разработчика (компилятор) РК51 www.keil.com -
Raisonance Компилятор Raisonance Eval51 (ограничение 4 кБ) для LPC93x www.raisonance.com Бесплатно
Raisonance Компилятор Raisonance RKitE51 Enterprise Suite для LPC93x www.raisonance.com -
Raisonance Компилятор Raisonance RKitP51 Professional Suite для LPC93x www.raisonance.com -
Raisonance Компилятор Raisonance RKitL51-8 (ограничение 8 кБ) для LPC93x www.raisonance.com $199
Altium Комплект разработчика 8051 www.tasking.com -
Keil Software Интегрированная среда разработки (IDE) Keil jaVision www.keil.com -
Raisonance Интегрированная среда разработки (IDE) RIDE для LPC93x www.raisonance.com -
Altium Интегрированная среда разработки (IDE) TASKING EDE для LPC93x www.tasking.com -
Embedded Systems Academy Программное обеспечение для ISP-программирования ESAcademy FlashMagic www.esacademy.com/software/flashmagic Бесплатно
Embedded Systems Academy Генератор кода с языка С ESAcademy CodeAdchitect (только для LPC93x) www.esacademy.com/software/flashmagic Бесплатно
1 Стоимость средств разработки действительна в случае приобретения их через сайт Philips: www.semiconductors.philips.com/markets/mms/prooducts/microcontrollers/support/development_tools.

Наличие разнообразных средств поддержки и отладки, совместимость с семейством 80С51, низкая стоимость, возможность приобретения образцов и квалифицированная техническая поддержка позволят пользователям легко освоить новое семейство высокопроизводительных микроконтроллеров фирмы Philips.

Литература

  1. Боборыкин А.В., Липовецкий Г.П. и др. Однокристальные микроЭВМ. М.: МИКАП, 1994.400 с.
  2. MCS51 Microcontroller Family User's Manual, Order #: 272383-002, Intel Corporation, February 1994. 334 p.
  3. Интегральные микросхемы энергонезависимой памяти 28F008SA, 28f008SA-L Пер. с англ. В.В. Затишного. М.: МП БИНОМ и ТОО КОНКОРД. 1992. 80 с.
  4. http://www.semiconductors.philips.com/microcontrollers.






Реклама на сайте
тел.: +7 (495) 514 4110. e-mail:admin@eust.ru
1998-2014 ООО Рынок микроэлектроники