Подписка на новости

Опрос

Нужны ли комментарии к статьям? Комментировали бы вы?

Реклама

 

2007 №4

Применение "low cost" микроконтроллера UPD78F9212 от NEC Electronics

Седнев Андрей  
Егоров Алексей  

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

Процесс снижения себестоимости коснулся всех функциональных групп электронных изделий, и, в частности, такой группы, как микроконтроллеры. Многие производители микроконтроллеров имеют в палитре производимых ими кристаллов особо выделенные модели low cost (low cost — дешевые), предназначенные в основном для массовых, но недорогих изделий. Функциональность таких микроконтроллеров, как правило, весьма ограничена, но в тех случаях, когда этой ограниченной функциональности хватает, low cost микроконтроллер не знает себе равных. И в самом деле, зачем платить, скажем, $10 там, где можно обойтись 40 центами?

В этой статье рассматривается достаточно интересный, на взгляд авторов, представитель дешевых микроконтроллеров — семейство 78K0S/Kx1+ производства фирмы NEC Electronics. Несмотря на свое достаточно уверенное положение на электронном рынке, NEC Electronics уделяет внимание и таким «мелочам», как микроконтроллеры нижнего ценового диапазона, постоянно совершенствуя и удешевляя их. Лучший тому пример — семейство 78K0S/Kx1+ (структура семейства представлена в таблице).

Таблица. Структура семейства 78K0S/Kx1+
Структура семейства 78K0S/Kx1+

Итак, рассмотрим составляющие 78K0S/Kx1+ (рис. 1):

  1. Мозгом микроконтроллера является ядро 78K0S, имеющее восемь 8-битных регистров общего назначения. Эти регистры, в зависимости от выполняемой команды, трактуются либо как восемь 8-битных регистров, либо как четыре 16-битных, что позволяет в некоторых случаях одной командой обрабатывать 16-битные данные (или указатель). Следует отметить, что регистры неравноценны — существует целый ряд команд, которые могут быть выполнены только с применением заранее предопределенных регистров и никаких других. Тем не менее их активное использование заметно увеличивает скорость выполнения программы.
  2. От 1 до 8 кбайт энергонезависимой Flash-памяти. Многие производители микроконтроллеров разрабатывают изделия с использованием Flash-памяти, однако семейство 78K0S/Kx1+ одно из немногих в своем ценовом диапазоне имеет до 8 кбайт Flash-памяти, в которую данные может заносить сама работающая программа. Это позволяет с некоторыми ограничениями использовать Flash-память как EEPROM-память. Программная запись во Flash-память — это распространенная функция; во многих микроконтроллерах эта возможность реализована, но все они из более высокого ценового диапазона.
  3. 128 байт оперативной памяти.
  4. Один 16-битный счетчик-таймер.
  5. Один или три 8-битных счетчика-таймера.
  6. Один сторожевой таймер.
  7. Один 4-канальный 10-битный АЦП (опция).
  8. От 14 до 26 портов ввода/вывода общего назначения.
  9. Встроенный тактовый кольцевой генератор на 8 МГц (по желанию разработчика в качестве тактового генератора можно использовать либо вышеупомянутый генератор — тогда не нужно никаких внешних элементов, либо кварцевый генератор на основе встроенного в кристалл инвертирующего усилителя — тогда необходимы внешние элементы: кварцевый резонатор и 2 конденсатора малой емкости).
  10. Схема сброса и перезапуска микроконтроллера при включении или сбоях питающего напряжения.
  11. Программируемый супервизор питания, позволяющий предупредить о снижении напряжения питания до уровня сброса микроконтроллера.
  12. Старшие представители семейства также могут иметь интерфейс UART и аппаратный умножитель.
Структура 78K0S/Kx1+
Рис. 1. Структура 78K0S/Kx1+

Выше перечислены аппаратные ресурсы рассматриваемого семейства. Перед авторами стояла задача создания предельно дешевого электронного устройства для автоматической пропускной системы в охраняемое помещение (например, в подъезд жилого дома). В качестве механического барьера в такой системе выступает обычная дверь, оснащенная электрически управляемым замком («липучкой»), а в качестве электронного ключа («таблетки») — DS1990A фирмы Dallas Semiconductor. Для разработки был выбран микроконтроллер UPD78F9212, при этом остались невостребованными АЦП и 2 таймера (в то время еще был недоступен микроконтроллер uPD78F9512). На электронику возлагалась задача прочитать поднесенный к контактору ключ, на основании базы данных о «своих» ключах, хранимой во Flash-памяти, определить принадлежность ключа к «своим» и открыть (для «своих») дверь посредством подачи сигнала на электрически управляемый замок. Задача была полностью решена, и наиболее важным параметром для нее оказался объем Flash-памяти, которая была целиком использована. Следует отметить, что для этого приложения способность микроконтроллера писать данные в свою Flash-память во время работы принципиально необходима. В противном случае невозможно было бы запомнить базу данных о «своих» ключах. Разработанное устройство получило название Z5R-E (рис. 2) и в данный момент производится в массовых количествах фирмой «Электронные Технологии» (г. Тверь) [1].

