Pic прошивка: cxema.org — Прошивка микроконтроллеров PIC

cxema.org - Прошивка микроконтроллеров PIC

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

На самом деле, тут нет ничего сложного. Устройства, собранные с применением микроконтроллеров как правило просты, не нуждаются в наладке и подборе элементов. Весь функционал устройства реализован програмно.

Самое широкое распространение среди радиолюбителей получили две линейки микроконтроллеров, PIC и AVR. Для их программирования разработано большое количество программаторов и программ. Для начала необходимо определится, на каком микроконтроллере выполнено устройство и в соответствии с этим выбрать программатор. С PIC микроконтроллерами понятно, у них название начинается именно с этих трёх букв, а AVR серии микроконтроллеры разделены на группы ATtiny, ATmega, ATxmega.

Своё знакомство с микроконтроллерами я начал с линей ки PIC. Для прошивки микроконтроллера, им оказался PIC16F84, я собрал простейший JDM программатор.

Детали программматора разместил в подходящем корпусе от переходника.

Дальнейшее знакомство с микроконтроллерами заставило меня постоянно вносить изменения, модернизировать программатор под тот или иной микроконтроллер. В один прекрасный момент я решил соблрать универсальный программатор под всю линейку PIC микроконтроллеров.

Очень хороший программатор, программирует всю линейку PIC. Не требует дополнительного питания.

Для прошивки PIC контроллеров я пользуюсь программой IC-Prog. Сам процесс прошивки очень простой:

Запускаем программу

заходим в настройки и выбираем свой программатор

Пробуем читать память микроконтроллера.

Если всё настроено правильно, программа прочитает микроконтроллер и выведет код, прошитый в памяти. Если микроконтроллер никогда не прошивался, Вся память будет заполнена кодом 3FFF и FF в области данных.

Следующий шаг, это открытие HEX файла, предназначенного для прошивки микроконтроллера, после открытия её код отобразится в соответствующих окнах.

Нажимаем кнопку записи, праграмм спросит, уверены, что хотите программировать, нажимаем утвердительно ДА. Пойдёт процесс программирование.

После программирования программа автоматически считывает только что зашитый код и сверяет с тем, что программировала. В случае удачной прошивки программа выдаст об этом соответсвующее сообщение.

Если прошивка прошла со сбоями или область программы защищена от чтения, как в моём случае, программа выдаст сообщение об ошыбке.

С PIC микроконтроллерами всё понятно. Для AVR микроконтроллеров требуются другие программаторы и программы.

Самый простой - это так называемый "5 проводков". Весь программатор состоит из всего четырёх резисторов.

Собрал я его минут за десять, но воспользоваться не смог, ввиду того, что на моём компьютере отсутствует принтерный порт LPT, к которому этот программатор подключается.

Тогда я собрал для самых ходовых у радиолюбителей микроконтроллеров семейства AVR программаторы. Первый для ATMEGA8, второй для ATtiny2313.

Схема программатора очень проста, для питания микроконтроллера требуется дополнительный источник питания. Для себя я спаял небольшой длинны провод, подключающий программатор к порту USB.

Номера выводов для подключения линий программатора отображены на рисунке

Собранный программатор позволил мне собрать программатор для AVR, подключаемый к USB порту

Удобство применения программатора с USB интерфейсом омрачается поиском драйверов на различные системы, в частности на win7 и 8. Для программаторов, использующих COM-порт таких проблем не возникает. Они прекрасно работают во всей линейке windows, да и в unix системах проблем не возникает. Впрочем unix система очень дружелюбна ко всем программаторам, адаптерам и прочей периферии.

Вот мой весь арсенал для прошивки микроконтроллеров

Небольшой видеообзор, который наглядно покажет весь процесс прошивки микроконтроллера

Прошивка pic CAVR.ru

Рассказать в:
При программировании не забывайте про константу(osccal), которая записана в последней ячейке данных пика.Оsccal - представляет собой 16-ти ричное значение калибровки внутреннего генератора МК, с помощью которого МК отчитывает время при выполнении своих программ...При покупке микроконтроллера (МК) считайте с него данные и запишите константу на листочек или на микроконтроллер!

Это очень важно т.к. если удалите константу при следующем программировании, pic работать не будет либо будет, но не так как должен.

В МК старшего семейства константы нету, так, что не удивляйтесь.На рисунке ниже показано место расположения этой константы:Константа может не пригодится когда используется внешний кварц.В процессе прошивки (когда нажали уже на кнопку "прошить") может (а может и не спросить) вылезти следущее сообщение (см. рис.ниже ), надо нажимать НЕТ. При использовании Icprog 1.06C (я ее использую) всегда спрашивает, заменить либо нет.Когда вы загружаете прошивку в программу то в последней ячейке памяти выставляется "3FFF" т.к. в прошивке значение вашей константы не указано (она у каждого МК своя)!Вот программа и спрашивает будете использовать константу "3FFF" или "3424".Видео - как прошить PIC от начала до конца!
В микроконтроллерах PIC16F628, PIC16F628A, PIC16F630 константы нету, проверено на практике.В PIC16F676 константа есть!Видео о прошивке PIC16F676. В видео продемонстрирован бит защиты, прошивка с ним и без него. При использовании внешнего кварца (или RC) константа ненужна, можно в таких схемах использовать pic в которых была утеряна константа!Биты конфигурации:

WDT - сторожевой таймер 
PWRT - задержка для стабилизации генератора при вкючении питания 
MCLR - использовать вход внешнего сброса микроконтроллера (reset) 
BODEN - задейств-ть сброс при снижении напр. питания 
CP - защитить код программы от считывания 
CPD - защитить содержимое EEPROM от считывания
  При написании программы для МК, программист, прежде всего, выставляет бит защиты, далее программа (исходник) компилируется (обычно в расширение .HEX) и зашивается в МК, следовательно в отличии от AVR, выставлять биты конфигурации при прошивке pic-ов НЕ НАДО!

В PIC предусмотрен бит защиты:При прошивке микроконтроллера, если установить (включить) бит защиты , то при считывании данных (после прошивке) выдаст программа ошибку! В этом и заключается смысл бита защиты - невозможно передрать прошивку с микроконтроллера. Эта функция очень удобна для программистов. Добустим Вы написали прошивку и решили другим продавать ее, но если Вы продатите просто прошивку HEX то на следующий день она облетит весь интернет и Ваши авторские права будут нарушены, но а если Вы зашьете в ПИК прошивку и поставите бит защиты, то больше никто не сможет скопировать прошивку!На рисунке ниже показан бит защиты и ошибка которая выскакивает после прошивки:Если после прошивки, с использованием бита защиты, считать данные с МК то вот, что получится:Код ЗащитыОсобенности для модификаций с буквой "А" pic16F84A (статья дописывается)

 Если утеряна константа, что делать?Способ первый: пробывать поставить от другого МК константу или наугад , мы знаем, что все константы начинаются на 34 далее две цифры xx которые надо угадать.Способ второй: порадует владельцев программатора  PICKit 2, появилось приложение для восстановления калибровочной константы для PIC16F630/676, читать тут.Способ третий:

Восстановление OSSCAL для 12F629 & 12F675 (проверенный и простой )С целью оказания помощи тем, кто потерял константу и хочет ее восстановить, оставляйте в комментариях тип МК и константу.  Для прошивки можно использовать бесплатную программу, наверное самая популярная - icprog, версия последняя 1,6В.Скачать icprog106B + описание русс + драйвер для ХР (вообще и без него работает, но могут быть нюансы...)Настраивается программа индивидуально к каждому программатору в отдельности!


Раздел: [Схемы]
Сохрани статью в:
Оставь свой комментарий или вопрос:

Прошивка PIC - Домашнее Радио

Прошивка PIC

При программировании не забывайте про константу(osccal), которая записана в последней ячейке данных пика.
При покупке микроконтроллера считайте с него данные и запишите константу на листочек или на микроконтроллер!
Это очень важно т.к. если удалите константу при следующем программировании, pic работать не будет либо будет, но не так как должен.
На рисунке ниже показано место расположения этой константы:

Константа может не прегодится когда используется внешний кварц.
В процесе прошивки (когда нажали уже на кнопку "прошить") может (а может и не спросить) вылезти следущее сообщение (см. рис.ниже ), надо нажимать НЕТ. При использовании Icprog 1.06C (я ее использую) всегда спрашивает, заменить либо нет.
Когда вы загружаете прошивку в программу то в последней ячейке памяти выставляется "3FFF" т.к. в прошивке значение вашей константы не указано (она у каждого МК своя)!
Вот программа и спрашивает будете использовать константу "3FFF" или "3424".

В микроконтроллерах PIC16F628, PIC16F628A, PIC16F630 константы нету, проверено на практике.
При использовании внешнего кварца (или RC) константа ненужна, можно в таких схемах использовать pic в которых была утеряна константа!

В PIC предусмотрен бит защиты.

При прошивке микроконтроллера, если установить (включить) бит защиты , то при считывании данных (после прошивке) выдаст программа ошибку! В этом и заключается смысл бита защиты - невозможно передрать прошивку с микроконтроллера. Эта функция очень удобна для программистов. Добустим Вы написали прошивку и решили другим продавать ее, но если Вы продатите просто прошивку HEX то на следующий день она облетит весь интернет и Ваши авторские права будут нарушены, но а если Вы зашьете в ПИК прошивку и поставите бит защиты, то больше никто не сможет скопировать прошивку!

На рисунке ниже показан бит защиты и ошибка которая выскакивает после прошивки:

Если после прошивки, с использрванием бита защиты, считать данные с МК то вот, что получится:

Код Защиты

Особенности для модификаций с буквой "А" pic16F84A

Если утеряна константа, что делать?

Способ первый: пробывать поставить от другого МК константу или наугад 🙂 , мы знаем, что все константы начинаются на 34 далее две цифры xx которые надо угадать.

Способ второй: порадует владельцев программатора PICKit 2, появилось приложение для восстановления калибровочной константы для PIC16F630/676

