Pic18f44k22

Универсальные программаторы, которые подойдут не только к РІС

Если человек увлекается программированием микроконтроллеров, то вряд ли он постоянно будет пользоваться только одним типом. Для тех, кто не желает покупать отдельно программаторы для различных типов микроконтроллеров, от различных производителей, были разработаны универсальные устройства, которые смогут запрограммировать МК нескольких компаний. Так как компаний, выпускающих их, довольно много, то стоит избрать пару и рассказать про программаторы для них. Выбор пал на гигантов рынка микроконтроллеров: PIC и AVR.

Универсальный программатор PIC и AVR — это аппаратура, особенность которой заключается в её универсальности и возможности изменять работу благодаря программе, не внося изменений в аппаратную составляющую. Благодаря этому свойству такие приборы легко работают с МК, которые были выпущены в продажу уже после выхода программатора. Учитывая, что значительным образом архитектура в ближайшее время меняться не будет, они будут пригодны к использованию ещё длительное время. К дополнительным приятным свойствам заводских программаторов стоит отнести:

  1. Значительные аппаратные ограничения по количеству программируемых микросхем, что позволит программировать не одну, а сразу несколько единиц электроники.
  2. Возможность программирования микроконтроллеров и схем, в основе которых лежат различные технологии (NVRAM, NAND Flash и другие).
  3. Относительно небольшое время программирования. В зависимости от модели программатора и сложности программируемого кода может понадобиться от 20 до 400 секунд.

Работа с микроконтроллерами

Что же необходимо для работы всех программаторов с микроконтроллерами? Дело в том, что, хотя сами программаторы и являются самостоятельными схемами, они передают сигналы компьютера в определённой последовательности. И задача относительно того, как компьютеру объяснить, что именно необходимо послать, решается программным обеспечением для программатора.

В свободном доступе находится довольно много различных программ, которые нацелены на работу с программаторами, как самодельными, так и заводскими. Но если он изготавливается малоизвестным предприятием, был сделан по схеме другого любителя электроники или самим человеком, читающим эти строки, то программного обеспечения можно и не найти. В таком случае можно использовать перебор всех доступных утилит для программирования, и если ни одна не подошла (при уверенности, что программатор качественно работает), то необходимо или взять/сделать другой программатор PIC, или написать собственную программу, что является весьма высоким пилотажем.

Обновление Firmware OS (прошивки) программатора:

Подключите программатор к
COM-порту компьютера.
Включите напряжение питания.
Запустите MPLAB-IDE (рекомендуется
использовать версию не менее
7.00).
«Programmer» >> «Select
Programmer» >> «Picstart Plus».
«Programmer» >> «Setting»
>> вкладка «Communications»
>> (выберите COM-порт).
«Programmer» >> «Enable
Programmer».

ВАЖНО:
«Programmer» >> «Reset». (Если этого не сделать,
может произойти сбой при
обновлении прошивки
программатора!).
«Programmer» >> «Download PICSTART
OS» >> укажите файл
прошивки (обычно, это файл
формата psplsxxxxx.hex).
Дождитесь сообщения о
завершении обновления OS.
«Programmer» >> «Reset».
«Programmer» >> «About»
(проверьте версию прошивки).

Newer Device Available PIC18F45Q10

Status: In Production

View DatasheetView Comparisons

