Программатор pic своими руками: Программатор PicKit2 lite своими руками

РадиоКот :: USB программатор PIC микроконтроллеров.

РадиоКот >Схемы >Цифровые устройства >Примочки к ПК >

USB программатор PIC микроконтроллеров.







В данной статье рассматриваются практические аспекты сборки несложного USB программатора PIC микроконтроллеров, который имеет оригинальное название GTP-USB (Grabador TodoPic-USB). Существует старшая модель этого программатора GTP-USB plus который поддерживает и AVR микроконтроллеры, но предлагается за деньги. Однозначных сведений по схемам и прошивкам к GTP-USB plus обнаружить не удалось. Если у вас есть информация по GTP-USB plus, прошу связаться со мной.

Итак, GTP-USB. Данный программатор собран на микроконтроллере PIC18F2550. GTP-USB нельзя рекомендовать начинающим, т.к. для сборки требуется прошить PIC18F2550 и для этого требуется программатор. Замкнутый круг, но не настолько замкнутый, чтобы это стало препятствием для сборки.

Из оригинальной схемы GTP-USB исключены элементы индикации для упрощения рисунка печатной платы. Основной индикатор — это монитор вашего компьютера, на котором из программы WinPic800 версий 3.55G или 3.55B вы можете наблюдать за процессом программирования.

Облегченная схема GTP-USB.


Сигнальные линии Vpp1 и Vpp2 определены под микроконтроллеры в корпусах с различным количеством выводов. Линия Vpp/ICSP определена для внутрисхемного программирования. Остальные линии типовые.

Программатор собран на односторонней печатной плате.


Конструктивно сигнальные линии подпаиваются к подходящему разъему (в моем случае это разъем DB9).


На фотографии видно, что использован «нетипичный» разъем USB. К сожалению, в моём родном городе Саратове не удалось найти правильный разъем USB.

Для программирования микроконтроллеров в DIP корпусах очень удобно использовать адаптер с ZIF-панелью (Zero Insertion Force — с нулевым усилием на выводы микросхемы при ее установке). Схема адаптера на рисунке ниже.


Адаптер собран на односторонней печатной плате. Мне не удалось симпатичнее развести плату и минимизировать количество перемычек.


ZIF-панель любезно предоставлена Благородным котом этого сайта, который пожелал остаться неизвестным. (sic! Прим. Кота.) Большое спасибо ему за это. Ниже фотография собранного адаптера.


Адаптер можно безболезненно подключать к любому другому программатору PIC-микроконтроллеров, что, безусловно, удобно.


После сборки производим первое включение. По факту первого подключения GTP-USB к ПК появляется сообщение


Затем следует традиционный запрос на установку драйвера. Драйвер расположен в управляющей программе WinPic800 по примерному пути WinPic800 3.55GGTP-USBDriver GTP-USB.


Соглашаемся с предупреждениями и продолжаем установку.


Обращаю внимание. Данная схема программатора и прошивка к нему проверены на практике и работают с управляющей программой WinPic800 версий 3. 55G и 3.55B. Более старшие версии, например, 3.63C не работают с этим программатором. Производим настройку управляющей программы: в меню Settings — Hardware (Установки — Оборудование) выбираем GTP-USB-#0 или GTP-USB-#F1 и нажимаем Apply (Применить).


Нажимаем на панели кнопку и производим тест оборудования. В результате успешного тестирования появляется сообщение (см. ниже), которое не может нас не радовать.


Данный программатор отлично работал со следующими контроллерами (из того что было в наличии): PIC12F675, PIC16F84A, PIC16F628A, PIC16F874A, PIC16F876A, PIC18F252. Тест контроллеров, запись и чтение данных — выполнены успешно. Скорость работы впечатляет. Чтение 1-2 сек. Запись 3-5 сек. Глюков не замечено. Часть зашитых МК протестировано в железе — работает.


Ниже рисунки установки кристаллов в ZIF-панель:





DIP40

DIP28

DIP18

DIP20

DIPrf18

DIP14

DIP8 DIPrf20

DIP8 10F

DIP8 (EE)


Теперь несколько слов о том, как прошить PIC18F2550, точнее, чем прошить. На этом сайте представлено несколько вариантов программатора Extra-PIC. Этот программатор можно рекомендовать для прошивки PIC18F2550.


Существует непроверенная информация по схеме элементарного программатора ART2003, который подключается к LPT-порту ПК. Данный программатор поддерживается всё тем же WinPic800 3.55G.


Ниже типовые настройки WinPic800 3.55G для работы с ART2003.


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



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

Благодаря нашим читателям выяснилось, что проблема на самом деле пустяковая и лежит на поверхности. Достаточно на линии питания от разъема USB поставить фильтрующий электролитический конденсатор емкостью порядка 100,0 мкф на рабочее напряжение не менее 6,3 вольта. На существующей печатной плате этот конденсатор можно вполне культурно установить.

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


Файлы:
Печатные платы в формате SL4.0
Прошивка МК
WinPic800 3.55G


Все вопросы — в Форум.



Как вам эта статья?

Заработало ли это устройство у вас?

Программатор для PIC, AVR и микросхем памяти

РадиоКот >Схемы >Цифровые устройства >Примочки к ПК >

Программатор для PIC, AVR и микросхем памяти


. ..Когда-то давно пару лет назад, в очередной раз пересмотрел подшивку како-го радиотехнического журнала и задумался: а не пора ли осваивать микроконтроллеры? С этим проблем не было, литературы много, примеров достаточно. Изучил матчасть, написал свою первую ПРОГРАММУ. Потом начались поиски того, чем эту программу запихнуть в контроллер, тоесть программатора. Нужна была схема простая, чтоб собрать из того, что под рукой и надежная, без глюков так сказать. После долгих поисков выбор пал на схему программатора из журнала «РАДИО» №10 2007г. ст. 31. Описывать эту схему не стану, для желающих в архиве есть оригинал статьи. Скажу лишь, что  схема отлично работала, шила все подряд без проблем, только почему-то иногда вилетал МАХ232 (заменил 3 шт., может бракованые попались). Тот программатор подарил коллеге и решил собрать себе такой-же, но у меня не оказалось еще одного управляемого стабилизатора K78R12C, опять начались поиски замены… В результате родилась вот такая схема, это результат «скрещивания» журнальной схемы и фирменного программатора SI-PROG:

MAX232 заменил на более быстродействующий ST232, управляемый стабилизатор заменил обычным 7812 и транзисторным ключем после него, транзисторы — ВС547, все остальные детали — по рекомендациям из оригинальной статьи. Также добавил отдельную подключаемую плату с панельками для разных типов контроллеров (так как в основном юзаю РІС-и, то плата пока только под них, а если нужно прошить AVR — то проводочками :-)). Монтируется все это на вот такой плате:

а это сменная плата для ПИК-ов и микросхем памяти:

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

