Особенности новых микроконтроллеров фирмы Microchip с FLASH-памятью

   

М. Еременко

Особенности новых микроконтроллеров фирмы Microchip с FLASH-памятью

В предыдущих публикациях мы уже рассказывали о новейших разработках Microchip — микроконтроллерах PICmicro серии 18XXX. На этот раз речь пойдёт об особенностях организации памяти наиболее популярной серии PIC16F87X из так называемого “среднего семейства”, которые появились в продаже более года назад и уже успели завоевать широкую популярность благодаря своим возможностям и низкой цене.

До недавнего времени фирма Microchip предлагала разработчику использовать для отладки кристалл с ультрафиолетовым стиранием и возможностью многократной перезаписи, а для серийного производства применять дешёвый однократно программируемый OTP-кристалл. Это выгодно, если после тщательной отладки изделие выпускается без изменений большими партиями. Если же существует необходимость постоянно изменять программное обеспечение, подстраиваться под современную ситуацию на рынке или конкретного заказчика, гораздо эффективнее использовать микроконтроллеры с электрически перезаписываемой памятью (FLASH). Фирма Microchip уже давно выпускает семейство PIC16F83/84 с использованием FLASH-технологии. На смену ему приходят кристаллы нового поколения, и наиболее ярким примером является создание семейства PIC16F87X.

С помощью FLASH-микроконтроллеров можно:

  • быстро перепрограммировать кристалл новым программным обеспечением;
  • “вручную” подогнать необходимые параметры, произвести калибровку и так далее;
  • ускорить отладку программного обеспечения, особенно, если недоступны фирменные внутрисхемные средства отладки;
  • снизить цену выпускаемого изделия. FLASH-версии гораздо дешевле кристаллов с УФ-стиранием (JW), да и сам процесс стирания происходит мгновенно.

К недостаткам относится цена, которая, на сегодняшний момент, выше, чем у однократно программируемых OTP-кристаллов. Однако у FLASH-микроконтроллеров большие перспективы по снижению цен. Фирма Microchip утверждает, что после достижения определённого технологического уровня производства FLASH-контроллеры будут дешевле однократно программируемых, поэтому их следует рассматривать как более перспективные для новых разработок.

Организация памяти семейства микроконтроллеров PIC16F87X

У семейства PIC16F87X существует три вида памяти:

  • FLASH. До 14336 байт программной памяти (PIC16F876/877). Так как PICmicro “среднего звена” имеют 14-бит архитектуру и, соответственно, 14-бит команды, память организована в виде 8Кґ14 бит. Организация памяти страничная, 4 страницы по 2Кґ14. Типовое время записи одного слова составляет 4 мс. Количество циклов стирания/записи — не менее 1000;
  • EEPROM. До 256 байт (PIC16F876/877) EEPROM энергонезависимой памяти данных. Доступ к ней организован побайтно через служебные регистры. Типовое время записи составляет 4 мс, количество циклов стирания/записи — не менее 100000.
  • RAM. До 368 байт RAM данных (PIC16F876/877). Страничная организация: 4 страницы с возможностью прямого доступа к 16 байтам из любой страницы. Предусмотрены режимы прямой и косвенной адресации.

Данное семейство характеризуется тем, что вся память доступна для записи и чтения во всём диапазоне тактовых частот, температур и питающих напряжений. Выпускаются две версии кристалла:

  • “F” — стандартная версия. Предназначена для работы на частотах 0–20 МГц в диапазоне питающих напряжений от 4,5 до 5,5 В;
  • “LF” — маломощная версия, работает в расширенном диапазоне питающих напряжений от 2,0 до 5,5 В на частотах до 4 МГц. Потребляет 20 мкА @ 32 кГц (типовое значение).

Для удобства работы с массивами после цикла записи в EEPROM устанавливается флаг прерывания.

Встроенный программатор

Самая интересная особенность семейства PIC16F87X в том, что они способны сами себя программировать! У микроконтроллеров этого семейства есть возможность не только считывать/записывать энергонезависимую EEPROM-память данных, но и FLASH-память программ! Это даёт возможность при изготовлении записывать в микроконтроллер лишь небольшую процедуру загрузки основной программы. А дальше устройство можно подключить к RS-232, интернету и так далее и загрузить самую последнюю версию программного обеспечения, не прибегая к помощи каких бы то ни было программаторов! Процедура загрузки сама загрузит в микроконтроллер основную программу и запустит её на выполнение, тем самым существенно упрощая процедуру апгрейда. Раньше для того, чтобы обновить программное обеспечение схемы с микроконтроллером, в разрабатываемую схему необходимо было ввести целый блок, который переводил микроконтроллер в режим программирования и загружал в него новый код. Как правило, это был дополнительный маломощный микроконтроллер со схемами коммуникаций и памятью. Всё это существенно усложняло схему устройства и ощутимо отражалось на конечной цене изделия. Теперь отпала необходимость использования дополнительных элементов, а следовательно, появились возможности для создания дешёвых устройств со встроенной функцией быстрого и удобного обновления программного обеспечения.