Features:

  • C Compiler optimized architecture/instruction set
  • Data EEPROM to 1024 bytes
  • Linear program memory addressing to 64 Kbytes
  • Linear data memory addressing to 4 Kbytes
  • Up to 16 MIPS operation
  • 16-bit wide instructions, 8-bit wide data path
  • Priority levels for interrupts
  • 31-level, software accessible hardware stack
  • 8 x 8 Single-Cycle Hardware Multiplier
  • Sleep mode: 100 nA, typical
  • Watchdog Timer: 500 nA, typical
  • Timer1 Oscillator: 500 nA @ typical 32 kHz
  • Factory calibrated to ± 1%
  • Software selectable frequencies range of

    31 kHz to 16 MHz

  • 64 MHz performance available using PLL
  • no external components required
  • Four Crystal modes up to 64 MHz
  • Two external Clock modes up to 64 MHz
  • 4X Phase Lock Loop (PLL)
  • Secondary oscillator using Timer1 @ 32 kHz
  • Allows for safe shutdown if peripheral clock

    stops

  • Two-Speed Oscillator Start-up
  • Full 5.5V operation (PIC18F2XK22/4XK22)
  • Low voltage option available for 1.8V-3.6V operation

    (PIC18LF2XK22/4XK22)

  • Self-reprogrammable under software control
  • Power-on Reset (POR), Power-up Timer (PWRT)

    and Oscillator Start-up Timer (OST)

  • Programmable Brown-out Reset (BOR)
  • Extended Watchdog Timer (WDT) with on-chip

    oscillator and software enable

  • Programmable code protection
  • In-Circuit Serial Programming (ICSP) via

    two pins

  • In-Circuit Debug via two pins
  • 10-bit resolution
  • 17 analog input channels (PIC18F/LF2XK22)
  • 28 analog input channels (PIC18F/LF4XK22)
  • Auto acquisition capability
  • Conversion available during Sleep
  • Programmable High/Low Voltage Detection

    (PLVD) module

  • Up to 28 channels for button, sensor or slider

    input

  • Two rail-to-rail analog comparators
  • Comparator inputs and outputs externally

    accessible and configurable

  • Programmable On-chip Voltage Reference

    (CVREF) module (% of VDD)

  • Selectable on-chip fixed voltage reference
  • High current sink/source 25 mA/25 mA
  • Individually programmable weak pull-ups
  • Individually programmable interrupt-on-pin

    change

  • Three external interrupt pins
  • Up to four 16-bit timers/counters with prescaler
  • Up to three 8-bit timers/counters
  • Dedicated, low-power Timer1 oscillator
  • Up to two Capture/Compare/PWM (CCP) modules
  • One, two or four PWM outputs
  • Selectable polarity
  • Programmable dead time
  • Auto-shutdown and Auto-restart
  • PWM output steering control
  • 3-wire SPI (supports all 4 SPI modes)
  • I2C Master and Slave modes (Slave mode

    with address masking)

  • Supports RS-232, RS-485 and LIN 2.0
  • Auto-Baud Detect
  • Auto Wake-up on Start bit

Совместно с интегрированной средой разработки MPLAB 7.30, и firmware OS (прошивкой) v.4.40.01, программатор поддерживает линейку PIC-контроллеров:

PIC10F200,
PIC10F202, PIC10F204, PIC10F206, PIC10F220, PIC10F222, PIC12C508,
PIC12C508A, PIC12C509, PIC12C509A, PIC12C671, PIC12C672,
PIC12CE518, PIC12CE519, PIC12CE673, PIC12CE674, PIC12F508,
PIC12F509, PIC12F510, PIC12F629, PIC12F635, PIC12F675, PIC12F683,
PIC16C505, PIC16C54, PIC16C54C, PIC16C55, PIC16C554, PIC16C558,
PIC16C55A, PIC16C56, PIC16C56A, PIC16C57, PIC16C57C, PIC16C58A,
PIC16C58B, PIC16C620, PIC16C620A, PIC16C621, PIC16C621A,
PIC16C622, PIC16C622A, PIC16C62A, PIC16C62B, PIC16C63, PIC16C63A,
PIC16C642, PIC16C64A, PIC16C65A, PIC16C65B, PIC16C66, PIC16C662,
PIC16C67, PIC16C71, PIC16C710, PIC16C711, PIC16C712, PIC16C715,
PIC16C716, PIC16C717, PIC16C72, PIC16C72A, PIC16C73A, PIC16C73B,
PIC16C745, PIC16C74A, PIC16C74B, PIC16C76, PIC16C765, PIC16C77,
PIC16C770, PIC16C771, PIC16C773, PIC16C774, PIC16C781, PIC16C782,
PIC16C923, PIC16C924, PIC16C925, PIC16C926, PIC16CE623,
PIC16CE624, PIC16CE625, PIC16F505, PIC16F506, PIC16F54, PIC16F57,
PIC16F627, PIC16F627A, PIC16F628, PIC16F628A, PIC16F630,
PIC16F636, PIC16F639, PIC16F648A, PIC16F676, PIC16F684,
PIC16F685, PIC16F687, PIC16F688, PIC16F689, PIC16F690, PIC16F716,
PIC16F72, PIC16F73, PIC16F737, PIC16F74, PIC16F747, PIC16F76,
PIC16F767, PIC16F77, PIC16F777, PIC16F785, PIC16F818, PIC16F819,
PIC16F83, PIC16F84, PIC16F84A, PIC16F87, PIC16F870, PIC16F871,
PIC16F872, PIC16F873, PIC16F873A, PIC16F874, PIC16F874A,
PIC16F876, PIC16F876A, PIC16F877, PIC16F877A, PIC16F88,
PIC16F913, PIC16F914, PIC16F916, PIC16F917, PIC16F946,
PIC16HV540, PIC17C42, PIC17C42A, PIC17C43, PIC17C44, PIC17C752,
PIC17C756, PIC17C756A, PIC17C762, PIC17C766, PIC18C242,
PIC18C252, PIC18C442, PIC18C452, PIC18C658, PIC18C858,
PIC18F1220, PIC18F1230, PIC18F1231, PIC18F1320, PIC18F1330,
PIC18F1331, PIC18F2220, PIC18F2221, PIC18F2320, PIC18F2321,
PIC18F2331, PIC18F2410, PIC18F242, PIC18F2420, PIC18F2431,
PIC18F2455, PIC18F248, PIC18F2480, PIC18F2510, PIC18F2515,
PIC18F252, PIC18F2520, PIC18F2525, PIC18F2550, PIC18F258,
PIC18F2580, PIC18F2585, PIC18F2610, PIC18F2620, PIC18F2680,
PIC18F4220, PIC18F4221, PIC18F4320, PIC18F4321, PIC18F4331,
PIC18F4410, PIC18F442, PIC18F4420, PIC18F4431, PIC18F4455,
PIC18F448, PIC18F4480, PIC18F4510, PIC18F4515, PIC18F452,
PIC18F4520, PIC18F4525, PIC18F4550, PIC18F458, PIC18F4580,
PIC18F4585, PIC18F4610, PIC18F4620, PIC18F4680, PIC18F6620,
PIC18F6720, PIC18F8620, PIC18F8720, rfPIC12C509AF, rfPIC12C509AG.

