Міністерство освіти і науки України
Національний університет “Львівська політехніка”
Кафедра ЕОМ


РЕФЕРАТ
на тему:
Процесори фірми Microchip


Підготував :ст. гр. КІ-33
Мельник І.В.
Прийняв : Андрух А.А.





Львів-2005

О фирме Microchip
Компания Microchip Technology Inc. – одна из мировых лидеров в разработке и производстве недорогих, экономичных и высокопроизводительных 8/16-разрядных RISC микроконтроллеров, износостойкой энергонезависимой памяти, а также другой компонентой базы, дополняющей микроконтроллер до получения завершенного устройства (интерфейсы, аналоговые и радиочастотные компоненты и др.).
В компании работает опытная команда по совершенствованию и разработке компонентной базы с учетом требований клиентов. Целью компании является разработка высокоэффективных, оптимальных по стоимости решений для встроенных систем управления.
Компоненты фирмы Microchip
    Основанная в апреле 1989 года, фирма Microchip впервые выступила на переполненном рынке микроконтроллеров, где доминировали американские и японские "гиганты", как никому не известный игрок с ограниченным спектром нестандартных, для того времени, изделий. Но в 1990 году она уже была на 20-м месте по объему продаж. Однако, целеустремленно сориентировавшись на один сегмент рынка - простых и дешевых 8-ми битных микроконтроллерах для встроенного управления и контроля, фирма неуклонно увеличивала портфель моделей PICmicro, ежегодно создавая новинку за новинкой. Через годы этот труд был вознагражден стремительным увеличением объемов продаж, приведшим Microchip на второе место в мире к 1997 году, уступая в этом секторе только фирме Motorola.    Сегодня большую часть портфеля продукции Microchip составляют, ставшие уже традиционными, микроконтроллеры семейства PICmicro, последовательная энергонезависимая память, специализированная память для систем идентификации, микросхемы семейства Keeloq бесконтактного контроля доступа и специализированная полупроводниковая продукция. Эти изделия предназначены для широкого спектра прикладных задач: от дешевых систем встроенного управления аппаратного уровня в бытовых приборах, на транспорте, в офисной технике до промышленных, связных контроллеров и охранных систем.    Штаб-квартира фирмы и два завода по производству полупроводниковых пластин, сертифицированных ISO9001, находятся в Чандлере, штат Аризона (США). Сборка и тестирование изделий производятся на предприятиях Microchip в Таиланде и на Тайване. Персонал компании составляет около 2200 человек, она имеет 21 торговое представительство в Америке, Европе, Азии и Японии. Начиная с 1996 года, официальным и единственным дистрибьютором Microchip в России является фирма HYPERLINK "http://www.gamma.spb.ru/" \t "_new" "Гамма Санкт-Петербург".    1998 год Microchip закончила, как и предыдущие, с финансовым ростом. Это особенно важно, если учесть общие трудности переживаемые сейчас электронной промышленностью - год характеризовался перепроизводством и острым спадом с осени на азиатском рынке. Прирост объема производства Microchip за 1998 год, в целом, составил 19%, что стало очередным значительным шагом в раздел мирового рынка микроконтроллеров. Во многом этому способствовала тенденция производителей к жесткой экономии, усилившая интерес к продукции Microchip, имеющей одни из самых низких в отрасли цены.    Достигнув известности и впечатляющих экономических успехов, фирма не собирается останавливаться в своем развитии. На сегодня объем продаж Microchip составляет только 5% от объема всего рынка контроллеров, оцениваемого в 6 миллиардов долларов в год. Дальнейшее развитие ожидается, главным образом, по специализированным направлениям и нишам обширного рынка встроенного управления и контроля. С этой целью фирма стремительно расширяет возможности и номенклатуру изделий. Около 70% наименований производимой сейчас продукции было внедрено только за последние 2 года.    Основой успеха стратегии Microchip является не только оперативная реакция на потребности рынка и, как следствие, ширящийся спектр изделий. Это и курс на постоянное снижение цен при повышении качества изделий, уже известных по этим показателям. Фирма уделяет особое внимание ускоренному развитию собственных кремниевых технологий, благодаря чему появляются новые возможности, новые кристаллы, а выпускавшиеся ранее совершенствуются при переходе на субмикронные технологии.
