Микроконтроллеры семейства PICmicro18 фирмы Microchip
 

О. Воротынский

Микроконтроллеры семейства PICmicro18 фирмы Microchip

    Самые популярные в мире 8-бит микроконтроллеры фирмы MICROCHIP продолжают своё развитие в сторону увеличения мощности ядра, расширения объёма памяти, увеличения количества выводов и новых периферийных устройств (CAN/USB). Расширение номенклатуры PICmicro идёт по направлению создания законченной системы pin-to-pin совместимых приборов различной вычислительной мощности ядра и набора периферии. Последние усилия MICROCHIP направлены на создание семейства PICmicro18 - высокопроизводительных приборов с Flash и ROM-памятью программ.

Память программ FLASH/ENHANCED FLASH

    Кристалл с перепрограммируемой памятью получил наименование Flash на основании того, что все ячейки массива памяти стираются с помощью электрического сигнала одновременно. Большое значение для скорости программирования и номинального напряжения программирования имеет технологический процесс изготовления кристаллов. Например, 0,9-мкм технологический процесс требует напряжения 21 В и времени записи 10 мс, а 0,5-мкм процесс - 16 В и 2 мс, соответственно.

    В настоящее время MICROCHIP применяет процесс Enhanced Flash (PIC16F87X), который позволяет перезаписать память около 1000 раз. В ближайшем будущем запускается усовершенствованный технологический процесс изготовления Flash-кристаллов.

    Новый кристалл Flash позволит пере- записать память программ ориентировочно 100 раз, причём для её программирования будет необходим дополнительный источник питания с высоким напряжением (около 16 В). Кроме того, на кристалле не будет EEPROM. Можно считать, что новые Flash станут перезаписываемыми аналогами однократно программируемых приборов. Отметим, что их цена максимально приближена к цене ОТР-кристаллов.

    Область применения новых Flash-микроконтроллеров очевидна - это приборы с периодически обновляемым программным обеспечением. Встроенный микроконтроллер в таких устройствах можно перепрограммировать, как и обычно, непосредственно в системе по последовательному интерфейсу (ICSP).

Маркировка семейства PICmicro18

    Напомним маркировку кристаллов семейства PICmicro18. После обозначения семейства PIC18 следующая буква указывает на технологию памяти программ (F - flash, C - OTP), а расположенные за ней цифры "ABC":

  • A - количество выводов (0-8, 1-18, 2-28, 4-40 и так далее);
  • B - объём памяти программ (1-1, 2-2, 4-8, 5-16 Kбайт и так далее);
  • C - номенклатура периферийных устройств.

Основные характеристики ядра PICmicro18

  • Набор команд и внутренняя структура ядра PICmicro18 оптимизированы для работы с Си-компилятором. Линейная адресация памяти программ (отсутствие разбивки на страницы) значительно упростила написание программного кода большого объёма. Вместе с тем, сохранилась преемственность ПО снизу вверх с семейством PIC16CXXX.
  • Работа с данными улучшена за счёт трёх регистров-указателей косвенной адресации с пятью режимами автоинкремента/автодекремента. Причём адресация к любой ячейке ОЗУ может выполняться непосредственно по абсолютному 12-разрядному адресу. Для адресации большого объёма память данных разбита на банки по 256 байт. Номер банка хранится в регистре выбора банка (BSR). Все регистры специального назначения объединены в один банк данных. Введение режима быстрой адресации к этому банку позволило ускорить работу с периферийными устройствами за счёт удобного обращения к ним. В этом же банке хранятся глобальные переменные. При обращении к ним нет необходимости следить за содержимым регистра BSR. Глубина стека увеличена до 31 с возможностью управлять указателем стека из программы и передавать таким образом параметры в подпрограмму через аппаратный стек.

  • Обработка внешних событий происходит значительно быстрее за счёт приоритетной векторной системы прерывания. Каждому источнику прерываний назначается высокий или низкий приоритет. На уменьшение времени реакции на событие положительно влияет автоматическое контекстное сохранение данных в начале процедуры обработки прерывания. В теневом одноуровневом стеке сохраняются данные BSR, рабочего регистра W, регистра STATUS и, естественно, счётчика команд. Содержимое указанных регистров автоматически восстанавливается при завершении процедуры прерывания.
  • Отдельно отметим, что наличие аппаратного умножителя 8x8 ускоряет математические вычисления, а встроенная система PLL увеличивает производительность CPU до 10 MIPS при внешней тактовой частоте 10 МГц.
  • Наличие четырёх таймеров T0-T3 обеспечивает дополнительную гибкость построения системы на PICmicro18. Работа с таймерами упрощена за счёт введения дополнительного буфера для старших 8 бит. При считывании 16-бит значения таймера старшие 8 бит записываются в буфер и сохраняются там для последующей обработки. При записи в таймер 16-бит значения процедура та же. Вначале загружаются старшие 10 8 бит в буферный регистр, затем младшие 8 бит записываются в младший регистр таймера. При этом старшие биты одновременно перезаписываются из буфера в таймер. В результате, полностью исключается ситуация получения некорректного результата при считывании младшего и старшего байта счётчика в момент переноса бита из младшего байта в старший.
  • Как известно, гарвардская архитектура RISC-процессоров подразумевает две шины - данных и команд. Для передачи данных между ними необходим специальный мост. Такой мост предусмотрен как в микроконтроллерах PIC16F87X, так и в PICmicro18. Пара регистров (указатель) содержит адрес ячейки памяти программ, к которой обращается программа. В зависимости от выполняемой операции (чтение или запись), данные записываются в регистр-защёлку из программной памяти или переносятся из регистра-защёлки в память программ. Как адресные регистры указателя, так и регистр-защёлка находятся в адресном пространстве регистров специального назначения и программно доступны. В результате, необходимая информация (калибровочные коэффициенты, кодовые таблицы и так далее) может быть зашита в память программ и использована в процессе работы системы.
  • Энергопотребление является критическим параметром для батарейных приборов. Переключение программой тактовой частоты на дополнительный генератор (таймер Т1) оставляет систему в работающем состоянии с микропотреблением, готовую при необходимости оперативно переключиться на высокую тактовую частоту для выполнения вычислений.
  • Удобство отладки обеспечивается встроенной схемой дебаггера ICD.