Для прошивки можно использовать бесплатную программу, наверное самая популярная - icprog, версия последняя 1,6В.


Источник:
Bn-P.Ru

прошивка AVR через программатор Microchip PicKit2

Если вы, как и я, используете в своих конструкциях как микроконтроллеры PIC, так и чипы AVR, было бы удобно для программирования обеих линеек микросхем использовать один и тот же программатор. Кстати, не так давно Microchip приобрела компанию Atmel и фактически сейчас обе линейки выпускаются одной и той же компанией. Посему можно предположить окончание многолетнего холивара на тему что же лучше. Оба типа контроллеров имеют свои недостатки и преимущества, но это тема для другой статьи или видеоролика.

Случилось так что когда-то давно я, как и многие другие, начал знакомство с миром микроконтроллеров с какой-то конструкции на микроконтроллере PIC16F84. Через много лет я купил свой первый фабричный программатор для контроллеров PIC. Это был фирменный (оригинальный) PicKit2, который я привез с международной конференции Microchip, которая проходила в Питере в 2009 году.

Оригинальный PicKit2

Купил я его тогда на конференции с хорошей скидкой в 50 процентов. Сейчас можно купить клон такого программатора на Алиэкспресс очень дешево и он будет работать не хуже оригинального. Или, в крайнем случае сделать клон программатора самому, например как описано в этой статье.

Китайский клон PicKit2. Можно заказать здесь

Нужно сказать, что программатор PicKit2 уже не поддерживается компанией Microchip (в плане обновления прошивки или управляющей программы) но это не мешает ему отлично работать и по сей день. Сейчас Microchip продвигает более новую версию — PicKit3, который внешне выглядит почти также как и вторая версия. С третьим я пока не имел дела, для моих задач мне вполне хватает второго.



Обычно если мне нужно запрограммировать микроконтроллер Pic я использую программатор PicKit2 с его родной программой PicKit2.61, а если я хочу прошить, например, контроллер ATMega16, то делаю это через программатор USBAsp который можно купить в Китае за полтора доллара.

Китайский UsbAsp

Однако сейчас появилась возможность использовать для прошивки как PIC так и AVR один программатор — Microchip PicKit2 или его клон, с использованием Бесплатной программы AVRDude, которая сейчас поддерживает PicKit2. Несмотря на то, что AVRDude — это консольное приложение и в чистом виде требует от пользователя навыков работы с командной строкой, но сейчас есть очень хорошая программа — оболочка для AVRDude, которая называется AVRDUDESHELL и позволяет очень удобно работать с AVRDude, не заморачиваясь с командной строкой. Фактически, работая в AVRDUDESHELL вы можете вообще не знать о существовании AVRDude. Скачать программу AVRDUDESHELL можно здесь. Сама AVRDude уже входит в состав AVRDUDESHELL и отдельно ее устанавливать не нужно.

Программатор PicKit2 имеет шести контактный разъем. Для программирования микроконтроллеров PIC используются первые пять контактов. Шестой — дополнительный, при программировании пиков он не задействован.

Разъем программирования PicKit2

Назначение выводов:

VPP / MCLR
VDD напряжение питания целевого устройства
VSS земля
ICSPDAT / PGD
ICSPCLK / PGC
AUX

Для программирования контроллеров AVR нам потребуется сделать специальный шлейф и использовать все шесть контактов PicKit2. Шлейф делаем в соответствии с таблицей ниже:

Шлейф может выглядеть например так:

Для работы подключаем PicKit2, шлейфом соединяем его с программируемым устройством (или адаптером микроконтроллера с Zif панелькой), Запускаем AVRDUDESHELL и выбираем в списке программаторов нужный нам PicKit2. Загружаем файл прошивки и программируем контроллер. Всё предельно просто.

Возможно вам потребуется USB драйвер программатора PicKit2. ВЫ можете скачать его по это ссылке. Он входит в состав родной программы Microchip PicKit2 V2.61. На сайте Microchip вы ее уже не найдете, но можете скачать здесь (см. ниже). Эта небольшая программка пригодится вам и для прошивки контроллеров PIC.

Загрузки:
Программа AVRDUDESHELL
Программа Microchip PicKit2 V2.61 со встроенным USB драйвером



Пик программатор своими руками usb. Как программировать PIC микроконтроллеры или Простой JDM программатор. Эксперименты с микроконтроллерами

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

Принципиальная схема программатора для pic контроллеров:

Питание на саму схему не требуется, ведь для этого служит COM порт компьютера, через который и осуществляется управление прошивкой микроконтроллера. Для низковольтного режима программирования вполне достаточно 5в, но могут быть не доступны все опции для изменения (фьюзы). Разъем подключения COM-9 порта смонтировал прямо на печатную плату программатора для PIC - получилось очень удобно.

Можно воткнуть плату без лишних шнуров прямо в порт. опробован на различных компьютерах и при программировании МК серий 12F,16F и 18F, показал высокое качество прошивки. Предложенная схема позволяет программировать микроконтроллеры PIC12F509, PIC16F84A, PIC16F628. Например недавно с помощью предложенного программатора успешно был прошит микроконтроллер для .

Для программирования используется WinPic800 - одна из лучших программ для программирования PIC контроллеров. Программа позволяет выполнять операции для микроконтроллеров семейства PIC: чтения, записи, стирания, проверки FLASH и EEPROM памяти и установку битов конфигураций.

Микроконтроллеры PIC заслужили славу благодаря своей неприхотливости и качеству работы, а также универсальности в использовании. Но что может дать микроконтроллер без возможности записывать новые программы на него? Без программатора это не больше чем кусочек удивительного по форме исполнения железа. Сам программатор PIC может быть двух типов: или самодельный, или заводской.

Различие заводского и самодельного программаторов

В первую очередь отличаются они надежностью и функциональностью, которую предоставляют владельцам микроконтроллеров. Так, если делается самодельный, то он, как правило, рассчитывается только на одну модель PIC-микроконтроллера, тогда как программатор от Microchip предоставляет возможность работы с различными типами, модификациями и моделями микроконтроллеров.

Заводской программатор от Microchip

Самый известный и популярный - простой программатор PIC, который использует множество людей и известный для многих под названием PICkit 2. Его популярность объясняется явными и неявными достоинствами. Явные достоинства, которые имеет этот USB программатор для PIC, можно перечислять долго, среди них: относительно небольшая стоимость, простота эксплуатации и универсальность относительно всего семейства микроконтроллеров, начиная от 6-выводных и заканчивая 20-выводными.

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

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

Другие программаторы

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

Программаторы, собранные вручную

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

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

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

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

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

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

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

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

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

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

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

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

Возможные проблемы

Увы, даже самая идеальная техника не лишена возможных проблем, которые нет-нет, да и возникнут. Для улучшенного понимания необходимо составить список. Часть из этих проблем можно исправить вручную при детальном осмотре программатора, часть - только проверить при наличии необходимой проверочной аппаратуры. В таком случае, если программатор PIC-микроконтроллеров заводской, то вряд ли починить представляется возможным. Хотя можно попробовать найти возможные причины сбоев:

  1. Некачественная пайка элементов программатора.
  2. Отсутствие драйверов для работы с устройством.
  3. Повреждения внутри программатора или проводов внутри компьютера/USB.

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

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

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

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

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

Довольно большую популярность в интернете набирают схемы с использованием микроконтроллеров. Микроконтроллер – это такая специальная микросхема, которая, по сути своей, является маленьким компьютером, со своими портами ввода-вывода, памятью. Благодаря микроконтроллером можно создавать весьма функциональные схемы с минимумом пассивных компонентов, например, электронные часы, плееры, различные светодиодные эффекты, устройства автоматизации.

Для того, чтобы микросхема начала исполнять какие-либо функции, нужно её прошить, т.е. загрузить в её память код прошивки. Сделать это можно с помощью специального устройства, называемого программатором. Программатор связывает компьютер, на котором находится файл прошивки с прошиваемым микроконтроллером. Стоит упомянуть, что существуют микроконтроллеры семейства AVR, например такие, как Atmega8, Attiny13, и серии pic, например PIC12F675, PIC16F676. Pic-серия принадлежит компании Microchip, а AVR компании Atmel, поэтому способы прошивки pic и AVR отличаются. В этой статье рассмотрим процесс создания программатора Extra-pic, с помощью которого можно прошить микроконтроллер серии pic.
К достоинствам именно этого программатора можно отнести простоту его схемы, надёжность работы, универсальность, ведь поддерживает он все распространённые микроконтроллеры. На компьютере поддерживается также самыми распространёнными программами для прошивки, такими как Ic-prog, WinPic800, PonyProg, PICPgm.

Схема программатора


Она содержит в себе две микросхемы, импортную MAX232 и отечественную КР1533ЛА3, которую можно заменить на КР155ЛА3. Два транзистора, КТ502, который можно заменить на КТ345, КТ3107 или любой другой маломощный PNP транзистор. КТ3102 также можно менять, например, на BC457, КТ315. Зелёный светодиод служит индикатором наличия питания, красный загорается во время процесса прошивки микроконтроллера. Диод 1N4007 служит для защиты схемы от подачи напряжения неправильной полярности.

Материалы


Список необходимых для сборки программатора деталей:
  • Стабилизатор 78L05 – 2 шт.
  • Стабилизатор 78L12 – 1 шт.
  • Светодиод на 3 в. зелёный – 1 шт.
  • Светодиод на 3 в. красный – 1 шт.
  • Диод 1N4007 – 1 шт.
  • Диод 1N4148 – 2 шт.
  • Резистор 0,125 Вт 4,7 кОм – 2 шт.
  • Резистор 0,125 Вт 1 кОм – 6 шт.
  • Конденсатор 10 мкФ 16В – 4 шт.
  • Конденсатор 220 мкФ 25В – 1 шт.
  • Конденсатор 100 нФ – 3 шт.
  • Транзистор КТ3102 – 1 шт.
  • Транзистор КТ502 – 1 шт.
  • Микросхема MAX232 – 1 шт.
  • Микросхема КР1533ЛА3 – 1 шт.
  • Разъём питания – 1 шт
  • Разъём COM порта «мама» - 1 шт.
  • Панелька DIP40 – 1 шт.
  • Панелька DIP8 – 2 шт.
  • Панелька DIP14 – 1 шт.
  • Панелька DIP16 – 1 шт.
  • Панелька DIP18 – 1 шт.
  • Панелька DIP28 – 1 шт.