Вот фото собраной платы:

Программатор собрал в поляцком корпусе, который обозначается Z50, собственно под него и проектировалась плата, ниже несколько фото:

На фото видно в корпусе трансформатор питания, я его потом выкинул, так как он оказался слабоват (сделал светодиодную подсветку передней панели из сверхярких светодиодов, и трансформатор не осилил :-). Сейчас используется внешний блок питания 15В, и током до 1А.

Программатор работает с программами PonyProg, Si-prog, WinPic800. Используя для управления программу PonyProg следует выбрать в соответствующем ее окне программатор SI Prog I/O и задать инверсию сигналов в соответствии с таблицей 1, для программ Si-Prog и WinPic 800 следует выбрать программатор JDM Programmer, а инверсию сигналов задать в соответствии с таблицами 2 и 3:

Для WinPic 800 с журнальной таблицей не разобрался, поэтому настройки определил методом «научного тыка»:

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

Вот как-то так.


Файлы:
Печтаные платы



Все вопросы в
Форум.


Как вам эта статья?

Заработало ли это устройство у вас?

Программатор PIC


Размер основной платы 86×76мм, а платы коммутации 100×80мм. Они изготовлены
из одностороннего фольгированного стеклотекстолита и оптимизированы
для метода «утюжной» технологии. Большинство элементов использованы
в SMD корпусах. Дроссель L1 типа ДМ-0,2. Кварц ZQ1 должен возбуждаться
на основной частоте 20 мгц. Транзисторы VT1, VT2 любые NPN в корпусах
SOT23 для поверхностного монтажа. Диод VD3 любого типа в таком же
корпусе. DD4 в корпусе SOIC, остальные микросхемы — в DIP. Стабилитрон
VD1 с напряжением стабилизации 5,1в.


Программатор выполнен в корпусе, спаяном из фольгированного гетинакса. Плата
коммутации является верхней крышкой, в ней сделаны по месту не показанные на чертеже
отверстия для HL1-HL3. Разъем СШ-5 для внутрисхемного программирования и отладки
размещается на боковой стенке. Там же монтируется и переключатель SA1. Обращаю
внимание, что это именно переключатель, а не кнопка. Кабель связи с компьютером может
иметь длину 1…1,5м. Питание осуществляется от любого сетевого адаптера с напряжением
9. ..15в и током до 100ма.


После сборки следует внимательно проверить правильность монтажа, отсутствие
короткозамкнутых дорожек и непропаяных соединений. После этого нужно проверить наличие
напряжения питания 5в на выходе DA1 и выставить 12…12,5в на выводе 1 DD3 с помощью
резистора R10. Диапазон регулирования определяется номиналами R7…R9.


Контроллер DD2 перед установкой в схему необходимо запрограммировать.
Его прошивка входит в состав MPLAB IDE, она состоит из двух частей
— загрузчика и операционной системы. Если MPLAB была установлена в
каталог по умолчанию, то путь к файлам прошивки будет C:\Program Files\Microchip\MPLAB
IDE\ICD2\. Для работы достаточно записать в память контроллера только
загрузчик, операционная система загружается средствами MPLAB. Однако
будет меньше проблем при запуске программатора, если предварительно
записать в память контроллера оба части. Файл прошивки icd2f876a.hex,
содержащий в себе как загрузчик, так и операционную систему можно
загрузить из архива icd.zip.. В этом же
архиве находятся и дистрибутивы печатных плат в формате Sprint-Layout
4.0. Для программирования можно воспользоваться упоминавшимся ранее
PonyProg или обратиться за помощью к друзьям. Слово конфигурации включено
в файл прошивки, так что в отличие от AVR, не придется ломать голову
над установкой Fuse бит. Если все сделано безошибочно, после подачи
питания будет светиться светодиод HL1 «Ready». Теперь можно подключить
программатор к COM порту и приступить к тестированию.


Фирма Microchip настоятельно рекомендует отключить буфер FIFO для
используемого COM порта. Это нужно обязательно сделать. В Windows
XP последовательность действий такая. Пуск — Панель управления
— Система — Оборудование — Диспетчер устройств —
Порты (COM и LPT) — Последовательный порт X — Параметры
порта — Дополнительно —Убрать галочку «Использовать буферы
FIFO» — OK. К сожалению, нигде не упоминается, что после этого
компьютер следует перезагрузить. Если не выполнить эту процедуру,
программатор не будет работать. А вот при использовании конвертера
USB-COM на FT232BM никаких изменений в свойствах порта делать не нужно.


Наконец, можно запускать MPLAB-IDE. Желательно использовать версию
не ниже 7. Все дальнейшие пояснения будут относиться к версии 7.30.
После запуска в меню Debugger — Select Tool нужно убедиться,
что MPLAB ICD2 не отмечен галочкой. Одновременно выбирать это устройство
в качестве отладчика и программатора нельзя. Затем нужно отметить
Programmer — Select Programmer — MPLAB ICD2 и перейти на
Programmer — MPLAB ICD2 Setup Wizard. Последовательно проходя
по открывающимся окнам надо выбрать номер используемого COM порта,
а также скорость обмена. Доступны две скорости 19200 и 57600, лучше
выбрать вторую. После этого отметить «Power target circuit from MPLAB
ICD2». «MPLAB IDE automatically connect to the MPLAB ICD2» лучше не
отмечать, а вот последующее предложение автоматически загружать требуемую
операционную систему следует принять. Потом эти установки можно будет
изменить. Теперь можно устанавливать связь: Programmer — Connect.
Откроется окно «Output», на которое будут выводиться все сообщения,
предупреждения и ошибки. Внимательно читайте все, что там появится.
Если нет сообщений, выделенных красным цветом, значит программатор
работает корректно. Некоторые сообщения требуют подтверждения, наиболее
надоедливые из них можно запретить, поставив соответствующую галочку.


Теперь нужно выбрать тип контроллера, с которым предполагается работать
Configure — Select Device. В случае необходимости требуемая операционная
система загрузится автоматически. Если нужно просто запрограммировать
HEX файл в контроллер без создания проекта, действия должны быть такими:
File — Import, затем указание пути к файлу прошивки. Просмотреть
и отредактировать, при необходимости, загруженный файл можно, выполнив
команду View — Program memory или View — EEPROM. Изменить
биты слова конфигурации — Configure — Configuration Bits. Непосредственно
запись, чтение, стирание или верификация осуществляются нажатием соответствующих
кнопок на панели инструментов. Область памяти, с которой выполняются
действия может быть установлена Programmer — Settings —
Program.