В примерах применения микроконтроллеров Microchip () есть описание конструкции (AN724), где с помощью PIC16C63 реализована возможность выхода в интернет через PPP-протокол. Встраивание такой же функции в семейство PIC16F87X позволит не только обмениваться информацией, но и дистанционно обновлять программное обеспечение, встраивать новые режимы работы, проводить подстройку и калибровку и так далее.

Все PICmicro поддерживают последовательный протокол ICSP (In-Circuit Serial ProgrammingТМ) для внутрисхемного программирования. Что это такое? Это встроенный интерфейс, с помощью которого можно запрограммировать микроконтроллер непосредственно в собранном изделии, используя всего пять проводов: для передачи данных, тактирования, а также питание, “землю” и напряжение программирования. Использование ICSP позволяет выпускать изделия с незапрограммированными микроконтроллерами, записывая программное обеспечение непосредственно перед отгрузкой потребителю. Это значит, что изделие не устареет, пока лежит на складе, и, в случае необходимости, его легко можно будет перенастроить под конкретного заказчика. Для FLASH-кристаллов также возможно программирование встроенной памяти EEPROM-данных.

В отличие от других семейств, PIC18F87X также имеет режим низковольтного программирования. И вам не потребуется высокое напряжение (13 В) для того, чтобы запрограммировать кристалл.

Встроенный отладчик

Ранее мы рассказывали о применении таких сложных и многофункциональных средств отладки, как внутрисхемные эмуляторы, на примере MPLAB-ICE 2000. К сожалению, не каждая фирма может позволить себе приобрести такое устройство, да это и не всегда нужно, особенно если разработчик только начинает осваивать микроконтроллеры Microchip, и разрабатываемое устройство не является слишком сложным для отладки. Кроме того, в микроконтроллерах семейства PIC16F87X предусмотрен аппаратный отладчик, работающий через ICSP-порт.

Для того, чтобы воспользоваться встроенными возможностями внутрисхемной отладки, фирма Microchip выпускает недорогое устройство — MPLAB-ICD (In-Circuit Debugger, DV164001). Цена на него — около 175$ USD, это даже дешевле, чем на программатор PICSTART Plus. И для разработчика, только начинающего работать с контроллерами Microchip семейства PIC16F87X, приобрести его даже выгоднее, ведь тем самым он получит сразу и программатор для семейства PIC16F87X, и недорогой внутрисхемный отладчик-эмулятор. Внутрисхемный отладчик MPLAB-ICD работает под управлением универсальной интегрированной среды разработки MPLAB, поэтому компиляция и загрузка программы в микроконтроллер происходят очень быстро и удобно.

В комплект поставки входят:

  • Основной модуль MPLAB-ICD module;
  • Эмуляционная головка MPLAB-ICD header с микроконтроллером PIC16F877-20/P;
  • Демонстрационно-макетная плата MPLAB-ICD demo board.

Также в комплект входит компакт-диск с MPLAB последней версии, компакт-диск с подробной технической информацией по продукции Microchip, кабель для подключения к компьютеру через RS-232, а также несколько брошюр с подробным описанием интегрированной программной среды MPLAB, ассемблера PICmicro и самого внутрисхемного отладчика.

Если вы хотите освоить программирование PICmicro или же разработать небольшое устройство, работающее совместно с персональным компьютером по RS-232, то на демонстрационной плате, входящей в комплект, вы найдёте всё необходимое. Она представляет собой макетную плату, на которой установлены две панельки — для 28-pin (PIC16F870/872/873/876) и 40-pin (PIC16F871/874/877). Также имеются 8 светодиодов, подключенных к порту С (можно отключить встроенными выключателями); две управляющие кнопки, подключенные ко входам микроконтроллера; переменный резистор, соединённый со входом интегрированного в кристалл АЦП. Кроме того, на этой плате расположен стабилизатор питающего напряжения +5 В и все необходимые навесные элементы для работы микроконтроллера (цепи питания, сброса, RC-цепь для тактового генератора, а также панелька для установки кварцевого резонатора). На плате предусмотрено макетное поле 24ґ9 отверстий с шагом 2,5 мм для монтажа небольшой схемы разработчика и печатные проводники для установки разъёма DB-9 и микросхемы MAX232A с необходимой обвязкой.

Разработчик может использовать отладчик MPLAB-ICD как с демонстрационной платой, так и отдельно. В случае отладки с помощью MPLAB-ICD своего собственного устройства демонстрационная плата не используется, а используемый в этом устройстве микроконтроллер серии PIC16F87X подключается через MPLAB-ICD Header. При этом питание на основной модуль MPLAB-ICD подаётся с отлаживаемого устройства.