Кроме того, необходим паяльник и умение им пользоваться.

Изготовление печатной платы

Программатор собирается на печатной плате размерами 100х70 мм. Печатная плата выполняется методом ЛУТ, файл к статье прилагается. Отзеркаливать изображение перед печатью не нужно.


Скачать плату:

(cкачиваний: 639)

Сборка программатора

Первым делом на печатную плату впаиваются перемычки, затем резисторы, диоды. В последнюю очередь нужно впаять панельки и разъёмы питания и СОМ порта.


Т.к. на печатное плате много панелек под прошиваемые микроконтроллеры, а используются у них не все выводы, можно пойти на такую хитрость и вынуть неиспользуемые контакты из панелек. При этом меньше времени уйдёт на пайку и вставить микросхему в такую панельку будет уже куда проще.


Разъём СОМ порта (он называется DB-9) имеет два штырька, которые должны «втыкаться» в плату. Чтобы не сверлить под них лишние отверстия на плате, можно открутить два винтика под бокам разъёма, при этом штырьки отпадут, как и металлическая окантовка разъёма.


После впайки всех деталей плату нужно отмыть от флюса, прозвонить соседние контакты, нет ли замыканий. Убедиться в том, что в панельках нет микросхем (вынуть нужно в том числе и МАХ232, и КР1533ЛА3), подключить питание. Проверить, присутствует ли напряжение 5 вольт на выходах стабилизаторов. Если всё хорошо, можно устанавливать микросхемы МАХ232 и КР1533ЛА3, программатор готов к работе. Напряжение питания схемы 15-24 вольта.

Плата программатора содержит 4 панельки для микроконтроллеров и одну для прошивки микросхем памяти. Перед установкой на плату прошиваемого микроконтроллера нужно посмотреть, совпадает ли его распиновка с распиновкой на плате программатора. Программатор можно подключать к СОМ-порту компьютера напрямую, либо же через удлинительный кабель. Успешной сборки!

Однажды я решил собрать несложный LC-метр на pic16f628a и естественно его надо было чем-то прошить. Раньше у меня был компьютер с физическим com-портом, но сейчас в моём распоряжении только usb и плата pci-lpt-2com. Для начала я собрал простой JDM программатор, но как оказалось ни с платой pci-lpt-com, ни с usb-com переходником он работать не захотел (низкое напряжение сигналов RS-232). Тогда я бросился искать usb программаторы pic, но там, как оказалось всё ограничено использованием дорогих pic18f2550/4550, которых у меня естественно не было, да и жалко такие дорогие МК использовать, если на пиках я очень редко что-то делаю (предпочитаю авр-ы, их прошить проблем не составляет, они намного дешевле, да и программы писать мне кажется, на них проще). Долго копавшись на просторах интернета в одной из множества статей про программатор EXTRA-PIC и его всевозможные варианты один из авторов написал, что extrapic работает с любыми com-портами и даже переходником usb-com.

В схеме данного программатора используется преобразователь логических уровней max232.

Я подумал, если использовать usb адаптер, то будет очень глупо делать два раза преобразование уровней usb в usart TTL, TTL в RS232, RS232 обратно в TTL, если можно просто взять TTL сигналы порта RS232 из микросхемы usb-usart преобразователя.

Так и сделал. Взял микросхему Ch440G (в которой есть все 8 сигналов com-порта) и подключил её вместо max232. И вот что получилось.

В моей схеме есть перемычка jp1, которой нет в экстрапике, её я поставил потому что, не знал, как себя поведёт вывод TX на ТТЛ уровне, поэтому сделал возможность его инвертировать на оставшемся свободном элементе И-НЕ и не прогадал, как оказалось, напрямую на выводе TX логическая единица, и поэтому на выводе VPP при включении присутствует 12 вольт, а при программировании ничего не будет (хотя можно инвертировать TX программно).

После сборки платы пришло время испытаний. И тут настало главное разочарование. Программатор определился сразу (программой ic-prog) и заработал, но очень медленно! В принципе - ожидаемо. Тогда в настройках com порта я выставил максимальную скорость (128 килобод) начал испытания всех найденных программ для JDM. В итоге, самой быстрой оказалась PicPgm. Мой pic16f628a прошивался полностью (hex, eeprom и config) плюс верификация где-то 4-6 минут (причём чтение идёт медленнее записи). IcProg тоже работает, но медленнее. Ошибок про программировании не возникло. Также я попробовал прошить eeprom 24с08, результат тот же - всё шьёт, но очень медленно.

Выводы: программатор достаточно простой, в нём нет дорогостоящих деталей (Ch440 - 0.3-0.5$ , к1533ла3 можно вообще найти среди радиохлама), работает на любом компьютере, ноутбуке (и даже можно использовать планшеты на windows 8/10). Минусы: он очень медленный. Также он требует внешнее питание для сигнала VPP. В итоге, как мне показалось, для нечастой прошивки пиков - это несложный для повторения и недорогой вариант для тех, у кого нет под рукой древнего компьютера с нужными портами.

Вот фото готового девайса:

Как поётся в песне "я его слепила из того, что было". Набор деталей самый разнообразный: и smd, и DIP.

Для тех, кто рискнёт повторить схему, в качестве usb-uart конвертера подойдёт почти любой (ft232, pl2303, cp2101 и др), вместо к1533ла3 подойдёт к555, думаю даже к155 серия или зарубежный аналог 74als00, возможно даже будет работать с логическими НЕ элементами типа к1533лн1. Прилагаю свою печатную плату, но разводка там под те элементы, что были в наличии, каждый может перерисовать под себя.

Список радиоэлементов
ОбозначениеТипНоминалКоличествоПримечаниеМагазинМой блокнот
IC1МикросхемаCh440G1В блокнот
IC2МикросхемаК1533ЛА31В блокнот
VR1Линейный регулятор

LM7812

1В блокнот
VR2Линейный регулятор

LM7805

1В блокнот
VT1Биполярный транзистор

КТ502Е

1В блокнот
VT2Биполярный транзистор

КТ3102Е

1В блокнот
VD1-VD3Выпрямительный диод

1N4148

2В блокнот
C1, C2, C5-C7Конденсатор100 нФ5В блокнот
C3, C4Конденсатор22 пФ2В блокнот
HL1-HL4СветодиодЛюбой4В блокнот
R1, R3, R4Резистор

1 кОм

3

1. ПРОГРАММАТОР ДЛЯ PIC-КОНТРОЛЛЕРОВ

Я надеюсь, что моя статья поможет некоторым радиолюбителям перешагнуть порог от цифровой техники к микроконтроллерам. В Интернете и радиолюбительских журналах много программаторов: от самых простых до очень накрученных. Мой не очень сложный, но надежный.

Первый вариант программатора предназначен для программирования 18-ти и 28-ми "пиновых" PIC контроллеров. В основу программатора положена схема из журнала Радио № 10 за 2007 год. Но подбор конденсатора С7, эксперименты с разными вариантами ICprog, PonyProg, WinPic и скоростями чтения-записи не дали желаемого результата: успешное программирование получалось через раз. И это продолжалось до тех пор, пока не сделал питание +5В программируемой микросхемы отдельно, а не после 12-ти вольтного стабилизатора. Получилась такая схема.

Опасаясь сбоев, печатку рисовал так, чтобы плата вставлялась непосредственно в Com-порт, что не очень просто из-за всевозможных «шнурков» и малого расстояния до корпуса. Получилась печатка неправильной формы, но вставляется в СОМ-порт нормально и программирует без ошибок.

Со временем сделал шнур-удлинитель длинной около 1 метра. Теперь программатор лежит рядом с монитором и подключен к COM порту. Работает нормально: многократно программировались микроконтроллеры PIC16F84A, PIC16F628A, PIC16F873A.

Обратите внимание: микросхема Мах и светодиоды установлены со стороны печатных проводников. Панельки - ZIF-28, одна из них служит для 18-ти выводных PIC. На панельках нанесены метки первых ножек и числа «18» и «28». В корпусе вилки-адаптера установлен трансформатор 220 на 15 вольт, 4 ватта. Включать в розетку нужно после установки микроконтроллера в панельку. Транзисторы n-p-n маломощные высокочастотные (300Мгц) в корпусе to-92.

Разъём XP временно не устанавливал, а потом оказалось, что он особо и не нужен. Пришлось как-то программировать впаянный МК, так я провода прямо в ZIF вставил и зафиксировал. Перепрограммирование прошло успешно.

Я работаю c программами ICprog и WinPic-800.

В программе IC-prog 1.05D следующие настройки программатора:

  • Программатор – JDM Programmer
  • Порт –Com1
  • Прямой доступ к портам.
  • Инверсия: ввода, вывода и тактирования (поставить галочки).

В WinPic-800 –v.3.64f всё идентично, только нужно еще поставить “птицу” в использовании MCLR.

В интернете можно свободно и бесплатно скачать эти программы. Но для облегчения жизни, я попробую приложить все необходимое. Просто вспомнил: сколько всяких “ненужностей” я сам накачал с интернета, и сколько времени на разборки всего этого потратил.

  • Печатная плата программатора
  • Программа WinPic-800 ( )
  • Программа IC-Prog ()
  • Статья по IC-Prog.

2. ПРОГРАММАТОР-2 ДЛЯ PIC-КОНТРОЛЛЕРОВ