Начиная с 23.02.2004,
программаторы поставляются в
комплекте с модулем PSPFLASH,
позволяющим пользователю
самостоятельно обновлять прошивку
(из MPLAB-IDE), и тем самым, добавлять
поддержку новых PIC-контроллеров.
Все программаторы модели PICSTARTER+,
произведенные ранее, совместимы с
модулем PSPFLASH,
а также фирменным модулем PICSTART Plus
Flash Upgrade Module производства компании
Microchip.

Особенности практического использования

Отдельно стоит затронуть тему практического использования. Как правило, программаторы подключаются к портам USB, но есть и такие вариации, что работают с помощью тех же проводов, что и винчестер. И для их использования придется снимать крышку компьютера, перебирать провода, да и сам процесс подключения не очень-то и удобный. Но второй тип является более универсальным и мощным, благодаря ему скорость прошивки больше, нежели при подключении через USB. Использование второго варианта не всегда представляется таким удобным и комфортным решением, как с USB, ведь до его использования необходимо проделать ряд операций: достать корпус, открыть его, найти необходимый провод. Про возможные проблемы от перегревания или скачков напряжения при работе с заводскими моделями можно не волноваться, так как у них, как правило, есть специальная защита.

Ссылки по теме

  • Катцен Сид. РIС-микроконтроллеры. Полное руководство
    / Нормативный документ от 3 февраля 2020 г. в 15:23
  • Белов А.В. Разработка устройств на микроконтроллерах AVR: шагаем от «чайника» до профи
    / Нормативный документ от 27 марта 2020 г. в 13:39
  • Васильев А.С. Лашманов О.Ю. Пантюшин А.В. Основы программирования микроконтроллеров
    / Нормативный документ от 4 февраля 2020 г. в 10:10
  • Вострухин А.В. Вахтина Е.А. Введение в программирование микроконтроллера AVR на языке Ассемблера
    / Нормативный документ от 3 февраля 2020 г. в 09:00
  • Бондаренко Д.Н. Встраиваемые микроконтроллеры AVR-8
    / Нормативный документ от 3 февраля 2020 г. в 09:46
  • Джон Мортон Микроконтроллеры AVR Вводный курс
    / Нормативный документ от 27 августа 2019 г. в 16:42
  • Магда Ю.С. Микроконтроллеры PIC: архитектура и программирование
    / Нормативный документ от 26 сентября 2019 г. в 17:26

8-битовые микроконтроллеры