Новые FLASH-микроконтроллеры фирмы Microchip
 
  С момента своего создания фирма Microchip ориентировалась на разработку и производство недорогих однократно программируемых микроконтроллеров. Несколько лет назад спектр выпускаемых микроконтроллеров был значительно расширен несколькими моделями с FLASH-памятью программ, хотя по-прежнему делался упор на однократно программируемые модели. И вот, осенью 2001 года компания представила свою новую технологию производства FLASH-микроконтроллеров — PEEC, сообщив при этом, что отныне все новые модели будут разрабатываться на её основе. Первыми были выпущены модели PIC16F73 и PIC18F452. Кроме того, в течение 2002 года выпущено целое созвездие FLASH-микроконтроллеров на любой вкус — от дешёвых PIC12F629/675 (8 pin) до многофункцио-нальных PIC18F8720 (80 pin). Прежде чем подробнее рассмотреть новые модели, остановимся на достоинствах технологии PEEC.   Применение новейшей FLASH-технологии PEEC позволяет получить отличные характеристики — невысокую цену, отличную надёжность, малое время записи ячейки. Программирование микроконтроллеров, выпускаемых по этой технологии, оптимизировано так, что массив данных размером в 1 Мбит (128 Кбайт) может быть стёрт и запрограммирован менее чем за 2 с. Отдельное слово в памяти программ может быть стёрто и вновь запрограммировано менее чем за 3 мс. Число гарантированных циклов стирание/запись EEPROM-памяти данных более 1000000, а FLASH-памяти программ — более 100000 циклов. Длительность хранения данных — более 40 лет. Это позволяет хранить огромные массивы данных непосредственно во FLASH программной памяти и оперативно работать с ними, используя команды табличного чтения/записи. Применение технологии PEEC существенно улучшило частотные показатели микроконтроллеров, что позволило отказаться от разбраковки изделий по максимальной тактовой частоте. Поэтому на маркировке новых микроконтроллеров не указана тактовая частота — подразумевается, что она максимальна для данного семейства.
 
8-pin FLASH-микроконтроллеры PIC12F629, PIC12F675 со встроенными компаратором и 10-бит АЦП по супернизкой цене!
  Самый недорогой и маленький мик- роконтроллер фирмы Microchip — это PIC12C508. Теперь у него есть два FLASH “собрата” по семейству — это PIC12F629 (встроенный компаратор) и PIC12F675 (встроенные компаратор и 10-бит АЦП). Но самое интересное, что при всех достоинствах новых микроконтроллеров, цена на них осталась практически такая же, как и на PIC12C508!   Новые микроконтроллеры pin-to-pin и программно совместимы со всем семейством PIC12CXXX. При этом они имеют 14-бит ядро (35 команд, 20 МГц) и встроенную систему прерываний. Встроенная FLASH-память имеет объём 1K программных слов, а наличие ОЗУ 64 байт и EEPROM 128 байт делают PIC12F629 и PIC12F675 лучшими на рынке 8-pin микроконтроллеров по цене менее 1 доллара!   Благодаря совместимости с PIC12C, новые микроконтроллеры можно рекомендовать для замены старых с целью модернизации изделия, улучшения функциональности приборов с уменьшением при этом числа внешних элементов и себестоимости. Новые FLASH-контроллеры можно уверенно рекомендовать и для новых надёжных, малогабаритных приборов с низким потреблением и высокой функциональностью. Благодаря высокой надёжности и низкой цене, их можно использовать в игрушках, пожарно-охранной технике, реле времени, электронных метках, системах защиты и криптографии, кодерах/декодерах, удалённых датчиках и др. А низкое потребление и малые габариты (помимо традиционных DIP и SOIC, доступен миниатюрный MLF) делают новые контроллеры идеальными для применения в переносной аппаратуре с батарейным питанием.
