СТРУКТУРНАЯ ОРГАНИЗАЦИЯ И РЕЖИМЫ РАБОТЫ ОМК С RISC АРХИТЕКТУРОЙ

 

2.1. Общие сведения об ОМК PIC16/17 и их классификация

 

В 1975 году фирма GI разработала периферийный контроллер (Peripheral Interface Controller или PIC), предназначенный для поддержки ввода-вывода 16-ти разрядного процессора. В нем не требовалась сложная обработка информации, поэтому его набор команд был сильно ограничен, но почти все команды в нём выполнялись за один машинный цикл. Этот контроллер, имевший RISC-архитектуру стал прообразом сегодняшней архитектуры микроконтроллеров PIC [3-6], выпускающихся с конца 80-х годов компанией Arizona Microchip TechnologyLtd., дочерней компанией GI Microelectronics Inc.

Микроконтроллеры семейства PIC объединяют все передовые технологии ОМК: мировое лидерство по гибкой однократно или многократно электрически перепрограммируемой пользователем технологии ППЗУ, минимальное энергопотребление, исключительную производительность, мощную RISC-архитектуру и минимальные размеры корпуса. Эти широкие возможности и низкая стоимость сделали серию микроконтроллеров PIC лучшим выбором для инженерных применений. Более 200 миллионов микроконтроллеров PIC используется в нескольких тысячах приложений по всему миру. Использовать эти микроконтроллеры рекомендуется во всех случаях, когда критично энергопотребление, габариты и стоимость устройства.

Вот только некоторые примеры применений микроконтроллеров PIC:

Ø Компьютеры и периферия: принтеры, плоттеры, сетевые карты, модемы, мыши, сканеры, накопители на гибких и жестких магнитных дисках, CD ROM, мультимедийные устройства и т. п.

Ø Радиотехника (ТНП): CD проигрыватели, аудио системы, системы синтеза речевых сообщений, блоки дистанционного управления, модули телетекста, видеоигры.

Ø Техника связи: модемы, радиомодемы, микро-АТС, автоответчики, АОНы, беспроводные и мобильные телефоны, пейджеры, факс-аппараты.

Ø Промышленные контроллеры: интеллектуальные датчики, схемы управления электродвигателями, промышленные роботы, регуляторы температуры, влажности, давления и др.

Ø Автомобильная электроника: системы управления зажиганием, микроклиматом и впрыском топлива, приборные панели, радарные детекторы, автомобильные сигнализации, комбинированные измерительные приборы.

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

В зависимости от разрядности команд , архитектурных особен-ностей и функциональных возможностей однокристальные микроконт-роллеры (ОМК) PIC делятся на четыре основные группы (семейства) :

1. Семейство простейших ОМК (12р. команды) – PIC 12CXX.

2. Базовое семейство (12 р. команды ) - PIC 16 C5XX.

3. Расширенное семейство (14 р. команды) - PIC 16CXX.

4. Высокопроизводительное семейство (16 р. команды) - PIC 17CXX.

Подавляющее число ОМК, также как и микроконтроллеры серии К1816, имеет традиционную (Фон-Неймановскую или Принстонскую) архитектуру в которой команды и данные передаются по одной шине [2,7]. Архитектура же ОМК PIC основана на концепции раздельных шин и областей памяти для данных и команд (Гарвардская архитектура) [3-6]. Шина и память данных (ОЗУ) имеет ширину 8 бит, а программная шина и память (ПЗУ или ППЗУ) имеет ширину 12, 14 или 16 бит в зависимости от семейства ОМК. Такая концепция обеспечивает простую, но мощную систему команд а двухступенчатый конвейер обеспечивает их одновременную выборку и исполнение. Все команды состоят из одного слова (шириной 12, 14 или 16 бит) и исполняются за один цикл (200 нс при тактовой частоте 20МГц), кроме команд перехода, которые выполняются за два цикла. За счет этого ОМК с RISC-архитектурой типа PIC 16/17 имеют самое высокое быстродействие по сравнению с большинством наиболее распространенных 8-битовы микроконтроллеров аналогичного класса и обеспечивают более чем в 5-10 раз лучшую производительность.

Контрольные испытания показывают, что применение ОМК се-рии PIC позволяют уменьшить время отладки в 1,5-2 раза по сравнению с обычными 8- разрядными микроконтроллерами.

Система команд ОМК PIC 12/16/17 включает только 33/35/57 команд и может быть легко и быстро изучена. В конструкцию PIC включено много энергосберегающих особенностей, делающих их на сегодняшний день самыми микропотребляющими (в режиме SLEEP потребляемый ток менее 1 мкА), самым низковольтным по напряжению питания (2В) программируемыми пользователем микроконтроллерами.