Со временем появилась необходимость в программировании 14-ти и 40-ка "пиновых" пиков. Решил сделать программатор для всего среднего семейства PIC-ов. Схема та же, только добавились две панельки. Всё это разместилось в корпусе от бывшего мультиметра.

В печатную плату 13 февраля 2014 года внесено исправление: от 5-го контакта разъёма RS232 дорожка идет к минусу питания (а на прежней - к 6-ой ножке микросхемы МАХ). Новая печатка в "programer2-2".

Можно сэкономить одну КРЕН-ку. Т.е. подключать от одного 5-ти вольтного стабилизатора всю схему. VR3 и С9 не устанавливать, а поставить перемычку (на схеме указана пунктиром). Но я пока КРЕНку не выпаивал. Многократно программировал PIC16F676, 628А, 84А и 873А. Но еще не пробовал 877.

Некоторые конденсаторы установлены со стороны печатных проводников. КРЕНки располагаются в горизонтальном положении. Чтобы не прокладывать проводники, я установил С7 – 2шт и R12 – 3шт.

Очень важно: корпус разъёма RS232 должен быть соединен с минусом питания.

Блок питания (15 В) и программы используются те же, что и в первом варианте.

Список радиоэлементов
ОбозначениеТипНоминалКоличествоПримечаниеМагазинМой блокнот
Схема 1
DD1ИС RS-232 интерфейса

MAX232E

1MAX232CPEВ блокнот
VT1-VT4Биполярный транзистор

2N3904

4TO-92В блокнот
VDS1Диодный мост

DB157

1В блокнот
VD1Выпрямительный диод

1N4148

1В блокнот
VR1, VR3Линейный регулятор

L7805AB

1В блокнот
VR2Линейный регулятор

KA78R12C

1В блокнот
С1470 мкФ 35В1В блокнот
С2, С3, С5, С6Электролитический конденсатор10 мкФ 50В4В блокнот
С4, С8Электролитический конденсатор470 мкФ 16В2В блокнот
С7Электролитический конденсатор1 мкФ 25В1В блокнот
С11Конденсатор0.1 мФ1В блокнот
R1, R7Резистор

10 кОм

2В блокнот
R2Резистор

470 Ом

1В блокнот
R3, R5, R11Резистор

4.7 кОм

3В блокнот
R4, R10Резистор

2 кОм

2В блокнот
R6, R8, R9Резистор

1 кОм

3В блокнот
R12Резистор

240 Ом

1В блокнот
HL1Светодиод1КрасныйВ блокнот
HL2Светодиод1ЗеленыйВ блокнот
Схема 2
DD1ИС RS-232 интерфейса

MAX232E

1MAX232CPEВ блокнот
VT1-VT4Биполярный транзистор

2N3904

4TO-92В блокнот
VDS1Диодный мост

DB157

1В блокнот
VD1Выпрямительный диод

1N4148

1В блокнот
VR1, VR3Линейный регулятор

L7805AB

2В блокнот
VR2Линейный регулятор

KA78R12C

1В блокнот
C1, C2, C4, C5Конденсатор10мкФ 50В4В блокнот
C3Электролитический конденсатор470мкФ 35В1В блокнот
C6, C9Электролитический конденсатор470мкФ 16В2В блокнот
C7.1-C7.3Конденсатор0.1 мкФ3

Программаторы для pic своими руками. Прошивка PIC микроконтроллеров с "нуля"

Довольно большую популярность в интернете набирают схемы с использованием микроконтроллеров. Микроконтроллер – это такая специальная микросхема, которая, по сути своей, является маленьким компьютером, со своими портами ввода-вывода, памятью. Благодаря микроконтроллером можно создавать весьма функциональные схемы с минимумом пассивных компонентов, например, электронные часы, плееры, различные светодиодные эффекты, устройства автоматизации.

Для того, чтобы микросхема начала исполнять какие-либо функции, нужно её прошить, т.е. загрузить в её память код прошивки. Сделать это можно с помощью специального устройства, называемого программатором. Программатор связывает компьютер, на котором находится файл прошивки с прошиваемым микроконтроллером. Стоит упомянуть, что существуют микроконтроллеры семейства AVR, например такие, как Atmega8, Attiny13, и серии pic, например PIC12F675, PIC16F676. Pic-серия принадлежит компании Microchip, а AVR компании Atmel, поэтому способы прошивки pic и AVR отличаются. В этой статье рассмотрим процесс создания программатора Extra-pic, с помощью которого можно прошить микроконтроллер серии pic.
К достоинствам именно этого программатора можно отнести простоту его схемы, надёжность работы, универсальность, ведь поддерживает он все распространённые микроконтроллеры. На компьютере поддерживается также самыми распространёнными программами для прошивки, такими как Ic-prog, WinPic800, PonyProg, PICPgm.

Схема программатора


Она содержит в себе две микросхемы, импортную MAX232 и отечественную КР1533ЛА3, которую можно заменить на КР155ЛА3. Два транзистора, КТ502, который можно заменить на КТ345, КТ3107 или любой другой маломощный PNP транзистор. КТ3102 также можно менять, например, на BC457, КТ315. Зелёный светодиод служит индикатором наличия питания, красный загорается во время процесса прошивки микроконтроллера. Диод 1N4007 служит для защиты схемы от подачи напряжения неправильной полярности.

Материалы


Список необходимых для сборки программатора деталей:
  • Стабилизатор 78L05 – 2 шт.
  • Стабилизатор 78L12 – 1 шт.
  • Светодиод на 3 в. зелёный – 1 шт.
  • Светодиод на 3 в. красный – 1 шт.
  • Диод 1N4007 – 1 шт.
  • Диод 1N4148 – 2 шт.
  • Резистор 0,125 Вт 4,7 кОм – 2 шт.
  • Резистор 0,125 Вт 1 кОм – 6 шт.
  • Конденсатор 10 мкФ 16В – 4 шт.
  • Конденсатор 220 мкФ 25В – 1 шт.
  • Конденсатор 100 нФ – 3 шт.
  • Транзистор КТ3102 – 1 шт.
  • Транзистор КТ502 – 1 шт.
  • Микросхема MAX232 – 1 шт.
  • Микросхема КР1533ЛА3 – 1 шт.
  • Разъём питания – 1 шт
  • Разъём COM порта «мама» - 1 шт.
  • Панелька DIP40 – 1 шт.
  • Панелька DIP8 – 2 шт.
  • Панелька DIP14 – 1 шт.
  • Панелька DIP16 – 1 шт.
  • Панелька DIP18 – 1 шт.
  • Панелька DIP28 – 1 шт.
Кроме того, необходим паяльник и умение им пользоваться.

Изготовление печатной платы

Программатор собирается на печатной плате размерами 100х70 мм. Печатная плата выполняется методом ЛУТ, файл к статье прилагается. Отзеркаливать изображение перед печатью не нужно.


Скачать плату:

(cкачиваний: 639)

Сборка программатора

Первым делом на печатную плату впаиваются перемычки, затем резисторы, диоды. В последнюю очередь нужно впаять панельки и разъёмы питания и СОМ порта.


Т.к. на печатное плате много панелек под прошиваемые микроконтроллеры, а используются у них не все выводы, можно пойти на такую хитрость и вынуть неиспользуемые контакты из панелек. При этом меньше времени уйдёт на пайку и вставить микросхему в такую панельку будет уже куда проще.


Разъём СОМ порта (он называется DB-9) имеет два штырька, которые должны «втыкаться» в плату. Чтобы не сверлить под них лишние отверстия на плате, можно открутить два винтика под бокам разъёма, при этом штырьки отпадут, как и металлическая окантовка разъёма.


После впайки всех деталей плату нужно отмыть от флюса, прозвонить соседние контакты, нет ли замыканий. Убедиться в том, что в панельках нет микросхем (вынуть нужно в том числе и МАХ232, и КР1533ЛА3), подключить питание. Проверить, присутствует ли напряжение 5 вольт на выходах стабилизаторов. Если всё хорошо, можно устанавливать микросхемы МАХ232 и КР1533ЛА3, программатор готов к работе. Напряжение питания схемы 15-24 вольта.

Плата программатора содержит 4 панельки для микроконтроллеров и одну для прошивки микросхем памяти. Перед установкой на плату прошиваемого микроконтроллера нужно посмотреть, совпадает ли его распиновка с распиновкой на плате программатора. Программатор можно подключать к СОМ-порту компьютера напрямую, либо же через удлинительный кабель. Успешной сборки!

Итак, мы определились и решились собрать нашу первую самоделку на микроконтроллере, осталось только понять как его запрограммировать. Поэтому нам понадобится программатор PIC, а собрать его схему можно и своими руками, рассмотрим для примера несколько простых конструкций.

Схема позволяет программировать микроконтроллеры и память EEPROM I2C.

Список поддерживаемых микроконтроллеров, при условии совместного использования с утилитой IC-PROG v1.05D:

Микроконтроллеры фирмы 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.


Установите микросхему в панельку, строго соблюдая положение ключа. Подключите шнур, включите питание. Запустите программу IC-PROG. В выпадающем списке выберите ваш микроконтроллер PIC.

Если у вас нет прошивки - сделайте ее: для этого откройте стандартную программу «Блокнот» или любой другой редактор; вставьте в документ текст прошивки; сохраните под любым именем с расширение *.txt или *.hex.

Затем в утилите в IC-PROG Файл >> Открыть файл >> найти наш файл с прошивкой. Окно «Программного кода» должно заполнится разными кодами.

В окне IC-PROG нажимаем «Программировать микросхему» при этом загорается красный светодиод на схеме устройства. Программирование длится около 30 секунд. Для проверки выбираем - Сравнить микросхему с буфером.

Альтернативный вариант схемы программатора EXTRA-PIC из с готовой печатной платой в Sprint Layout вы можете открыть по зеленой ссылке выше.