Одно из достоинств сообщества микроконтроллеров PIC это то, что его представители сочетают два трудно совместимых качества. С одной стороны существует довольно большое разнообразие микроконтроллеров PIC, каждый из которых имеет свои индивидуальные свойства и особенности, оптимальное сочетание которых позволяет наилучшим образом решать конкретную задачу. А с другой стороны все микроконтроллеры PIC в определенной мере стандартны. Это значит, что, если вы знаете, как устроен какой-либо микроконтроллер PIC и как он работает, то вам не составит большого труда разобраться в устройстве и работе любого другого микроконтроллера PIC, а программу, созданную для одного микроконтроллера можно легко переписать для любого другого, конечно, если позволят его ресурсы.   Из всего набора выпускаемых сегодня микроконтроллеров PIC выделяются две наиболее развитые и популярные серии PIC16 и PIC18.    Серия среднего уровня PIC16. Названия микроконтроллеров этой серии начинаются с префикса PIC16. Различные типы микроконтроллеров PIC16 могут исполняться в корпусах, имеющих 14, 18, 28, 40 и более выводов. Это наиболее типичный ряд для PIC16/PIC18 в DIP корпусах. К серии микроконтроллеров PIC16 можно смело отнести микроконтроллеры PIC12 - это те же PIC16, только исполнены в 8 выводном корпусе.   Серия High End - высшего уровня. Названия представителей этой серии начинаются как PIC18. Замечательно, что продвинутую серию PIC18 представляют микроконтроллеры не отдельного ново созданного типа, а прямые, но более развитые наследники микроконтроллеров серии PIC16. Поэтому, зная микроконтроллер PIC16 легко разобраться во всех новациях и тонкостях устройства и работы микроконтроллеров PIC18.
Знакомство с микроконтроллером
   Чтобы освоить все семейство МК PIC нужно понять, как устроен и работает отдельный микроконтроллер, в частности изучить архитектуру, систему команд, организацию памяти и хорошо разобраться в том, как ядро МК взаимодействует с другими его частями, которые называют периферийными модулями, а так же устройство и работу каждого из периферийных модулей. Название периферийный как бы подчеркивает, что МК состоит из классической части, которая "вычисляет и запоминает" и некоей периферии - набора устройств, каждое из которых выполняет какую-либо дополнительную функцию. С помощью этих периферийных устройств МК может автоматически, т. е. не отвлекаясь от выполнения основной задачи, выполнять другие, сопутствующие, задачи, например, подсчитывать события, измерять или отсчитывать временные интервалы, преобразовывать аналоговые напряжения в числа, передавать данные по внешним каналам связи.    Замечательное свойство периферийных модулей - устройство модуля не зависит от типа МК в который он встроен, а зависит от возложенных на него функций. Т.е. внутри всего семейства модули стандартны, поэтому множество периферийных модулей, используемых в микроконтроллерах PIC16 невелико. Ядро МК PIC построено по RISC архитектуре, т. е. с раздельными шинами команд и данных, а так же раздельными памятью программ и памятью данных. При такой архитектуре, во-первых, разрядность (количество разрядов в слове) слова команды может не совпадать с разрядностью слова данных, во вторых, извлечение команды может происходить одновременно с пересылкой данных. Понятно, что эти особенности приводят к экономии ресурсов памяти и значительно увеличивает производительность ядра МК. Говорят, что PIC микроконтроллеры имеют ортогональную систему команд. Такая система позволяет любой команде обращаться к любому регистру МК. Все МК имеют 8-разрядную шину данных, 8-разрядное АЛУ для выполнения операций и 8-разрядые регистры для хранения данных, поэтому такие МК относятся к классу 8-разрядных. Шина команд МК PIC16 имеет 14 разрядов, а МК PIC18 - 16 разрядов. МК PIC16 ранних выпусков имели 12-разрядную шину команд, большинство из них выпускается и сейчас, но, чтобы не отвлекаться, пока забудем о них.    Итак, серию PIC16 представляют недорогие высокопроизводительные 8-разрядные МК с RISC архитектурой и системой компактных 14-разрядных команд. Весь набор состоит всего из 35 простых и понятных команд, которые легко изучаются и запоминаются, что упрощает процесс освоения МК. Все команды выполняются за один машинный цикл, кроме команд ветвления, которые выполняются за два машинных цикла.