Номенклатура семейства PICmicro18

    Для массовых микрогабаритных применений интересной новинкой станет 8-выводной кристалл с высокопроизводительным ядром PICmicro18, системой контроля питания (детектором напряжения LVD и системой перезапуска BOR) и энергонезависимой памятью на кристалле.

    Семейство содержит модификации, отличающиеся объёмами памяти и наличием АЦП:

  • PIC18F012/022 - 8 выводов 1K/2Kбайт 256 RAM 64 EEPROM, 4-канальный 10-разрядный АЦП, умножитель 8x8, 2-уровневая система прерываний, стек 31, LVD/BOR;
  • PIC18F010/020 - 8 выводов 1K/2Kбайт 256 RAM 64 EEPROM, умножитель 8x8, 2-уровневая система прерываний, стек 31, LVD/BOR. Данное семейство особенно интересно пользователям кристаллов PIC12C671/672, PIC12CE673/674 с увеличенной производительностью ядра и повышенным разрешением АЦП. Наличие flash-памяти и корпуса SOIC расширяет область применения в сторону перепрограммируемых и микрогабаритных устройств. Отметим, что стоимость данного устройства не будет значительно отличаться от стоимости PIC12CE674 для серийных применений.

    Для встроенных устройств с аппаратным интерфейсом передачи данных по каналу RS-232 идеальным контроллером можно считать PIC16F628. Перепрограммируемая память позволяет обновлять алгоритм обмена данными, а встроенный модуль широтно-импульсного модулятора (ШИМ) может быть использован для управления исполнительным механизмом или измерения временных интервалов с высоким разрешением.

    PIC16F628/627 (ядро14 бит) - 18 выводов 1K/2Kбайт 128 RAM 128 EEPROM, 16 I/O, два аналоговых компаратора, модуль PWM/Capture/Compare, USART, внутренний ГТИ, BOR.

    Для малогабаритных устройств управления силовой схемой (например, инвертором источника питания или двигателем) рекомендуется микроконтроллер с усовершенствованным интерфейсом ШИМ. В выходной каскад ШИМ встроена логика управления мостовой и полумостовой схемой внешнего устройства (аналогичный модуль ШИМ используется в серийно выпускаемом микроконтроллере PIC16C770/771).

    PIC18F122/13 (ядро PICmicro18) - 20 выводов 4K/8Kбайт 256 RAM 128 EEPROM, 16 I/O, умножитель 8x8, 2-уровневая система прерываний, стек 31, 7-канальный 10-разрядный АЦП, усовершенствованный модуль EССР, 9 бит USART, LVD/BOR.

    Наличие EEPROM и мощного вычислительного ядра в контроллере PIC18C1X2 позволяет расширить область применения и реализовать сложные алгоритмы регулирования. Для менее сложных применений можно воспользоваться микроконтроллером PIC16F816, подготовленным к выпуску в ближайшие месяцы:

    PIC16F816/812 (ядро14 бит) - 18 выводов 1k/2Kбайт 128 RAM 64 EEPROM, 8-канальный 10-разрядный АЦП, модуль ССР, внутренний ГТИ, LVD/BOR.

    Об отладочных средствах и микроконтроллерах фирмы MICROCHIP с большим количеством выводов, с CAN и USB-интерфейсом, драйвером ЖКИ, многоканальным ШИМ читайте продолжение в следующих номерах журнала.

Тел.: (812) 325 5115

 
Автор документа: Сергей Гаврилюк , http://www.gaw.ru"
Дата публикации: 08.08.2007
Дата редактирования: 08.08.2007
Кол-во просмотров 1185
 
 Все новости одной лентой