Микроконтроллеры PIC заслужили славу благодаря своей неприхотливости и качеству работы, а также универсальности в использовании. Но что может дать микроконтроллер без возможности записывать новые программы на него? Без программатора это не больше чем кусочек удивительного по форме исполнения железа. Сам программатор PIC может быть двух типов: или самодельный, или заводской.

Различие заводского и самодельного программаторов

В первую очередь отличаются они надежностью и функциональностью, которую предоставляют владельцам микроконтроллеров. Так, если делается самодельный, то он, как правило, рассчитывается только на одну модель PIC-микроконтроллера, тогда как программатор от Microchip предоставляет возможность работы с различными типами, модификациями и моделями микроконтроллеров.

Заводской программатор от Microchip

Самый известный и популярный - простой программатор PIC, который использует множество людей и известный для многих под названием PICkit 2. Его популярность объясняется явными и неявными достоинствами. Явные достоинства, которые имеет этот USB программатор для PIC, можно перечислять долго, среди них: относительно небольшая стоимость, простота эксплуатации и универсальность относительно всего семейства микроконтроллеров, начиная от 6-выводных и заканчивая 20-выводными.

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

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

Другие программаторы

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

Программаторы, собранные вручную

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

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

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

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

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

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

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

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

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

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

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

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

Возможные проблемы

Увы, даже самая идеальная техника не лишена возможных проблем, которые нет-нет, да и возникнут. Для улучшенного понимания необходимо составить список. Часть из этих проблем можно исправить вручную при детальном осмотре программатора, часть - только проверить при наличии необходимой проверочной аппаратуры. В таком случае, если программатор PIC-микроконтроллеров заводской, то вряд ли починить представляется возможным. Хотя можно попробовать найти возможные причины сбоев:

  1. Некачественная пайка элементов программатора.
  2. Отсутствие драйверов для работы с устройством.
  3. Повреждения внутри программатора или проводов внутри компьютера/USB.

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

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

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

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

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

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

Существенным недостатком JDM-программатора является то, что он не может контролировать линию Vdd и, как следствие, - не может реализовать правильный алгоритм подачи напряжений (сначала Vpp, потом Vdd) при программировании. Если контроллер сконфигурирован таким образом: "Internal Oscillator" , "MCLR Off", то при неправильной последовательности подачи напряжений он сначала запускается и начинает выполнять ранее зашитую в нем программу, а потом переходит в режим программирования (при этом указатель может указывать куда угодно, а не на начало памяти программ). В связи с этим: то, куда будет залита ваша программа, да и будет ли залита вообще - большой вопрос!

Намучившись с JDM-программатором, на одном из буржуйских сайтов я нашел схему программатора, в котором были исправлены эти недостатки. Этим программатором я пользуюсь по сей день и предлагаю его схему вашему вниманию:

На диодах D1...D4 и стабилитроне D6 выполнен простейший преобразователь уровней RS232->TTL. Когда на линиях DATA, CLOCK напряжение меньше 0В, то они через диоды D1, D2 подтягиваются к земле, а когда напряжение на этих линиях больше 5В, то они через диоды D3, D4 подтягиваются к питанию +5В, которое задается стабилитроном D6.

Питается этот девайс прямо от COM-порта. Стабилитроны и диоды в этой схеме вполне можно заменить отечественными: Д814Д, КС147А и т.д.

Каким образом реализуется правильный алгоритм подачи напряжений и откуда вообще берутся 13 Вольт напряжения программирования? Всё как всегда очень просто.

При инициализации порта на выходе TxD висит "-10В". При этом конденсатор С1 заряжается через стабилитрон D7 (который в данном случае оказывается включён в прямом направлении и работает в качестве диода). Т.е. напряжение на плюсовой ноге С1 относительно GND равно нулю, но относительно TxD=+10В (или сколько там у вас напряжение на выходе COM-порта).

Теперь представим, что происходит при изменении напряжения на выходе TxD с -10В до +10В. Одновременно с ростом напряжения на выводе TxD, начнёт расти и напряжение на плюсовой ноге конденсатора С1. Заряд не может слиться на землю через D7, т.к. теперь D7 включен обратно, единственный путь - утечка через PIC, но ток там мизерный. Итак, напряжение на плюсовой ноге С1 (а, следовательно и на выводе MCLR) начинает расти. В момент, когда на TxD ноль относительно земли, на конденсаторе С1 (на его плюсовой ноге, а следовательно и на MCLR) относительно земли как раз +10В. Когда на TxD +3В, - на С1 уже 3+10=13В. Вот и всё, напряжение Vpp уже подано, а на линии VDD ещё только +3В.

При дальнейшем росте напряжения на TxD, - напряжение на С1 не растёт, так как начинает работать стабилитрон D7. При росте напряжения на TxD выше +5В начинает работать стабилитрон D6.

Чтобы ограничить ток разряда конденсатора C1 через стабилитрон D7, в схему включен резистор R6, соответственно, напряжение на C1 не точно равно напряжению стабилизации, а несколько выше: UC1=Uст+IРАЗР*R6. Для подстройки напряжения программирования служит сопротивление R3. Можно поставить переменное 10КОм или подобрать постоянное, так, чтобы напряжение программирования было примерно 13 В (в устройстве, представленном на рисунке ниже R3=1,2 кОм).

Я успешно программирую этим программатором контроллеры и , однако автор утверждал, что этим программатором (в представленном мной варианте) можно программировать , и . Кроме этих, на сайте автора feng3.cool.ne.jp есть модификации программатора для других PIC-контроллеров.

Готовые девайсы:


Вариант программатора от Mixer:

Программу IC-prog 1.05D, для прошивки контроллеров, можно скачать в разделе " ". При прошивке выбрать тип программатора JDM. Включить контроль Vcc для JDM. При использовании совместно с операционными системами Windows 2000/NT/XP - выбрать интерфейс Windows API и включить галочку "Enable NT/2000/XP driver", в остальных случаях используйте интерфейс Direct I/O.


Еще одно. Господа, сохраняйте пожалуйста при прошивке калибровочные биты или потом не жалуйтесь, что на внутреннем генераторе нестабильно работает/не работает!!!

Скачать печатную плату (AutoCAD2000i) можно по ссылке. Печатная плата от Mixer (DipTrace 2.0) доступна по ссылке

В статье рассматривается программатор Extra-PIC, данные о котором получены из (DOC Rev.1.03.00). Программатор рабочий, если все собрать как указано ниже то все работает при первом включении. Лично я взял эту схему с сайта Тимофея Носова

Список поддерживаемых микросхем, при использовании с программой 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.

Схема программатора.
На стороне программатора используется разъем DB9 типа «гнездо» («мама», «дырки»).
Очень часто ошибаются и ставят «вилку» («папу», «штырьки»), т.е. такое же как и на стороне ПК!

Внимание! Материал только для общей справки. Обязательно убедитесь, что указанное расположение выводов соответствует выбранному вами микроконтроллеру. Для этого, обратитесь к Data Sheets и Programming Specifications на соответствующий микроконтроллер (обычно всё совпадает).

Полный вариант:

Фото готовой платы:

Пошаговая инструкция или «Как прошить PIC-контроллер»

1. Соберите программатор Extra-PIC, отмойте растворителем или спиртом с зубной щеткой, просушите феном.
Осмотрите на просвет на предмет волосковых замыканий и непропаев.
Подготовьте блок питания на напряжение не менее 15В и не более 18 вольт.
РАСПАЯЙТЕ УДЛЕНИТЕЛЬНЫЙ ШНУР
мама-папа для COM-порта (не путать с нуль-модемными и кабелями для модемов; прозвоните шнур — первая вилка, должен идти к первому гнезду и т.д.; нумерация вилок и гнезд нарисована на самом разъеме 1-1, 2-2, 3-3 и т. д до 9-9.). Обязательно сделайте все самостоятельно. У меня была проблема именно с кабелем, а я грешил на программатор =)
2. Скачайте программу IC-PROG с или с сайта разработчиков .
3. Распакуйте программу в отдельный каталог. В образовавшемся каталоге должны находиться три файла:
icprog.exe – файл оболочки программатора;
icprog.sys – драйвер, необходимый для работы под Windows NT, 2000, XP. Этот файл всегда должен находиться в каталоге программы;
icprog.chm – файл помощи (Help file).
4. Настройте программу.

Для Windows95, 98, ME

Для Windows NT, 2000, XP

(Только для Windows XP):

Правой кнопкой щёлкните на файле icprog.exe.

«Свойства » >> вкладка «Совместимость » >>

Установите «галочку» на

«Запустить программу в режиме совместимости с: » >>

выберите «Windows 2000 «.

Запустите файл icprog.exe .

Выберите «Settings » >> «Options » >> вкладку «Language » >> установите язык «Russian » и нажмите «Ok «.

Согласитесь с утверждением «You need to restart IC-Prog now » (нажмите «Ok «).

Оболочка программатора перезапустится.

«Настройки » >> «Программатор «.

Проверьте установки, выберите используемый вами COM-порт, нажмите «Ok «.

«Вкл. NT/2000/XP драйвер » >> Нажмите «Ok » >>

если драйвер до этого не был установлен в системе, в появившемся окне «Confirm » нажмите «Ok «. Драйвер установится, и оболочка программатора перезапустится.

Примечание:

Для очень «быстрых» компьютеров возможно потребуется увеличить параметр «Задержка Ввода/Вывода «. Увеличение этого параметра увеличивает надёжность программирования, однако, увеличивается и время, затрачиваемое на программирование микросхемы.

«Настройки » >> «Опции » >> выберите вкладку «I2C » >> установите «галочки» на пунктах:

«Включить MCLR как VCC » и «Включить запись блоками «. Нажмите «Ok «.

Программа готова к работе.

5. Установите микросхему в панель программатора, соблюдая положение ключа.
6. Подключите шнур удлинителя, включите питание.
7. Запустите программу IC-Prog.
8. В выпадающем списке выберите контроллер PIC16F876A.

Как программировать PIC микроконтроллеры или Простой JDM программатор