Память программ
Набор команд микроконтроллера определяет только то, что, что он умеет делать и не более того. Незапрограммированный МК, после его подключения ничего делать не станет. Что должен делать МК, определяется программой. Программа - это последовательность команд, составленная программистом. Для хранения программы МК имеет память программ (ПП, PROGRAMM MEMORY, PM). Адресное пространство памяти программ МК PIC16 - 8К 14-разрядных слов, но это не значит, что все МК имеют ПП объемом 8К слов. У разных типов объем физически реализованной ПП может составлять 1К, 2К, 4К или 8К слов (рис. 2.1). INCLUDEPICTURE "mhtml:file://D:\\NULP\\3%20курс\\Архітектура%20копютерів\\Microchip\\PIC%20микроконтроллеры_%20Теория%20и%20практика%20для%20начинающих1.mht!http://e-soliton.com/book/p2_introduce.files/mem_map.gif" \* MERGEFORMATINET Рис. 2.1. Адресное пространство памяти программ и варианты реализации памяти программ микроконтроллеров PIC16. Для всех МК серии PIC16 область ПП одинакова, и занимает адресное пространство от адреса 0000h до адреса 1FFFh. Но микроконтроллеры разных типов физически имеют различный объем ПП, который может быть равным или меньшим области ПП и занимать полностью или частично область ПП. Причем, физически имеющаяся ПП, всегда располагается, начиная с адреса 0000h и монотонно вверх до своей границы. Содержимое памяти программ микроконтроллера изменяется только однажды - при программировании, а во время его штатной работы, ячейки ПП только считываются, содержащиеся в них коды декодируются и исполняются. Хотя есть микроконтроллеры, имеющие процедуры доступа к ПП из рабочей программы, но сути ПП это не меняет.
2.2. Специальная память
Сверху, к ПП прилегает область специальной памяти (рис. 2.1). Вот что МК хранит в области специальной памяти.
Четыре ячейки ID для программирования и хранения дополнительной справочной информации по усмотрению программиста. На работу МК и выполнение программы эти ячейки не оказывают влияния. В них может быть записана, например, контрольная сумма или номер версии программы, дата, порядковый или заводской номер запрограммированного МК.
Ячейку конфигурации для записи набора битов конфигурации МК. Различные биты слова конфигурации осуществляют различные настройки МК такие как выбор источника тактового сигнала, определить события сброса, защитить ПП или ПД от считывания и программирования. Слово конфигурации имеет важное значение для нормальной работы микроконтроллера.
Некоторые МК PIC16, имеющие встроенный автономный стабильный тактовый RC генератор (осциллятор) имеют ячейку, в которой хранятся записанные на заводе параметры калибровки встроенного стабильного RC генератора и параметры настройки порогов POR и BOD (POWER ON RESET и BROWN-OUT DETECTOR)
МК последних лет разработки имеют чейку ID изделия. Данные в нее записываются на заводе и представляют информацию о типе МК.
Разрядность (количество бит в слове) специальной памяти такая же, как и разрядность памяти программ - 14 бит. INCLUDEPICTURE "mhtml:file://D:\\NULP\\3%20курс\\Архітектура%20копютерів\\Microchip\\PIC%20микроконтроллеры_%20Теория%20и%20практика%20для%20начинающих1.mht!http://e-soliton.com/book/p2_introduce.files/specmem_map.gif" \* MERGEFORMATINET    Рис. 2.2. Область специальной памяти микроконтроллера PIC16. Ячейки специальной памяти программно не доступны, т.е. из программы нельзя обратиться к ячейке ID или CFG. Прочитать или изменить содержимое этих ячеек можно только программатором, причем это касается и тех МК, у которых имеются процедуры доступа к ПП из рабочей программы.
2.3. Память данных
При работе микроконтроллера, его программа использует различные оперативные данные, полученные в результате вычислений, преобразований, считываний с внешних устройств и портов. Эти оперативные данные называют переменными величинами, или просто, переменными. Для хранения переменных служит память данных (ПД, DATA MEMORY, DM). ПД представляет собой массив регистров разрядностью в один байт. Объем ПД всегда гораздо меньше, чем ПП, и обычно составляет от 16 до 256 байт. При выключении питания МК, данные в ПД не сохраняются. Обычно это и не требуется. Но бывает необходимо время от времени, по ходу работы МК, скорректировать или запомнить какие-то параметры. Например, одни телевизоры при очередном включении устанавливают усредненные значения оперативных регулировок, а другие восстанавливают их такими, какими они были при последнем выключении телевизора. В первом случае, измененные пользователем настройки запоминаются в ПД и, при выключении питания исчезают, а при включении, программа берет начальные параметры из ПП и инициирует ими соответствующие переменные в ПД. Программа МК не может изменить содержимое ПП, поэтому предписанные программистом начальные параметры не могут быть изменены. Все изменения в ПД не сохраняются при выключении питания. Т.о. становится очевидной необходимость памяти обладающей свойствами, как ПЗУ, так и ОЗУ. С появлением FLASH микроконтроллеров такая память была создана и введена в состав МК. Она реализована в виде массива ячеек (обычно 64…256) разрядностью в один байт и называется EEPROM Data Memory или FLASH ПД. Программа микроконтроллера в ходе своего исполнения может считывать и записывать байты во FLASH ПД. Данные в ней могут быть переписаны миллионы раз и сохраняются при выключении питания. Чтобы считать байт из FLASH ПД необходимо выполнить соответствующую процедуру состоящую из нескольких команд, а чтобы записать байт во FLASH ПД необходимо выполнить соответствующую процедуру и подождать окончания записи несколько миллисекунд. Некоторые МК имеют возможность записи и считывания данных прямо во FLASH ПП, используя такой же механизм, как и при доступе к FLASH ПД. В принципе не имеет значения, где хранить изменяемый параметр, только нужно иметь в виду, что
FLASH ПД допускает до 100 000 циклов чтения/записи
FLASH ПП допускает до нескольких тысяч циклов чтения/записи
Запись во FLASH ПП в принципе изменяет саму программу
   МК разных типов имеют различное число линий ввода/вывода, но, в любом случае, все они логически разбиты на группы по 8. Группы называются как PORTA, PORTB, PORTC и т.д. Число имеющихся у МК линий ввода/вывода не обязательно кратно 8, поэтому группа может быть не полной, но всегда, как логическая единица, порт представляет собой байт. Как правило, каждый разряд порта, независимо от других разрядов, может быть оперативно настроен как на ввод бита, так и на вывод. Т.е. программа может оперативно переключать направление разряда порта. Как это делается? Просто каждому порту соответствует дополнительный регистр, разряды которого определяют направление соответствующего разряда порта. Эти регистры называются TRISA, TRISB, и т.д. Единица в разряде регистра TRIS переключает соответствующий разряд порта на вход, а ноль - на выход. Подобно регистрам TRIS, существуют и другие служебные регистры, с помощью которых программа осуществляет управление различными функциями и функциями периферийных модулей. Как ядро МК, так и его периферийные модули, имеют свои информационные регистры, как, например регистр STATUS, в котором находятся флаги (биты) описывающие некоторые признаки результата выполненной операции, или регистры АЦП, из которых можно считать результат преобразования. Все служебные регистры, такие как управляющие и информационные регистры, порты, и даже счетчик программ относятся к регистрам специальных функций (Special Function Registers, коротко SFR). Регистры специальных функций управляют свойствами различных физических и логических модулей МК или являются носителями результата функции, выполняемой модулем. Например, таймер, порт или АЦП перед использованием должен быть настроен на требуемый режим. Для этого в управляющий регистр модуля записывается управляющее слово. После окончания функции модуля результат считывается из другого специального регистра модуля. Все эти регистры являются регистрами специальных функций. Каждый SFR имеет имя, причем имена стандартны для всего семейства МК PIC. И вот еще одно замечательное свойство МК PIC: все регистры SFR находятся в адресном пространстве памяти данных. К любому регистру SFR можно обращаться так же, как и к любой ячейки ПД. Это значит, что для функционирования МК нет надобности в специальных управляющих командах, достаточно обычных арифметических и логических команд и команд пересылки, что значительно сокращает весь набор необходимых команд, облегчает освоение МК и упрощает написание и чтение программ. SFR занимают первые 0x20 адресов на каждой странице ПД (о страничной организации ПД чуть позже). После SFR в ПД расположены регистры общего назначения (РОНы, General Purpose Registers, GPR).