MPLAB-ICD работает под управлением универсальной программной среды MPLAB и обладает следующими возможностями отладки:

  • отладкой в режиме реального времени и пошаговой отладкой;
  • одной задаваемой точкой останова;
  • просмотром и модификацией содержимого управляющих регистров, RAM и EEPROM;
  • внутрисхемной отладкой;
  • встроенной системой программирования отлаживаемого микроконтроллера;
  • работой от источника питания отлаживаемой конструкции в диапазоне от 3,0 до 5,5 В;
  • диапазоном эмулируемых частот от 32 кГц до 20 МГц.

Принцип работы отладчика следующий: во время программирования отлаживаемого микроконтроллера в его программную память записывается не только программа пользователя, но и небольшая подпрограмма отладчика, на которую передаётся управление при включении питания. Эта подпрограмма получает с компьютера управляющие команды, например, выполнить один шаг отлаживаемой программы пользователя, или же запустить её в режиме реального времени, приостановить работу отлаживаемой программы, передать в компьютер содержимое регистров памяти и так далее. Из-за наличия этой подпрограммы отладки существуют небольшие ограничения в работе, в частности, нельзя использовать выводы RB6 и RB7 (они служат для подключения к плате отладчика), объём памяти программы пользователя уменьшается на 256(288) программных слов (команд). Но в этом случае можно отладить программу частями, а затем отключить режим отладки и полностью запрограммировать используемый микроконтроллер, при этом снимаются все налагаемые MPLAB-ICD ограничения. С помощью MPLAB-ICD можно написать программу, отладить её на демонстрационной плате или же на разрабатываемом устройстве, а затем запрограммировать несколько микроконтроллеров для пробной партии изделий.

Все PICmicro, выпускаемые в одинаковых корпусах, pin-to-pin совместимы между собой (например, 40-pin — PIC16C64/67/74/77/874/877 и 28-pin — PIC16C62/63/66/72/73/76/872/873/876). Различаются они объёмом памяти и количеством встроенных периферийных устройств. Таким образом, с появлением PIC16F87X разработчики получают ещё два новых преимущества:

  • отладку с помощью MPLAB-ICD конструкций с любыми 40- и 28-выводными PICmicro;
  • безболезненный перевод изделия, разработанного с помощью PIC16F87X, на очень дешёвые OTP-версии кристаллов для перехода к крупносерийному производству.

Очень удобно использовать MPLAB-ICD для обучения студентов, демонстрации возможностей микропроцессорной техники, создания пилот-проектов различных кодеров-декодеров, аппаратных ключей, датчиков, систем сбора и обработки информации и так далее. А объединение в одном недорогом устройстве внутрисхемного отладчика и программатора наверняка понравится тем, кто хочет разобраться в тонкостях программирования микроконтроллеров PICmicro и сэкономить деньги на средствах разработки.

Последняя разработка — семейство PIC16F62X

Компания Microchip увеличивает номенклатуру кристаллов, выполненных по FLASH-технологии. В декабре 2000 года поступает на рынок 18-pin семейство PIC16F62X. Оно имеет следующие характеристики:

  • до 2Кx14 байт программной FLASH-памяти, 128 байт EEPROM данных, 224 байт RAM данных;
  • широкий диапазон питающих напряжений (2,0–5,5 В) и тактовых частот (до 20 МГц);
  • до 16 портов ввода/вывода при 18-pin корпусе (!);
  • два встроенных программно переключаемых тактовых генератора на 4 МГц и 37 кГц;
  • два компаратора со встроенным источником опорного напряжения;
  • 3 таймера, блок CCP, ШИМ до 10 разрядов, последовательный порт USART;
  • режим низковольтного программирования (не нужно 13 В, чтобы запрограммировать кристалл);
  • pin-to-pin и программная совместимости с другими 18-pin микроконтроллерами Microchip.

В начале 2001 года появится ещё одно семейство — PIC16F73/74/76/77. Эта серия полностью повторяет OTP-серию PIC16C73/74/76/77. Единственное отличие заключается в том, что программная память будет выполнена по технологии FLASH. Особенностью семейства станет приближение цены кристалла FLASH к цене OTP за счёт снижения количества циклов перезаписи программной памяти (около 100), что позволит производителям активнее использовать преимущества FLASH-технологии в своих серийных изделиях. Новая серия будет выпускаться в единственном варианте: с 20 МГц рабочей частотой и индустриальным температурным диапазоном от -40 до +85°С.

Тел.: (095) 718 8405, (812) 325 5115
E-mail: Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript






Рекомендуемый контент




Copyright © 2010-2017 housea.ru. Контакты: info@housea.ru При использовании материалов веб-сайта Домашнее Радио, гиперссылка на источник обязательна.