Так уж сложилось, что знакомство с микроконтроллерами я начал с AVR. PIC микроконтроллеры до поры, до времени — обходил стороной. Но, все же на них тоже ведь есть уникальные, интересные для повторения, конструкции! А ведь эти микроконтроллеры тоже прошивать нужно . Эту статью пишу в основном для себя самого. Чтобы не забыть технологии, как без проблем и бессмысленных потерь времени прошить PIC микроконтроллер.

Для первой схемы — долго и упорно пытался сделать PIC программатор по найденным в интернете схемам — ничего не вышло . Стыдно, но пришлось обращаться к знакомому, чтобы прошил МК. Но ведь это не дело — постоянно бегать по знакомым! Этот же знакомый и посоветовал простенькую схему, работающую от СОМ порта. Но даже и тогда, когда я ее собрал — все равно ничего не получалось . Ведь мало собрать программатор — нужно еще под него настроить программу, которой будем прошивать. А вот как раз это у меня и не получалось. Целая туча инструкций в интернете, и мало какая мне помогла…

Тогда, мне удалось прошить один микроконтроллер. Но так как прошивал в условиях жесткого дефицита времени — не догадался сохранить хотя бы ссылку на инструкцию. И ведь не нашел ее вполедствии. Поэтому повторюсь — пишу статью, чтобы иметь свою собственную инструкцию.

Да, если эту статью будут читать специалисты по PIC микроконтроллерам — просьба не смеяться надо мной (ну во всяком случае сильно не смеяться ).  Но я отвлекся.

Итак, программатор для PIC микроконтроллеров. Простой, хотя и не 5 проводков, как для AVR микроконтроллеров, который я использую до сих пор. Вот схема:

Вот печатная плата (а вот здесь — она в формате Sprint-Layout 5.0).

СОМ разъем припаивается штырьками прямо на контактные площадки (главное — не запутаться с нумерацией). Второй ряд штырьков соединяется с платой маленькими перемычками (очень непонятно сказал, ага). Попробую дать фотографию… хоть она и страшная (нету у меня сейчас нормального фотоаппарата ).Самое злобное в том — что для PIC микроконтроллеров для прошивки нужны 12 вольт. А лучше не 12, а чуточку побольше. Скажем, 13. Или 13.5 (кстати, специалисты — поправьте меня в комментариях, если ошибаюсь. Пожалуйста.). 12 вольт еще можно где-то добыть. А 13 где? Я то выходил из положения просто — брал свежезаряженный литий-полимерный аккумулятор, в котором было 12.6 вольт. Ну или вообще четырехбаночный аккумулятор, с его 16 вольтами (прошил так один PIC — без проблем).

Но я опять отвлекся. Итак — инструкция по прошивке PIC микроконтроллеров. Ищем программу WinPIC800 (к сожалению простая и популярная icprog у меня не заработала,) и настраиваем ее так, как показано на скриншоте.

После этого — открываем файл прошивки, подключаем микроконтроллер и прошиваем.

Объяснение извлечения микропрограмм из микроконтроллеров Microchip PIC

Этот блог - третья часть из четырех статей о взломе оборудования для специалистов по безопасности и исследователей. Обязательно ознакомьтесь с первой частью, посвященной микроконтроллерам Atmel, и второй частью, посвященной микроконтроллерам Nordic RF.

В этом блоге мы проведем дальнейшие упражнения по извлечению прошивки и рассмотрим микроконтроллер Microchip PIC (PIC32MX695F512H). Чтобы получить доступ к микропрограммному обеспечению микроконтроллеров PIC, нам потребуется считывать данные непосредственно с контроллера через встроенный в схему программатор последовательного интерфейса (ICSP).

ICSP - это еще один метод, позволяющий программировать или перепрограммировать микроконтроллер (MCU) во время работы в схеме. Для этого мы будем использовать следующие инструменты и программное обеспечение:

PICkit 3 - недорогой внутрисхемный отладчик. Доступны и более дешевые универсальные версии устройства. По нашему опыту, как фирменные, так и универсальные версии хорошо себя зарекомендовали.

PICkit 3 Функция
VPP (или MCLR) Программируемое напряжение (обычно 13 В)
VCC или VDD Питание (обычно 5В)
VSS или GND Земля (0 вольт)
ICSPDAT \ PGD Data - обычный порт и подключение RB7 (PGED)
ICSPCLK \ PGC Clock - обычный порт и подключение RB6 (PGEC)
PGM - LVP Программирование низкого напряжения - обычный порт и подключение RB3 / RB4

При подключении PICkit 3 к печатной плате для отладки нередко можно найти соответствующий заголовок на печатной плате для PIC ICSP.Пример этого показан ниже:

Также важно предположить, что заголовок ICSP не может быть закреплен должным образом, а это означает, что простое подключение PICkit 3 может не дать ожидаемых результатов. Мы рекомендуем сначала проверить распиновку. Лучше всего это сделать с помощью таблицы данных для MCU и мультиметра, установленного на непрерывность, чтобы прозвонить заголовок ICSP на фактические контакты на микросхеме.

В этом примере, используя техническое описание микроконтроллера PIC32MX695F512H и мультиметра, мы обнаружили, что распиновка заголовка предназначена для ICSP микроконтроллера, но расположение выводов не соответствует правильному порядку выводов для прямого подключения, как показано ниже:

Как видите, полезно всегда перепроверять распиновку перед подключением отладчика или анализатора к печатной плате.Это избавит вас от многих головных болей в будущем и поможет предотвратить повреждение поврежденных компонентов. Также обратите внимание, что контакт 6 PGM - LVP на PICkit 3 не используется. Этот вывод нужен только при программировании определенных устройств MCU и, насколько я понимаю, никогда не нужен при чтении флеш-памяти.

После успешного подключения PICkit 3 к целевому устройству вам необходимо загрузить и установить программное обеспечение MPLab X IDE, доступное от Microchip. После установки пора извлечь прошивку из MCU.

Откройте программу MPLAB X IDE и создайте новый проект. Вы можете использовать значения по умолчанию для Категории и Типа проекта. Когда будет предложено выбрать устройство, выберите Семейство и тип тестируемого устройства. В нашем примере мы использовали следующее:

  • Семейство: 32-разрядные микроконтроллеры (PIC32)
  • Устройство: PIC32MX695F512H

Когда будет предложено выбрать инструмент, выберите используемый отладчик (в нашем случае PICkit 3). На следующем шаге вам нужно будет выбрать Компилятор для распаковки прошивки.Вам это не понадобится, но это необходимо для создания проекта. Выберите то, что доступно, или, если вы впервые используете этот инструмент, вам может потребоваться загрузить компилятор. Последний шаг - дать вашему проекту имя и выбрать Готово.

На этом этапе вы должны быть готовы к чтению памяти из MCU. Для этого выберите значок, изображенный здесь:

Затем выберите «Чтение памяти устройства».

При правильной настройке и подключении индикатор состояния PICkit 3 должен начать мигать красным, и вы должны увидеть следующую информацию в приложении MPLAB, а затем запрос на сохранение файла:

При сохранении файла он будет сохранен как файл типа Intel Hex.Чтобы иметь возможность изучить и протестировать микропрограммное обеспечение в дальнейшем, вам необходимо преобразовать его в двоичный тип файла. Это легко сделать с помощью приложения Linux hex2bin, как показано ниже:

После преобразования в двоичный код вы сможете провести дальнейшее тестирование с помощью встроенного ПО и использовать другие приложения, такие как Binwalk, для извлечения данных.

Мы также рекомендуем изучить возможности MBLab X IDE. Например, после извлечения прошивки загляните в меню битов конфигурации.Это покажет вам конфигурацию чипа и настройки безопасности.

Вернитесь на следующей неделе, чтобы увидеть четвертую и последнюю часть этой серии статей, в которой будут подробно описаны радиочастотные микроконтроллеры Texas Instrument.

Нужна помощь в обеспечении безопасности вашего Интернета вещей? Узнайте больше о наших услугах по тестированию безопасности Интернета вещей.
Начать

Безопасность | Стеклянная дверь

Мы получаем подозрительную активность от вас или кого-то, кто пользуется вашей интернет-сетью.Подождите, пока мы убедимся, что вы настоящий человек. Ваш контент появится в ближайшее время. Если вы продолжаете видеть это сообщение, напишите нам чтобы сообщить нам, что у вас проблемы.

Nous aider à garder Glassdoor sécurisée

Nous avons reçu des activités suspectes venant de quelqu’un utilisant votre réseau internet. Подвеска Veuillez Patient que nous vérifions que vous êtes une vraie personne. Вотре содержание apparaîtra bientôt. Si vous continuez à voir ce message, veuillez envoyer un электронная почта à pour nous informer du désagrément.

Unterstützen Sie uns beim Schutz von Glassdoor

Wir haben einige verdächtige Aktivitäten von Ihnen oder von jemandem, der in ihrem Интернет-Netzwerk angemeldet ist, festgestellt. Bitte warten Sie, während wir überprüfen, ob Sie ein Mensch und kein Bot sind. Ihr Inhalt wird в Kürze angezeigt. Wenn Sie weiterhin diese Meldung erhalten, informieren Sie uns darüber bitte по электронной почте: .

We hebben verdachte activiteiten waargenomen op Glassdoor van iemand of iemand die uw internet netwerk deelt.Een momentje geduld totdat, мы узнали, что u daadwerkelijk een persoon bent. Uw bijdrage zal spoedig te zien zijn. Als u deze melding blijft zien, электронная почта: om ons te laten weten dat uw проблема zich nog steeds voordoet.

Hemos estado detectando actividad sospechosa tuya o de alguien con quien compare tu red de Internet. Эспера mientras verificamos que eres una persona real. Tu contenido se mostrará en breve. Si Continúas recibiendo este mensaje, envía un correo electrónico a para informarnos de que tienes problemas.