Простейшие типы таких ОМК содержат 8-битный таймер-счетчик с 8- битным программируемым предварительным делителем (фактически 16-битный таймер) и 6-20 линий двунаправленного ввода/вывода. Корпус таких ОМК имеет 8(18) выводов. Микроконтроллеры расширенного и высокопроизводительного семейств содержат кроме этого целый ряд дополнительных функциональных узлов и блоков таких, например, как: многоканальные аналого-цифровые преобразователи, разветвленную систему прерываний, блоки управления жидкокристаллическими индикаторами, компараторы, широтно-импульсные модуляторы, параллельные и последовательные интерфейсы типа I2C, RS-232 и т.д., цифровые умножители, дополнительные таймеры-счетчики, увеличенное количество портов ввода/вывода дискретных сигналов и прочее.

Таким образом, ОМК PIC имеют существенные преимущества по сравнению с другими типами микроконтроллеров такого же класса. В настоящее время выпускаются микроконтроллеры с различным объемом постоянной и оперативной памяти, с различными типами тактовых генераторов, с различными быстродействием и конструктивным исполнением, а также с различными функциональными возможностями. Конкретный тип микроконтроллера для решения определенной задачи можно выбрать на основании критериев, рассмотренных ранее в разделе 1, используя соответствующую информацию, приведенную в Приложении А и в справочной литературе [3-6, 9].

В зависимости от технологии изготовления ПЗУ все типы МК разделяются на пять групп:

1.Микроконтроллеры многократно программируемые пользователем, которые, в свою очередь могут быть разделены также на две следующие группы:

1) Микроконтроллеры с ультрафиолетовым стиранием. Эти МК оптимальны для экспериментальных разработок и отладки программ. Необходимую конфигурацию тактового генератора <RC>, <XT>, <HS>, или <LP> устанавливают программным путем. По умолчанию устанавливается тип генератора <RS>. В зависимости от выбранного типа генератора и частоты, напряжение питания должно быть в том же диапазоне, что и для устройств OTP/QTP, рассмотренных ниже.

2) Микроконтроллеры с многократно электрически программируе-мыми пользователем ППЗУ (EEPROM) программ и данных. Эти МК (такие например, как PIC 16C84X или 16F84X) позволяют легко подстраивать программу и данные под конкретные требования даже после завершения ассемблирования и тестирования. Эта возможность может быть использована как для тиражирования, так и для занесения калибровочных данных уже после окончательного тестирования разработанного МКУ. Однако, данные МК имеют ограниченное количество циклов перепрограммирования.

2. Однократно программируемые микроконтроллеры (ОТР). Эти МК могут быть однократно запрограммированы пользователем и применяются в тех случаях, когда нет необходимости часто менять содержание программы или конфигурацию микроконтроллера в разрабо-танном МКУ. Для некоторых типов МК (таких например, как PIC 16C54, PIC 16C55, PIC 16C57 и т.д.) тип генератора задается на заводе-изготовителе и микроконтроллер тестируется только для заданного типа генератора. Для других типов МК (таких, например, как PIC16C52, PIC16C54A, PIC16C58A и т.д.) тип генератора программируется пользователем. Дополнительно можно при этом подключить сторожевой таймер и/или логику защиты программ от считывания. Так же можно запрограммировать 16 специальных битов для идентификации.

3 .Микроконтроллеры, программируемые изготовителем (QTP). Эти МК являются заказными и полностью программируемыми на заводе- изготовителе по заранее предоставленной пользователем информации. То есть, это так же однократно программируемые контроллеры (ОТР) с единственной разницей, что программирование осуществляется не пользователем, а на заводе-изготовителе.

4. Микроконтроллеры, последовательно программируемые изготовителем (SQTP). Это так же заказные однократно программируемые на заводе-изготовителе МК типа QTP, в которых несколько задаваемых пользователем ячеек в каждом микроконтроллере программируются различными серийным номерам. Причем, эти номера могут быть случайными, псевдослучайными или последовательными. Последовательное программирование позволяет каждому МК иметь собственный номер, который может быть использован в качестве пароля, кода доступа или идентификации.

5.Масочные микроконтроллеры (ROM). Эти МК также являются заказными и обеспечивают максимально низкую стоимость при крупно- серийных заказах (например, такими МК являются PIC16CR54, PIC16CR56, PIC16CR57, PIC16CR58 и т.д.).