Более подробно работа с устройством в режиме программатора и отладчика
описана в Help — Topics — MPLAB ICD2, а также в руководстве
пользователя «MPLAB ICD2 USER’S GUIDE», которое можно загрузить с
сайта http://www.microchip.com, а на
http://www.microchip.ru можно найти описание MPLAB IDE
на русском языке. Много полезной информации на русском языке есть
и в [2]. Пересказывать эту обширную документацию в статье не имеет
смысла.


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

  • При включенном напряжении питания Vcc уровень на выводе MCLR поднимается с нуля до 12в.
  • При выключенном Vcc уровень на выводе MCLR поднимается с нуля до 12в, а затем
    подается Vcc на контроллер.


В разных типах контроллеров Microchip рекомендует использовать один
из этих способов, в основном в старых разработках — первый, а в более
поздних — второй. В фирменном программаторе ICD2 реализован только
первый способ, т.е. напряжение питания контроллера при программировании
не отключается. Его можно снять только вручную, поставив или убрав
галочку в меню Programmer — Settings — Power — «Power
target circuit from MPLAB ICD2». Во-первых, это не удобно, т.к. устанавливать
программируемый контроллер в панельку и извлекать из нее лучше при
отключенном питании, во-вторых, это накладывает ограничения на конфигурацию
вывода MCLR. Его можно сконфигурировать только как вывод сброса, а
не как вывод порта. Это может оказаться неприятным сюрпризом для пользователя,
т.к. использование вывода сброса как вывода порта допускается для
многих типов PIC, такая возможность особенно актуальна для PIC10 и
PIC12 с малым числом линий ввода-вывода. В фирменной документации
на ICD2 об этой неприятной особенности нет ни слова.


Этот недостаток можно было бы легко устранить, вмешавшись в прошивку
PIC16F876A, аппаратные возможности для этого есть. Но делать это не
разумно, т.к. для разных типов PIC автоматически загружаются разные
прошивки, называемые «операционными системами». Всего их более десятка!
Да и с выходом новых версий MPLAB они могут изменяться. Пришлось решать
эту проблему схемотехнически. Для этого в схему добавлены транзистор
VT1, диод VD3 и переключатель SA1. Идея в том, чтобы отключать Vcc,
если Vpp, подаваемое на вывод MCLR программируемого контроллера равно
нулю. В этот момент контроллер находится в состоянии сброса и питание
с него можно снять. Если контакты SA1 разомкнуты, напряжение Vpp появится
сразу же, как только на вывод 9 DD4 придет нулевой уровень с управляющего
контроллера. Vcc же появится с небольшой задержкой, определяемой номиналом
C18.


Если SA1 замкнут, Vpp появится после Vcc с задержкой, определяемой
номиналом C17. Таким образом, при замкнутом SA1 реализуется первый
вариант входа в режим программирования, а при разомкнутом — второй.
При этом галочка «Power target circuit from MPLAB ICD2» должна быть
снята. Если ее установить, Vcc будет включено постоянно и устройство
будет работать в штатном режиме, аналогично фирменному прототипу.


Как показала практика, большинство контроллеров корректно программируются
без галочки, при замкнутом SA1. Этот переключатель оставлен в схеме
исключительно для экспериментальных целей. Если таковые не преследуются,
можно левый по схеме вывод C17 просто соединить с «землей». Были протестированы
PIC12F629, PIC16F630, PIC16F505, PIC16F628, PIC16F628A, PIC16F73,
PIC16F876A, PIC16F877A, PIC16F84A. PIC16F84 без буквы «A» почему-то
не входит в список поддерживаемых, но прекрасно программируется, если
выбрать PIC16F84A. При программировании некоторых из указанных типов
появляются предупреждения об отсутствии напряжения питания или об
ошибке самотестирования. К счастью, это только предупреждения, и на
них можно не обращать внимания. Просто напряжение Vcc измеряется «не
вовремя». Однако, к сожалению, есть и исключения. Например, стирание
памяти PIC18F458 при выключенном «Power target circuit from MPLAB
ICD2» производится некорректно. Тут уж ничего не поделаешь, придется
работать с ним в штатном режиме, манипулируя перед установкой и удалением
его из панельки указанной выше галочкой.


Возможности MPLAB ICD2 как отладчика весьма ограничены и особо надеяться на них не
стоит. Поэтому детально в этой статье они не рассматриваются. Хотя, кое-что может и
пригодиться. Все подробности в указанных выше источниках информации о фирменном
MPLAB ICD2. Единственное ограничение — напряжение питания пользовательского устройства
должно быть 5в.


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

USB программатор PIC контроллеров

Фотогорафии программатора предоставленны Ансаганом Хасеновым

    В данной статье рассматриваются практические аспекты сборки несложного USB программатора PIC микроконтроллеров, который имеет оригинальное название GTP-USB (Grabador TodoPic-USB). Существует старшая модель этого программатора GTP-USB plus который поддерживает и AVR микроконтроллеры, но предлагается за деньги. Однозначных сведений по схемам и прошивкам к GTP-USB plus обнаружить не удалось. Если у вас есть информация по GTP-USB plus, прошу связаться со мной.

Итак, GTP-USB. Данный программатор собран на микроконтроллере PIC18F2550. GTP-USB нельзя рекомендовать начинающим, т.к. для сборки требуется прошить PIC18F2550 и для этого требуется программатор. Замкнутый круг, но не настолько замкнутый, чтобы это стало препятствием для сборки.

Из оригинальной схемы GTP-USB исключены элементы индикации для упрощения рисунка печатной платы. Основной индикатор — это монитор вашего компьютера, на котором из программы WinPic800 версий 3.55G или 3.55B вы можете наблюдать за процессом программирования.

Облегченная схема GTP-USB.

Сигнальные линии Vpp1 и Vpp2 определены под микроконтроллеры в корпусах с различным количеством выводов. Линия Vpp/ICSP определена для внутрисхемного программирования. Остальные линии типовые.

Программатор собран на односторонней печатной плате.

Адаптер можно безболезненно подключать к любому другому программатору PIC-микроконтроллеров, что, безусловно, удобно.

После сборки производим первое включение. По факту первого подключения GTP-USB к ПК появляется сообщение

Затем следует традиционный запрос на установку драйвера. Драйвер расположен в управляющей программе WinPic800 по примерному пути \WinPic800 3.55G\GTP-USB\Driver GTP-USB\.

Соглашаемся с предупреждениями и продолжаем установку.

Обращаю внимание. Данная схема программатора и прошивка к нему проверены на практике и работают с управляющей программой WinPic800 версий 3.55G и 3.55B. Более старшие версии, например, 3.63C не работают с этим программатором. Производим настройку управляющей программы: в меню Settings — Hardware (Установки — Оборудование) выбираем GTP-USB-#0 или GTP-USB-#F1 и нажимаем Apply (Применить).

Нажимаем на панели кнопку  и производим тест оборудования. В результате успешного тестирования появляется сообщение (см. ниже), которое не может нас не радовать.