Hemos estado percibiendo actividad sospechosa de ti o de alguien con quien compare tu red de Internet. Эспера mientras verificamos que eres una persona real. Tu contenido se mostrará en breve. Si Continúas recibiendo este mensaje, envía un correo electrónico a para hacernos saber que estás teniendo problemas.

Temos Recebido algumas atividades suspeitas de voiceê ou de alguém que esteja usando a mesma rede. Aguarde enquanto confirmamos que Você é Uma Pessoa de Verdade.Сеу контексто апаресера эм бреве. Caso продолжить Recebendo esta mensagem, envie um email para пункт нет informar sobre o проблема.

Abbiamo notato alcune attività sospette da parte tua o di una persona che condivide la tua rete Internet. Attendi mentre verifichiamo Che sei una persona reale. Il tuo contenuto verrà visualizzato a breve. Secontini visualizzare questo messaggio, invia un'e-mail all'indirizzo per informarci del проблема.

Пожалуйста, включите куки и перезагрузите страницу.

Это автоматический процесс. Ваш браузер в ближайшее время перенаправит вас на запрошенный контент.

Подождите до 5 секунд…

Перенаправление…

Заводское обозначение: CF-102 / 6462c62cee907b43.

блог кролика

31 марта 2021 г.

Ниже представлена ​​посуда на март 2021 года.

Это интересная посуда, которая попала в мой почтовый ящик через человека, который хочет, чтобы его указали просто как «Lih».

Мне определенно было трудно угадать его цель, но некоторые странные вещи стали иметь больше смысла, как только я узнал. Интересно, как быстро другие уловят странности и сложат их вместе!

Написано во имя той посуды | 11 комментариев »

31 марта 2021 г.

Устройство представляет собой микшер сэмплирования из векторного вольтметра HP 8508A - на переднем плане находится ГУН и шаговый генератор, который отправляет импульсы запуска на сэмплеры на обоих из 2 входных каналов.Стеклоочиститель используется для выравнивания задержки между двумя каналами. Я нашел анализ Коди интересным и заставляющим задуматься, поэтому в этом месяце я дам ему приз. Поздравляю, напишите мне, чтобы получить приз! Мне также было интересно, собирается ли кто-нибудь по-настоящему прищуриться и увидеть логотип HP, и, конечно же, регулярные пользователи Name That Ware увидят его больше!

Написано во имя той посуды | 2 комментария »

28 февраля 2021 г.

Товар на февраль 2021 года показан ниже.

Это немного сложнее, так как это всего лишь небольшая часть всей печатной платы; но я думаю, что видно достаточно, чтобы понять, в чем может заключаться основная функция схем, выделенных здесь! Должен быть интересный stumper.

Еще раз спасибо Дону Стрейни за эти замечательные изделия!

Написано во имя той посуды | 9 Комментариев »

28 февраля 2021 г.

The Ware на январь 2021 года - это генератор ВЧ сигналов LogiMetrics 921A.По крайней мере, так написано в подписи к отправленной мне фотографии; внутренности не совсем совпадают с другими фотографиями в Интернете, но также кажется, что с течением времени было несколько изменений оборудования, плюс различные энтузиасты взяли на себя обязательство отремонтировать свои устройства, прежде чем передавать их новому владельцу .

Я вручу приз Аллену Смиту за то, что он первым приблизительно определил категорию снаряжения и винтаж. Поздравляю, напишите мне, чтобы получить приз!

Мне очень нравится классический конденсатор переменной емкости с воздушным зазором в этом устройстве.Это именно то, что я хотел бы иметь под рукой, чтобы проиллюстрировать, как конденсаторы работают в классе электроники начального уровня… если бы у меня был бесконечный бюджет.

Написано во имя той посуды | 1 Комментарий »

31 января 2021 г.

Товар на январь 2021 года показан ниже.

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

Я подумал, что мы согреемся с одним из наиболее старинных, легко угадываемых предметов из коллекции, показанной выше, а затем в ближайшие месяцы перейдем к более сложным предметам!

Написано во имя той посуды | 18 Комментариев »

Установка и обновление прошивки | Руководство по установке и обновлению программного обеспечения Junos® OS

показать версию (MX240, MX480, MX960, MX2010, MX2020)

 user @ host>  показать версию 
Имя хоста: mxHost
Модель: mx480
Юнона: 15.1I20160816_2117_yyin
64-разрядное ядро ​​ОС JUNOS (WITNESS) [20160723.102341_fbsd-builder_stable_10]
Библиотеки ОС JUNOS [20160723.102341_fbsd-builder_stable_10]
Среда выполнения ОС JUNOS [20160723.102341_fbsd-builder_stable_10]
Информация о часовом поясе ОС JUNOS [20160723.102341_fbsd-builder_stable_10]
...
Прошивка JUNOS j [20160628.005233_builder_release_151_f_throttle]
Интернет-документация JUNOS [20160812.205759_yyin_release_151_f_throttle]
Утилиты режима JUNOS FIPS [20160816.211724_yyin_release_151_f_throttle]
....
 

показать версию (PTX3000 и PTX5000)

 user @ host>  показать версию 
Имя хоста: ptxHost
Модель: ptx3000
Юнона: 15.1F-20160720.0
Загрузка базовой ОС JUNOS [15.1F-20160720.0]
Программный пакет JUNOS Base OS [15.1F-20160720.0]
Программный пакет платформы JUNOS [15.1F-20160720.0]
Веб-управление JUNOS [15.1F-20160720.0]
Программный пакет времени выполнения JUNOS [15.1F-20160720.0]
Интерактивная документация JUNOS [15.1F-20160720.0]
...
Прошивка JUNOS j [20160628.005233_builder_release_151_f_throttle]
Пакет программного обеспечения для 64-разрядной среды выполнения JUNOS [15.1F-20160720.0]
Пакет моделирования механизма пересылки пакетов JUNOS [15.1F-20160720.0]
Поддержка механизма пересылки пакетов JUNOS (M / T / EX Common) [15.1F-20160720.0]
Поддержка механизма пересылки пакетов JUNOS (серия T) [15.1F-20160720.0]
Пакет программного обеспечения для маршрутизации JUNOS [15.1F-20160720.0]
 

показать версию (ACX6360)

 user @ host>  показать версию 
Имя хоста: ГГГ

Модель: ACX6360-OR
Юнос: 18.3I20180430_1917_XXX
64-разрядное ядро ​​ОС JUNOS (WITNESS) [20180413.173511_fbsd-builder_stable_11]
Библиотеки ОС JUNOS [20180413.173511_fbsd-builder_stable_11]
Среда выполнения ОС JUNOS [20180413.173511_fbsd-builder_stable_11]
Информация о часовом поясе ОС JUNOS [20180413.173511_fbsd-builder_stable_11]
...
Прошивка JUNOS j [20180430.191738_XXX_dev_common]
Интерактивная документация JUNOS [20180430.191738_XXX_dev_common]
... 

Если вывод команды show version отображает JUNOS jfirmware .. среди списка пакетов, которые на роутере установлены предыдущая версия прошивки пакет установлен на роутере. Если вывод показывает версия не отображает JUNOS jfirmware .. среди списка пакетов, установленных на маршрутизаторе, на роутере не установлен пакет прошивки.

Загрузка программирования микропрограмм микроконтроллера

с помощью MPLAB X IDE

Введение

Этот раздел предоставляет новым пользователям пошаговые инструкции по загрузке обновленного микропрограммного обеспечения (программы или машинных кодов) на вашу печатную плату с помощью микроконтроллера Microchip.

Вещи, которые нужно приготовить

  1. Печатная плата микроконтроллера Microchip
  2. Инструмент для программирования (PICkit)
  3. MPLAB X IDE (интегрированная среда разработки)
  4. Прошивка (файл с шестнадцатеричным кодом *.hex или файлы проекта, содержащие программу вашего контроллера)

После того, как вы будете готовы, вы можете приступить к пошаговой загрузке микропрограммы в микроконтроллер.

Печатная плата микросхемы

Большинство микросхемных плат, разработанных PIC-CONTROL, оснащены портом программирования, который позволяет нам загружать программу на микросхему микроконтроллера на плате.

Имеется стандартный порт программирования микрочипа, также известный как ICSP, к которому вы можете подключиться с помощью своего инструмента программирования.

Программирование порта разъема на печатной плате продукта

Порт программирования обычно расположен у края печатной платы. Это ряд из 6 отверстий, сгруппированных в прямоугольную коробку (штифты заголовка с шагом 2,54 мм).

Вы должны знать, как определить контакт № 1 на этом порту. Контакт номер 1 посадочного места обозначен треугольной стрелкой. Вы также можете определить этот штифт 1 по скошенному углу прямоугольной коробки.

Ниже приведены некоторые фотографии того, как порт программирования ICSP выглядит на вашей печатной плате.

ICSP (специальная версия без отверстий)

Вы должны подключить инструмент программатора к этому порту ICSP, выровняв его по контакту 1.

Подробная информация о процедуре будет представлена ​​в следующем разделе ниже.

Инструмент для программирования

Вам понадобится инструмент для программирования. Инструменты программиста помогут вам подключить компьютер к микросхеме микроконтроллера. Он используется для загрузки микропрограммы микроконтроллера (программы контроллера) в микроконтроллер на вашей печатной плате.

Существует ряд инструментов для программирования, которые позволяют загружать вашу прошивку. В этом примере мы используем официальный инструмент программирования PICkit 3 или PICkit 4 от Microchip.

Другими широко известными инструментами программирования являются ICD4 (внутрисхемный отладчик), ICD3, PM3 и REAL ICE.

Обратите внимание на контакт № 1 на программаторе. Вы должны идентифицировать этот контакт и совместить его с контактом 1 порта ICSP на вашей печатной плате.

Инструмент программирования PICkit 3

PICkit 3

PICkit 4 (новая версия)

Распиновка инструмента программирования PICkit

Это распиновка программатора PICkit.Эта распайка также известна как порт программирования ICSP.

Обратите внимание, что штифт № 1 обозначен треугольной стрелкой.

