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

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

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

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

Фирма ATMEL, обладающая собственной технологией изготовления Flash-памяти низкой стоимости, выпускает большую номенклатуру микросхем на основе ядра С51 как для общего пользования (в т.ч. полные аналоги MSC-51®, но с Flash-памятью программ), так и для специализированных применений: CAN-мультиплексирование, декодеры MP3, приложения USB , Smart Сard и др.

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

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

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

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

       
  • Контроллеры управления и разграничения доступа в зданиях
  • Измерители температуры и детекторы огня
  • Управление процессами в промышленных приложениях
  • Промышленное оборудование
  • Бытовая техника
  • Ручные измерительные системы
  • Системы преобразования протоколов

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

Семейство P89LPC9xx

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

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

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

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

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

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

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

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

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

Интегрированная в него память подразделяется на память данных 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 нс). Выводы микроконтроллера разделены на четыре порта: 8-разрядные порты 0, 1 и 2, а также 2-разрядный порт 3. Если используется схема внутреннего сброса при включении (отключено функционирование вывода nonRST как входа сигнала сброса), а в качестве источника тактовой частоты задействован внутренний RC -генератор или сторожевой таймер, для ввода/вывода данных доступно 26 ножек в 28-выводном корпусе.

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

Интегрированные модули интерфейсов I2C и 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 производится в корпусах трех типоразмеров: TSSOP-28, PLCC-28 и HVQFN-28. Интересно отметить, что все представленные корпуса имеют очень небольшие размеры, к примеру, размеры корпуса HVQFN-28 составляют всего 6x6x0.85 мм с расстоянием между выводами 0.65 мм.

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

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

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

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

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

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

Поставщики средств разработки для микроконтроллеров PHILIPS P89LPC9xx

Производитель
Название продукта
web -сайт
Аппаратные средства
Keil Software, Inc. Отладочная плата MCB900 www.keil.com
Acqura Systems Адаптер эмулятора FPA900-901-2-3 для LPC901-903 http://www.acqura.com
Acqura Systems Адаптер эмулятора FPA900-906-7-8 для LPC906-908 http://www.acqura.com
Acqura Systems Адаптер эмулятора FPA900-TSSOP14 для LPC912-914 http://www.acqura.com
Acqura Systems Адаптер эмулятора FPA900-DIP20 для LPC912-914 http://www.acqura.com
Aprilog Адаптер эмулятора для LPC93 x www.aprilog.com
Ceibo Система разработки, в т.ч. эмулятор FE-900 www.ceibo.com
Keil Software, Inc. Эмулятор и программатор EPM900 www.keil.com
Philips Эмулятор и программатор PE-ICD900 www.semiconductors.philips.com
Acqura Systems Система разработки, в т.ч. эмулятор PDS-900 http://www.acqura.com
Phyton, Inc Эмулятор PICE-52 http://www.phyton.ru
BP Microsystems Универсальный программатор для LPC 92 x и выше www.bpmicro.com
Advantech Equipment Corporation Универсальный программатор LabTool-48XP www.aec.com.tw
EE Tools, Inc Программатор TopMax www.eetools.com
Phyton, Inc Программатор ChipProg+ www.phyton.ru
Tribal Microsystems Программаторы ALL-11 и ALL - GANG www.tribalmicro.com
Xeltek Программатор серии SUPERPRO www.xeltek.com
System General Инженерный программатор PowerLab для LPC 92 x и выше www.sg.com.tw
- Программатор ZLG “ CP 932”, включая адаптер PLCC 28 (только для LPC 932) -
- Программатор ZLG “ CP 932”, включая адаптер TSSOP 28 (только для LPC 932) -
Программные средства
Keil Software, Inc. Компилятор PKLPC-8K www.keil.com
Keil Software, Inc. Компилятор C 51 Free Eval (ограничение кода до 2 кБ) www.keil.com
Keil Software, Inc. Комплект разработчика ( компилятор ) DK51 www.keil.com
Keil Software, Inc. Компилятор «LPC Developer Studio (4 кБ )» www.keil.com
Keil Software, Inc. Профессиональный набор разработчика (компилятор) PK 51 www.keil.com
Raisonance Компилятор Raisonance Eval 51 (ограничение 4 кБ) для LPC 93 x www.raisonance.com
Raisonance Компилятор Raisonance RKitE51 Enterprise Suite для LPC93x www.raisonance.com
Raisonance Компилятор Raisonance RKitP51 Professional Suite для LPC93x www.raisonance.com
Raisonance Компилятор Raisonance RKitL 51-8 (ограничение 8 кБ) для LPC 93 x www.raisonance.com
Altium Комплект разработчика 8051 www.tasking.com
Keil Software, Inc. Интегрированная среда разработки ( IDE ) Keil m Vision www.keil.com
Raisonance Интегрированная среда разработки ( IDE ) RIDE для LPC 93 x www.raisonance.com
Altium Интегрированная среда разработки ( IDE ) TASKING EDE для LPC 93 x www.tasking.com
Embedded Systems Academy Программное обеспечение для ISP -программирования ESAcademy “ FlashMagic ” www.esacademy.com/software/flashmagic/
Embedded Systems Academy Генератор кода с языка “ C ” ESAcademy “ CodeAdchitect ” (только для LPC 93 x ) www.esacademy.com/software/flashmagic/

ISP (In System Programmable) – программирование внутри системы при стандартном напряжении питания микроконтроллера (как правило, через интегрированный стандартный последовательный порт типа SPI или JTAG).

IAP (In Application Programmable) – одна из разновидностей программирования микроконтроллера через коммуникативный порт (к примеру, UART) во время работы устройства. При выполнении определенной последовательности команд микроконтроллер может самостоятельно стирать сегменты Flash-памяти программ и записывать в них принимаемые через порт данные, изменяя таким образом собственную программу.

 

 
© ООО "Гранд Электроник"
г. Киев, б-р И.Лепсе, 8
т/ф.:239-96-06, 495-29-19
Главная     Склад     Справочники     О компании     English     Карта сайта     Обратная связь