Данный программатор отлично работал со следующими контроллерами (из того что было в наличии): PIC12F675, PIC16F84A, PIC16F628A, PIC16F874A, PIC16F876A, PIC18F252. Тест контроллеров, запись и чтение данных — выполнены успешно. Скорость работы впечатляет. Чтение 1-2 сек. Запись 3-5 сек. Глюков не замечено. Часть зашитых МК протестировано в железе — работает.

Источник

Обсудить на форуме.

ПРОГРАММАТОР EXTRA PIC

   Для программирования микроконтроллеров серии pic, есть немало различных радиосхем. А недавно нашёл схему ещё одного программатора EXTRAPIC и сразу же им заинтересовался. В ней всё очень просто и грамотно. На входе стоит MAX 232 преобразующая сигналыпоследовательного порта RS-232 в сигналы, пригодные для использования в цифровыхсхемах с уровнями ТТЛ или КМОП ,не перегружает по току COM-порт компьютера, так как использует стандартэксплуатации не представляет опасности для COM-порта. Этот девайс работает с любыми COM-портами, как стандартными (+/-12v; +/-10v) так и снестандартными COM-портами некоторых моделей современных ноутбуков, имеющихпониженные напряжения сигнальных линий, вплоть до +/-5v!Поддерживается распространёнными программами IC-PROG, PonyProg , WinPic 800

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

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

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

Расположениевыводов ICSP у PIC-контроллеров


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

   Микроконтроллеры с 14-контактным корпусом вставляется частью ножек всоответствующую 8-контактную панель.

Рисунок печатной платы:


Работа с программатором

   Сперва устанавливаем программу IC—prog. Скачайте и распакуйте программу вотдельный каталог. В образовавшемся каталое должны находиться три файла:

icprog.exe — файл оболочкипрограмматора.

