logo
КС-ZAO / Лекции ЦЭВМруский вариант11

§8.3. Что такое pic ?....

PIC16CXX - это 8-pазpядные микроконтроллеры с RISC архитектурой, производимые фирмой Microchip Technology. Это семейство микроконтроллеров отличается низкой ценой, низким энергопотреблением и высокой скоростью. микроконтроллеры имеют встроенное ЭППЗУ программы, ОЗУ данных и выпускаются в 18 и 28 выводных корпусах.

PIC OTP - это однократно программируемые пользователем контроллеры, предназначенные для полностью оттестированных и законченных изделий, в которых не будет происходить дальнейших изменений кода. Эти контроллеры выпускаются в дешевых пластиковых корпусах с предварительно заданным типом внешнего генератора - кварцевым или RC.

Для отладки программ и макетирования выпускается вариант контроллеров с ультрафиолетовым стиранием. Эти контроллеры допускают большое число циклов записи/стирания и имеют очень малое время стирания - обычно 1-2 минуты. Однако цена таких контроллеров существенно выше, чем однократно программируемых, поэтому их невыгодно устанавливать в серийную продукцию. Для изделий, программа которых может меняться, либо содержит какие-либо переменные части, таблицы, параметры калибровки, ключи и т.д., выпускается электрически стираемый и перепрограммируемый контроллер PIC16C84. Он также содержит электрически перепрограммируемое ПЗУ данных. Именно такой контроллер мы и будем использовать для экспериментов.

Чтобы извлечь максимальную пользу от этой статьи, вам потребуется персональный компьютер, совместимый с IBM PC, программатор, подключаемый к параллельному порту компьютера, микросхема PIC16C84, макетная плата, 8 светодиодов с резисторами, источник питания +5 В и панелька для микросхемы. Мы будем набирать маленькие кусочки программы для PIC, ассемблировать их, записывать в микросхему и затем наблюдать результат на светодиодах. Мы будем использовать основные мнемоники MICROCHIP в этой статье, чтобы у Вы могли легче пользоваться другими примерами применения и листингами, помещенными в книге "Embedded Control Handbook".

СЕМЕЙСТВО PIC16CXX

Мы начнем детальное описание микросхем семейства PIC с тех особенностей и преимуществ, которые выделяют эти микроконтроллеры среди других. Для применений, связанных с защитой информации, каждый PIC имеет бит секретности, который может быть запрограммирован для запрещения считывания программного кода и ПЗУ данных. при программировании сначала записывается программный код, проверяется на правильность записи, а затем устанавливается бит секретности. Если попытаться прочитать микросхему с установленным битом секретности, то для PIC16C5X старшие 8 разрядов кода будут считываться как 0, а младшие 4 разряда будут представлять собой скремблированные 12 разрядов команды. Для PIC16C84 аналогично 7 старших разрядов будут считываться нулями, а 7 младших разрядов будут представлять скремблированные 14 разрядов команды. электрически перепрограммируемое ПЗУ данных PIC16C84 при установке бита защиты не может быть считано. Hа рисунке 1 представлены все выпускаемые в настоящее время микроконтроллеры и даны их краткие характеристики. (рис на стр. 2-1).

Микроконтроллеры семейства PIC имеют очень эффективную систему команд, состоящую всего из 35 инструкций. Все инструкции выполняются за один цикл, за исключением условных переходов и команд, изменяющих программный счетчик, которые выполняются за 2 цикла. Один цикл выполнения инструкции состоит из 4 периодов тактовой частоты. Таким образом, при частоте 4 МГц, время выполнения инструкции составляет 1 мосек. Каждая инструкция состоит из 14 бит, делящихся на код операции и операнд (возможна манипуляция с регистрами, ячейками памяти и непосредственными данными).

Высокая скорость выполнения команд в PIC достигается за счет использования двухшинной гарвардской архитектуры вместо традиционной одношинной Фон-Hеймановской. Гаpваpдская архитектура основывается на наборе регистров с разделенными шинами и адресным пространством для команд и для данных. Набор регистров означает, что все программные объекты, такие как порты ввода/вывода, ячейки памяти и таймер, представляют собой физически реализованные аппаратные регистры.

Память данных (ОЗУ) для PIC16CXX имеет разрядность 8 бит, память программ (ППЗУ) имеет разрядность 12 бит для PIC16C5X и 14 бит для PIC16CXX. Использование гарвардской архитектуры позволяет достичь высокой скорости выполнения битовых, байтовых и регистровых операций. кроме того, Гаpвадская архитектура допускает конвейерное выполнение инструкций, когда одновременно выполняется текущая инструкция и считывается следующая. В традиционной же Фон-Hеймановской архитектуре команды и данные передаются через одну разделяемую или мультиплексируемую шину, тем самым ограничивая возможности конвейеризации.

Как Вы можете видеть, внутренние физические и логические компоненты, из которых состоит PIC16CXX аналогичны любому другому микроконтроллеру, с которым Вы могли работать до сих пор. Поэтому писать программы для PIC не сложнее, чем для любого другого процессора. Логика, и только логика... Конечно, гарвардская архитектура и большая разрядность команды позволяют сделать код для PIC значительно более компактным, чем для других микроконтроллеров и существенно повысить скоpость выполнения пpогpамм.