8-битовые микроконтроллеры имеют модифицированную гарвардскую архитектуру и делятся на два больших семейства: PIC10/12/16 и PIC18.

8-битовые микроконтроллеры PIC10/12/16/18

Ядра 8-битовых микроконтроллеров PIC10/12/16 могут быть построены одной из двух архитектур: BASELINE и MID-RANGE.

Архитектура базового (BASELINE) семейства

Архитектуру BASELINE имеют ядра контроллеров семейства PIC10 и часть контроллеров семейств PIC12 и PIC16. Отличительные черты:

  • разрядность: 12 бит;
  • количество поддерживаемых машинных инструкций: 35;
  • количество выводов (контактов): от 6 до 28;
  • дешевизна (по сравнению с другими решениями фирмы Microchip);
  • поддержка широкого диапазона напряжений питания;
  • возможность работы при низких напряжениях (применимо, например, в батарейных устройствах);
  • низкое потребление тока;
  • малые габаритные размеры корпуса;
  • наличие встроенной flash-памяти для программ.

Архитектура среднего (MID-RANGE) семейства

Архитектуру MID-RANGE имеют ядра микроконтроллеров серий PIC12 и PIC16. Отличительные черты:

  • разрядность: 14 бит;
  • количество поддерживаемых машинных инструкций: 35;
  • количество выводов: от 6 до 64;
  • работа в диапазоне напряжений питания от 2.0 до 5,5 В;
  • малый ток потребления;
  • поддержка системных прерываний;
  • аппаратная поддержка стека;
  • наличие встроенной flash-памяти для программ;
  • наличие энергонезависимой памяти типа EEPROM для данных;
  • поддержка периферии (USB, SPI, I²C, USART, LCD, компараторов, АЦП и т. п.);
  • производительность: 5 MIPS.

Расширенную архитектуру MID-RANGE имеют ядра новых микроконтроллеров семейств PIC12 и PIC16. Отличительные черты:

  • разрядность: 8 бит;
  • количество поддерживаемых машинных инструкций: 35 основных и 14 дополнительных (оптимизированных под компилятор языка C);
  • увеличенный объём памяти программ и данных;
  • более глубокий и улучшенный аппаратный стек;
  • дополнительные источники сброса;
  • поддержка периферийных устройств с модулем mTouch (используется для создания сенсорных пользовательских интерфейсов);
  • уменьшенное время входа в прерывание;
  • производительность увеличена на 50 %;
  • размер кода снижен на 40 %.
  • разрядность: 8 бит;
  • возможность подключения следующей периферии: 10-битовых АЦП, компараторов, ШИМ, захват/сравнение, драйверов, ЖКИ, периферии с интерфейсами USB, CAN, I²C, SPI, USART, Ethernet, TCP/IP, ZigBee и др.;
  • производительность: до 16 MIPS;
  • объём памяти программ: до 128 кБ;
  • количество выводов: от 18 до 100;
  • поддержка технологии NanoWatt;
  • наличие программируемого генератора;
  • поддерживаемые напряжения питания: 3 и 5 В;
  • совместимость (программная, по выводам, по периферийным модулям) с другими контроллерами этого семейства и с 16-битовыми контроллерами других семейств.

Список поддерживаемых микросхем, при использовании с программой 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-контроллеров, которые собираются вручную. Этим вариантом пользуются те, у кого нет денег или просто нет желания их тратить. В случае покупки у официального представителя можно рассчитывать на то, что если устройство окажется некачественным, то его можно вернуть и получить новое взамен. А при покупке «с рук» или с помощью досок объявлений в случае некачественной пайки или механических повреждений рассчитывать на возмещение расходов и получение качественного программатора не приходится. А теперь перейдём к собранной вручную электронике.

Программатор PIC может быть рассчитан на определённые модели или быть универсальным (для всех или почти всех моделей). Собираются они на микросхемах, которые смогут преобразовать сигналы с порта RS-232 в сигнал, который позволит программировать МК. Нужно помнить, что, когда собираешь данную кем-то конструкцию, программатор PIC, схема и результат должны подходить один к одному. Даже небольшие отклонения нежелательны. Это замечание относится к новичкам в электронике, люди с опытом и практикой могут улучшить практически любую схему, если есть куда улучшать.