2.4. Структурная схма МК
    INCLUDEPICTURE "mhtml:file://D:\\NULP\\3%20курс\\Архітектура%20копютерів\\Microchip\\PIC%20микроконтроллеры_%20Теория%20и%20практика%20для%20начинающих2.mht!http://e-soliton.com/book/p3_struct_mk.files/struct_diagr.gif" \* MERGEFORMATINET Рис 2.3. Обобщенная структурная схема микроконтроллера PIC16 Основные особенности архитектуры микроконтроллеров PIC.
Раздельные память и шины для команд и для данных. Разрядность ПП и шины команд - 14, ПД, регистров АЛУ и шины данных - 8.
В арсенале всего 35 простых и компактных команд. Все команды выполняются за 1 машинный цикл, кроме команд ветвления, которые выполняются за 2 машинных цикла.
Все регистры МК делятся на две группы: специальные регистры и регистры общего назначения. Обе группы составляют единое пространство - память данных, поэтому для управления функциями и настройками МК не требуются специальные команды.
Ортогональная система команд позволяет выполнить любую операцию с любым регистром, используя любой метод адресации.
В состав разных типов МК входят различные стандартные периферийные модули, выполняющие типичные для цифровых систем функции. Они освобождают ресурсы МК, упрощают программу и удешевляют изделие.
Все выводы МК, кроме выводов питания и сброса, используются как порты общего назначения. Периферийные модули не занимают монопольно выводы МК. Все коммуникации осуществляются через альтернативные функции портов. Т.е. программа может подключать модуль к внешнему выводу МК только когда это необходимо. Если модуль не используется, то он и не использует никакие выводы МК.
Несколько типов тактовых генераторов. Тактовая частота 0…20МГц.
Диапазон напряжения питания не является архитектурной особенностью, и все-таки: 2…5,5В - для низковольтных вариантов МК (LC, LF) и 3,5(4,5)…5,5В - для остальных.
   Неотъемлемая составная часть микроконтроллера - это АЛУ (Арифметико-логическое устройство). АЛУ выполняет арифметические и логические операции с участием одного или двух операндов (байтов), а также битовые операции. В последнем случае операндом является байт, но операция выполняется только над одним из его битов.    В состав ядра МК входит и занимает центральное место особый 8-разрядный регистр, он называется рабочим и обозначается как W (от слова Work - работа). Регистр W не имеет адреса и не отображается на адресное пространство памяти данных, поэтому его нельзя адресовать или обратиться к нему прямо или косвенно. Он участвует в операциях непосредственно. С его участием выполняются все двухоперандные операции, операции с константой и операции пересылки, в нем можно сохранить результат операции.
