Достоинства контроллеров.
К достоинствам микроконтроллеров PIC следует отнести:
● высокую производительность, которая позволяет реализовывать различные устройства, работающие в реальном времени с большими скоростями (системы управления автомобильными и электрическими двигателями, видеоигры и др.). В частности, производительность Р I С16С5х при частоте тактирования в 20 МГц составляет 5 MIPS (Million Instruction Per Second — миллионов инструкций в секунду). Высокая производительность достигается благодаря использованию:
• RISC –процессора, большинство команд которого выполняется за один машинный цикл (команды перехода и операции табличного чтения выполняются за два цикла);
• двухступенчатого конвейера, совмещающего выполнение текущей команды с выборкой из памяти следующей команды;
• Гарвардской архитектуры, обеспечивающей одновременное считывание команд (12, 14 или 16 бит) и данных (8 или 1 бит);
● малое энергопотребление, открывающее широкие возможности для создания устройств с батарейным питанием, питанием от телефонной линии, солнечных батарей (мобильные телефоны, электронные сторожа и др.). Для микроконтроллеров PIC 17, имеющих широкий набор аппаратных средств, потребление тока составляет:
• менее 5 мА при 5 В, 4 МГц;
• 100 мкА при 4,5 В, 32 кГц;
• менее 1 мкА при 5 В в режиме ожидания;
● мощную поддержку разработок, которую осуществляет фирма Microchip .
В качестве средств поддержки разработчику приложений предоставлены ассемблер MPASM и макроассемблер, симулятор MPSIM, интегрированная система отладки для Windows MPLAB, программный, внутрисхемный и отладочный эмуляторы, универсальный программатор и компилятор С. Кроме того, имеются библиотеки для работы с фиксированной и плавающей точкой, с последовательным интерфейсом и с аналого–цифровым преобразователем, а также большое количество документированных примеров применения микроконтроллеров PIC в различных областях с исходными текстами. Обилие средств поддержки разработчика способствует сокращению сроков создания приложений;
● совместимость, проявляющуюся в том, что программы для микроконтроллеров более ранних семейств PIC16C5X и PIC16CXX могут быть легко перенесены на семейство устройств PIC17CXX;
● разнообразие используемых способов программирования «внутри» каждого семейства PIC.
Фирма Microchip выпускает:
• микроконтроллеры с ультрафиолетовым стиранием, в которых память может быть очищена и контроллер перепрограммирован с помощью программатора PRO МАТЕ фирмы Microchip для функционирования в любом режиме, например, в режиме с использованием RC –генератора. Эти микроконтроллеры предназначены для экспериментальных разработок и отладки программ;
• однократно программируемые контроллеры ( One – Time Programming PROM — OTP ), изготовленные в пластиковом корпусе, позволяют пользователю записать в память программу и биты конфигурации только один раз. Они применяются в тех случаях, когда нет необходимости часто менять содержание программы или конфигурацию микроконтроллера в выпускаемом устройстве;
• контроллеры, программируемые изготовителем по заказу пользователя ( Quality TP — QTP ). Этот сервис, предлагаемый фирмой Microchip , предназначен для устоявшегося кода программы;
• контроллеры с серийными номерами ( SQTP ), программируемые изготовителем по заказу пользователя. В этих МК несколько определенных пользователем ячеек содержат номер, уникальный для отдельного устройства. Серийный номер может быть случайным, псевдослучайным и последовательным. Его можно использовать как код доступа, пароль или идентификатор;
• масочные контроллеры ( ROM ), в которых используются масочные ПЗУ. Такие контроллеры, имеющие низкую стоимость, изготавливаются для массового потребителя или при больших объемах заказа;
● высокую надежность, низкую стоимость и др.
Благодаря указанным достоинствам микроконтроллеры находят широкое и разнообразное применение.
Особенности программатора EXTRAPIC:
-
Функционально
совместим с П.О (Программным
Обеспечением) программаторов
JDM, но в отличие от них,
благодаря более качественному
схемотехническому решению, а
также использованию внешнего
источника напряжения питания:- Работоспособен
с любыми COM-портами, как
стандартными (+/-12v; +/-10v) так
и с нестандартными
COM-портами некоторых
моделей современных
ноутбуков, имеющих
пониженные напряжения
сигнальных линий, вплоть
до +/-5v. - Не
перегружает по току COM-порт
компьютера, так как
использует стандартный
формирователь интерфейса
RS232 (MAX232 или аналогичный), и
при правильной
эксплуатации не
представляет опасности
для COM-порта. - Имеет
разъём внутрисхемного
программирования (ICSP — In
Circuit Serial Programming).
- Работоспособен
-
Поддерживается
распространёнными программами
IC-PROG , PonyProg , WinPic 800
(WinPic800) , PICPgm и другими, как
программатор JDM. - Программатор
подключается к COM-порту
компьютера, через стандартный
кабель-удлинитель COM-порта (DB9M —
DB9F). Кабель приобретается
отдельно. - Для питания
программатора должен
использоваться
стабилизированный источник
питания напряжением от +15,5v до
+24,0v или от +13,0v до +14,0v. Источник
питания должен быть оборудован
стандартным разъёмом «Jack»,
центральный «+», толщина
центрального вывода 2,1мм. Источник
питания приобретается
отдельно. -
На плате
программатора имеются:- Светодиоды,
указывающие режим работы
программатора (POWER, VPP). - Встроенные
интегральные
стабилизаторы напряжений
+5v(VDD) и +13,5v(VPP). - Разъём
внутрисхемного
программирования (ICSP). - Панельки
для установки микросхем в
распространённых корпусах
DIP8, DIP18, DIP28, DIP40 (микросхемы
в других корпусах
подключаются через разъём
ICSP).
- Светодиоды,
- Программатор
предназначен для эксплуатации
без корпуса. - Проводники
печатной платы защищены
механически и электрически
прочной, диэлектрической
паяльной маской (обычно
зелёного цвета). - Для облегчения
процесса самостоятельной
сборки, на плату нанесена
маркировка расположения
элементов. -
К набору
прилагаются качественные
схемы (), а также, на русском языке. - Бесплатное
Программное Обеспечение для
Win95/98, Win2000, WinXP прилагается на
CD-ROM, имеющемся в комплекте. - Правильно
собранный программатор не
нуждается в настройке и
начинает работать сразу.
Топологии ИИП
Топология это подключение индуктивности, конденсатора, переключающих элементов схемы для обеспечения преобразования энергии, соотношения входных и выходных параметров.
схема | описание |
повышающий | |
понижающий | |
Sepic |
Рис. 2 Основные топологии ИИП.
Принцип управления силовым ключом в наиболее часто используемых топологиях ИИП в общем-то одинаковый (см. рис 2)
Регулируется скважность открытия силового ключа, т.е. соотношение между состояниями «открыт» и «закрыт»
Управление скважностью осуществляется либо в зависимости от выходного напряжения (управление по напряжению, voltage-mode control), либо в зависимости от тока в силовой индуктивности (управление по току, current-mode control)
Управление скважностью осуществляется либо в зависимости от выходного напряжения (управление по напряжению, voltage-mode control), либо в зависимости от тока в силовой индуктивности (управление по току, current-mode control). В каждом из двух режимов управление может быть гистерезисное (Hysteretic Control) или пропорциональное (Proportional Control). В каждом из двух режимов управление может быть гистерезисное (Hysteretic Control) или пропорциональное (Proportional Control)
В каждом из двух режимов управление может быть гистерезисное (Hysteretic Control) или пропорциональное (Proportional Control)
При гистерезисном управлении скважность импульсов фиксирована, а регулировка выходного напряжения осуществляется включением или отключением подачи импульсов управления силового ключа
При пропорциональном управлении скважность изменяется пропорционально величине рассогласования между фактическим выходным напряжением и требуемым. Для распространенных топологий ИИП промышленностью выпускаются специализированные ШИМ-контроллеры
Но что делать, если под нужную топологию не существует готового ШИМ-контроллера? В этом случае на помощь так же может прийти микроконтроллер с конфигурируемой периферией
Но что делать, если под нужную топологию не существует готового ШИМ-контроллера? В этом случае на помощь так же может прийти микроконтроллер с конфигурируемой периферией
Для распространенных топологий ИИП промышленностью выпускаются специализированные ШИМ-контроллеры. Но что делать, если под нужную топологию не существует готового ШИМ-контроллера? В этом случае на помощь так же может прийти микроконтроллер с конфигурируемой периферией.
Характеристики контроллеров.
Следует отметить, что различный аппаратный состав и характеристики имеют не только микроконтроллеры разных семейств, но и модели (версии) одного семейства. Однако общим для большинства моделей контроллеров является:
● RISC –архитектура (с двухступенчатым конвейером), обеспечивающая выполнение большинства команд процессора за один машинный цикл;
● Гарвардская архитектура (с раздельными шинами данных и программ), обеспечивающая одновременный доступ к памяти данных и программ;
● КМОП технология, обеспечивающая:
• полностью статический режим работы, при котором остановка тактового генератора не приводит к потере логических состояний внутренних узлов;
• широкий диапазон напряжений питания (2…6 В) и температур (–40…+70 °С);
• малое энергопотребление;
● наличие таймера–счетчика с программируемым предварительным делителем, сторожевого таймера с встроенным R С–генератором, таймера–счетчика реального времени — ТМ R 0, регистра состояния — STATUS ; регистра косвенной адресации — FSR и др.
● прямой и косвенный режимы адресации; режим пониженного энергопотребления.
В качестве примера в табл. 6.1.1 приведены показатели МК средних моделей.
Список поддерживаемых микросхем, при использовании с программой IC-PROG v1.06B:
PIC
контроллеры (микроконтроллеры PIC)
фирмы Microchip:
PIC12C508, PIC12C508A, PIC12C509, PIC12C509A, PIC12CE518,
PIC12CE519, PIC12C671, PIC12C672, PIC12CE673, PIC12CE674,
PIC12F629, PIC12F675, PIC16C433, PIC16C61, PIC16C62A, PIC16C62B,
PIC16C63, PIC16C63A, PIC16C64A, PIC16C65A, PIC16C65B, PIC16C66,
PIC16C67, PIC16C71, PIC16C72, PIC16C72A, PIC16C73A, PIC16C73B,
PIC16C74A, PIC16C74B, PIC16C76, PIC16C77, PIC16F72, PIC16F73,
PIC16F74, PIC16F76, PIC16F77, PIC16C84, PIC16F83, PIC16F84,
PIC16F84A, PIC16F88, PIC16C505*, PIC16C620, PIC16C620A,
PIC16C621, PIC16C621A, PIC16C622, PIC16C622A, PIC16CE623,
PIC16CE624, PIC16CE625, PIC16F627, PIC16F628, PIC16F628A,
PIC16F630*, PIC16F648A, PIC16F676*, PIC16C710, PIC16C711,
PIC16C712, PIC16C715, PIC16C716, PIC16C717, PIC16C745, PIC16C765,
PIC16C770*, PIC16C771*, PIC16C773, PIC16C774, PIC16C781*,
PIC16C782*, PIC16F818, PIC16F819, PIC16F870, PIC16F871,
PIC16F872, PIC16F873, PIC16F873A, PIC16F874, PIC16F874A,
PIC16F876, PIC16F876A, PIC16F877, PIC16F877A, PIC16C923*,
PIC16C924*, PIC18F242, PIC18F248, PIC18F252, PIC18F258,
PIC18F442, PIC18F448, PIC18F452, PIC18F458, PIC18F1220,
PIC18F1320, PIC18F2320, PIC18F2585, PIC18F2620, PIC18F4320,
PIC18F4455, PIC18F4520, PIC18F4539, PIC18F4550, PIC18F6620*,
PIC18F6720*, PIC18F8620*, PIC18F8720*Примечание: Микроконтроллеры,
отмеченные звёздочкой (*)
подключаются к программатору
только через разъём ICSP.
Микросхемы
последовательной памяти EEPROM I2C (IIC):
X24C01, 24C01A, 24C02, 24C04, 24C08, 24C16, 24C32, 24C64,
AT24C128, M24C128, AT24C256, M24C256, AT24C512.
Для чего необходим программатор
Так как статья пишется в том числе и для читателей, не слишком осведомленных в этом вопросе, то необходимо взять во внимание и такой пункт. Программатор — это специальное устройство, которое посредством получаемых от компьютера сигналов программирует микроконтроллер, который будет управлять схемой
Качественное устройство является очень важным, ведь в таком случае можно будет быть уверенным в том, что МК не выйдет из строя, или, что важнее, из строя не выйдет компьютер. Есть небольшое уточнение: программатор для PIC своими руками делают только те, у кого есть микроконтроллеры этого семейства. Другие из-за другой архитектуры могут не работать. Но можно попробовать своими силами усовершенствовать представленные схемы и собрать программатор AVR своими руками.
Выбор микроконтроллера PIC для наших проектов
Микроконтроллеры PIC от компании Microchip подразделяются на 4 больших семейства. Каждое семейство отличается своим набором компонентов и характеристик.
- Первое семейство, PIC10 (10FXXX) – называется Low End.
- Второе семейство, PIC12 (PIC12FXXX) – называется Mid-Range.
- Третье семейство – это PIC16 (16FXXX).
- Четвертое семейство – это PIC 17/18(18FXXX).
Поскольку в дальнейшем мы на нашем сайте будем рассматривать достаточно много проектов на основе микроконтроллеров PIC, то для этих проектов мы решили выбрать достаточно универсальный микроконтроллер, относящийся к семейству 16F – это микроконтроллер PIC16F877A. Он способен работать с такими популярными сейчас интерфейсами как SPI, I2C и UART.
После того как вы выбрали микроконтроллер, первым делом необходимо изучить даташит на него. Из данного даташита можно узнать что микроконтроллер PIC16F877A содержит 3 таймера, два из которых являются 8-битными, а третий – с 16-битным предделителем. Данные таймеры также могут использоваться в качестве счетчиков. Также из даташита можно узнать, что микроконтроллер поддерживает CCP опции (Capture Compare и PWM), которые позволяют ему формировать сигналы ШИМ (широтно-импульсной модуляции) и считывать частоту входных сигналов. Для связи с внешними устройствами он обладает интерфейсами SPI, I2C, PSP и USART.
Микроконтроллер PIC16F877A содержит 8-канальный 10-битный АЦП (аналого-цифровой преобразователь), который позволяет производить преобразование аналоговых значений в цифровые с разрешением 10 бит. Это преобразование можно осуществлять на 8 контактах микроконтроллера. Также в составе микроконтроллера есть два встроенных компаратора, которые позволяют непосредственным образом сравнивать значения поступающих напряжений, без считывания их программным способом.
Память программ микроконтроллера поддерживает до 100 тысяч циклов перезаписи, что позволяет его перепрограммировать 100 тысяч раз. Разъем ICSP (In-Circuit Serial Programming) позволяет нам программировать микроконтроллер с помощью PICKIT3. Отладку работы программы можно производить через разъем ICD (In-Circuit Debug). Также в составе микроконтроллера есть и сторожевой таймер (Watchdog Timer, WDT), который позволяет, при необходимости, производить сброс работы программы.
На следующем рисунке представлена распиновка микроконтроллера PIC16F877A, на которой вы можете увидеть все специальные функции, которые могут выполнять определенные контакты микроконтроллера.
Программатор микроконтроллеров PIC фирмы MicroChip
В настоящее время появилось много принципиальных
схем с использованием различных микроконтроллеров, в том числе и
микроконтроллеров PIC фирмы MicroChip. Это позволило получить достаточно
функциональные устройства, несмотря на их простоту. Но работа
микроконтроллера невозможна без программы управления, которую необходимо
записать. В данной статье мы рассмотрим универсальный программатор EXTRA-PIC
позволяющий программировать PIC контроллеры и память EEPROM I2C.
Список поддерживаемых микросхем, при использовании с программой IC-PROG
v1.05D:
PIC-контроллерыфирмы Microchip: PIC12C508, PIC12C508A, PIC12C509, PIC12C509A, PIC12CE518,
PIC12CE519, PIC12C671, PIC12C672, PIC12CE673, PIC12CE674, PIC12F629, PIC12F675,
PIC16C433, PIC16C61, PIC16C62A, PIC16C62B, PIC16C63, PIC16C63A, PIC16C64A,
PIC16C65A, PIC16C65B, PIC16C66, PIC16C67, PIC16C71, PIC16C72, PIC16C72A,
PIC16C73A, PIC16C73B, PIC16C74A, PIC16C74B, PIC16C76, PIC16C77, PIC16F72,
PIC16F73, PIC16F74, PIC16F76, PIC16F77, PIC16C84, PIC16F83, PIC16F84,
PIC16F84A, PIC16F88, PIC16C505*, PIC16C620, PIC16C620A, PIC16C621, PIC16C621A,
PIC16C622, PIC16C622A, PIC16CE623, PIC16CE624, PIC16CE625, PIC16F627,
PIC16F628, PIC16F628A, PIC16F630*, PIC16F648A, PIC16F676*, PIC16C710, PIC16C711,
PIC16C712, PIC16C715, PIC16C716, PIC16C717, PIC16C745, PIC16C765, PIC16C770*,
PIC16C771*, PIC16C773, PIC16C774, PIC16C781*, PIC16C782*, PIC16F818, PIC16F819,
PIC16F870, PIC16F871, PIC16F872, PIC16F873, PIC16F873A, PIC16F874, PIC16F874A,
PIC16F876, PIC16F876A, PIC16F877, PIC16F877A, PIC16C923*, PIC16C924*,
PIC18F242, PIC18F248, PIC18F252, PIC18F258, PIC18F442, PIC18F448, PIC18F452,
PIC18F458, PIC18F1220, PIC18F1320, PIC18F2320, PIC18F4320, PIC18F4539,
PIC18F6620*, PIC18F6720*, PIC18F8620*, PIC18F8720*
Примечание: микроконтроллеры, которые отмечены
звездочкой (*) необходимо подключить к программатору через
ICSP разъем.
Последовательнаяпамять EEPROM
I2C (IIC): X24C01, 24C01A, 24C02, 24C04, 24C08, 24C16, 24C32, 24C64, AT24C128,
M24C128, AT24C256, M24C256, AT24C512.
Непосредственно сама схема программатора EXTRA-PIC:
А теперь инструкция как запрограммировать микроконтроллер.
В виде примера возьмем микроконтроллер PIC16F876A.
Соберите программатор и подготовьте блок питания с напряжением
на выходе не менее 15В
Распакуйте программу в отдельный каталог. В созданном каталоге должны
находиться три файла:
icprog.exe — файл оболочки программатора;
icprog.sys — драйвер, необходимый для работы под Windows
NT, 2000, XP. Этот файл всегда должен находиться в каталоге программы;
Настройки -> Программатор
Установите микросхему в панель программатора, соблюдая положение ключа.
Подключите шнур удлинителя, включите питание.
Запустите программу IC-PROG.
В выпадающем списке выберите контроллер PIC16F876A.
Если у вас нет файла с прошивкой — подготовьте его:
откройте стандартную программу «Блокнот»;
вставьте в документ текст прошивки;
сохраните под любым именем, например, prohivka.txt (расширение *.txt или
*.hex).
Далее в IC-PROG Файл >> Открыть файл (!
не путать с Открыть файл данных ) >> найти наш файл с прошивкой
(если у нас файл с расширением *.txt , то в типе файлов выберите Any
File *.* ). Окошко «Программного
кода» должно заполнится информацией.
Нажимаем кнопку «Программировать микросхему»
(загорается красный светодиод).
Ожидаем завершения программирования (около 30 сек.).
Для контроля нажимаем «Сравнить микросхему с буфером».
Скачать программу IC-PROG v1.05D
1000 и одна микроконтроллерная схема. Выпуск 1 (+CD)
1000 и одна микроконтроллерная схема. Выпуск 1 (+CD) Книга является первым выпуском своеобразной энциклопедии схем по применению микроконтроллеров. В ней представлено более 1000 электрических схем. Рассматриваются подсистемы ввода (подключение механических, емкостных, индуктивных, акустических, оптических, температурных и других датчиков), синхронизации (с использованием кварцевых и керамических резонаторов, RC и LC-генераторов), начального сброса (включая детекторы напряжения, сторожевые таймеры), а также организация питания. Все электрические схемы снабжены краткими пояснениями о назначении элементов. Главные принципы подачи материала — логичное и понятное изложение теории, дополненное большим количеством полезной практической информации.
Как прошивать микроконтроллер? С чего начать изучение?
Официальный программатор для семейств PIC – это PICkit V3, является наиболее распространенным. Программный код загружается в чип с помощью ПО, которое есть на диске, он идёт в комплекте с программатором. IDE имеет название MPlab. Является официальной средой разработки от производителя, между прочим, бесплатной. Для изучения устройств есть отличная книга на русском языке «Pic-микроконтроллеры. Полное руководство» автор её Сид Катцен. Кроме этой книги вы найдете огромное количество видео-уроков и текстовых материалов, которые вам помогут.
Применение микроконтроллеров PIC весьма широко, многие радиолюбители собирают металлоискатели и счетчики Гейгера на этих МК.
Управление по напряжению (Voltage Mode)
В этом режиме скважность ШИМ сигнала, управляющего силовыми ключами, определяется непосредственно выходным напряжением. При гистерезисном управлении, если напряжение на выходе ниже нормы – идет «накачка» источника. Если напряжение на выходе больше порога – компаратор блокирует управление силовым ключом, идет разряд выходной накопительной емкости
В англоязычной литературе такой режим называют «hiccup-mode» – «режим с икотой»
Если напряжение на выходе больше порога – компаратор блокирует управление силовым ключом, идет разряд выходной накопительной емкости. В англоязычной литературе такой режим называют «hiccup-mode» – «режим с икотой»
При гистерезисном управлении, если напряжение на выходе ниже нормы – идет «накачка» источника. Если напряжение на выходе больше порога – компаратор блокирует управление силовым ключом, идет разряд выходной накопительной емкости. В англоязычной литературе такой режим называют «hiccup-mode» – «режим с икотой».
Данный режим используется сравнительно редко, так как сопровождается большими пульсациями выходного напряжения и требует накопительного конденсатора сравнительно высокой емкости.
Рисунок 5 демонстрирует принцип работы режима управления по напряжению с гистерезисным управлением. Здесь и далее не показана выходная часть источника, так как определяется топологией, выходной мощностью и др. Для иллюстрации принципа работы ШИМ-контроллера иногда будет показан пример с выходной частью.
Рис. 5а. Первая схема – с фиксированным выходным напряжением, вторая – с регулировкой выходного напряжения.
Рис. 5б. Диаграммы выхода ШИМ и выхода компаратора.
Рис. 6. Пример выходного каскада повышающего импульсного источника питания, подключенного к ШИМ контроллеру (см.рис.5).
Конфигурируемые логические ячейки (CLC) на рис .5 можно включить как элемент И. Для предотвращения высокочастотной генерации от компаратора его выход целесообразно пропустить через еще одну CLC – D-триггер с синхронизацией от сигнала ШИМ
В этом случае получим два «бонуса» — отсутствие возникновения высокочастотной генерации и неизменность скважности управляющего ШИМ (см. пояснения на рис. 7)
Подробнее о конфигурируемых логических ячейках см. в статье «Конфигурируемые логические ячейки в PIC микроконтроллерах»
7). Подробнее о конфигурируемых логических ячейках см. в статье «Конфигурируемые логические ячейки в PIC микроконтроллерах» .
Рис.7.а. Укорочение управляющих ШИМ импульсов, возможность появления высокочастотной генерации
Рис. 7.б. Синхронизация сигналов позволяет предотвратить укорочение ШИМ импульсов
Рис. 8. Синхронизация сигналов для предотвращения генерации и укорочения ШИМ.
Схема программатора
Вот тут уже можно попробовать сделать программатор для PIC своими руками. В качестве гнезда необходимо использовать разъем DB9. Можно сделать и USB-программатор своими руками, но для него понадобятся дополнительные элементы схемы, которые усложнят и без того довольно сложную плату. Также внимательно рассмотрите рисунок с различными прямоугольниками (чтобы знать, какие части за что отвечают). Выводы должны подключатся именно туда, куда нужно, иначе микроконтроллер превратится в небольшой кусочек пластика и железа, который можно поставить на стеночку как напоминание о былых ошибках. Процесс сборки и использования программатора таков:
- Собрать сам программатор так, как написано на схемах. Просмотреть на наличие некачественной пайки, а также потенциальных мест замыкания. Программатор рассчитан на работу с напряжением 15-18В, больше категорически не рекомендуется.
- Подготовьте среду управления прошивкой (выше было упоминание одной программы, с которой программатор точно работает).