icprog.sys — драйвер,необходимый для работы под Windows NT, 2000, XP. Этот файл всегда долженнаходиться в каталоге программы.
icprog.chm — файл помощи (Help file).

   Установили,теперь надо ее настроить.  Дляэтого:

  • (Только для 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«.
  • «Настройки» >> «Опции» >> выберите вкладку «Программирование» >> снимите «галочку» с пункта: «Проверка после программирования» и установите «галочку» на пункте «Проверка при программировании«. Нажмите «Ok«.

   Теперь надо протестироватьпрограмматор в месте с IC—prog.  Далее, в программе IC-PROG, в меню,запустите: Настройки >> Тест Программатора


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

  1. Установите «галочку» в поле «Вкл. Выход Данных», при этом, в поле «Вход Данных» должна появляться «галочка», а на контакте (DATA) разъёма X2, должен установиться уровень лог. «1» (не менее +3,0 вольт). Теперь, замкните между собой контакт (DATA) и контакт (GND) разъёма X2, при этом, отметка в поле «Вход Данных» должна пропадать, пока контакты замкнуты.
  2. При установке «галочки» в поле «Вкл. Тактирования», на контакте (CLOCK) разъёма X2, должен устанавливаться уровень лог. «1». (не менее +3,0 вольт).
  3. При установке «галочки» в поле «Вкл. Сброс (MCLR)», на контакте (VPP) разъёма X3, должен устанавливаться уровень +13,0… +14,0 вольт, и светиться светодиод D4 (обычно красного цвета).
  4. Если переключатель режимов поставить в положение 1 то будет светится светодиод HL3

   Если при тестировании, какой-либо сигналне проходит, следует тщательно проверить весь путь прохождения этого сигнала,включая кабель соединения с COM-портом компьютера.

Тестированиеканала данных программатора EXTRAPIC:
  1. 13 вывод микросхемы DA1: напряжение от -5 до -12 вольт. При установке «галочки»: от +5 до +12 вольт.
  2. 12 вывод микросхемы Da1: напряжение +5 вольт. При установке «галочки»: 0 вольт.
  3. 6 вывод микросхемы DD1: напряжение 0 вольт. При установке «галочки»: +5 вольт.
  4. 1 и 2 вывод микросхемы DD1: напряжение 0 вольт. При установке «галочки»: +5 вольт.
  5. 3 вывод микросхемы DD1: напряжение +5 вольт. При установке «галочки»: 0 вольт.
  6. 14 вывод микросхемы DA1: напряжение от -5 до -12 вольт. При установке «галочки»: от +5 до +12 вольт.

   Если все тестирование прошло успешно, топрограмматор готов к эксплуатации.

Детали для сборки EXTRA-PIC

DRB9F, разъём COM-порта («female»,»мама»), (1шт).
Разъём питания, диаметр внутр. штыря 2,1мм. (1шт).
SCL-40, панель DIP40. (1 шт).
SCS-28, панель DIP28, узкая. (1шт).
SCS-18, панель DIP18. (1шт).
SCS-08, панель DIP8. (1шт).
78L05, стабилизатор +5v, корпус ТО-92. (2шт).
78L12, стабилизатор +12v, корпус TO-92. (1шт).
MAX232, ST232, SP232, ADM232, или аналог. (1шт).
КР1533ЛА3,КР15xxЛА3, 74xx00, или аналог. (1шт).
1N4007, диод. (1шт).
1N4148, диод. (2шт).
АЛ307 или GNL-5013, светодиод зелёного цвета. (1шт).
АЛ307 или GNL-5013, светодиод красного цвета. (1шт).
КТ502Е, транзистор p-n-p, корпус TO-92. (1шт).
КТ3102, транзистор n-p-n, корпус TO-92. (1шт).
220,0x25v, электролитический / Оксидный конденсатор. (1шт).
10,0x16v, электролитический / Оксидный конденсатор. (4шт).
0,1 мкФ, керамический дисковый конденсатор. (2шт).
1k0, Резистор. (Цвета: «коричн.,чёрн.,красн.,золот.»). (6шт).
4k7, Резистор. (Цвета: «жёлт.,фиол.,красн.,золот.»). (2шт).

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

Программатор PIC-контроллеров :: SYL.ru

Микроконтроллеры 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 для Windows — Указатель справки

Программист PIC для Windows — Указатель справки

Программист PIC — Справка
Индекс

Заявление об ограничении ответственности
ЭТО ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ СЧИТАЕТСЯ «БЕСПЛАТНЫМ ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ». ДАННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ КАК ЕСТЬ И
БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ.

Другими словами, ВЕСЬ РИСК ПРИ ИСПОЛЬЗОВАНИИ ДАННОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ НЕСЕТ НА ВАС.

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

Используйте эту программу, если вы помните, что эта программа не является профессиональной.
программного обеспечения !
Поскольку эта программа является бесплатной, весь риск ее использования лежит на вас.
Как обычно, ни автор, ни участники не несут ответственности.
Это также относится к схематическим диаграммам, представленным в этом документе, и
в самом «ПО».
Отсутствие примечания об авторских правах в этих документах не означает «отсутствие авторских прав»
для названий продуктов или компаний, упомянутых здесь.
Если вы хотите узнать больше об этом юридическом материале, загляните в
README в основном каталоге WinPic.

содержание


Краткое описание

PIC — это однокристальные микроконтроллеры, которые можно использовать для многих целей.
WinPic может программировать некоторые из этих устройств, используя простое оборудование.
подключен к последовательному порту (COM1..COM4) или параллельному порту (LPT1 или LPT2)
ПК. Когда-то для этого существовала простая DOS-программа под названием «PIP-02»,
но эта программа не работала должным образом на моем ПК под Windows, поэтому я написал
мой собственный.Благодаря моим сотрудникам WinPic теперь поддерживает большое количество различных
PIC с разными алгоритмами программирования. Перечислены программируемые устройства.
на странице функций.

Обратите внимание, что большинство адаптеров программирования, поддерживаемых WinPic, не соответствуют требованиям Microchip.
требования к программисту «производственного уровня». Если вы думаете, что вам нужен
программатор производственного уровня (который может проверять PIC при различных напряжениях),
Смотри сюда.

Если вы заинтересованы в разработке прошивки PIC, купите интерфейс, такой как PicKit 2 или 3
(не клон).PicKit 3 — не самый надежный инструмент разработки, но его тоже можно использовать
как внутрисхемный отладчик, по крайней мере, для более поздних устройств PIC.

Таким образом, кроме тривиальных ‘ad-hoc’ PIC- и dsPIC-проектов в программах типа
WinPic больше нет. Автор WinPic отказался от разработки прошивки PIC, так как там
это более мощные устройства, такие как Cortex-M, поддерживаемые множеством бесплатных систем разработки .
Подумайте вот о чем: по цене ОДНОГО «PicKit 3» вы можете купить ЧЕТЫРЕ платы разработки Cortex-M4,
со встроенным отладчиком.Или два Raspberry Pi, но это другая порода … Устройства
и даже Cortex-M0 доступны в 28-контактном DIL-корпусе, удобном для макетирования,
и (извините за это) любая цепочка инструментов разработки ARM / Cortex более зрелая, чем
компиляторы C от Microchip (которые в «бесплатных» выпусках производят что угодно, только не хороший код).
Хорошо, вернемся к теме: WinPic позволяет …

  • запрограммировать HEX-файл в микроконтроллер PIC
  • прочитать содержимое PIC и сохранить его как файл HEX
  • прочитать и изменить слово (слова) конфигурации PIC

WinPic не позволит вам

  • использовать адаптер программирования PIC в качестве отладчика
  • программировать определенные микросхемы с помощью определенных программаторов из-за проблемы «Vpp before Vdd» / «Vdd before Vpp»,
    не хватает вывода сигналов на последовательный порт
  • программа dsPIC33 (если кто-то не добавит поддержку для них; я не буду, так как мне обычно нужно управлять более 4 мА на выход)
  • используйте свой старый и когда-то очень дорогой Picstart Plus для программирования PIC
    (это было решение Microchip на , а не на , пусть Picstart Plus поддерживает dsPIC и более новые PIC18F, по крайней мере, не в 2015 году)

Имейте в виду, что эта программа еще далека от «профессионального» программного обеспечения.
! Наконец, не в последнюю очередь потому, что эта программа является бесплатной, весь риск ее
использование с вами — прочтите отказ от ответственности, если вы еще не
пока что.

Следите за обновлениями на домашней странице автора.
Примечание. Между тем в сети есть и другие программы под названием «WinPic».
Если вы ищете обновления, поищите в сети «WinPic» И «DL4YHF», чтобы найти
вот этот !

Программа: WinPic — программатор PIC для Windows
Дата редакции: 02.11.2006 (ГГГГ-ММ-ДД)
Автор: Вольфганг Буешер (DL4YHF) и участники, см.
«О» -box
Исходный код: есть у автора
домашняя страница
Домашняя страница: см. ссылки в конце
этого документа
Электронная почта: можно найти на домашней странице (возможны изменения /
спам-боты держитесь!)

Содержание


Программа требует простого программного интерфейса для последовательного порта.Для PIC на базе FLASH, таких как 16F84, оборудование очень простое, для EPROM
Для таких устройств, как 16C61, требуются два дополнительных транзистора.

Поддерживаемые устройства (КАК МИНИМУМ …):

  • PIC16C84, PIC16F84
  • PIC16C61, PIC16C71
  • PIC16C710, PIC16C711
  • PIC10F200 / 202/204/206 (проверено PIC10F206)
  • PIC12F629, PIC12F635, PIC12F675, PIC12F683
  • PIC12F609, PIC12F615, PIC16F610, PIC16F616 (спасибо Андрей!)
  • PIC16F627, PIC16F627A, PIC16F628, PIC16F628A (проверено)
  • PIC16F630, PIC16F636, PIC16F648A
  • PIC16F676, PIC16F684, PIC16F688
  • PIC16F73, PIC16F737, PIC16F74, PIC16F76, PIC16F77
  • PIC16F818, PIC16F819
  • PIC16F87, PIC16F88 (87 не тестировалось)
  • PIC16F873A…PIC16F877A (проверено 873A)
  • PIC16F88
  • PIC18Fxxxx (протестировано много устройств — см. FAQ
    список — пожалуйста, прочтите примечание о PGC & PGD
    фильтрация, если ваш интерфейс не работает с PIC18F).
  • dsPIC30F2010 — dsPIC30F6010 (проверено) и другие dsPIC30F (не проверено должным образом).
    отсутствию образцов)
  • И: есть уловка для программирования других PIC
    слишком..
  • и другие устройства могут быть добавлены путем изменения файла
    УСТРОЙСТВА.INI.

ВНИМАНИЕ! Спецификация PIC на базе EPROM требует
точное время, которое трудно реализовать под Windows. Не позволяй другим
программы работают в фоновом режиме при программировании PIC на базе EPROM (16C7xx),
и используйте самый быстрый из доступных ПК. Это снижает риск того, что окна
CPU слишком долго не занимается другими задачами, но это не настоящее лекарство.

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

Содержание


Для использования WinPic вам потребуется следующее:

  • ПК с Win95, Win98, NT 4.0 или Win XP (не уверен насчет ME и Win2000)
  • очень простое оборудование
  • последовательный интерфейс похож на COM1 или COM2 (и т. д.), если вы используете
    COM84-совместимый или «JDM-программатор»
  • или параллельный интерфейс, такой как LPT1 или LPT2, если ваш программатор подключен
    к параллельному порту
  • Для интерфейсов на LPT-порте вам понадобятся файлы PORTTALK.SYS или SMPORT.SYS
    и SMPORT.VXD (в зависимости от используемой ОС) в системном каталоге или
    Текущий каталог. Под Win95 или Win98 WinPic будет работать без доступа к порту
    драйвер вообще (см. Параметры).
  • Чтобы запустить WinPic под Win XP с правами пользователя (не администратора), используйте интерфейс
    для последовательного порта или (если вам нужен интерфейс на LPT-порте) прочтите
    этот документ о том, как установить
    Драйвер PortTalk постоянно.