Выводы микроконтроллера, сколько бы он их ни имел, можно разделить на четыре группы. 1. Выводы питания.
Микроконтроллеры в 8-ми, 14-ти и 18-ти выводных корпусах имеют один вывод питания (Vdd) и один общий вывод (Vss).
В 28-выводных корпусах - один Vdd и два Vss.
В 40-выводных корпусах - по два вывода Vdd и Vss, причем выводы Vss внутри корпуса электрически соединены, а Vdd нет.
Один из двух вводов Vdd питает ядро МК, другой - выходные каскады портов. В более сложных микроконтроллерах, наряду с выводами Vdd и Vss, могут встретится выводы AVdd и AVss, они питают аналоговые цепи микроконтроллера. Такое разделение вполне оправдано, поскольку цифровая шина питания сильно зашумлена, эти шумы ограничивают, например, разрядность преобразования АЦП. 2. Два вывода тактового генератора OSC1 и OSC2 для подключения кварцевого или керамического резонатора, RC-цепочки или внешнего тактового сигнала (см. рис.). В микроконтроллерах, имеющих встроенный автономный RC генератор, выводы OSC1 и OSC2, или один из них, могут бить сконфигурированы как порты общего назначения. Нужно иметь ввиду, что максимальный ток утечки этих портов 5 мкА, в то время, как для других портов утечка не превышает 1мкА. 3. -MKLR (Master Clear) - вывод внешнего сброса микроконтроллера. В 8-ми, 14-ти и 18-ти разрядных микроконтроллерах этот вывод может быть сконфигурирован как порт общего назначения. Максимальный ток утечки этого порта 5 мкА, в то время, как для других портов утечка не превышает 1мкА. Во всех МК этот вывод используется при программировании для подачи высокого напряжения (Vpp=13В), поэтому не имеет защитного диода на шину питания, зато допускает напряжение до 13,5 В. 4. Порты общего назначения RA0…RA7, RB0…RB7, RC0…RC7 и т.д. Восьмивыводные МК имеют 6 выводов портов, которые обозначаются как GP0…GP5.