MPLAB X IDE (интегрированная среда разработки для микроконтроллера Microchip)

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

MPLAB X IDE - это бесплатное программное обеспечение для разработки микроконтроллеров. Это полноценная платформа для разработки кода прошивки.

Теперь вам следует загрузить следующее:

  1. Программное обеспечение MPLAB X IDE (версия для Windows).
  2. Компилятор MPLAB XC.

Загрузите и установите программное обеспечение MPLAB X IDE

Вы можете щелкнуть эту ссылку, чтобы загрузить последнюю версию программного обеспечения MPLAB X IDE (версия для Windows). Если эти ссылки не работают, выполните следующие действия, чтобы загрузить их с официального сайта Microchip.
https://www.microchip.com/mplab/mplab-x-ide

  1. Щелкните здесь, чтобы перейти на веб-сайт Microchip для программного обеспечения MPLAB X IDE.
  2. Прокрутите страницу вниз и найдите вкладку «Загрузки», чтобы щелкнуть по ней.
  3. Перейдите к соответствующей версии (Windows, Linux или Mac) и загрузите программное обеспечение.
  4. На данный момент программное обеспечение имеет версию «MPLAB® X IDE v5.05».

Установите это программное обеспечение на свой компьютер.

Загрузите и установите компилятор MPLAB X

Компилятор преобразует исходный код программы в машинный код, прежде чем вы сможете загрузить программу в микросхему микроконтроллера.Для другого микроконтроллера потребуется соответствующий компилятор. Рекомендуется устанавливать все компиляторы следующим образом.
http://www.microchip.com/mplab/compilers

Установите эти компиляторы MPLAB XC8 и MPLAB XC16 на свой компьютер.

Пошаговая процедура загрузки микропрограммы в микросхему микроконтроллера

Теперь, когда у вас есть

  • Печатная плата
  • Инструмент для программирования
  • MPLAB X

готово…

Мы можем начать загрузку вашего проекта или *.шестнадцатеричный файл ..

Есть два режима загрузки прошивки в микроконтроллер.

  1. Метод 1. Загрузите шестнадцатеричный * файл (машинный код) с помощью программного обеспечения MPLAB X IPE.
  2. Метод 2: Загрузить проект (исходный код) с помощью программного обеспечения MPLAB X IDE.

Метод 1. Загрузка микропрограммы с помощью программного обеспечения IPE

Этот метод обычно используется для производства. Программистам-операторам будет предоставлен файл * .hex, чтобы они могли загрузить прошивку в микросхему микроконтроллера.

Преимущество этого метода в том, что он прост и не раскрывает фактический исходный код вашего проекта.

Шаг 1: Запустите программу MPLAB X IPE.

Шаг 2: В разделе «Устройство:» выберите номер детали микроконтроллера, на который вы хотите загрузить прошивку. Обратитесь к вашей схеме для получения точного номера детали микроконтроллера.

Щелкните по кнопке «Применить».

Шаг 3. Подключите инструмент для программирования к компьютеру.

Вы должны заметить, что программное обеспечение обновляет раздел «Инструмент:» после обнаружения вашего инструмента.

Нажмите кнопку «Подключиться», чтобы начать подключение к вашему программатору.

Вы должны увидеть следующее распечатанное сообщение…

*********************************************** ****

Подключение к MPLAB PICkit 3…

Текущая загруженная прошивка на PICkit 3
Firmware Suite Version… ..01.51.08 *
Тип прошивки ………… ..Enhanced Midrange

Шаг 4: В разделе «Hex File:» загрузите ваш *.шестнадцатеричный файл для вашего производства. Это файл машинного кода для вашей печатной платы. Это единственный файл, необходимый для производства.

Для начала, этот файл находится в папке вашего проекта. Например…
Каталог вашего проекта -> «yourProject.X \ dist \ default \ production \ yourProject.X.production.hex»

Шаг 5: Подключите инструмент программатора к порту ICSP на печатной плате. Убедитесь, что контакт 1 на вашем разъеме правильно выровнен. Затем включите доску.

Шаг 6: Нажмите кнопку «Программа», чтобы начать загрузку прошивки в микросхему микроконтроллера на вашей печатной плате.

Да, готово. Поздравление.
Ваша плата успешно загружена с микропрограммой.

Метод 2: загрузка исходного кода проекта с помощью программного обеспечения IDE

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

Рекомендуется поддерживать версию микропрограммы, пока вы выполняете работы по редактированию и улучшению. Необходимо сохранить исходную работоспособную версию. Вы всегда можете вернуться к исходной копии, если испортите исходные коды проекта.

Шаг 1: Запустите программу MPLAB X IDE software.

Шаг 2: Откройте файлы проекта. Перейдите в File> Open Project…

Выберите файлы проекта. Это папка проекта, которая заканчивается на * .X. Например, «вашПроект.X ”

Проект загрузится.

Шаг 3. Подключите инструмент для программирования к компьютеру.

Шаг 4: Подключите инструмент программатора к порту ICSP на печатной плате.
Убедитесь, что контакт 1 на разъеме правильно выровнен. Затем включите доску.

Шаг 5: Щелкните значок стрелки вниз под строкой меню.
Выберите «Сделать и запрограммировать устройство», чтобы начать загрузку микропрограммы в микросхему микроконтроллера на печатной плате.

Да, готово. Поздравление.
Ваша плата успешно загружена с микропрограммой.

Подробнее…

Для получения дополнительной информации вы можете проверить официальный сайт Microchip
или YouTube для получения более подробных инструкций.

Portable PIC Programmer для простого обновления прошивки микроконтроллеров PIC

Программаторы

Portable PIC позволяют инженерам, разработчикам и техническим специалистам работать намного быстрее и с минимальными трудностями. Их можно предварительно запрограммировать с помощью различных программ через ПК, а затем загрузить в микроконтроллер PIC, просто подключив его и выбрав нужную.

Тот факт, что они портативны, означает, что программирование может происходить где угодно, будь то на производственной линии или в мастерской. Kanda - один из мировых лидеров в разработке PIC, и мы хорошо известны тем, что поставляем великолепный ассортимент портативных устройств. Наш новейший Portable PIC Programmer - это еще один шаг вперед, который обеспечивает еще больше преимуществ для пользователей, но при этом очень прост в использовании.

Оригинальный портативный компьютер имел 256 КБ памяти, но в него можно было загрузить только одну программу.За этим последовала 8-позиционная модель, позволяющая пользователям загружать 8 различных программ. Теперь портативное устройство затмило это с невероятными 32 слотами для программ по 256 КБ.

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

Программатор намного более портативный, чем ноутбук, и его намного легче носить с собой, так что программирование может выполняться практически в любом месте, даже в стесненных условиях, таких как производственная линия. Клавиатура легко раскладывается, и пользователи просто вводят нужный номер слота. На ЖК-дисплее появится название программы, чтобы убедиться, что вы выбрали правильную. Если слот не используется, появится сообщение «Недоступно», и вам потребуется ввести другой номер.Когда вы будете счастливы, что у вас есть нужная программа, вы нажимаете одну кнопку, и она загружается на устройство.

Kanda является одним из лидеров в области микроконтроллеров и имеет большой опыт работы с программистами PIC. Мы - бренд, которому вы можете положиться, чтобы поставлять лучшие программаторы, компоненты и другие предметы, необходимые людям для работы с широким спектром микроконтроллеров.

Преимущества портативного программатора

  • Сохраняет до 32 различных программ
  • Большинство микроконтроллеров PIC16F и PIC18F, включая серии J & K
  • Может приводить в действие цель
  • ЖК-дисплей и клавиатура для удобного выбора программы
  • Простая загрузка с ПК с помощью прилагаемого USB-ключа и программного обеспечения
  • Перезаряжаемый аккумулятор и зарядное устройство в комплекте


Портативный программатор Kanda PIC

портативный программатор

Защита прошивки на контроллерах AVR и PIC

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

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

Сегодня многие микроконтроллеры имеют встроенную флэш-память для хранения программного кода.Ранее сохраненную и защищенную программу, хранящуюся во флэш-памяти, обычно можно заменить новым кодом, но для разблокировки механизма защиты требуется операция полного стирания флэш-памяти. После стирания деталь будет работать так же, как и до первоначальной защитной блокировки. Если загружается новая программа, обычно можно повторно заблокировать часть, чтобы защитить вновь загруженный машинный код.

Любое обсуждение защиты кода в микроконтроллерах не будет полным без упоминания того, что обычно нет гарантии, что любая схема защиты, предлагаемая производителем детали, является надежной.Производители даже заявят, что системы защиты не на 100% защищены от дурака. Одна из причин этого заключается в том, что существует целая индустрия черного рынка, где за определенную плату прилежные хакеры будут считывать код с защищенной части для всех, кто хочет заплатить. Они разработали различные схемы, позволяющие считывать код из ROM или FLASH на защищенных микроконтроллерах. Некоторые из этих схем невероятно умны, но в одних семьях они работают лучше, чем в других.Так что помните об этом факте, тогда вы попытаетесь защитить свою программу от посторонних глаз.

Как только кто-то получит в свои руки двоичный образ машинного кода, который был считан из микроконтроллера, независимо от того, был ли он защищенным микроконтроллером или нет, он может обработать машинный код с помощью инструмента, называемого дизассемблером. Это превратит двоичные данные обратно в код на языке ассемблера, который можно изучить, чтобы попытаться понять, как работают алгоритмы вашей программы. Выполнение точной дизассемблирования машинного кода - кропотливая работа, которая может потребовать огромных усилий.В конце концов, процесс может привести к коду ассемблера, как я описал. Если ваша программа была написана на каком-либо языке высокого уровня, таком как C, C ++ или Basic, ассемблерный код будет представлять только скомпилированный и связанный результат вашей программы. Как правило, невозможно полностью перепроектировать украденный код до уровня языка высокого уровня. Опытные хакеры могут подойти близко, имея достаточно времени и опыта.

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

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

.