Если у вас есть интерфейс, который напрямую не поддерживается: программист
можно настроить для других адаптеров программирования через
INI-файл.

Поскольку WinPic теперь распространяется с автоматической установкой, вы просто выбираете
где он будет установлен (после прочтения и принятия заявления об отказе от ответственности).
После установки вы должны увидеть следующие файлы:

? \ WinPic \ devices \ *. Dev ....... подкаталог с определениями устройств, заимствованными из MPLAB 
? \ WinPic \ html \ *. * ............ онлайн-руководство по WinPic в формате HTML
? \ WinPic \ interfaces \ *. ini .... пользовательские определения интерфейса ("программисты")
? \ WinPic \ translations \ *.txt ... переводы графического интерфейса WinPic на другие языки
? \ WinPic \ WinPic.exe .......... исполняемый файл
? \ WinPic \ smport.sys, smport.vxd, porttalk.sys .. ... дополнительные драйверы доступа к портам (*)
? \ WinPic \ devices.ini ........ файл, сообщающий WinPic, как программировать некоторые новые устройства PIC
? \ WinPic \ readme.txt ..... .... отказ от ответственности, краткая информация, история изменений
 (*) более ранние версии WinPic не работали с драйверами портов. Щелкните здесь, чтобы узнать подробности. 

Еще несколько примечаний об установке и переводах можно найти в
файл README.ТЕКСТ. В случае проблем, пожалуйста
прочтите список часто задаваемых вопросов.

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

Если вы используете WinPic для программирования PIC18F или dsPIC, прочтите

DL4YHF’s WinPic — программатор PIC для Windows

Программатор PIC для Windows 95/98 / XP / 7/8

Краткое описание
Это простое приложение Windows для программирования прошивки PIC из
HEX-файл (тип, генерируемый Microchip’s
MPLAB TM ) в микроконтроллер PIC.Большинство современных PIC (например, PIC16F84, 16F628, 12F675, dsPIC30Fxxxx) могут быть
перепрограммирован много раз, потому что программу можно стереть электрически (
код хранится во флэш-памяти, а не в простом ПЗУ). Некоторые из «очень простых»
могут использоваться программные интерфейсы, некоторые из них описаны в
руководство.
Изначально я написал эту программу для себя, чтобы получить прошивку PIC-keyer
в PIC16F84, обнаружив, что некогда известная программа DOS вызывала
«ПИП-02» отказался работать под ветром.
Примечание. Между тем в сети есть и другие программы под названием «WinPic».
Если вы ищете обновления, поищите в сети «WinPic» И «DL4YHF», чтобы найти
правый.

Характеристики

  • последовательный интерфейс: совместим с «COM84», «JDM» и определяемым пользователем
    . Большинство интерфейсов для COM-порта должны работать без специального доступа к порту.
    драйвер, и теперь может даже работать с адаптерами USB <-> RS-232!
  • параллельный интерфейс: совместим с SM6LKM «PIP84» -интерфейсом, проверьте Johan’s
    домашняя страница
  • многие другие интерфейсы могут управляться с помощью простого файла определения интерфейса
    (см. руководство)
  • экзотические интерфейсы могут поддерживаться через специализированный аппаратный интерфейс
    DLL (плагин)
  • возможность проверки ПОС при разных напряжениях (практически «производственный класс»)
  • требуется ПК с WIN95, Win98, Win XP (Win NT 4.0 и Win2000 не тестировались)
  • Объем памяти кода теперь до 8192 слов, память EEPROM данных до 256 байт.
  • Код и память данных могут быть запрограммированы отдельно
  • Массовое стирание («стереть все») или индивидуальное программирование всех байтов, присутствующих в
    из HEX-файла
  • Встроенный «шестнадцатеричный редактор» для быстрых исправлений в памяти EEPROM кода или данных
  • Возможен вызов с аргументами командной строки, поэтому вы можете запускать WinPic
    из ракушки
  • Дополнительное окно с «Перезагрузить и запрограммировать»
    функция (всегда впереди других)
  • WinPic теперь также поддерживает JDM PIC-programmer 2, Velleman K8048, Hoodmicro,
    интерфейс Виллема, El Cheapo и многие другие.Единственные (?) Интерфейсы
    которые WinPic не поддерживает, это «PicStart plus» от Microchip (слишком дорого)
    и «PicKit2».
  • Благодаря различным сотрудникам, французам, грекам, португальцам,
    Доступен испанский и турецкий перевод пользовательского интерфейса WinPic.
    Все языки теперь содержатся в установщике (не нужно ничего скачивать
    по отдельности)
  • Помимо SMPORT, можно использовать драйвер PortTalk. Это оказалось быстрее под
    WinXP, особенно при программировании больших PIC (dsPIC и PIC18F).

Поддерживаемые микроконтроллеры PIC

  • dsPIC30F2010 (теоретически поддерживаются ВСЕ устройства dsPIC30F, несколько проверено)
  • PIC16C61, PIC16C71
  • PIC16C84, PIC16F84
  • PIC16C710, PIC16C711, PIC16C715
  • PIC10F200, PIC10F202, PIC10F204, PIC10F206
  • PIC12F629, PIC12F635, PIC12F675, PIC12F683
  • PIC12F609, PIC16F610, PIC12F615, PIC16F616
  • PIC16F627, PIC16F627A, PIC16F628, PIC16F628A
  • PIC16F630, PIC16F636, PIC16F648A
  • PIC16F676, PIC16F684, PIC16F688
  • PIC16F73, PIC16F737, PIC16F74, PIC16F76, PIC16F77
  • PIC16F818, PIC16F819
  • PIC16F87, PIC16F88
  • PIC16F873A…PIC16F877A
  • PIC16F1782, PIC16F1783 и, возможно, аналогичные устройства
  • PIC16F1827
  • PIC18F242, PIC18F248, PIC18F252, PIC18F258
  • PIC18F442, PIC18F448, PIC18F452, PIC18F458
  • PIC18F2XX0 / 2XX5 / 4XX0 / 4XX5 (проверено: PIC18F2550)
  • и другие «вполне совместимые» устройства, если у вас есть даташит и текст
    редактор !

Ссылки и дополнительная информация:

(Как видите, многие из когда-то активных веб-сайтов исчезли..)

(Обратите внимание: указанные выше веб-сайты находятся под исключительным контролем,
авторские права и ответственность авторов этих страниц. Я не могу
нести ответственность за содержание веб-сайтов, на которые вы попадаете
эти гиперссылки. Кроме того, хотя некоторые сайты могут быть «коммерческими», WinPic
есть и остается некоммерческим любительским проектом — см.
отказ от ответственности).

