PIC - микропроцессоры

Рейтинг пользователей: / 0
ХудшийЛучший 
Цифровые устройства - Микропроцессоры
19.10.2009 07:02

Термин «микроконтроллер» обычно ассоциируется с микросхемой, имеющей 40 или 28 выводов, а также многочисленные порты ввода/ вывода. Предполагается, что подобная микросхема не всегда доста­точно быстродействующая, требующая к тому же дорогостоящих сиcтем разработки - словом, далеко не идеал для ряда широко распро­страненных приложений, в которых необходимо объединить малые габариты, требуемые параметры и низкую стоимость.

Наиболее популярны на сегодняшний день микроконтроллеры семейства PIC16Cxx компании Microchip. Простота и доступность этого радиоэлемента, способного конкурировать c более совершенны­ми изделиями, вызвана тем, что подобные микроконтроллеры снаб­жены ограниченным количеством линий ввода/вывода и размеща­ются в пластмассовом корпусе ОП с малым числом выводов. Они способны обходиться без кварцевого резонатора, вместо которого используются керамические резонаторы или RC-цепи, и легко про­граммируются. Такие радиоэлементы можно найти в мобильных телефонах, радиоприемниках и магнитолах, системах контроля до­ступа и кодированного телеуправления, различных датчиках. Они встречаются везде, начиная от автомобилей и электробытовых при­боров и заканчивая «конструкторами» - наборами деталей, в кото­рых они могут легко заменить обычные микросхемы. (Если стереть ' маркировку микроконтроллера, будет обеспечена и дополнительная защита от незаконного повторения.)

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

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

Семейство PIC16Cxx основано па двух базовых аппаратных кон­фигурациях с 12 или с 20 линиями ввода/вывода соответственно.

Р1С16С54 - наиболее простой прибор, размещенный в корпусе DIP или SOIC с 18 выводами. Он имеет 12 линий ввода/вывода, ОЗУ емкостью 32 байта и СППЗУ емкостью 512x12 бит (что уже яв­ляется оригинальным решением).

Совместимый с ним на уровне выводов микроконтроллер P1C16C56 оснащен СППЗУ с удвоенным объемом памяти.

Размещенный в корпусе DIP или SOIC с 28 выводами, микрокон­троллер PIC16C55 располагает 20 линиями I/O, 32-байтным ОЗУ и СППЗУ емкостью 512x12 бит.

Его вариант PIC1GC57 имеет СППЗУ с увеличенным в четыре раза объемом памяти.

PIC16C71 - более новый и заметно улучшенный микроконтрол­лер. В частности, здесь добавлены аналоговые входы (встроен АЦП) и вместо 12-разрядных используются 14-разрядные команды, кото­рые записываются в 1024 ячейки ПЗУ.

Появившийся недавно, но уже очень распространенный PIC16C84 изготовлен по технологии ЭСППЗУ. Несмотря на то что он размещен в пластмассовом корпусе, его можно моментально «очистить» и тотчас же перепрограммировать. Часть его энергонезависимой памяти доступ­на для данных, которые не должны теряться при отключении питания. Наиболее распространенное исполнение версий с СППЗУ - пласт­массовый корпус (ОП - ОТР), но существуют микросхемы и в кера­мическом корпусе с кварцевым окошком (УФ СППЗУ - UVPROM),

используемые в процессе разработки и отладки. Есть и возможность программирования на производстве (quick turn production, QTP -быстрый запуск в производство), что гораздо выгоднее изготовления масочных ПЗУ. Переход от прототипа к серии происходит быстрее и без значительных расходов, а возможные изменения программы вызовут минимальные затруднения.

Все эти радиоэлементы выполнены по технологии КМОП и питают­ся от напряжения 5 или 3 В (версии с пониженным потреблением энер­гии), ток потребления от 15 мкА до 2 мА в зависимости от тактовой ча­стоты. Разрешается включить дежурный режим (standby), причем ток составит менее 3 мкА. Кроме того, они выпускаются с различными ва­риантами тактовых генераторов (0-20 МГц).

Эти радиоэлементы приспособлены для работы в системах с авто­номным питанием, в портативных или даже карманных устройствах. Все микроконтроллеры PIC располагают встроенным счетчиком-тай­мером, вход синхронизации которого подключен к специально пред­назначенному выводу, но может работать и от общего тактового гене­ратора. Наконец, допустимо использовать программируемый таймер аварийного сброса - watch dog.

Основная особенность PIC - их RISC-архитектура (Reduced In­struction Set Computer - ограниченная система команд компьютера), которая по отношению к классической конфигурации CISC имеет следующие преимущества:

• более компактный код (вдвое);

• возросшее быстродействие (вчетверо);

• ускорение процесса разработки (приблизительно 30%).

Вместо 50-100 команд по несколько байтов и нескольких рабочих циклов обычных микроконтроллеров язык Р1С16С5х ограничивает­ся 33 командами, исполняемыми за один рабочий цикл (за исключе­нием команд условных переходов, использующих два периода) и за­нимающими в памяти программ (12 разрядов вместо 8) только одно слово. Микроконтроллер PIC16C71 имеет 35 команд.

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

Конечно, применяется и программное обеспечение, написанное на языке высокого уровня (С), а затем откомпилированное, но в этом случае код получается более громоздким и выполняется медленнее, чем необходимо.

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

Параллельно с этим используется система, именуемая Pipe-Line (конвейер), что позволяет выполнять команду одновременно с подго­товкой следующей, извлекая максимум из каждого тактового периода. Рабочие показатели достигают 5 MIPS (миллионы команд в секун­ду), что делает возможным оригинальный подход к определенным за­дачам, которые выгодно обрабатывать в реальном масштабе времени. При использовании микроконтроллеров PIC допустимо, напри­мер, заменять громоздкие таблицы данных алгоритмами быстрых вы­числений практически так же, как это делалось бы в устройствах на DSP (Digital Signal Processor - цифровой сигнальный процессор).

Микроконтроллеры PIC вполне оправдали существование специ­фических средств разработки, которые можно приобрести по весьма низким ценам.

Коммерческий успех дешевых и удобных в программировании мик­роконтроллеров привел к тому, что компания Motorola, в частности, решила бесплатно предоставить своим клиентам необходимое про­граммное обеспечение для сборки собственных простых программа­торов; компания SGS-Thomson предпочла выпустить в продажу не­дорогой полный «комплект разработчика».

Фирма Microchip проводит политику, которая удачно объединяет эти два подхода: комплект Starter Kit, который называется PICSTART-16B, можно приобрести по весьма разумной цене, особенно учитывая его содержимое: специальный программатор, подключаемый к ПК (см. рис. 4.3), программное обеспечение (ассемблер, симулятор и програм­матор), а также полный комплект документации и несколько корпу­сов микроконтроллеров PIC, стираемых ультрафиолетовыми лучами. Разнообразное и практически эквивалентное программное обеспе­чение можно загрузить и бесплатно (с BBS или из Internet), К тому же алгоритмы программирования были в конце концов опубликова­ны. В главе 5 мы покажем, до какой степени простой может оказаться, например, сборка программатора для микроконтроллера PIC16C84. ПО, управляющее программатором Piсstart, удобно и просто в ис­пользовании благодаря «оконной» структуре, напоминающей Win­dows, достаточно быстрой и не занимающей много места в памяти.

Оно позволяет загружать полученный после работы программы-ас­семблера шестнадцатеричный файл, редактировать его в случае не­обходимости, а затем «зашить» в PIC. Понятно, что предварительно надо подготовить так называемые биты конфигурации: бит таймера автозагрузки (watch clog), защиты от копирования, типа тактового генератора, идентификатора. После завершения программирования выполняется контрольное считывание, но можно считывать или про­верять содержимое памяти PIC в любое время и контролировать чи­стоту памяти нового или стертого микроконтроллера.

Что же касается программы-ассемблера и симулятора, то они на первый взгляд ничем особенным не отличаются. Функционируя в режиме командной строки, они напоминают о том времени, когда вся работа происходила на телетайпах. Однако при более вниматель­ном рассмотрении становится понятно, что это мощные средства, не уступающие продуктам, цена которых в пять-десять раз превышает цену всего этого комплекта. Поэтому можно порекомендовать пользо­вателю хорошо изучить определенный набор сокращенных команд (если только он не предпочитает постоянно пользоваться системой справочной информации) вместо того, чтобы щелкать кнопками мыши. Вероятно, именно этим и отличаются настоящие программисты-профессионалы От пользователей.

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