Внешний вид контроллера Z5R-E
Рис. 2. Внешний вид контроллера Z5R-E

Вторая задача, которая также была успешно решена с помощью микроконтроллеров семейства 78K0S/Kx1+, — разработка устройства управления для источников бесперебойного питания (рис. 3). Требования, предъявляемые органами сертификации к источникам бесперебойного питания, включают необходимость индикации наличия или отсутствия аккумулятора, что заставляет разработчика встраивать в схему микроконтроллер. Алгоритм определения наличия аккумулятора сводится к периодическому размыканию цепи заряда и измерению напряжения на клеммах, к которым подключается аккумулятор. Дополнительно к задаче индикации тот же микроконтроллер обеспечивает защиту аккумулятора от глубокого разряда. То есть при отсутствии напряжения сети ~220 В микроконтроллер отключает аккумулятор от нагрузки, если напряжение на нем снизится до 10,5 В. Это позволяет предотвратить выход аккумулятора из строя при длительном пропадании напряжения сети (явление довольно частое) и тем самым существенно увеличить срок жизни аккумулятора.

Внешний вид устройства управления для источников бесперебойного питания
Рис. 3. Внешний вид устройства управления для источников бесперебойного питания

В данном случае речь идет о массовых дешевых источниках питания небольшой мощности, поэтому выбор микроконтроллера жестко ограничен ценой и доступным пространством печатной платы. При этом от микроконтроллера требуется наличие: встроенного АЦП, который обеспечивает точность измерения и повторяемость параметров схемы, наличие встроенного супервизора питания, достаточно мощные порты ввода/вывода для управления светодиодами, минимальное количество внешних компонентов, возможность многократного внутрисхемного программирования, наличие режима пониженного энергопотребления, что важно в режиме защиты аккумулятора, а также высокая надежность. Младшие модели микроконтроллеров фирмы NEC практически идеально соответствуют этим требованиям.

Несколько слов о внутрисхемном программировании. Опыт работы показывает, что использование однократно программируемых микроконтроллеров нежелательно из-за возможного брака при программировании. Для некоторых микроконтроллеров осуществление внутрисхемного программирования связано с ограничениями (например: программирование невозможно при наличии на плате конденсатора большой емкости в цепях питания). Это неудобно, так как заставляет разрывать процесс пайки на два этапа и усложняет процесс перепрограммирования. У микроконтроллеров производства NEC такие ограничения отсутствуют.

Процент брака на выходе операции внутрисхемного программирования партии из 5000 изделий (включая брак пайки и брак в процессе программирования) составил 2,2%. По другим микроконтроллерам, применявшимся на нашем предприятии, этот показатель достигал 5%.

Практический интерес представляют также существующие средства разработчика для рассматриваемого семейства микроконтроллеров. Помимо бесплатного ассемблера и Си-компилятора от самой фирмы NEC, существует еще интегрированная среда IAR Embedded Workbench от фирмы IAR Systems, включающая редактор, ассемблер, Си-компилятор, симулятор, справочную систему и несколько дополнительных утилит. Программное обеспечение от NEC полностью бесплатное для всего семейства, Си-компилятор от IAR бесплатный для микроконтроллеров с размером Flash-памяти до 4 кбайт, ассемблер от IAR ограничений не имеет. Из средств разработчика также следует упомянуть достаточно удобный оценочный комплект «Low Pin Count Do it!» [2], эмулятор QB-78K0SMINI-EE и универсальный программатор-отладчик QB-MINI2-EE. Для загрузки исполняемого модуля в микроконтроллер можно использовать один из специализированных программаторов от NEC Electronics (например, PG-FPL2 или PG-FP4). При необходимости можно спроектировать свой собственный программатор [3], так как протокол программирования этих микроконтроллеров подробно описан в технической документации [4]. Для целей массового производства изделия Z5R-E (см. выше) авторами статьи был спроектирован комплексный прибор — программатор-тестер, выполняющий как проверку всей аппаратуры изделия Z5R-E с использованием загрузки тестирующей программы, так и внутрисхемное программирование микроконтроллера UPD78F9212, входящего в состав Z5R-E. Программирование UPD78F9212 осуществляется по 3 проводам (не считая общего провода и шины питания).

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

Литература

  1. http://www.eltech.tver.ru/z5r-e.html
  2. http://www.eltech.spb.ru/techinfo.html?aid=243
  3. http://www.eltech.spb.ru/flashprog.html
  4. http://www.eu.necel.com/_pdf/U17470EJ4V0AN00.PDF

Скачать статью в формате PDF  Скачать статью Компоненты и технологии PDF

 


Другие статьи по данной теме:

Сообщить об ошибке