Скачать
  • Установка WinPic Programmer DL4YHF
    архив.
    Содержит все необходимое для запуска WinPic, включая справочную систему.
    С 2005-11 годов WinPic распространяется с установщиком, который содержит все
    переводы (чешский, голландский, английский, французский, немецкий, греческий, итальянский,
    Португальский, русский, испанский и турецкий языки теперь «встроены» — спасибо
    всем соавторам! )
  • Исходные коды для написания собственных
    интерфейс-плагин-DLL (interface_dlls.zip). Содержит образец проекта DLL
    написано на DevC ++ V 4.9.9.2 (прекрасный бесплатный компилятор C / C ++ на основе GCC / MINGW,
    включая простую IDE).

Для некоммерческих целей большая часть
исходные коды тоже доступны (если
ссылка не работает, я специально удалил исходники с сайта.
Если вам нужны исходники, попросите их). WinPic был написан на Borland C ++
Builder V4 для Windows. Драйверы доступа к портам SMPORT (автор A. Weitzman) и
PortTalk (от Craig Peacock) не включены в исходный код
архив. Обратите внимание на индивидуальные условия использования некоторых модулей,
особенно написанные соавторами (- спасибо! -).Если
исходных кодов нет (что произойдет, если я снова буду работать с WinPic),
или если вам срочно нужен самый последний исходный код , отправьте электронное письмо
мне — .
Разрешено использовать, изменять или распространять это программное обеспечение до тех пор.
поскольку он не продается и не используется для получения прибыли, и если вы укажете, где
вы нашли оригинальные запчасти. Часть старого алгоритма программирования 16C84
а процедура загрузки шестнадцатеричного файла была вдохновлена ​​программистом PIC Дэвида Тейта.
для DOS. Подпрограммы программирования PIC18F были написаны Мартином ван дер Верффом,
который также сообщил мне о лучшей производительности драйвера PortTalk.

Примечание для пользователей из Японии

Японская версия WinPic, написанная FENG3, теперь доступна на его веб-сайте:
http://feng3.cool.ne.jp/winpic/.

Заявление об ограничении ответственности