Отдельно стоит молвить слово и про программный комплекс, которым обеспечивают USB-программатор для PIC, своими рукамисобранный. Дело в том, что собрать сам программатор по одной из множества схем, представленных в мировой сети, – мало. Необходимо ещё и программное обеспечение, которое позволит компьютеру с его помощью прошить микроконтроллер. В качестве такового довольно часто используются Icprog, WinPic800 и много других программ. Если сам автор схемы программатора не указал ПО, с которым его творение сможет выполнять свою работу, то придется методом перебора узнавать самому. Это же относится и к тем, кто собирает свои собственные схемы. Можно и самому написать программу для МК, но это уже настоящий высший пилотаж.

32-битовые микроконтроллеры

Отличительные черты семейства 32-разрядных микроконтроллеров PIC32:

  • разрядность: 32 бита;
  • ядро: MIPS32 M4K;
  • частота тактирования ядра: до 120 МГц (для серии MX) и до 200 МГц (для серии MZ)[источник не указан 1510 дней];
  • выполнение большинства команд за 1 такт генератора;
  • производительность: 1.53 Dhrystone MIPS/МГц;
  • порты ввода-вывода относятся к основному частотному диапазону, таким образом, к примеру, можно дёргать портами с тактовой частотой;
  • дополнительный частотный диапазон организуется для периферии из основного посредством программно настраиваемого делителя, таким образом, частота тактирования периферии может быть снижена для снижения энергопотребления;
  • количество выводов: 28, 44, 64 и 100;
  • объём SRAM: до 128 кБ;
  • объём flash-памяти: 512 кБ с кэшем предвыборки;
  • совместимость по выводам и отладочным средствам с 16-битовыми контроллерами фирмы Microchip;
  • аппаратный умножитель-делитель с независимым от основного ядра конвейером, оптимизированным по скорости выполнения;
  • набор расширенных 16-битовых инструкций MIPS16e, позволяющий уменьшить размер кода некоторых программ на 40 %;
  • независимый от основного ядра контроллер USB.

Семейство 32-разрядных микроконтроллеров PIC32 выделяется значительно увеличенной производительностью и объёмом памяти на кристалле по сравнению с 16-разрядными микроконтроллерами и контроллерами цифровой обработки сигналов PIC24/dsPIC. Контроллеры PIC32 также оснащены большим количеством периферийных модулей, включая различные коммуникационные интерфейсы — те же, что у PIC24, и 16-битовый параллельный порт, который может использоваться, например, для обслуживания внешних микросхем памяти и жидкокристаллических TFT-индикаторов.

Семейство PIC32 построено на ядре MIPS32, отличающегося низким потреблением энергии, быстрой реакцией на прерывания, функциональностью средств разработки и лидирующим в своём классе быстродействием 1.53 Dhrystone MIPS/МГц. Такое быстродействие достигнуто благодаря эффективному набору инструкций, 5-ступенчатому конвейеру, аппаратному умножителю с накоплением и несколькими (до 8) наборами 32-разрядных регистров ядра.

Использование программатора от Microchip

По его использованию можно найти много обучающих уроков, которые помогут разобраться с всевозможными аспектами использования. Если рассматривать не только программатор PIC, купленный «с рук», а приобретенный у официального представителя, то можно ещё подметить качество поддержки, предоставляемое вместе с ним. Так, в дополнение идут обучающие материалы по использованию, лицензионные среды разработки, а также демонстрационная плата, которая предназначена для работы с маловыводными микроконтроллерами. Кроме всего этого, присутствуют утилиты, которые сделают работу с механизмом более приятной, помогут отслеживать процесс программирования и отладки работы микроконтроллера. Также поставляется утилита для стимулирования работы МК.

Эксперименты с микроконтроллерами

Итак, всё есть. Как же начать работу с техникой, как начать прошивать микроконтроллер программатором?

  1. Подключить внешнее питание, присоединить всю аппаратуру.
  2. Первоначально необходима среда, с помощью которой всё будет делаться.
  3. Создать необходимый проект, выбрать конфигурацию микроконтроллера.
  4. Подготовить файл, в котором находится весь необходимый код.
  5. Подключиться к программатору.
  6. Когда всё готово, можно уже прошивать микроконтроллер.

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

Хочется отдельно написать обращение к тем, кто только начинает пользоваться программаторами. Помните, что, какими бы элементарными ни казались некоторые шаги, всегда необходимо их придерживаться, чтобы техника нормально и адекватно могла работать и выполнять поставленные вами задачи. Успехов в электронике!

Оцените статью:
Оставить комментарий