Это программное обеспечение предоставляется «КАК ЕСТЬ», а также любые явные или подразумеваемые гарантии,
включая, но не ограничиваясь, подразумеваемые гарантии
товарность (*) , пригодность для определенной цели,
или ненарушения прав не принимаются.Ни в коем случае автор или участники
нести ответственность за любые прямые, косвенные, случайные, особые, образцовые или
косвенные убытки (включая, но не ограничиваясь, закупки для
замена товара или услуги, потеря возможности использования, данных или прибыли; или busin

Практическое руководство: программирование PIC с использованием Linux

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

Составитель:

Компилятор C для малых устройств, sdcc — это то, что будет использоваться для создания файла .hex, необходимого для программирования PIC. Поддержка PIC все еще растет и все еще находится в стадии бета-тестирования, поэтому имейте в виду, что вещи, выходящие за рамки кода и микросхем этой статьи, могут нуждаться в некоторой отладке.Однако, как и в любом другом проекте с открытым исходным кодом, больше пользователей будут помогать проекту. Лучше всего то, что он бесплатный, с портами для Windows и MacOS X, это компилятор, который обрабатывает многие архитектуры и устройства без ограничения программы бесплатных версий платных компиляторов, которые ограничены Windows. Sdcc доступен через менеджеры пакетов различных дистрибутивов, включая Ubuntu и Fedora.

Для установки sdcc в Ubuntu:

 sudo apt-get install sdcc 

Для установки sdcc в Fedora:

 sudo yum установить sdcc 

Чипсы:

При написании этого руководства использовались три различных микросхемы PIC: 40-контактный PIC16F887, 14-контактный PIC16F688 и 8-контактный PIC12F675.Вы можете следовать за любой из этих фишек, а также за другими фишками.

Программист:

Мы будем использовать двух программаторов, PIC-MCP-USB-программатор Olimex, совместимый с PICStart +, и PICkit 2 от Microchip. Оба программатора были протестированы для работы с тремя используемыми здесь чипами.

Программисты PICStart + используют программу picp. Практически любой программатор, совместимый с PICStart +, будет работать с picp. Легко устанавливается в Ubuntu с помощью:

& lt; pre & gt; sudo apt-get install picp 

Для Fedora и других дистрибутивов, возможно, придется загрузить и установить его из исходников.Итак, в пустом каталоге по вашему выбору:

 wget http://home.pacbell.net/theposts/picmicro/picp-0.6.8.tar.gz
tar -xzf picp-0.6.8.tar.gz
компакт-диск picp-0.6.8
сделать
sudo make install 

Источник находится на странице [Jeff Post] «Инструменты разработки для программистов PIC» вместе с другими вариантами программирования.

Если вы будете использовать PIC16F887 и picp, вам нужно будет изменить файл / etc / picp / picdevrc, добавив следующие строки:

 [16F887]
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
PICSTART

[16F887: def]
20 00 3f ff 3f ff 00 7f
00 7f 3f ff 3f ff 00 ff
00 и далее 00 00 00 00 00 00
0D 10 20 00 04 20 07 02
00 00 01 00 00 00 00 00
00 01 22 0f

[16F887: defx]
3f ff 07 00 00 00 00 00
00 00 00 00 00 00 00 00
3f ff 07 00 00 00 00 00
00 00 00 00 00 00 00 00 

Вышеупомянутые строки являются измененными параметрами для PIC16F886, найденными в сообщении [Al Williams].Для чипов, которых еще нет в / etc / picp / picdevrc, необходимо добавить дополнительные параметры в / etc / picp / picdevrc.

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

PICkit 2 будут работать с другой программой под названием pk2cmd, размещенной здесь Microchip. Вам нужно будет установить pk2cmd из исходников. Итак, в каталоге по вашему выбору:

 wget http://ww1.microchip.com/downloads/en/DeviceDoc/pk2cmdv1.20LinuxMacSource.tar.gz
tar -xzf pk2cmdv1.20LinuxMacSource.tar.gz
cd pk2cmdv1.20LinuxMacSource
сделать Linux
sudo make install 

Обратите внимание, что Microchip рекламирует PICkit 3 как замену PICkit 2.Это не замена PICkit 2, так как для PICkit 3 нет драйверов Linux, поэтому не покупайте PICkit 3, думая, что он будет работать в Linux.

Существует также другая программа, которая утверждает, что работает с целым рядом программистов DIY PIC: PICPgm. На данный момент мы не пробовали ни эту программу, ни какие-либо программисты DIY. Мы знаем, что есть и другие программисты PIC, как дешевые, так и дорогие, о которых не упоминалось. Возможно, нужно написать обзорный обзор программистов PIC.

Код:

Код этого руководства представляет собой своего рода программу hello world с использованием светодиодов.Код для этого размещен на Github, вы можете следовать вместе с файлом blink.c для PIC16F887, PIC16F688 или PIC12F675. Также включены рабочие файлы .hex. Вот код PIC16F887 в качестве справки при рассмотрении каждой основной операции:

 // Простая программа для начала программирования
// Микроконтроллеры PIC в Linux.
// Автор Девлин Тайн.
// Сделано в открытом доступе.

#include & quot; pic / pic16f887.h & quot;

// Используйте эти слова конфигурации:
// 0x2ff4 0x3fff

// Устанавливаем слова конфигурации:
целое число без знака в _CONFIG1 configWord1 = 0x2FF4;
беззнаковое int в _CONFIG2 configWord2 = 0x3fff;

//Компилировать:
// sdcc -mpic14 -p16f887 мигает.c

// Чтобы запрограммировать чип с помощью picp:
// Предполагается, что / dev / ttyUSB0 - это последовательный порт.

// Стираем чип:
// picp / dev / ttyUSB0 16f887 -ef

// Записываем программу:
// picp / dev / ttyUSB0 16f887 -wp blink.hex

// Записываем слова конфигурации (необязательно):
// picp / dev / ttyUSB0 16f887 -wc 0x2ff4 0x3fff

// Делаем все сразу: стираем, программируем и считываем слова конфигурации:
// picp / dev / ttyUSB0 16f887 -ef -wp blink.hex -rc

// Чтобы запрограммировать чип с помощью pk2cmd:
// pk2cmd -M -PPIC16f887 -Fblink.шестнадцатеричный

// Настраиваем переменные
беззнаковый символ ucharCount = 0;
беззнаковый int uintDelayCount = 0;

void main (пусто)
{
// Устанавливаем PORTC для всех выходов
TRISC = 0x00;

ucharCount = 0;
uintDelayCount = 0;

// Цикл навсегда
пока (1)
{
// Цикл задержки
в то время как (uintDelayCount & lt; 10000)
{
// Увеличиваем счетчик цикла
uintDelayCount ++;
}

// Сброс счетчика цикла задержки
uintDelayCount = 0;

// Увеличиваем счет
ucharCount ++;

// Отображаем счетчик на выводах PORTC
PORTC = ucharCount;

}

}
 

Первая строка — это #include для файла заголовка конкретной микросхемы, которую вы будете использовать.Он сообщает компилятору, какие регистры доступны и где они расположены в памяти. В большинстве систем файлы заголовков находятся в / usr / share / sdcc / include.

Затем мы настраиваем слово конфигурации или слова предохранителей. Они могут быть записаны только тогда, когда микросхема запрограммирована, но мы можем определить их здесь, чтобы нам не пришлось вручную программировать их позже. PIC16F887 имеет адрес для слов конфигурации, определенных в его заголовочном файле как _CONFIG1 и _CONFIG2. PIC16F688 и PIC12F675 не имеют адреса слова конфигурации, определенного в их заголовке (мы говорили, что sdcc находится на стадии бета-тестирования, не так ли?), Поэтому мы просто используем адрес слова конфигурации: 0x2007.Слова конфигурации специфичны для модели микросхемы и приложения и описаны в главе «Особые характеристики ЦП» в таблицах данных соответствующих микросхем. В примерах blink.c слово конфигурации представляет собой всего лишь 16-битное шестнадцатеричное слово, но это слово можно сделать более понятным для человека, объединив параметры конфигурации с помощью AND. Ознакомьтесь с заголовочными файлами чипов, чтобы узнать названия опций.

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

В void main () мы устанавливаем регистр с тремя состояниями PORTC, TRISC для всех выходов. PIC12F675 имеет только один порт, GPIO, и его регистр с тремя состояниями — TRISIO. После установки трехстороннего регистра мы входим в бесконечный цикл с while (1). Внутри этого цикла находится цикл задержки, так что мы можем видеть, как меняются светодиоды. После цикла задержки счетчик дисплея увеличивается и затем записывается в PORTC (или GPIO) для отображения на светодиодах.

Составление кода:

Теперь, когда мы рассмотрели код, пришло время превратить его в то, что может использовать PIC.sdcc возьмет файл blink.c и создаст кучу файлов. Одним из этих файлов будет blink.hex, который программист устройства PIC будет записывать в PIC. Вот как:

Для PIC16F887:

 sdcc -mpic14 -p16f887 blink.c 

Для PIC16F688:

 sdcc -mpic14 -p16f688 blink.c 

Для PIC12F675:

 sdcc -mpic14 -p12f675 blink.c 

Параметр -mpic14 сообщает sdcc, что он будет компилироваться для 14-битных инструкций семейств PIC16 и PIC12.Второй вариант — это конкретный чип, для которого будет скомпилирован код. Последнее, что в строке — это файл, содержащий код C, который будет скомпилирован.

Программирование чипа:

Чтобы запрограммировать чип, вы возьмете программатор вашего устройства и подключите чип, который хотите загрузить с вашей программой. Если вы не используете программатор сокетов, такой как PIC-MCP-USB, вам нужно будет обратиться к таблицам данных программатора и микросхемы, которую нужно запрограммировать для правильного подключения.После правильного подключения вам нужно будет запустить программу для запуска программатора:

Для программиста PICStart + на / dev / ttyUSB0, программирование PIC16F887:

 picp / dev / ttyUSB0 16f887 -ef -wp blink.hex -rc 

Для программиста PICkit 2, программирующего PIC16F887:

 pk2cmd -M -PPIC16f887 -Fblink.hex 

Если вы программируете другой чип или программатор PICStart + находится на порту, отличном от / dev / ttyUSB0, вам нужно будет внести соответствующие изменения в команды.

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

Подключите цепь:

Схема для этого проекта с предоставленным кодом действительно проста в макетировании.Ниже представлены схемы трех микросхем:

Начните с подключения выводов Vdd к источнику положительного напряжения между 4,5 и 6 В, а вывод Vss к земле. И 40-контактный PIC16F887, и 14-контактный PIC16F688 потребуют подтягивающего резистора на их главном чистом контакте. К любому или всем контактам PORTC (или контактам GPIO для PIC12F675) подключите светодиоды с токоограничивающими резисторами к земле. Обратите внимание, что контакт 4 PIC12F675 является только входом и не загорается светодиодом.Ток на любом выводе из трех используемых микросхем ограничен до 20 мА, поэтому токоограничивающие резисторы не являются обязательными для большинства дешевых светодиодов. Что вы должны увидеть при включении схемы, так это мигающие светодиоды. Светодиоды должны гореть до двоичного счета.

Ваша очередь!

Теперь, когда мы начали программировать PIC с использованием Linux, мы надеемся увидеть больше проектов, использующих эти микросхемы и инструменты, упомянутые выше. Хотя эта статья была написана для пользователей Linux, пользователи Windows и MacOS X должны иметь возможность использовать sdcc для своих нужд программирования PIC.