Pickit2 схема: руководство.пользователя.pickit2 [PICkit2.ru]

Содержание

руководство.пользователя.pickit2 [PICkit2.ru]

Глава 1. Обзор Программатора-отладчика PICkit 2

1.1. Введение

Эта глава описывает свойства программатора — отладчика PICkit 2 и меню программного обеспечения PICkit 2 Programmer.

1.2. Состав комплекта PICkit 2 (номер для заказа PG164120)

Комплект PICkit 2 (номер для заказа PG164120) содержит следующее:

  1. Программатор/отладчик PICkit 2.

  2. USB кабель

  3. Диск с программным обеспечением PICkit Starter Kit и MPLAB IDE

Комплекты PICkit Starter Kit (номер для заказа DV164120) и PICkit 2 Debug Express (номер для заказа DV164120) дополнительно содержат демонстрационные платы с установленным PIC микроконтроллером.

1.3. Программатор-отладчик разработчика PICkit 2

Программатор-отладчик разработчика PICkit 2 это недорогое средство разработки, поддерживающее программирование большинства микроконтроллеров, микросхем памяти и KeeLOQ производства компании Microchip Technology Inc. Для получения полного списка поддерживаемых микросхем обратитесь к файлу README на диске PICkit 2 Starter Kit.

Поддержка новых микросхем может быть добавлена при выходе обновлений программного обеспечения PICkit 2. Последние версии программного обеспечения PICkit 2 доступны на сайте компании Microchip: www.microchip.com/pickit2

PICKit 2 так же может использоваться для внутрисхемной отладки некоторых микроконтроллеров. За подробной информацией обратитесь к главе 4 «PICkit 2 Debug Express» данного руководства.

Замечание
Программатор PICKit 2 не предназначен для промышленного программирования. Для производственных целей рекомендуется промышленный программатор MPLAB PM3 или другие программаторы, предназначенные для промышленных применений.

Рисунок 1.1. Программатор PICkit 2.

  1. Светодиоды состояния

  2. Кнопка

  3. Разъем для подключения USB кабеля

  4. Маркер первого вывода

  5. Разъем для подключения программируемого устройства

1.3.1 Подключение к USB порту

PICkit 2 имеет USB разъем типа mini-B. Подключите PICkit 2 к компьютеру используя кабель из комплекта поставки.

1.3.2 Светодиоды состояния

Светодиоды состояния отображают статус программатора/отладчика PICkit 2.

  1. Power (зеленый светодиод) показывает, что PICkit 2 подключен к USB порту.

  2. Target (желтый светодиод) показывает, что PICkit 2 выдает питание на целевое устройство

  3. Busy (красный светодиод) показывает, что PICkit 2 занят и выполняет такие функции как программирование, проверку и т.п.

1.3.3 Кнопка

Кнопка может быть задействована для запуска программирования целевого устройства, для этого установите галочку на пункте Programmer>Write on PICkit Button.

Кнопка также может использоваться для ввода PICkit 2 в загрузочный режим, в этом режиме можно обновить программное обеспечение программатора PICkit 2.

1.3.4 Разъем для подключения программируемого устройства

Программирующий разъем имеет 6 выводов для подключения целевого устройства. Назначение выводов указано на рисунке 1.2.

Для получения подробной информации о том, как использовать PICkit 2 для внутрисхемного программирования обратитесь к главе 3 «Использование внутрисхемного программирования (ICSP)» данного руководства.

Рисунок 1.2. Разъем программирования.

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

  1. VPP / MCLR

  2. VDD напряжение питания целевого устройства

  3. VSS земля

  4. ICSPDAT / PGD

  5. ICSPCLK / PGC

  6. AUX

Замечание
Функции выводов программирующего разъема отличаются при программировании микросхем памяти EEPROM и микросхем KeeLOQ. Для получения подробной информации по подключению конкретной микросхемы обратитесь к файлу «PICkit 2 Programmer Readme» (меню Help→Readme).

1.4. Программное обеспечение PICkit 2

Программное обеспечение PICkit 2 Programmer позволяет программировать все поддерживаемые программатором PICkit 2 микросхемы. Интерфейс программы приведен на рисунке 1.3. Для получения подробной информации обратитесь к главе 2 «Начало работы» данного руководства.

Рисунок 1.3. Интерфейс программы PICkit 2 Programmer.

Глава 2. Начало работы

2.1. Введение

В этой главе описано, как быстро начать работу с программатором/отладчиком PICKit 2. Непосредственно работа с программатором описана в главе 3 «Использование внутрисхемного программирования (ICSP™)», внутрисхемная отладка – в главе 4 «PICkit 2 Debug Express».

  • Подключение PICKit 2

  • Установка программного обеспечения

  • Подключение к программируемой микросхеме

  • Управление питанием

  • Импорт файла .hex

  • Программирование

  • Верификация

  • Чтение содержимого памяти микроконтроллера

  • Защита кода

  • Стирание памяти и проверка на чистоту

  • Автоматическое программирование/считывание

  • Калибровка PICKit 2

2.2. Подключение PICKit 2

  • Подключите ваш PICKit 2 к персональному компьютеру с помощью кабеля USB, входящего в комплект поставки

  • Подключите PICKit 2 к целевой плате с помощью 6-контактного разъема

  • Не подключайте программатор к целевой плате, имеющей внешнее питание, пока он не включен в работающий USB-порт

  • Для подключения PICKit 2 к отладочным платам, имеющим разъем RJ-11 (как у ICD 2) используйте переходник AC164110

  • При включении PICKit 2 в USB рекомендуется отключать его от целевой платы. Аналогичная рекомендация и при перезагрузке ПК

2.3. Установка программного обеспечения

Вставьте CD-ROM PICkit 2 Starter Kit в привод, произойдет автоматический запуск установочной программы. Если установщик не запуститься – откройте вручную файл PICkit_Starter_Kit_Welcome.htm. Наиболее новая версия программного обеспечения всегда доступна на сайте www.microchip.com/pickit2

После установки запустите программу PICkit 2 Programmer. Внешний вид оболочки приведен на рис. 2.1.

Рисунок 2.1. Оболочка программы PICkit 2 Programmer.

2.4. Подключение к программируемой микросхеме

PICKit 2 поддерживает программирование множества микроконтроллеров Microchip PIC и микросхем памяти EEPROM. Список поддерживаемых устройств содержится в файле readme на установочном CD или вызывается из меню Help→Readme.

При запуске программы производится автоматическое определение типа подключенного контроллера и его отображение в окне Configuration (рис.2.2).

Рисунок 2.2. Определение подключенного контроллера.

Если устройство не определилось – проверьте подачу питающего напряжения (см. п.2.5) и надежность подключения к целевой плате.

Можно в любой момент выбрать нужное вам семейство, воспользовавшись меню Device Family, при этом PICKit 2 попытается соединиться с целевым устройством (рис.2.3).

Рисунок 2.3. Выбор программируемого семейства

При выборе семейства Baseline, а также микросхем KEELOQ® и EEPROM, необходимо также выбрать конкретное изделие из выпадающего списка (рис.2.4), т.к. в этих микросхемах нет идентификационных битов (device ID).

Внимание!
При выборе контроллера из семейства Baseline будьте внимательны – эти контроллеры не имеют идентификатора (device ID) и в случае неправильного выбора устройства возможно стирание калибровочной константы OSCCAL

Рисунок 2.4. Выбор контроллеров базового семейства.

2.5. Управление питанием

При работе с программатором PICKit 2 возможны два варианта питания целевой микросхемы: от PICKit 2 и внешнее питание.

2.5.1. Питание от PICKit 2

Если используется питание от PICKit 2, отдельно подавать питание на плату не нужно, т.к. программатор измерит его и не даст подать питание через себя. Если плата не запитана, то оболочка дает возможность установить значение питающего напряжения, подаваемого с PICKit 2 (рис. 2.5).

Рисунок 2.5. Включение питания от PICkit 2.

Для подачи напряжения выберите значение On.

Замечание
Если PICKit 2 не увидит внешнего напряжения питания на целевой плате, то он автоматически выдаст питание на плату при программировании, независимо от выбранного значения On.

В случае короткого замыкания или превышении максимального тока запитки выдается сообщение об ошибке (рис. 2.6). Потребление целевой платы не должно превышать 25 мА, при этом время нарастания питающего напряжения при включении составляет не более 500 мкс.

Внимание!
Максимальный ток через порт USB ограничен значением 100 мА. В случае, если целевая плата и PICKit 2 требуют большего суммарного тока, необходимо использовать внешнее питание

Рисунок 2.6. Ошибка VDD

2.5.2. Внешнее питание

Целевая плата может питаться от собственного источника питания. PICKit 2 автоматически детектирует наличие внешнего питания и, в случае его наличия, в оболочке меняется заголовок окна с VDD PICkit 2 на VDD Target, отключается возможность подачи питания и отображается значение внешнего питающего напряжения (рис. 2.7). Щелчок по галочке Check обновляет отображенное питающее напряжение. В случае пропадания внешнего питания оболочка переключиться в режим подачи питания от PICKit 2 (см. п.2.5.1).

Замечание
Разрешенный диапазон напряжений внешнего питания составляет 2.5..5В

Рисунок 2.7. Внешнее питание.

2.6. Импорт .hex файлов

Для импорта файла прошивки в формате .hex выберите пункт меню

File→Import HEX. В случае, если в файле прошивки отсутствуют какие-либо конфигурационные биты, оболочка выдаст предупреждение. Для правильного сохранения текущей прошивки в файл .hex выберите File→Export в меню оболочки MPLAB IDE.

Рисунок 2.8. Импорт hex файла.

2.7. Программирование микросхем

После правильного выбора семейства микросхем и импорта файла прошивки возможно программирование целевой микросхемы по кнопке Write (рис. 2.9).

Рисунок 2.9. Кнопка Запись.

Микросхема будет стерта и запрограммирована загруженной прошивкой.

Большая часть микроконтроллеров поддерживает режим общего стирания (Bulk Erase), доступный при минимальном напряжении питания, часть контроллеров также поддерживают блочное стирание (Row Erase). Процедура блочного стирания занимает больше времени, нежели общее стирание, но доступно при пониженных напряжениях питания. PICKit 2 автоматически переключается на блочное стирание при невозможности выполнения общего стирания. Если микроконтроллер не поддерживает блочное стирание – выдается предупреждение. Список контроллеров, поддерживающих блочное стирание, доступен в файле readme.

Ход выполнения процедуры программирования отображается в строке статуса. В случае, если программирование прошло успешно, строка становиться зеленого цвета и на ней пишется Programming Successful (рис. 2.10).

Рисунок 2.10. Успешное завершение записи.

В случае ошибки строка становится красной и на ней пишется Programming Failed (рис. 2.11). В этом случае попробуйте повторить процедуру программирования.

Рисунок 2.11. Ошибка программирования.

В других случаях строка статуса становится желтой и на ней пишется причина предупреждения, например, нет соединения с целевым устройством (рис. 2.12).

Рисунок 2-12. Предупреждение при записи.

2.7.1. Программирование определенного раздела памяти

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

2.7.2. Автоматическая загрузка файла прошивки

Перед каждым программированием (по нажатию кнопки Write) оболочка автоматически проверяет дату импортированного файла .hex с датой этого же файла на диске. Если на файл на диске более новый, то производится автоматический импорт этого файла.

Данная особенность позволяет автоматически использовать наиболее новую прошивку, сгенерированную MPLAB IDE, в т.ч. при режиме работы Program on PICkit Button, т.е. просто нажимая кнопку на корпусе программатора без переключения в окно оболочки. Этот режим работы настраивается в меню Tools→Program on PICkit Button.

2.8. Верификация прошивки

Функция верификации сравнивает содержимое микросхемы с импортированным .hex файлом. Производится сравнение памяти программ, EEPROM, идентификационных битов и битов конфигурации. В пункте меню Programmer→Verify on Write можно настроить автоматическую верификацию при программировании.

Рисунок 2.13. Кнопка верификации.

Если верификация прошла успешно, строка состояния становиться зеленой и на ней появляется надпись Device Verified. Если нашлось несоответствие, то строка становиться красной и на ней пишется область памяти, где произошло несовпадение.

2.9. Чтение прошивки

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

Рисунок 2.14. Кнопка чтения.

2.10. Защита кода

Память программ микроконтроллера и память данных EEPROM имеет защиту от считывания (защиту кода). Для защиты необходимо:

  1. Импортировать файл прошивки (см. п.2.6)

  2. Включить защиту кода (меню Tools→Enable Code Protect, рис. 2.15) и/или защиту EEPROM (меню Tools→EnableData Protect)

  3. Запрограммировать микросхему

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

Рисунок 2.15. Включение защиты кода.

2.11. Стирание памяти и проверка памяти микросхемы на чистоту

Функция стирания очищает содержимое всех областей памяти (память программ, EEPROM, идентификационные биты и биты конфигурации), независимо от установленных параметров программирования (см. п.2.7).

Для стирания памяти нажмите кнопку Erase.

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

Для проверки памяти микросхемы на чистоту нажмите кнопку Blank Check.

Рисунок 2.16. Кнопка стирания

2.12. Автоматическое программирование/считывание

В оболочке имеются две специализированные кнопки для ускорения процедур программирования и считывания прошивок.

Рисунок 2.17. Кнопки автоматизации.

2.12.1. Автоматический импорт прошивки и программирование

Для выполнения этой операции нажмите кнопку Auto Import Hex + Write Device. По нажатию этой кнопки открывается диалоговое окно выбора прошивки, по умолчанию выбирается предыдущая прошивка. После подтверждения прошивки она импортируется в память и прошивается в память микросхемы. В процессе дальнейшей работы производится мониторинг загруженной прошивки (см. п.2.7.2).

При использовании этой функции остальные возможности программирования отключаются.

2.12.2. Автоматическое считывание прошивки и экспорт в .hex файл

По нажатию кнопки Read Device + Export Hex File производится считывание прошивки из памяти микросхемы и открытие диалогового окна сохранения файла.

2.13. Калибровка PICKit 2

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

Для каждого конкретного PICKit 2 можно задать собственный идентификатор (имя программатора).

2.13.1. Калибровка питающего напряжения

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

Для калибровки необходим мультиметр или другой прибор для измерения напряжения. Необходимо отключить программатор от целевой платы, выбрать пункт меню Tools→Calibrate Vdd & Set Unit ID… и следовать указаниям мастера калибровки.

Замечание
Напряжение, выдаваемое программатором на плату, ограничено напряжением, получаемым с шины USB минус падение на диоде. Для ноутбуков это напряжение может быть 4,2 В и ниже.
2.13.2. Задание имени программатора

В процессе калибровки возможно задать уникальный идентификатор (имя) программатора. Это имя будет отображаться в строке статуса оболочки программатора (рис. 2.19) и в окне Output среды программирования MPLAB IDE.

Рисунок 2.18. Задание имени программатора.

Глава 3. Использование внутрисхемного программирования (ICSP™)

3.1. Введение

Отладчик и программатор разработчика PICkit 2 может программировать установленные в плату микроконтроллеры. Внутрисхемное программирование (In-Circuit Serial Programming – ICSP) требует пять проводов:

  • VPP – напряжение программирования. Когда подается это напряжение микроконтроллер входит в режим программирования.

  • ICSPCLK или PGC – линия тактирования; однонаправленная линия тактирования от программатора к микроконтроллеру;

  • ICSPDAT или PGD – линия данных; двунаправленная линия последовательных данных, синхронна с линией тактирования.

  • VDD – плюс напряжение питания;

  • VSS – минус напряжения питания (земля).

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

Замечание
Для каждого конкретного программируемого устройства пожалуйста ознакомьтесь со спецификацией на программирование, которую можно найти на сайте Microchip www.microchip.com

Рисунок 3.1. Типовая схема внутрисхемного программирования.

3.2. Изолирование вывода VPP/MCLR/PORT

Необходимо учесть, что напряжение программирования VPP имеет типовое значение +12В. Это может предоставить некоторые проблемы в следующих случаях:

Если вывод VPP используется как вывод MCLR

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

Если в схеме используется супервизор питания или кнопка, подключенная к выводу MCLR, то в этом случае рекомендуется чтобы они были изолированы от напряжения программирования VPP с помощью диода Шоттки или ограничительный резистор как показано на рис. 3.1. Для получения дополнительной информации об использовании супервизоров питания в схемах с внутрисхемным программированием, обратитесь к инструкции по применению AN820 “System Supervisors in ICSP™ Architectures“ (DS00820).

Если вывод VPP используется как выход порта

Если к разрабатываемой схеме нельзя подключать выводы с напряжением программирования VPP 12В, то в этом случае рекомендуется использование диода Шоттки или ограничительного резистора как показано на рис. 3-1 для защиты схемы.

3.3. Изолирование выводов ICSPCLK (PGC) и ICSPDAT (PGD)

Выводы ICSPCLK (PGC) и ICSPDAT (PGD) необходимо изолировать от схемы для предотвращения искажения сигналов программирования внешней схемой. Сигнал ICSPCLK (PGC) однонаправленный тактовый сигнал от программатора к программируемому устройству. Сигнал ICSPDAT (PGD) – двунаправленный сигнал данных. Если конструкция позволяет, то выделите эти выводы только для внутрисхемного программирования. Однако если требуется, чтобы эти выводы использовались в схеме, проектируйте схему так, чтобы не изменялись уровни и фронты сигналов. Изолирующая схема сильно зависит от приложения. Рис. 3.1 показывает один из возможных вариантов с применением последовательных резисторов для изоляции сигналов программирования от схемы.

3.4 Напряжение питания VDD

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

3.4.1. Схема запитана от PICkit 2

С помощью PICkit 2 можно выставлять напряжение между максимальным и минимальным значениями, которые позволяет спецификация программирования на конкретное устройство, за исключением, если минимальное напряжение не ниже 2.5В. Убедитесь что выставлено нужное напряжение для схемы до того как начнете программировать устройство или включите напряжение питания VDD.

Внимание!
Ток USB порта ограничивается значением 100мА. Если схема и программатор суммарно требуют больший ток, то USB порт может выключиться. Используйте внешнее питание если требуется больший ток.
Замечание
Потребление схемы должно быть ограничено уровнем 25мА, когда программатор используется для питания внешней схемы. Убедитесь в том, что ваша схема не замедлят рост напряжения питания VDD на время не более чем 500 мкс.
3.4.2. Схема запитана от внешнего источника питания

PICkit 2 может использоваться с устройством, которое имеет собственный источник питания с напряжением в диапазоне от 2,5 до 5,0В.

3.4.3 Использование режима общего (Bulk) стирания

Некоторые микросхемы используют режим общего (Bulk) стирания памяти программ, памяти данных EEPROM, слов конфигурации и идентификации. Обычно функция общего стирания памяти требует напряжения питания микроконтроллера (VDD) в диапазоне от 4.5 до 5,5В (уточните в спецификации на программирование для конкретной микросхемы).

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

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

3.5 VSS

«Земля» схемы должна быть подключена к «земле» программатора PICkit 2 (VSS).

3.6 Длина кабеля

Минимизируйте длину проводников линий внутрисхемного программирования от PICkit 2 до программируемого устройства. Минимизация длины проводников необходима для сохранения величины и формы сигналов. Форма и величина сигналов будет влиять на успешное программирование устройств.

3.7 Программирование последовательной памяти EEPROM и KeeLOQ HCS кодеров/кодеков

Назначение выводов и сигналов PICkit 2 для программирования микросхем памяти и KeeLOQ отличается от описанных в пункте «3.1 Введение» и рисунке 3.1. Для получения подробной информации по подключению конкретной микросхемы обратитесь к файлу «PICkit 2 Programmer Readme» (меню Help→Readme).

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

Глава 4. PICkit 2 Debug Express

4.1. Введение

Помимо непосредственно операции программирования программатор/отладчик PICKit 2 в комплексе с бесплатной средой разработки MPLAB IDE (www.microchip.com/mplab), поддерживает внутрисхемную отладку некоторых PIC-микроконтроллеров. Программное обеспечение PICkit 2 Debug Express совместно со средой MPLAD IDE позволяет осуществлять пошаговое и непрерывное выполнение программы с точками останова непосредственно PIC контроллера в составе Вашего конечного устройства.

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

  • MPLAB® IDE User.s Guide (DS51519)

  • MPLAB® IDE Quick Start Guide (DS51281)

4.2. Отладочный комплект PICkit 2 Debug Express

Отладочный комплект PICkit 2 Debug Express содержит:

  1. Программатор/отладчик PICkit 2

  2. USB-кабель

  3. отладочную плату с 44-выводным PIC-контроллером*

  4. 2 CD диска: PICkit 2 Starter Kit и MPLAB IDE

* помимо платы, которая входит в комплект PICkit 2 Debug Express, можно совместно с комплектом изучать и работать со следующими платами:

Замечание
Обратите внимание, что на Explorer 16 неправильно помечены выводы для подключения PICkit2 (pin 1 на Explorer 16 соответствует выводу pin 6).

4.3 Подключение PICkit 2

Процедура подключения PICkit 2 описана в пункте 2.2 «Подключение PICkit 2»

Замечание
Debug Express дополнительно требует подтягивающие к земле резисторы по 4,7КОм на линиях ICSPCLK и ICSPDAT. Последние версии программаторов/отладчиков PICKit 2 имеют Красную кнопку и уже встроенные подтягивающие резисторы. На старых программаторах PICkit 2 эта кнопка черного цвета, и необходимо подключение соответствующих подтягивающих резисторов на плате.

Установите последнюю версию MPLAB IDE с прилагаемого в комплекте CD-диска или скачайте бесплатно с сайта Microchip.

Замечание
Debug Express требует версии MPLAB IDE не ниже 7.50

4.4. Использование PICkit 2 Debug Express

4.4.1 Список поддерживаемых контроллеров

Полный список устройств, поддерживаемых PICkit 2 Debug Express, можно посмотреть в файле «Readme for PICkit 2.htm» в разделе «Readmes» директории «MPLAB IDE installation». При выборе устройства (см. пункт 4.5. «Инструкции по применению Debug Express»), в окне «Select Device»(рис. 4-11) в разделе «Debuggers» цветом указана степень поддержки того или иного устройства:

  • Красный цвет – устройство не поддерживается в настоящее время PICkit 2 Debug Express

  • Желтый цвет – устройство имеет тестовую поддержку

  • Зеленый цвет – полная поддержка устройства

Тестовая поддержка означает, что устройство поддерживается, но пока не прошло сертификационных тестов Microchip.

4.4.2 Зарезервированная область памяти

PICkit 2 Debug Express использует некоторые из ресурсов микроконтроллера во время отладки. Также он задействует память программ и ОЗУ во время отладки. Эти области памяти недоступны для пользователя. В MPLAB IDE зарезервированные область памяти регистров отмечаются литерой «R». Более подробная информация об областях памяти, необходимых для внутрисхемной отладки, можно посмотреть в разделе MPLAB IDE: Help→Topics. Информация об зарезервированных областях памяти в разделе «Resources Used By MPLAB ICD 2».

4.4.3 Использование отладочного модуля

Все контроллеры базового семейства и некоторые контроллеры среднего семейства требуют специального отладочного ICD модуля для осуществления внутрисхемной отладки. Список соответствующих каждому контроллеру отладочных модулей можно посмотреть в документе «Header Board Specification» (DS51292), на диске PICkit 2, идущем в комплекте, или на сайте www.microchip.com.

На плате отладочного модуля устанавливается специальный отладочный кристалл, аналогичный эмулируемому. На большинстве отладочных модулей расположен разъем RJ-11, используемый при отладке, и требующий дополнительный адаптер AC164110 c ICSP разъема на RJ-11 разъем. На рис. 4.1 показан пример подключения отладочного модуля AC162061 для PIC16F690 к плате DM164120-1 и использование адаптера AC164110.

Рис.4.1. Схема подключения PICkit2.

Большинство контроллеров среднего семейства, семейства PIC18 и 16-разрядных PIC контроллеров не требуют отладочного модуля и могут отлаживаться напрямую внутрисхемно с помощью ICSP выводов. Например, PIC16F887, имеющийся на демонстрационной плате, входящей в комплект, может отлаживаться напрямую, простым подключением PICkit 2 (рис.4.2):

Рис.4.2.

4.4.4 Конфигурационные биты

PIC контроллеры, которые могут отлаживаться напрямую, без использования отладочного модуля, содержат так называемый DEBUG бит в слове (словах) конфигурации, запрещающий или разрешающий отладку. Этот бит устанавливается автоматически MPLAB IDE, при использовании PICkit2 Debug Express, и не должен выставляться программно в исходном коде.

Внимание:
бит /DEBUG НЕЛЬЗЯ устанавливать программно в конфигурационных настройках. Это может привести к тому, что данный бит будет выставлен неверно в момент программирования, что в свою очередь приведет к неправильному функционированию контроллера в Вашем приложении.

Большинство 16-разрядных PIC контроллеров семейства PIC24 и dsPIC33 имеют выводы для внутрисхемного программирования и отладки PGC1/EMUC1 и PGD1/EMUD1, PGC2/EMUC2 и PGD2/EMUD2 и т.д. Для программирования может быть выбран любой из портов ICSP, в то время как для отладки только один порт. Активный EMU порт задается в конфигурационных битах конкретного контроллера. Если EMU порт, к которому подключен PICkit 2, не задан, отладка будет недоступна. В диалоговом окне MPLAB IDE Configuration Bits соответствующий порт выбирается битами «Comm Channel Select».

4.4.5 Точки останова

Число точек останова, поддерживаемых PICKit 2 Debug Express, зависит от контроллера. Большинство контроллеров базового и среднего семейства поддерживают одну точку останова, некоторые контроллеры семейства PIC18 и 16-разрядные контроллеры поддерживают более одной точки. Число точек останова для конкретного контроллера можно посмотреть в MPLAB IDE в разделе Debugger→Breakpoints. В диалоговом окне (рис.4.3) можно посмотреть число выставленных активных точек останова. Окно «Active Breakpoint Limit» показывает максимально возможное число точек останова для конкретного MCU. Окно «Active Breakpoint Limit» показывает сколько точек останова не использовано.

Рис.4.3.

Некоторые PIC18 и 16-разрядные контроллеры также поддерживают расширенные точки останова. Расширенные точки позволяют выставлять точки останова в памяти ОЗУ, и приводят к останову программы, по факту чтения/записи в ОЗУ. Счетчик событий (число событий до останова программы) выставляется в окне «Pass Count». Значение по умолчанию для счетчика событий равно «0», что означает останов программы при первой точке останова. Если контроллер поддерживает расширенные точки останова, в MPLAB IDE будет доступно меню Debugger→Advanced Breakpoints. Если контроллер не поддерживает расширенные точки останова, это меню будет недоступно или отсутствовать. Номер расширенной точки останова задается в меню «Break Point #» (рис.4.4).

Рис.4.4.

Замечание
в диалоговом окне «Advanced Breakpoint» отображаются все расширенные точки останова, выставленные в памяти программ. Однако в данном окне нельзя выставлять/сбрасывать соответствующие точки останова, а только счетчик событий по каждой точке.

Для выставления, редактирования, очистки точек останова используйте меню Debugger→Breakpoints MPLAB IDE.

4.4.6 Проскальзывание

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

Важно иметь ввиду наличие свойства проскальзывания при выставления точек останова в Вашей программе. Когда точка останова установлена на инструкции GOTO, CALL или RETURN, отладчик остановится на инструкции, на которые указывают соответствующие команды перехода. В случае если в программе имеются две подряд следующие друг за другом инструкции CALL и прерывание установлено на первой, отлачик остановится на инструкции, на которую указывает второй CALL. Во избежание таких ситуаций, хорошим тоном считается размещение команды NOP между командами CALL, расположенными рядом. Важно! В 16-разрядные контроллерах после прерывания будут выполнены 2 следующие инструкции.

4.4.7 Скрипты линкера

Если в Вашем проекте используются скрипты линкера, для внутрисхемной отладки вместо стандартного файла линкера необходимо использовать специальные ICD скрипты линкера, которые резервируют ресурсы, необходимые PICkit2 Debug Express для отладки. Каждый контроллер имеет свой линкер файл, который обозначается с помощью «i» в конце имени файла. Например:

16F877i.lkr – линкер файл внутрисхемной отладки для PIC16F877

18F4520i.lkr – линкер файл внутрисхемной отладки для PIC18F4520

4.5. Руководство пользователя Debug Express

В качестве примера в этом руководстве описывается работа с демонстрационной платой DM164120-2 c контроллером PIC16F887 на борту, идущей в комплекте PICkit 2 Debug Express.

4.5.1 Выбор контроллера

Для выбора контроллера в MPLAB IDE:

  1. Запустите MPLAB IDE

  2. Войдите в меню Configure→Select Device (рис. 4.5)

  3. В окне Select Device в ниспадающем меню Device (рис. 4.6)выберите контроллер, с которым работаете. В данном примере это PIC16F887.

  4. Нажмите «ОК»

Рисунок 4.5

Рисунок 4.6

4.5.2 Выбор PICkit 2, в качестве средства отладки
  1. В меню Debugger→Select Tool→PICkit 2 выберете PICkit2 в качестве отладочного средства (рис.4.7), в строке состояния и меню появятся дополнительные пункты и информация в соответствие с выбранным отладчиком.

  2. В меню Debugger→Settings поставьте галочку напротив Connect on Startup — активирование функции автоподключения (рис.4.8)

  3. Если PICkit 2 не определяется автоматически после его выбора в качестве отладочного средства, выберите Connect now в меню Debugger→Connect. Статус подключения будет отображаться в окне Output window.

Рисунок 4.7

Рисунок 4.8

4.5.3 Создание нового проекта в MPLAB IDE

Для создания нового проекта в MPLAB IDE используйте Project Wizard.

  1. Выберите Project→Project Wizard для создания нового проекта. В появившемся окне Project Wizard нажмите Next.

  2. Выберете контроллер в нисподающем списке (рис.4.10). В нашем примере: PIC16F887.

  3. В данном проекте будем использовать MPASM ассемблер (рис.4.11).

Рисунок 4.9

Рисунок 4.10

Рисунок 4.11

Убедитесь в правильности указания пути по умолчанию:

  • для MPASM ассемблера путь должен быть указан к файлу mpasmwin.exe

  • для MPLINK линкера путь должен быть указан к файлу mplink.exe

  • для MPLIB библиотеки путь должен быть указан к файлу mplib.exe

Нажмите Next

Укажите путь для вновь создаваемого проекта и назовите его (рис.4.12). В нашем случае: C:\Program Files\Microchip\PICkit 2 v2\DBE, название PIC16F887 Debug Demo.

Рисунок 4.12

Добавьте Файл Вашего проекта (рис.4.13).

Рисунок 4.13

Замечание
в другие файлы можно будет добавить позже.

Литера «А» означает, что MPLAB IDE может определять, должен ли быть путь абсолютным или косвенным к файлу проекта. Более подробная информация об этом в разделе помощи к MPLAB IDE.

Нажмите Next

Замечание
для проектов, содержащих более одного файла необходимо добавить еще и файл скрипта линкера.

Если Вы все указали правильно нажмите Finish, иначе можно вернуться к предыдущим шагам по созданию проекта Back (рис.4.14).

Рис.4.14

4.5.4 Просмотр проекта

После создания проекта в рабочей области MPLAB IDE появится окно проекта PROJECT WINDOW. (рис 4.15). Если оно не открыто, можно открыть его с помощью View→Project.

С помощью этого окна можно добавлять или удалять файлы проекта (правая кнопка мыши).

Рис. 4.15

4.5.5 Создание hex-файла

Чтобы запрограммировать контроллер необходимо скомпилировать проект и получить hex-файл. Для этого выберите в меню Project→Build All или Build All во всплывающем меню при нажатии правой клавишей мыши по иконке проекта. MPASM-ассемблер создаст hex-файл с тем же названием, что и исходный asm-файл. В окне Output на вкладке Build можно просмотреть текущее действие, выполняемое ассемблером.

Рис. 4.16

4.5.6 Проверка значений битов конфигурации

Биты конфигурации запрограммированного контроллера устанавливаются в соответствие с директивами _CONFIG программы. После компиляции проекта их значения можно просмотреть в окне Configure→Configuration Bits.

Рис. 4.17

Для выполнения ознакомительной работы с набором PICkit2 Debug Express следует установить следующие биты конфигурации:

Config1:

  • Oscillator . Internal RC No Clock

  • Watchdog Timer . Off

  • Power-Up Timer . On

  • Master Clear Enable . MCLR is external

  • Code-Protect . Off

  • Data EE Protect . Off

  • Brown-Out Detect . BOD and SBOREN Disabled

  • Internal-External Switch Over Mode . Disabled

  • Monitor Clock Fail-safe . Disabled

  • Low-Voltage Program . Disabled

Config 2:

4.5.7 Загрузка кода программы для отладки

Чтобы запрограммировать микроконтроллер PIC16F887, установленный на плате 44-pin Demo Board, выберите Debugger>Program Программирование займет несколько секунд. Во время программирования на вкладке PICkit2 в окне Output отображается текущее выполняемое действие. По окончании программирования, в диалоговое окно примет вид схожий с Рис. 4.18

Рис. 4.18

4.5.8 Начало отладки демонстрационного проекта на базе PIC16F887

Выполнение кода программы возможно в режиме реального времени (Run) и пошагово (Step Into, Step Over, Step Out, Animate). Выполнение кода в реальном времени начинается при выборе Run, останов происходит при нажатии Halt, либо по достижении установленной точки останова. После этого можно начать пошаговое исполнение. Для быстрого доступа к вышеперечисленным операциям отладки соответствующие кнопки вынесены в отдельную панель инструментов MPLAB IDE.

Для начала выполнения кода демонстрационного проекта:

  1. Откройте файл 16F887Demo.asm, выполнив двойной щелчок на его иконке в окне проекта, либо выберите файл через диалог File→Open

  2. Выберите Debugger→Run или нажмите кнопку Run на панели инструментов

  3. Покрутите потенциометр RP1 на демоплате и наблюдайте за светодиодной индикацией. Если все предыдущие действия были выполнены правильно, то частота включения/выключения светодиодов будет зависеть от положения потенциометра. Для демонстрации возможностей отладки в исходном коде преднамеренно допущена ошибка, но об этом в следующем пункте 4.5.9.

  4. Для остановки выполнения программы выберите Debugger→Halt, либо щелкните Halt на панели инструментов

  5. Для сброса контроллера нажмите Debugger→Reset→Processor Reset. При этом стрелка-указатель исполняемой строки исчезнет.

4.5.9 Отладка демонстрационного проекта PIC16F887

Корректной работе препятствуют следующие ошибки:

  1. Значения АЦП не записываются должным образом

  2. АЦП не разрешен или не готов к преобразованию

  3. Опечатка в исходном коде

Для выявления первой ошибки установите точку останова в месте записи старшего байта результата АЦП:

  1. Установите указатель мыши на строчку movwf Delay+1 файла 16F877Demo.asm как показано на Рис. 4.19. Выполнение программы будет приостановлено, когда АЦП завершит преобразование.

  2. Установите точку останова, выполнив двойной щелчок на нужной строке кода программы, либо выбрав Set Breakpoint во всплывающем меню по нажатию правой кнопки мыши. Индикатором установленной точки останова является буква «B» в красном восьмиугольника напротив выбранной строки (Рис. 4.19).

Рис. 4.19

Замечание
В зависимости от команды и контроллера может иметь место эффект «проскальзывания» (skidding), т.е. останов происходит на несколько команд ниже команды на которой была поставлена точка останова: Incfsz Delay,f

Выберите Debugger→Run или щелкните Run для старта программы. Останов произойдет, когда программа исполнит код соответствующий строчке, на которой была установлена точка останова.

Наведите курсор мыши на ADRESH на строку выше точки останова и увидите значение регистра (Рис. 4.20)

Рис. 4.20

Измените положение потенциометра (RP1) и продолжите выполнение программы (Debug→Run). Программа прокрутится полный и цикл и остановится в том же месте.

Проверьте значение ADRESH и убедитесь, что оно не изменилось. Это значит, что АЦП не работает. Инициализация и настройка АЦП производится в начале программы

Выберите Debugger→Reset для сброса программы

Выберите View→Watch, чтобы открыть окно Watch. Оно позволяет просматривать значения регистров в реальном режиме времени при выполнении кода программы. (Рис. 4.21)

Рис. 4.21

Замечание
При отладке PICkit2 Debug Express не рекомендуется использовать View→File Registers и View→Special Function Registers. Т.к. это приведет к необходимости обновления всех переменных (регистров) на каждой итерации обмена отладочной информацией с контроллером, что значительно снизит скорость отладки. В окне Watch следует указать только интересующие Вас переменные (регистры).

В первом «выпадающем» списке выберите ADCON0 и нажмите кнопку Add SFR, чтобы добавить регистр в Watch. Аналогично добавьте ADCON1 и ADRESH. (Рис. 4.22)

Рис. 4.22

Снова запустите исполнение программы (Run). Программа опять остановится в точке останова.

Взгляните на значения регистров ADCON0 и ADCON1 в окне Watch. Значение ADCON0 0x40 (b’01000000’). Но это некорректное значение. Согласно даташиту на PIC16F882/883/884/886/887 (DS41291), младший бит должен быть установлен в 1 (b’01000001’) для включения модуля АЦП. Для исправления данной ошибки замените:

movlw 0x40

на

movlw 0x41

как показано на Рис. 4.23

Рис. 4.23

Выберите File→Save, чтобы сохранить изменения

Для того, чтобы изменения вступили в силу, необходимо перекомпилировать проект (Project→Build All) и перепрограммировать контроллер (Debugger→Program).

Снова запустите исполнение программы (Run). Программа опять остановится в точке останова.

Взгляните на значения регистров в окне Watch. Значение ADCON0 0x41 (b’01000001’) (Рис. 4-24)

Снимите установленную ранее точку останова (двойной щелчок мышью на соответствующей строке)

Снова запустите исполнение программы (Run). Теперь изменение положения потенциометра отображается светодиодами.

Программа работает корректно!

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

4.5.10 Программирование отлаженной программой

Когда программа проверена и работает верно, необходимо запрограммировать контроллер для автономной работы в конечном устройстве. На данной стадии ресурсы зарезервированные для работы ICD доступны для использования программой. Для программирования выполните следующие действия:

  1. Отключите PICkit2 как отладчик – Debugger→Select Tool→None

  2. Выберите PICkit2 в качестве программатора – Programmer→Select Programmer.

  3. Дополнительно можете установить ID Configure→ID Memory (Рис. 4.24)

  4. Установите параметры программирования Programmer→Settings на вкладке Program

  5. Выберите Programmer→Program

Рис. 4.24

Глава 5. Решение возникающих проблем

5.1 Введение

Данный раздел содержит ответы на наиболее часто встречающиеся вопросы и обсуждение общеизвестных ошибок при работе с программатором-отладчиком PICkit2. Таким образом, раздел включает 2 больших подраздела:

5.2. Часто задаваемые вопросы

Полный перечень освещенных в данном подразделе вопросов:

  • Микроконтроллер не определяется (Device is Not Recognized)

  • Превышен лимит по току (Current Limit Exceeded)

  • Microsoft Windows спрашивает драйвер (Microsoft Windows Driver)

  • Верификация и чтение возвращает все нули (Verify and Read Return All Zeros)

  • Microsoft Windows 95/98/NT

  • Ошибки напряжения VDD/VPP (VDD/VPP Errors)

  • Ошибки программирования (Programming Errors)

  • Ошибка Windows: неизвестное USB-устройство (Windows Error: Unrecognized USB Device)

  • Не обнаружен PICkit2 (PICkit 2 Not Found)

  • Приложение PICkit2 заблокировано (PICkit 2 Programmer Application Locks)

  • Кнопка на плате Low Pin Count Demo Board не работает (Low Pin Count Demo Board Push Button Not Working)

  • Использование уроков по работе с демоплатой (Using the Demo Board Lessons)

  • Ошибка программирования в слове Конфигурации (Programming Fails on Configuration)

  • Не программируется контроллер PIC10F (Unable to Program PIC10F Devices)

  • Дополнительный вывод AUX (The PICkit 2 AUX Pin)

  • Формат HEX-файла PICkit2 (PICkit 2 HEX File Format)

  • Неверное отображение окна (Window Display Problems)

  • Некоторые ячейки памяти отображаются как .RR. (Memory Locations are marked .RR.)

  • Отладка идет медленно (Debug Express is Slow)

  • Останов происходит не в точке останова (Debug Express Overshoots Breakpoint)

Устройство не опознано

Вопрос:

Почему я получаю сообщение «устройство не найдено» (“No Device Found”)?

Ответ:

Проверьте что используемое устройство поддерживается и что микроконтроллер подключен к PICkit 2 в соответствии с главой 3 «Использование внутрисхемного программирования.»

Проверьте что контроллеры PIC18FXXJXX, PIC24X и dsPIC33F имеют конденсатор надлежащей емкости на выводе VDDCORE/VCAP в соответствии с документацией на используемый микроконтроллер.

Проверьте что подключенное устройство соответствует выбранному семейству (индицируется в окне Статуса). При необходимости выберите правильное семейство в меню выбора семейства (Device Family).

См. также вопрос по ошибкам, возникающим при программировании слова конфигурации.

Превышен лимита по току

Вопрос:

Почему я получаю сообщение об ошибке “Превышен Лимит Тока USB хаба (USB Hub Current Limit Exceeded) в Microsoft® Windows®?

Ответ:

Проверьте что ваша схема потребляет ток не более чем 25мА.

Драйвер Microsoft Windows

Вопрос:

После подключения PICkit 2 к USB порту Windows 98 спрашивает об установке драйвера. Где его взять?

Ответ:

PICkit 2 использует драйвер, имеющийся в Windows 98 SE. Когда Windows 98 SE запрашивает драйвер, выберите «Поиск наиболее подходящего драйвера» (Search for the best driver for your device) и нажмите Далее (Next). Выберите пункт Microsoft Windows Update и нажмите Далее (Next). Windows автоматически установит подходящий драйвер. Не используйте драйвер для MPLAB ICD 2 USB.

Проверка (Verify) и Чтение (Read) возвращает одни нули

Вопрос:

Почему при выборе Чтения или Проверки кода окно Памяти Программ содержит одни нули? Что я делаю неправильно?

Ответ:

Скорее всего считываемое устройство имеет установленные биты защиты кода. Убедитесь что в битах конфигурации не указано защищать память программ.

Microsoft Windows 95/98/NT

Вопрос:

Могу я использовать PICkit2 под Windows 95/98/NT?

Ответ:

Нет. Эти операционные системы не поддерживают USB в нужном объеме или не имеют совместимых драйверов.

Ошибки напряжений VDD и/или VPP (VDD/VPP Errors)

Вопрос:

Почему я получаю сообщения “VDD Error” или “VPP Error”?

Ответ:

Эти ошибки показывают, что PICkit 2 не может выставить напряжения VDD или VPP. Проверьте вашу схему на короткие замыкания, на потребление тока (допускается не более 25мА) и проверьте что контроллер подключен к PICkit 2 в соответствии с главой 3 «Использование внутрисхемного программирования.» Убедитесь что конденсатор по питанию в схеме не задерживает установление напряжение питания VDD на время дольше чем 500 мксек.

Ошибка программирования

Вопрос:

Почему я могу запрограммировать некоторые микроконтроллеры, а другие нет?

Ответ:

Некоторые микроконтроллеры могут быть сконфигурированны для использования с Низковольтным Программированием (Low-Voltage Programming), висящий в «воздухе» вывод PGM может ловить помехи. Используйте подтягивающий к земле резистор, подключенный к выводу PGM.

Некоторые контроллеры Среднего семейства, такие как семейства PIC16F72/73/74/76/77 и PIC16F737/747/767/777 при программировании требуют напряжение питания не ниже чем +4,75В. Напряжение USB порта может варьироваться в зависимости от компьютера, и возможно что PICkit 2 не может обеспечить напряжение питания +4,75В. В этом случае программируйте такие контроллеры с использованием внешнего источника на 5,0В.

Некоторые контроллеры PIC18F требуют увеличить величину блокировочного конденсатора по цепи питания до 10мкФ.

PIC18FXXJXX, PIC24X и dsPIC30F/33F требуют 4.7мкФ на выводе VDDCORE/VCAP для правильной работоспособности. Если используется внутренний регулятор напряжения для VDDCORE, убедитесь что вывод ENVREG подключен к напряжению питания VDD.

Ошибка Windows: Неопознанное устройство USB (Unrecognized USB Device)

Вопрос:

Почему я получаю ошибку «Неизвестное устройство» при подключении PICkit 2 к USB?

Ответ:

Эта ошибка может возникать если PICkit 2 подключается к USB вместе с подключенной отлаживаемой платой. Когда подключаете PICkit 2 к компьютеру или перезагружаете компьютер, убедитесь что к PICkit 2 не подключена программируемая или отлаживаемая плата.

Подобная ошибка так же может возникать при подключении PICkit 2 к некоторым USB хабам. Попробуйте подключить PICkit 2 напрямую к USB порту компьютера.

Не обнаружен PICkit2

Вопрос:

PICkit2 подключен к USB, но приложение PICkit2 Programmer выдает сообщение «PICkit 2 Not Found».

Ответ:

Ответ ищите в вопросе Ошибка Windows: неизвестное USB-устройство.

Приложение PICkit2 заблокировано

Вопрос:

Почему окно приложения PICkit2 Programmer может быть заблокировано?

Ответ:

Скорее всего приложение на самом деле не заблокировано. В момент программирования, например, пользовательский графический интерфейс приложения не активен. Во время программирования ОС Windows может прекратить обновлять окно PICkit2, если окно другого приложения оказалось в фокусе. По окончании программирования, окно PICkit2 будет обновлено автоматически. Микросхемы с большим объемом памяти могут программироваться в течение нескольких минут. Для 8-битных контроллеров попытайтесь подождать хотя бы 2 минуты, прежде чем сделать вывод о зависании приложения. Для 16-битных – 5 минут.

Есть несколько чип-сетов USB, которые могут конфликтовать с PICkit2, кажется, они больше распространены в ноутбуках. Данная проблема часто решается использованием USB хаба или использования другого USB-адаптера. Рекомендуется использование USB-хаба с внешним источником питания.

Кнопка на плате Low Pin Count Demo Board не работает

Вопрос:

Почему при выполнении уроков с Low Pin Count Demo Board кнопка не работает?

Ответ:

По умолчанию при программировании в MPLAB IDE, IDE поддерживает выходное напряжение на выводе MCLR-Vpp. На демонстрационных платах Low Pin Count и 28-pin Demo Board кнопка подключена именно к выводу MCLR-Vpp. Соответственно, вывод MCLR-Vpp PICkit2 не позволяет обрабатывать нажатие кнопки.

Используйте приложение PICkit2 для программирования и запуска уроков Low Pin Count Demo Board Lessons. Либо используйте более новую версию MPLAB IDE, где есть возможность перевода вывода MCLR-Vpp в третье состояние, когда активируется команда «Release from Reset» (в меню Programmer → Settings установите галочку напротив «3-State on “Release from Reset”»).

Использование уроков по работе с демоплатой

Вопрос:

Где расположены уроки по работе с демоплатой? Имеется ли какая-либо документация, руководство?

Ответ:

Уроки по работе с Starter Kit и Debug Express Kit могут быть установлены с диска PICkit2 CD-ROM. По умолчанию установка будет произведена в папку

C:\Pk2 Lessons\

Руководство по выполнению уроков содержится в руководстве пользователя (user’s guide) на соответствующую плату. Для Starter Kit – «Low Pin Count Demo Board User’s Guide» (DS51556), для Debug Express Kit — «44-Pin Demo Board User’s Guide» (DS41296). Оба документа могут быть открыты из меню Help приложения PICkit2 Programmer.

Ошибка программирования в слове Конфигурации

Вопрос:

Почему при программировании контроллера выдается ошибка в слове Конфигурации (Configuration Word), после которой PICkit2 не распознает контроллер?

Ответ:

Данная ошибка может быть вызвана установками в слове Конфигурации или кодом программы, использующими выводы PGD или PGC, т.к. это может препятствовать входу контроллера в режим программирования. В данном случае убедитесь, что выбрано в меню Tools→Use VPP First Program Entry. Это позволит решить проблему, при условии, что контроллер запитывается от PICkit2 (VDD).

Не программируется контроллер PIC10F

Вопрос:

Почему контроллеры PIC10F не программируется на демоплате Low Pin Count Demo Board?

Ответ:

Демоплата Low Pin Count Demo Board поддерживает 8-выводные контроллеры. PIC10F – 6-выводные контроллеры. Несмотря на то, что они доступны в 8-выводном DIP-корпусе, расположение выводов не совместимо с Low Pin Count Demo Board. Для PIC10F2xx следует воспользоваться адаптером AC163020.

Дополнительный вывод AUX

Вопрос:

Как используется дополнительный вывод AUX в PICkit2?

Ответ:

Вывод AUX не используется при программировании контроллеров и должен быть ни к чему не подключенным. Он необходим для программирования некоторых микросхем последовательной памяти EEPROM. Более подробную информацию можно получить в Readme-файле (Help → Readme).

Формат HEX-файла PICkit2

Вопрос:

Какой формат HEX-файла используется приложением PICkit2 Programmer?

Ответ:

Приложение PICkit2 Programmer использует формат Intel Hex 32 Format, часто обозначаемый как INHX32. При этом PICkit2 не поддерживает записи типов 03 и 05. Младшие значащие байты располагаются в младшем адресе hex-файла (формат little Endian).

Неверное отображение окна

Вопрос:

Почему приложение PICkit2 Programmer отображает некоторые ячейки программной памяти и EEPROM как «…»? Почему не удается закрыть окно Help → About?

Ответ:

Обычно подобные проблемы возникают при нестандартном значении DPI (точек на дюйм) монитора. Необходимо установить стандартное значение 96 DPI.

Некоторые ячейки памяти отображаются как «RR»

Вопрос:

Почему некоторые ячейки программной памяти и File Register отображаются как «RR»?

Ответ:

Ресурсы, помеченные как «RR», резервируются для работы модуля внутрисхемной отладки ICD. Более подробная информация в разделе 4.4.2 Зарезервированная область памяти.

Отладка идет медленно

Вопрос:

Почему отладка при помощи PICkit2 работает так медленно?

Ответ:

При открытом окне View → File Register или View → Special Function Register скорость отладки резко снижается, так как количество передаваемых данных между контроллером и отладчиком значительно возрастает. Используйте окно Watch – более подробная информация в разделе 4.5.9. Отладка демонстрационного проекта PIC16F887.

Останов происходит не в точке останова

Вопрос:

Почему PICkit2 при внутрисхемной отладке останавливается не на инструкции, где поставлена точка останова?

Ответ:

Данный эффект носит название «проскальзывание» (breakpoint skidding), обсуждение этой проблемы в разделе 4.4.6 Проскальзывание.

Вопрос:

Ответ:

5.3. Станартные ошибки при работе с PICkit 2 Debug Express в среде MPLAB IDE

PK2Error0002: Allocation failure (Component)
PK2Error0003: Missing component (Component)
PK2Error0005: Failed to acquire component (Component, HRESULT)
PK2Error0006: Failed external call (Component, Method, HRESULT)

Описание:

Ошибка произошла при инициализации PICkit2 в результате внутреннего сбоя или при попытке связаться с MPLAB IDE. Наиболее вероятная причина – установка MPLAB IDE произведена не полностью, либо с ошибками.

Рекомендуемые действия:

  1. Удалите все версии MPLAB IDE с Вашего компьютера;

  2. Установите последнюю версию MPLAB IDE

  3. Если проблема повториться – свяжитесь с представителем Microchip.

PK2Error0008: Read failure (GetLastError)
PK2Error0009: Write failure (GetLastError)

Описание:

MPLAB IDE не может установить связь с PICkit2. Возможные причины: PICkit2 не определился USB, плата контроллера потребляет ток больший, чем может обеспечить USB или проблемы с USB хабом.

Рекомендуемые действия:

Убедитесь, что плата контроллера потребляет от PICkit2 не более 25 мА. Если больше, то воспользуйтесь внешним источником питания.

Плата контроллера может мешать корректному соединению PICkit2 с USB. При подключении PICkit2 и перезагрузке ПК убедитесь, что PICkit2 не подключен к плате контроллера.

Если PICkit2 подключен через USB хаб – попробуйте подключить непосредственно к USB-порту ПК. При использовании PICkit2 в качестве программатора или отладчика в MPLAB IDE не запускайте приложения PICkit2 Programmer и PK2CMD.

Если проблема не решилась – попробуйте воспользоваться PICkit2 под оболочкой приложения PICkit2 Programmer.

PK2Error0010: Failed to unload PICkit 2

Описание:

MPLAB IDE не удается отключить функционирование PICkit2 как отладчика или программатора для переключения в другой режим.

Рекомендуемые действия:

Отключите PICkit2 от USB, перезагрузите ПК, подключите PICkit2 (при оключенной плате контроллера). Если проблема повторяется – обратитесь в Microchip.

PK2Error0011: PICkit 2 is already busy. Unable to perform requested task.

Описание:

PICkit2 Debug Express пытается выполнить следующую операцию, когда выполнение предыдущей не завершено.

Рекомендуемые действия:

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

PK2Error0012: Unable to open file (Filename)

Описание:

PICkit2 Debug Express не удается открыть заданный файл.

Рекомендуемые действия:

Убедитесь, что файл существует, что верно указана директория его местонахождения. Также подобная ошибка возможна при неполной или неверно завершенной установке – см. описание ошибки PK2Error0002.

PK2Error0013: Bad hex line (File — Line)
PK2Error0014: Invalid address in hex file (File — Line — Address)

Описание:

PICkit2 Debug Express обнаружила ошибку при исполнительном hex-файле.

Рекомендуемые действия:

Если Вы используете hex-файлы, предоставляемые Microchip, то проблема в неполной или неверно завершенной установке – см. описание ошибки PK2Error0002.

PK2Error0015: Failed Windows call (WinFunc — GetLastError)

Описание:

Вызов функции обращения к Windows от PICkit2 Debug Express потерпел неудачу.

Рекомендуемые действия:

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

  1. Попробуйте перезагрузить ПК для освобождения памяти

  2. Убедитесь, что на жестком диске достаточно свободной памяти, и что она не слишком фрагментирована

  3. См. описание ошибки PK2Error0002, если дело в неверной установке.

PK2Error0016: Failed to find firmware files (MPLABDir)

Описание:

PICkit2 Debug Express не удается найти файлы прошивки ОС PICkit2.

Рекомендуемые действия:

Проблема в неполной или неверно завершенной установке – см. PK2Error0002.

PK2Error0017: Invalid hex file (Filename — Start — End)

Описание:

PICkit2 Debug Express обнаружил ошибку в hex-файле прошивки ОС PICkit2.

Рекомендуемые действия:

В связи с тем, что hex-файл поставляется Microchip, то проблема в неполной или неверно завершенной установке – см. PK2Error0002.

PK2Error0018: Unable to enter bootloader

Описание:

PICkit2 Debug Express не удалось получить доступ к загрузчику ОС (bootloader) при попытке обновить ОС PICkit2.

Рекомендуемые действия:

Отключите PICkit2 от USB и платы контроллера. Нажмите кнопку на PICkit2 и подключите PICkit2 к USB при нажатой кнопке. Индикатор «BUSY» должен замигать. Если этого не произошло – загрузчик ОС поврежден. Свяжитесь с Microchip для решения проблемы.

PK2Error0019: Failed PICkit OS read ([1] — [2] — [3] — [4])

Описание:

Ошибка произошла при обращении к загрузчику ОС PICkit2.

Рекомендуемые действия:

Отключите PICkit2 от ПК и платы контроллера, перезагрузите ПК, подключите PICkit2 к USB и повторите операцию. Если ошибка повториться, попробуйте обновить прошивку PICkit2 при помощи PICkit2 Programmer.

PK2Error0020: Failed PICkit OS verify (Address — Read — Expected)

Описание:

Ошибка при загрузке ОС в PICkit2.

Рекомендуемые действия:

Отключите PICkit2 от ПК и платы контроллера, перезагрузите ПК, подключите PICkit2 к USB и повторите операцию. Если ошибка повториться, попробуйте обновить прошивку PICkit2 при помощи PICkit2 Programmer.

PK2Error0021: Unable to exit bootloader

Описание:

PICkit2 Debug Express потерпел неудачу при выходе из режима загрузчика ОС (bootloader) по окончании загрузки ОС.

Рекомендуемые действия:

Отключите PICkit2 от ПК и платы контроллера, перезагрузите ПК, подключите PICkit2 к USB и повторите операцию. Если ошибка повториться, попробуйте обновить прошивку PICkit2 при помощи PICkit2 Programmer.

PK2Error0022: PICkit 2 not found

Описание:

MPLAB IDE не удается обнаружить PICkit2 ни на одном из USB-портов.

Рекомендуемые действия:

см. PK2Error0008

PK2Error0023: Target VDD measured at X.XV which is outside the operational range of this device (minV — maxV)

Описание:

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

Рекомендуемые действия:

Используйте напряжение питания VDD в допустимых рамках. Если напряжение находится в заданном диапазоне, но ошибка повторяется, попробуйте откалибровать PICkit2 при помощи приложения PICkit2 Programmer, что позволит определять напряжение питания контроллера более точно.

PK2Error0024: PICkit 2 was unable to establish a valid VDD on the target (Attempted V — Read V)

Описание:

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

Рекомендуемые действия:

Подайте внешнее питание на плату или попробуйте откалибровать PICkit2 при помощи приложения PICkit2 Programmer.

PK2Error0025: Failed to load PICkit 2

Описание:

В PICkit2 Debug Express произошла критическая ошибка при попытке загрузки в MPLAB IDE.

Рекомендуемые действия:

Проблема в неполной или неверно завершенной установке – см. PK2Error0002.

PK2Error0027: Failed verify (Address — Expected Value — Value Read)

Описание:

Ошибка выявлена при верификации. Сообщение об ошибке также содержит тип и адрес памяти, где выявлено несовпадение, ожидаемое и фактическое значения. Операция верификации всегда завершается неудачей для участков памяти с защитой кода (code protected), т.к. операция чтения таких областей памяти возвращает все «0».

Замечание:
PICkit2 Debug Express завершает верификацию, как только встретит первое несовпадающее значение, и сообщает только о нем. Возможно, имеются и другие.

Рекомендуемые действия:

Убедитесь, что отключена защита кода. Убедитесь, что ICSP соединение соответствует главе 3 «Использование внутрисхемного программирования (ICSP™)». Если контроллер имеет выводы AVdd и AVss, убедитесь, что они соединены верно. Для контроллеров семейств PIC18FXXJXX, PIC24X и dsPIC33F убедитесь, что значение емкости на выводе Vddcore/Vcap соответствует требуемому в даташите. Некоторые контроллеры PIC18F требуют для программирования емкость на Vdd до 10 мкФ.

PK2Error0028: Unable to enter debug mode

Описание:

PICkit2 Debug Express не удается ввести контроллер в режим отладки.

Рекомендуемые действия:

  1. Если контроллер принадлежит Базовому (Baseline) или Среднему (Midrange) семейству (PIC10F, PIC12F, PIC16F) – возможно требуется дополнительный модуль для отладки. Подробнее в разделе «4.4.3 Использование отладочного модуля».

  2. Тактовый генератор контроллера не работает. Проверьте, что выбран верный источник тактирования в битах Конфигурации.

  3. Перед началом отладки убедитесь, что запрограммирован отладочный вариант прошивки (меню Debugger→Program)

  4. Если Ваш PICkit2 имеет кнопку черного цвета, то для отладки могут потребоваться дополнительные подтягивающие к земле резисторы. Подробнее в разделе «4.3 Подключение PICkit 2»

  5. Проблемы с питанием платы контроллеры. Проверьте питание.

  6. Вывод PICkit2 VDD не подключен к питающей шине платы контроллера.

  7. PICkit2 отключен от платы контроллера или имеет место плохое подключение одного или более выводов. Проверьте подключение PICkit2 к плате контроллера.

  8. Выбран неверный скрипт линкера. Для отладки необходимо использовать скрипт-файл линкера с обозначением «i» (например, 16f877i.lkr вместо16f877.lkr ).

  9. Программа пытается использовать ресурсы, зарезервированные для модуля отладки. Более подробная информация о зарезервированных зарезервированных областях памяти в разделе «4.4.2 Зарезервированная область памяти».

  10. Для PIC24 и dsPIC контроллеров убедитесь, что выбран нужный канал отладки PGXn/EMUXn в битах Конфигурации (Comm Channel Select) и PICkit2 подключен именно к этому порту отладки.

  11. Контроллер не может войти в режим отладки, если он не может выполнять код программы.

  12. Установлена защита кода (code-protected). Проверьте соответствующие биты конфигурации.

  13. Возможно, операция недоступна в данный момент времени. Например, во время исполнения кода невозможно поставить точку останова.

PK2Error0029: Failed PICkit 2 operation

Описание:

В PICkit2 Debug Express не может завершить операцию отладки.

Рекомендуемые действия:

См. PK2Error0028: Unable to enter debug mode

PK2Error0030: Failed to read target file registers

Описание:

В PICkit2 Debug Express не может прочитать один или несколько регистров (File Register) контроллера.

Рекомендуемые действия:

См. PK2Error0028: Unable to enter debug mode

PK2Error0031: I/O Operation timeout

Описание:

Слишком долгое ожидание (выход по «time out») USB от PICkit2.

Рекомендуемые действия:

Попробуйте повторить операцию. Если ошибка повториться – отключите PICkit2 от USB и от платы контроллера, перезагрузите ПК, подключите обратно PICkit2 и повторите операцию. Если ошибка повториться – обновите прошивку PICkit2 при помощи приложения PICkit2 Programmer.

PK2Error0032: Failed Blank Check (Address — Expected Value — Value Read)

Описание:

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

Замечание:
PICkit2 Debug Express завершает верификацию, как только встретит первое несовпадающее значение, и сообщает только о нем. Возможно, имеются и другие.

Рекомендуемые действия:

Попробуйте произвести полную очистку памяти. Если ошибка повторяется после полной очистки памяти, проверьте, что ICSP соединение соответствует главе 3 «Использование внутрисхемного программирования (ICSP™)». Если контроллер имеет выводы AVdd и AVss, убедитесь, что они соединены верно. Для контроллеров семейств PIC18FXXJXX, PIC24X и dsPIC33F убедитесь, что значение емкости на выводе Vddcore/Vcap соответствует требуемому в даташите. Некоторые контроллеры PIC18F требуют для программирования емкость на Vdd до 10 мкФ

PK2Error0033: User aborted operation

Описание:

Обычно данная ошибка появляется, когда PICkit2 Debug Express выдает предупреждение и предоставляет пользователю возможность отменить операцию, и пользователь отменяет текущую операцию. Например, PICkit2 Debug Express может предупреждать, что отлаживаемый контроллер не может быть запрограммирован с отключенной функцией MCLR. Если пользователь выберет «Cancel», программирование будет прервано и появится данная ошибка.

Рекомендуемые действия:

Нет.

PK2Error0034: Failed to Initialize

Описание:

PICkit2 Debug Express не удается завершить инициализацию.

Рекомендуемые действия:

Скорее всего проблема в неполной или неверно завершенной установке – см. PK2Error0002.

PK2Error0035: Failed to retrieve XML Data (node)
PK2Error0036: Failed to open PK2 Script File (filename)
PK2Error0037: PK2 Script File structure size mismatch (struct internal size file size)
PK2Error0038: Unable to fit block in IO buffer (MemType Direction Blocksize)

Описание:

Внутренняя ошибка PICkit2 Debug Express.

Рекомендуемые действия:

Скорее всего проблема в неполной или неверно завершенной установке – см. PK2Error0002.

PK2Error0039: Not halted in debug executive

Описание:

Данная ошибка сообщает о попытке выполнить операцию во время выполнения кода, которая требует остановки выполнения кода.

Рекомендуемые действия:

Выполните команду «Halt» прежде, чем выполнять данную операцию.

PK2Error0040: Operation not supported for current device

Описание:

Данная операция отладки не поддерживается выбранным контроллером.

Рекомендуемые действия:

Нет.

PK2Error0041: Failed to create Stream
PK2Error0042: Failed Stream Read
PK2Error0043: Failed IStream Write
PK2Error0044: Failed IStream Open
PK2Error0045: No STATSTG
PK2Error0046: Failed IStream Read
PK2Error0047: Failed Stream Write

Описание:

Внутренняя ошибка PICkit2 Debug Express.

Рекомендуемые действия:

Скорее всего проблема в неполной или неверно завершенной установке – см. PK2Error0002.

Глава 6. Обновление операционной системы PICkit2

6.1 Введение

Данный раздел содержит руководство по обновлению операционной системы (ОС) программатора/отладчика PICkit2 и включает 2 подраздела:

6.2 Обновление ОС PICkit2 в приложении PICkit2 Programmer

При запуске PICkit2 Programmer, приложение автоматически проверяет текущую версию ОС подключенного программатора PICkit2 и, в случае обнаружения устаревшей версии, предлагает загрузить последнюю версию ОС (рис. 6-1).

Рис. 6-1

Если автоматическая загрузка по каким-либо причинам не удалась, или если Вам необходимо загрузить определенную версию ОС – Вы можете «вручную» обновить ОС. Чтобы загрузить прошивку (ОС) в PICkit2 «вручную» выполните следующие действия:

  1. Скопируйте hex-файл прошивки с последней версией ОС PICkit2 с сайта www.microchip.com и поместите его в папку, в которую установлено PICkit2 Programmer. По умолчанию: «C:\Program Files\Microchip\PICkit 2 v2»
  2. Выберите Tools→Download PICKit 2 Operating System (рис. 6-2)

  3. Откройте директорию, в которой был сохранен файл с последней версией ОС

  4. Выберите файл pk2*.hex и нажмите кнопку Open

  5. Прогресс записи прошивки будет отображаться в строке состояния, а светодиод BUSY на PICkit2 – мигать. После успешного завершения операции в строке состояния появится надпись: «Operating System Verified» и светодиод BUSY погаснет.

Рис. 6-2

6.3 Обновление ОС PICkit2 в среде разработки MPLAB IDE

При выборе PICkit2 в качестве программатора или отладчика, MPLAB IDE автоматически проверяет текущую версию ОС PICkit2. Если имеется более новая версия ОС PICkit2 – MPLAB IDE автоматически обновляет прошивку PICkit2. Соответствующая информация будет выведена во вкладке PICkit 2 окна Output (рис. 6-3)

Рис. 6-3

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

  1. Скопируйте hex-файл прошивки с последней версией ОС PICkit2 с сайта www.microchip.com и поместите его в папку PICkit 2, в корневом катологе MPLAB IDE. По умолчанию: «C:\Program Files\Microchip\MPLAB IDE\PICkit 2»
  2. Выберите PICkit2 в качестве программатора (Programmer→Select Programmer→PICkit2) или отладчика (Debugger→Select Tool→PICkit2)

  3. Выберите Debugger→Download OS или Programmer→Downoal OS, как показано на рис. 6-4
  4. MPLAB IDE преступит к загрузке ОС в PICkit2. Текущее состояние процесса записи новой прошивки PICkit2 будет отображаться во вкладке PICkit 2окна Output, а светодиод BUSY на PICkit2 – мигать. При успешном окончании операции во вкладке PICkit 2 окна Output появится надпись: «PICkit 2 Ready» и светодиод BUSY погаснет.

Программатор pickit2 lite своими руками

Микроконтроллеры

Какие первые шаги должен сделать радиолюбитель, решивший собрать схему на микроконтроллере? Естественно, необходима управляющая программа – «прошивка», а также программатор.

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

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

  • Основная часть.
  • Панель установки МК.

Исходная схема взята с сайта LabKit.ru с разрешения автора, за что ему большое спасибо. Это так называемый клон фирменного программатора PICkit2. Так как вариант устройства является «облегчённой» копией фирменного PICkit2, то автор назвал свою разработку PICkit-2 Lite, что подчёркивает простоту сборки такого устройства для начинающих радиолюбителей.

Что может программатор? С помощью программатора можно будет прошить большинство легкодоступных и популярных МК серии PIC (PIC16F84A, PIC16F628A, PIC12F629, PIC12F675, PIC16F877A и др.), а также микросхемы памяти EEPROM серии 24LC.

Кроме этого программатор может работать в режиме USB-UART преобразователя, имеет часть функций логического анализатора.

Особо важная функция, которой обладает программатор – это расчёт калибровочной константы встроенного RC-генератора некоторых МК (например, таких как PIC12F629 и PIC12F675).

Необходимые изменения

В схеме есть некоторые изменения, которые необходимы для того, чтобы с помощью программатора PICkit-2 Lite была возможность записывать/стирать/считывать данные у микросхем памяти EEPROM серии 24Cxx.

Из изменений, которые были внесены в схему. Добавлено соединение от 6 вывода DD1 (RA4) до 21 вывода ZIF-панели. Вывод AUX используется исключительно для работы с микросхемами EEPROM-памяти 24LС (24C04, 24WC08 и аналоги).

По нему передаются данные, поэтому на схеме панели программирования он помечен словом «Data». При программировании микроконтроллеров вывод AUX обычно не используется, хотя он и нужен при программировании МК в режиме LVP.

Также добавлен «подтягивающий» резистор на 2 кОм, который включается между выводом SDA и Vcc микросхем памяти.

Все эти доработки я уже делал на печатной плате, после сборки PICkit-2 Lite по исходной схеме автора.

Микросхемы памяти 24Cxx (24C08 и др.) широко используются в бытовой радиоаппаратуре, и их иногда приходится прошивать, например, при ремонте кинескопных телевизоров. В них память 24Cxx применяется для хранения настроек.

В ЖК-телевизорах применяется уже другой тип памяти (Flash-память). О том, как прошить память ЖК-телевизора я уже рассказывал. Кому интересно, загляните.

В связи с необходимостью работы с микросхемами серии 24Cxx мне и пришлось «допиливать» программатор. Травить новую печатную плату я не стал, просто добавил необходимые элементы на печатной плате. Вот что получилось.

Ядром устройства является микроконтроллер PIC18F2550-I/SP.

Это единственная микросхема в устройстве. МК PIC18F2550 необходимо «прошить». Эта простая операция у многих вызывает ступор, так как возникает так называемая проблема «курицы и яйца». Как её решил я, расскажу чуть позднее.

Список деталей для сборки программатора. В мобильной версии потяните таблицу влево (свайп влево-вправо), чтобы увидеть все её столбцы.

Название Обозначение Номинал/Параметры Марка или тип элемента
Для основной части программатора
Микроконтроллер DD1 8-ми битный микроконтроллер PIC18F2550-I/SP
Биполярные транзисторы VT1, VT2, VT3 КТ3102
VT4 КТ361
Диод VD1 КД522, 1N4148
Диод Шоттки VD2 1N5817
Светодиоды HL1, HL2 любой на 3 вольта, красного и зелёного цвета свечения
Резисторы R1, R2 300 Ом МЛТ, МОН (мощностью от 0,125 Вт и выше), импортные аналоги
R3 22 кОм
R4 1 кОм
R5, R6, R12 10 кОм
R7, R8, R14 100 Ом
R9, R10, R15, R16 4,7 кОм
R11 2,7 кОм
R13 100 кОм
Конденсаторы C2 0,1 мк К10-17 (керамические), импортные аналоги
C3 0,47 мк
Электролитические конденсаторы C1 100 мкф * 6,3 в К50-6, импортные аналоги
C4 47 мкф * 16 в
Катушка индуктивности (дроссель) L1 680 мкГн унифицированный типа EC24, CECL или самодельный
Кварцевый резонатор ZQ1 20 МГц
USB-розетка XS1 типа USB-BF
Перемычка XT1 любая типа «джампер»
Для панели установки микроконтроллеров (МК)
ZIF-панель XS1 любая 40-ка контактная ZIF-панель
Резисторы R1 2 кОм МЛТ, МОН (мощностью от 0,125 Вт и выше), импортные аналоги
R2, R3, R4, R5, R6 10 кОм

Теперь немного о деталях и их назначении.

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

Для придания устройству универсальности и надёжности используется USB-розетка XS1 типа «B» (квадратная). В компьютере же используется USB-розетка типа «А». Поэтому перепутать гнёзда соединительного кабеля невозможно. Также такое решение способствует надёжности устройства. Если кабель придёт в негодность, то его легко заменить новым не прибегая к пайке и монтажным работам.

В качестве дросселя L1 на 680 мкГн лучше применить готовый (например, типов EC24 или CECL). Но если готовое изделие найти не удастся, то дроссель можно изготовить самостоятельно.

Для этого нужно намотать 250 – 300 витков провода ПЭЛ-0,1 на сердечник из феррита от дросселя типа CW68.

Стоит учесть, что благодаря наличию ШИМ с обратной связью, заботиться о точности номинала индуктивности не стоит.

Напряжение для высоковольтного программирования (Vpp) от +8,5 до 14 вольт создаётся ключевым стабилизатором. В него входят элементы VT1, VD1, L1, C4, R4, R10, R11. С 12 вывода PIC18F2550 на базу VT1 поступают импульсы ШИМ. Обратная связь осуществляется делителем R10, R11.

Чтобы защитить элементы схемы от обратного напряжения с линий программирования в случае использования USB-программатора в режиме внутрисхемного программирования ICSP (In-Circuit Serial Programming) применён диод VD2.

VD2 – это диод Шоттки. Его стоит подобрать с падением напряжения на P-N переходе не более 0,45 вольт.

Также диод VD2 защищает элементы от обратного напряжения, когда программатор применяется в режиме USB-UART преобразования и логического анализатора.

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

Компактность устройству придаёт универсальная ZIF-панель (Zero Insertion Force – с нулевым усилием установки).

Благодаря ей можно «зашить» МК практически в любом корпусе DIP.

На схеме «Панель установки микроконтроллера (МК)» указано, как необходимо устанавливать микроконтроллеры с разными корпусами в панель. При установке МК следует обращать внимание на то, чтобы микроконтроллер в панели позиционируется так, чтобы ключ на микросхеме был со стороны фиксирующего рычага ZIF-панели.

Вот так нужно устанавливать 18-ти выводные микроконтроллеры (PIC16F84A, PIC16F628A и др.).

А вот так 8-ми выводные микроконтроллеры (PIC12F675, PIC12F629 и др.).

Если есть нужда прошить микроконтроллер в корпусе для поверхностного монтажа (SOIC), то можно воспользоваться переходником или просто подпаять к микроконтроллеру 5 выводов, которые обычно требуются для программирования (Vpp, Clock, Data, Vcc, GND).

Готовый рисунок печатной платы со всеми изменениями вы найдёте по ссылке в конце статьи. Открыв файл в программе Sprint Layout 5.

0 можно с помощью режима «Печать» не только распечатать слой с рисунком печатных проводников, но и просмотреть позиционирование элементов на печатной плате.

Обратите внимание на изолированную перемычку, которая связывает 6 вывод DD1 и 21 вывод ZIF-панели. Печатать рисунок платы необходимо в зеркальном отображении.

  1. Изготовить печатную плату можно методом ЛУТ, а также маркером для печатных плат, с помощью цапонлака (так делал я) или «карандашным» методом.
  2. Вот рисунок позиционирования элементов на печатной плате (кликабельно).

При монтаже первым делом необходимо запаять перемычки из медного лужёного провода, затем установить низкопрофильные элементы (резисторы, конденсаторы, кварц, штыревой разъём ISCP), затем транзисторы и запрограммированный МК. Последним шагом будет установка ZIF-панели, USB-розетки и запайка провода в изоляции (перемычки).

Файл «прошивки» — PK2V023200.hex необходимо записать в память МК PIC18F2550I-SP при помощи любого программатора, который поддерживает PIC микроконтроллеры (например, Extra-PIC). Я воспользовался JDM Programmator’ом JONIC PROG и программой WinPic800.

Ссылка на файл PK2V023200.hex, запакованный в архив rar, дана в конце статьи.

Залить «прошивку» в МК PIC18F2550 можно и с помощью всё того же фирменного программатора PICkit2 или его новой версии PICkit3. Естественно, сделать это можно и самодельным PICkit-2 Lite, если кто-либо из друзей успел собрать его раньше вас:).

Также стоит знать, что «прошивка» микроконтроллера PIC18F2550-I/SP (файл PK2V023200.hex) записывается при установке программы PICkit 2 Programmer в папку вместе с файлами самой программы.

Примерный путь расположения файла PK2V023200.hex  — «C:Program Files (x86)MicrochipPICkit 2 v2PK2V023200.hex».

У тех, у кого на ПК установлена 32-битная версия Windows, путь расположения будет другим: «C:Program FilesMicrochipPICkit 2 v2PK2V023200.hex».

Ну, а если разрешить проблему «курицы и яйца» не удалось предложенными способами, то можно купить уже готовый программатор PICkit3 на сайте AliExpress. Там он стоит гораздо дешевле. О том, как покупать детали и электронные наборы на AliExpress я писал тут.

Обновление «прошивки» программатора

Прогресс не стоит на месте и время от времени компания Microchip выпускает обновления для своего ПО, в том числе и для программатора PICkit2, PICkit3.

Естественно, и мы можем обновить управляющую программу своего самодельного PICkit-2 Lite. Для этого понадобится программа PICkit2 Programmer. Что это такое и как пользоваться — чуть позднее.

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

Для обновления ПО программатора необходимо замкнуть перемычку XT1 на программаторе, когда он отключен от компьютера. Затем подключить программатор к ПК и запустить PICkit2 Programmer.

При замкнутой XT1 активируется режим bootloader для загрузки новой версии прошивки.

Затем в PICkit2 Programmer через меню «Tools» — «Download PICkit 2 Operation System» открываем заранее подготовленный hex-файл обновлённой прошивки. Далее произойдёт процесс обновления ПО программатора.

После обновления нужно отключить программатор от ПК и снять перемычку XT1. В обычном режиме перемычка разомкнута. Узнать версию ПО программатора можно через меню «Help» — «About» в программе PICkit2 Programmer.

Это всё по техническим моментам. А теперь о софте.

Работа с программатором. Программа PICkit2 Programmer

Для работы с USB-программатором нам потребуется установить на компьютер программу PICkit2 Programmer.

Это специальная программа обладает простым интерфейсом, легко устанавливается и не требует особой настройки.

Стоит отметить, что работать с программатором можно и с помощью среды разработки MPLAB IDE, но для того, чтобы прошить/стереть/считать МК достаточно простой программы – PICkit2 Programmer. Рекомендую.

После установки программы PICkit2 Programmer подключаем к компьютеру собранный USB-программатор. При этом засветится зелёный светодиод («питание»), а операционная система опознает устройство как «PICkit2 Microcontroller Programmer» и установит драйвера.

Запускаем программу PICkit2 Programmer. В окне программы должна отобразиться надпись.

Если программатор не подключен, то в окне программы отобразится страшная надпись и краткие инструкции «Что делать?» на английском.

  • Если же программатор подключить к компьютеру с установленным МК, то программа при запуске определить его и сообщит нам об этом в окне PICkit2 Programmer.

Поздравляю! Первый шаг сделан. А о том, как пользоваться программой PICkit2 Programmer, я рассказал в отдельной статье. Следующий шаг.

  1. Необходимые файлы:
  2. Главная » Микроконтроллеры » Текущая страница
  3. Также Вам будет интересно узнать:

Источник: https://go-radio.ru/usb-programmator-pic-svoimi-rukami.html

Клон PICkit 2

PICkit 2 — недорогой программатор/отладчик предназначенный для отладки и прошивки Flash микроконтроллеров фирмы Microchip. Подключение к компьютеру осуществляется через USB-интерфейс.

Поддерживается практически все семейство PIC-микроконтроллеров: PIC18, 8-бит, 16-бит и 32-бит микроконтроллеры. С помощью среды MPLAB IDE поддерживается внутрисхемная отладка кода.

В данной статье представлен проект по изготовлению клона PICkit 2, с полным сохранением функционала оригинального программатора.

Характеристики программатора:
1. Данный программатор работает точно также, как и оригинальный PICkit 2
2. Работа как с 5В, так и с 3.3В микроконтроллерами
3. В схеме не используются мосфеты, только преобразователь на м/с LM358

  • 4. Возможность прошивки МК без компьютера

Если программатор не планируется использовать для автономной прошивки контроллеров (т.е. без участия компьютера), то из вышеприведенной схемы можно исключить микросхемы EEPROM-памяти IC3 и IC4.

Печатная плата программатора (вид со стороны радиоэлементов, вид с обратной стороны платы и схема расположения элементов):

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

Во время первого подключения программатора к компьютеру, Windows обнаружит устройство PICkit 2 и установит необходимые драйвера (возможно потребуется указать корректный путь для папки с драйверами).

Для прошивки контроллеров и отладки можно использовать оригинальное ПО от PICkit 2 и среду MPLAB IDE. Скачать все ПО можно с официального сайта Microchip отсюда.

Для программирования какого-либо микроконтроллера, предварительно необходимо заглянуть в его даташит и проверить конфигурацию выводов PGC (clock), PGD(data), Vpp(/MCLR) и выводы питания Vss и Vdd. См. схемы ниже.

Скачать прошивку, печатные платы, список деталей вы можете ниже

Список радиоэлементов

Обозначение Тип Номинал Количество ПримечаниеМагазинМой блокнотIC1 IC2A IC3, IC4 T1, T2, T4, T5 Q2, Q3 Q4-Q7 D1 LED1 LED2 LED3 Q1 C1, C4, C6, C7, C9, C10, C12 C2, C3 C5 C8 C11 R1, R4, R8, R30 R2, R6, R7, R13 R3, R27, R29 R5, R9, R11, R34 R10 R12, R21, R22, R23 R14, R16, R18, R33 R15 R17, R25 R19, R24, R26 R28 R31, R32 R36 S1 X1 ICSP
МК PIC 8-бит PIC18F2550 1 28DIP Поиск в Utsource В блокнот
Операционный усилитель LM358N 1 Поиск в Utsource В блокнот
Последовательная память EEPROM AT24CP 2 Поиск в Utsource В блокнот
Биполярный транзистор 2N3904 4 Поиск в Utsource В блокнот
Биполярный транзистор BD140 2 Поиск в Utsource В блокнот
Биполярный транзистор 2N3906 4 Поиск в Utsource В блокнот
Выпрямительный диод 1N4148 1 Поиск в Utsource В блокнот
Светодиод RED 1 RED (красный) Поиск в Utsource В блокнот
Светодиод GREEN 1 GREEN (зеленый) Поиск в Utsource В блокнот
Светодиод YELLOW 1 YELLOW (желтый) Поиск в Utsource В блокнот
Кварцевый резонатор 20 МГц 1 Поиск в Utsource В блокнот
Конденсатор 0.1 мкФ 7 Поиск в Utsource В блокнот
Конденсатор 22 пФ 2 Поиск в Utsource В блокнот
Конденсатор 0.22 мкФ 1 0.47 мкФ Поиск в Utsource В блокнот
Электролитический конденсатор 10 мкФ 1 Поиск в Utsource В блокнот
Электролитический конденсатор 47 мкФ 1 Поиск в Utsource В блокнот
Резистор 33 Ом 4 Поиск в Utsource В блокнот
Резистор 10 Ом 4 Поиск в Utsource В блокнот
Резистор 470 Ом 3 Поиск в Utsource В блокнот
Резистор 4.7 кОм 4 Поиск в Utsource В блокнот
Резистор 8.2 кОм 1 Поиск в Utsource В блокнот
Резистор 100 кОм 4 Поиск в Utsource В блокнот
Резистор 10 кОм 4 Поиск в Utsource В блокнот
Резистор 100 Ом 1 Поиск в Utsource В блокнот
Резистор 1 кОм 2 Поиск в Utsource В блокнот
Резистор 330 Ом 3 Поиск в Utsource В блокнот
Резистор 820 Ом 1 Поиск в Utsource В блокнот
Резистор 2.7 кОм 2 Поиск в Utsource В блокнот
Резистор 240 Ом 1 Поиск в Utsource В блокнот
Катушка индуктивности 680 мкГн 1 Поиск в Utsource В блокнот
Кнопка 1 Поиск в Utsource В блокнот
Разъем RN61729-S 1 USB Поиск в Utsource В блокнот
Разъем 1 Поиск в Utsource В блокнот
Добавить все

Скачать список элементов (PDF)

Оригинал статьи

Прикрепленные файлы:

Колтыков А.В. Опубликована: 2011 г. 2 Вознаградить Я собрал 0 0

x

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография

Источник: https://cxem.net/mc/mc82.php

Внутрисхемный USB-программатор-отладчик PICkit2

28 ноября 2007

Для начала освоения и практического применения микроконтроллеров разработчику необходим доступный инструментарий. Компания Microchip Technology Inc. выпускает недорогой программатор начального уровня PICkit2, схема и программное обеспечение в исходных кодах которого выложены на сайте www.microchip.com/pickit2. Рассмотрим особенности и возможности этого USB-программатора.

Программатор PICkit2 соединяется с компьютером по широко распространенному интерфейсу USB (программатор построен на базе контроллера PIC18F2550 USB 2.0). Через USB-порт так же осуществляется обновление прошивки программатора, т.е.

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

PICkit2 имеет простую схемотехнику, что позволяет уместить его в небольшом брелке (см. рис. 1).

Рис. 1. Внешний вид программатора PICkit2

Программатор PICkit2 служит для внутрисхемного программирования большинства Flash микроконтроллеров Microchip и с появлением новых микроконтроллеров список поддерживаемых устройств постоянно расширяется. Типовая схема подключения приведена на рис. 2.

Вывод
Назначение
1 Vpp/MCLR -напряжение программирования, сигнал сброса
2 Vdd — напряжение питания для программируемой схемы
3 Vss — «земляной» вывод
4 ICSPDAT/PGD — сигнал данных
5 ICSPCLK/PGC — сигнал тактирования
6 AUX — вспомогательный вывод, как правило не используется

Рис. 2. Типовая схема внутрисхемного программирования

Программатор PICkit2 работает под управлением своей собственной оболочки или под управлением среды разработки MPLAB IDE. При работе программатора под управлением оболочки «PICkit2 Programmer» (рис.

3) PICkit2 позволяет выполнять все стандартные операции: стирать, программировать и проверять память программ и EEPROM, устанавливать защиту кода, редактировать содержимое Flash и EEPROM.

Помимо этих стандартных функций, программатор PICkit2 позволяет осуществлять ряд дополнительных и интересных действий.

Рис. 3. Программа «RICkit2 Programmer»

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

Для устройств с внешним питанием PICkit2 может формировать напряжение питания в диапазоне напряжений от 2,5 до 5 В с шагом 0,1 В. Это полезная особенность, т.к.

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

Внимание! USB-порт компьютера может выдавать ток до 100 мА. Если подключенное к PICkit2 устройство потребляет больший ток, то USB-порт автоматически выключится. Если вам нужно получить ток больше 100 мА, то используйте внешний источник питания.

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

Для устройств с внешним сбросом оболочка программатора позволяет управлять сигналом сброса микроконтроллера.

В меню «Tools» появилась возможность включить опцию «Use VPP First Program Entry», это может понадобиться для контроллеров, конфигурация которых и настройка портов не позволяет войти в режим программирования (например, для контроллеров PIC12F675 с включенным внутренним сбросом и портами, подключенными к PGD и PGC, настроенными на выход). Попробуйте включить эту опцию, если программатор выдает ошибку проверки конфигурации («Verification of configuration failed»).

Некоторые микроконтроллеры PIC12F и PIC16F имеют внутренний RC-генератор, калибровочная константа для которого определена на заводе-изготовителе и хранится по последнему адресу в памяти программ микроконтроллера.

Как правило, «правильные» программаторы при программировании таких микроконтроллеров сначала считывают калибровочную константу, затем стирают микроконтроллер, а затем программируют его пользовательской программой с запомненной константой.

Если по каким-либо причинам константа утеряна, то PICkit2 (версии ПО 1.хх) поможет восстановить калибровку генератора.

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

Рис. 4. Окно «UART Communication Tool» программы «PICkit 2 Programmer»

Если ваше устройство должно общаться с другими устройствами по UART, то вы можете использовать PICkit2 как средство отладки последовательных протоколов. UART Communication Tool (см. рис. 4) позволяет задавать скорость до 38400 бод, и так же позволяет:

  • Получать отладочную информацию из микроконтроллера;
  • Вести лог данных, получаемых от микроконтроллера, в текстовом файле;
  • Разрабатывать и отлаживать последовательную передачу по интерфейсу UART;
  • Посылать команды микроконтроллеру на этапе отладки.

Для того чтобы использовать UART Communication Tool, нужно соединить выводы микроконтроллера UART и программатора PICkit2 согласно табл. 1. 

Таблица 1. Соединение выводов UART-микроконтроллера и программатора PICkit2  

Выводы программатора PICkit2
Выводы микроконтроллера UART  
(1) VPP
(2) Vdd Напряжение питания
(3) GND GND
(4) PGD TX UART — логический уровень
(5) PGC RX UART — логический уровень
(6) AUX

В версии оболочки 2.40 появилась возможность программирования микросхем последовательной памяти с интерфейсом I2C и SPI (24LCxxх, 25LCхxx и 93LCхxx) и ключей KeeLOQ.

Работа под средой разработки MPLAB IDE.

Обычно разработчики, работающие с PIC-контроллерами, используют в качестве среды разработки MPLAB IDE, так как MPLAB IDE — это мощный бесплатный инструментарий разработки и отладки программ для PIC-микроконтроллеров.

MPLAB IDE включает в себя редактор, программный симулятор, позволяет подключать Си-компиляторы различных производителей, работает совместно с программаторами и эмуляторами Microchip. Среда разработки MPLAB IDE (см. рис.

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

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

Рис. 5. Окно среды разработки MPLAB IDE, использование программатора PICkit 2 в качестве внутрисхемного отладчика

Для внутрисхемной отладки используются те же самые выводы микроконтроллера, что и для программирования, поэтому никаких переделок в схеме не нужно*. Для включения режима отладки нужно в меню Debugger ® Select Tool выбрать PICkit2.

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

Рис. 6. Окно среды разработки MPLAB IDE, отслеживание изменения переменных

Варианты поставок PICkit2

Компания Microchip Technology Inc. поставляет программатор PICkit2 в разных комплектациях (см. табл. 2).

Таблица 2. Комплектация PICkit2

Код заказа
Описание
PG164120 программатор PICkit2
DV164120 программатор PICkit2 + демонстрационная плата с PIC16F690
DV164121 PICkit2 Debug Express (программатор PICkit2 + демонстрационная плата с PIC16F887)

Комплект DV164120, помимо программатора, содержит демонстрационную плату с установленным контроллером PIC16F690 и, за счет совместимости по выводам, позволяет работать с любыми PIC-контроллерами в корпусах DIP-8, DIP-14 и DIP-20 (см. рис. 7).

Рис. 7. Совместимость по выводам контроллеров в 8-, 14- и 20-выводных корпусах

Программатор-отладчик PICkit2 является весьма мощным и универсальным отладочным средством для микроконтроллеров Microchip, но в то же время имеет доступную цену и даже, при желании, может быть легко повторен по документации, предоставляемой Microchip.

Программатор PICkit2 активно поддерживается двумя платформами: оболочкой PICkit2 и средой разработки MPLAB IDE, причем с каждым апгрейдом добавляются все новые и новые функции, а способность программатора обновлять свое ПО дает возможность произвести обновление меньше чем за минуту. Помимо функций программирования микроконтроллеров и микросхем памяти, PICkit2 может использоваться как отладочное средство, а именно — как внутрисхемный отладчик или как отладчик протоколов UART, и, надеемся, в следующих обновлениях Microchip порадует нас новыми функциями!

* —   Для внутрисхемной отладки желательно иметь новую версию PICkit2 с красной кнопкой. Если у вас предыдущая версия PICkit2, то для обновления нужно слегка модифицировать схему, или добавить подтягивающие резисторы к GND на линии PGD и PGC в схеме, так как PICkit2 изначально планировался только как программатор. Инструкцию по обновлению PICkit2 можно скачать с сайта www.gamma.spb.ru. 

Получение технической информации, заказ образцов, поставка —
e-mail: [email protected]

•••

Источник: https://www.compel.ru/lib/54859

Программатор PICkit2 lite (мини версия с печатной платой)

Задачу поставил чрезвычайно простую: повторить с минимумом отверстий, так как свёрла уже надоели ????

Небольшая загвоздка была в том, что нужно было подобрать полупроводники в SMD корпусе, выбор у нас в магазине оказался небольшой, в итоге близкими по параметрам стали: BC847B вместо кт3102, BC856B вместо кт361, 1N4148WS вместо КД522, 10BQ040 вместо 1N5817 и ещё небольшое отклонение от номиналов — это дроссель в 1000 мкГн вместо 680 мкГн (опять же в силу малого ассортимента), гнездо USB-BF заменил на mini USB, конденсатор 100мкф на 47 мкф (ради того, чтобы не торчал), остальные детали согласно номиналам. Перемычку ХТ1 не ставил, так как обновлять ПО не собираюсь.

  • Прошивка
  • При первом включении программатор отказался работать, причина: непромытый флюс под микроконтроллером, вывод: тщательнее промывайте платы перед испытаниями!
  • Размеры платы 55х27,5 (можно ещё немного урезать сбоку ???? )
  • Вид спереди и сзади:
  • Тестировал в WIN7 x64, сразу после подключения система ищет драйвер:

В MPLAB v8.87 программатор определился, но при выборе  pic16f84a выдал сообщение, что данный девайс не поддерживается, на этом я и успокоился и перешёл к PICkit2 v2.61.

В среде PICkit2 v2.61 попробовал прошить pic16f84a, всё успешно.

  1. Также попробовал рассчитать калибровочную константу для PIC12f675, была 3458, новая 345C.
  2. Тестирование напряжения Vpp показало 11,9 В.
  3. Микроконтроллер PIC18F2550 для повторения схемы прошивал EXTRA-PICом, через программу WINPIC800 Печатная плата тут,  а вот прошивка.

Источник: http://cxema.my1.ru

Возможно, вам это будет интересно:

Источник: http://meandr.org/archives/8580

Microchip PicKit2. Клон программатор

   PICkit2 это недорогой Программатор / отладчик для микроконтроллеров Microchip PIC.Фирменная программа от Microchip, которая работает с этим программатором, поддерживает все базовые 8-разрядные, а также 16 и 32 разрядные микроконтроллеры, а также целый рад чипов памяти Serial EEPROM. Программатор поддерживается напрямую мощной средой разработки  MPLAB IDE, что позволяет с его помощью отлаживать большинство проектов, основанных на чипах Microchip PIC. Отладка производится путем задействования точек остановки программы, запуска и остановки однократной операции. При этом можно проверить и изменить содержимое памяти и  регистров микроконтроллера.

   Предлагаемый клон PICkit2 имеет следующие особенности:

-Устройство работает точно также, как и оригинальный  PICkit

2-Совместимость с любыми микроконтроллерами с питанием как от 5 так и от 3.3В.

-Не применяются

MOSFET  

Шесть простых шагов изготовления этого программатора.

Шаг1. Скачиваем прошивку, схему и чертежи печатной платы.

  • Скачиваем прхив по этой ссылке.  
  •     В архиве вы найдёте файлы прошивки для контроллера PIC18F2550, принципиальную схему и печатную плату в формате PDF и PNG.

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

Шаг 2. Печатная плата и пайка компонентов. .

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

   

Вид со стороны компонентов

Перемычки

Нижний слой

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

ШАГ 4. Подготовка микроконтроллера PIC18F2550 к работе в должности программатора.

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

Прошивка микроконтроллера находится в ZIP архиве, который вы скачали в шаге 1.  

ШАГ 5

. Установка драйвера и программы — оболочки. Драйвер для нашего новорожденного программатора устанавливается вместе с фирменной утилитой от Microchip. Сперва необходимо скачать и установить программу Microchip PicKit2 V2.61, а после установки подключить наш программатор к USB порту компьютера. Не используйте для подключения программатора USB хаб. Windows установит драйвер для нового устройства.     ШАГ 6. Используем программатор — программирование других микроконтроллеров. . Здесь можно использовать 2 способа. Поскольку программатор PicKit2 поддерживается также системой разработки MPLABIDE, то программирование можно осуществлять непосредственно из ее среды. Другой способ — использование небольшой утилиты-оболочки, которую мы с вами установили в шаге 5. Я долгое время использую второй способ, так как программа MPLABIDE у меня не установлена — я использую компиляторы сторонних производителей.          Подключаем программируемый контроллер. Существует 2 способа программирования контроллеров. Первый способ — прошивка контроллера PIC непосредственно установленного в схеме устройства, которое собрано на этом контроллере. Таком метод называется «внутрисхемным программированием» — ICSP -ICSP —  In-Circuit Serial Programming (внутрисхемное последовательное программирование). На самом деле данный программатор изначально разрабатывался фирмой Microchip именно для такого варианта работы, поскольку он умеет не только программировать контроллеры, но и отлаживать устройства, на этих контроллерах собранные. Но ничто не мешает нам сделать для этого программатора простейший адаптер с ZIF панельной нулевого усилия и прошивать отдельные микроконтроллеры, устанавливая их в эту панельку. Схема такого адаптера с панелькой будет опубликована в отдельной статье на нашем сайте.   

Так или иначе, для подключения программируемого чиппа используются 5 проводов. Это Vdd или питание (+5 или 3.

3 вольта, в зависимости от модели контроллера) , Vss или земля, MCLR — сброс и провод подачи напряжения программирования,ICSP DAT — данные программирования и ICSP CLK — Тактирование программирования.    

    Пример распиновки выводов программирования для микроконтроллеров PIC16F84 и PIC16F628   

Распиновка стандартного разъема ICSP оригинального программатора PicKit2. Во всех разрабатываемых вами устройствах рекомендуется придерживаться этой распиновки. Вывод с номером 6 не используется (зарезервирован).

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

Источник: https://musbench.com/e_digital/pickit2_clone_02.html

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

21 марта 2012.

Широкому распространению микроконтроллеров фирмы Microchip способствует свободное распространение документации не только на сами микросхемы, но и на отладочные средства для них.

Например, в руководстве пользователя программатора-отладчика PICkit 2 дается полная принципиальная схема этого программатора с интерфейсом USB. Такой программатор, однако, слишком сложен для повторения «один к одному». Автор разработал его упрощенную версию.

От оригинального PICkit 2 он унаследовал следующие функции: программирование микроконтроллеров с напряжением питания 5 В, преобразователь интерфейса USB-UART, часть функций логического анализатора, автоматическое восстановление калибровочной константы встроенного RC-генератора микроконтроллеров, где такая константа используется, обновление операционной системы программатора с помощью стартового загрузчика. После несложной доработки появляется возможность программировать микроконтроллеры и с напряжением питания менее 5 В.

Схема программатора показана на рис. 1.

Установленный в нем микроконтроллер PIC18F2550 (DD1) имеет встроенный контроллер USB, информационные линии которого D- и D подключены к соответствующим контактам розетки XS1, предназначенной для соединения программатора с компьютером. Согласно спецификации USB, разъем ведомого устройства (программатора) типа В, а ведущего (компьютера) типа А. Это гарантирует их правильное соединение стандартным USB-кабелем.

Рисунок 1

Светодиод HL1 включен, когда на программатор с шины USB поступает напряжение питания 5 В. Светодиод HL2 сигнализирует, что между программатором и компьютером идет обмен информацией. Тактовая частота микроконтроллера (20 МГц) задана кварцевым резонатором ZQ1.

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

Напряжение программирования Vпр, которое может лежать в интервале 8,5 ..14 В, формирует импульсный преобразователь напряжения, основные элементы которого — транзистор VT1, накопительный дроссель L1, диод VD1 и сглаживающий конденсатор С4.

Открывающие транзистор импульсы поступают с вывода 12 микроконтроллера. Стабилизация напряжения осуществляется за счет программного изменения микроконтроллером коэффициента заполнения этих импульсов.

Напряжение обратной связи стабилизатора поступает с резистивного делителя R7R9 на вывод 2 микроконтроллера — один из входов встроенного в него АЦП.

Транзисторы VT2—VT4 по командам микроконтроллера DD1 коммутируют цепи Vрр и Vcc, по которым на программируемый микроконтроллер в нужном порядке поступают напряжения соответственно 12 В и 5 В Информацию о том, что питание на программируемый микроконтроллер подано, микроконтроллер DD1 получает через резистор R12.

Диод Шотки VD2 предотвращает попадание в программатор напряжения с выводов питания программируемого микроконтроллера, если для него предусмотрен собственный источник питания.

Падение напряжения на этом диоде не должно превышать 0,45 В.

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

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

Для правильного программирования микроконтроллеры в корпусах с разным числом выводов и перепрограммируемые микросхемы памяти (EEPROM) вставлять в панель так, как показано на рис. 1.

Рекомендуется также убедиться по представляемым изготовителем микросхемы справочным данным (Datasheet, Programming specification), что при установке ее в панель XS2 сигналы программирования и питание будут поданы правильно.

Чтобы запрограммировать микроконтроллер, который по какой-либо причине установить в панель XS2 невозможно, придется изготовить для него отдельный адаптер, подключив его к разъему ХР1.

Этот же разъем можно использовать и для внутрисхемного программирования. На рис. 2 показано, как подключить микроконтроллер PIC24FJ16GA002 с номинальным напряжением питания 3,3 В.

Цепь Vcc программатора в этом случае не используется.

Рисунок 2

На рис. 3 изображена односторонняя печатная плата программатора. Она выполнена таким образом, что может быть легко разрезана на две (собственно программатор и адаптер с панелью XS2), соединяемые лишь пятью перемычками. Для предварительно запрограммированного с помощью другого программатора (например, Extra-PIC) микроконтроллера DD1 на плате предусмотрена панель.

Рисунок 3

Дроссель L1 — ЕС24-681К, CECL-681K или CW68-681K. Его можно изготовить самостоятельно, намотав 250—300 витков провода ПЭЛ диаметром 0,1 мм на стержневой или гантелеобразный ферритовый магнитопровод. Поскольку преобразователь напряжения охвачен обратной связью, особенно точно подбирать индуктивность дросселя не требуется.

Транзисторы КТ3102А и КТ361Б можно заменять другими маломощными кремниевыми соответствующей структуры, а диод КД522Б — импортным аналогом 1N4148.

Рассматриваемый программатор, как и оригинальный PICkit 2, работает под управлением оболочки «PICkit 2 Programmer» или в среде разработки программ MPLAB IDE.

Оба приложения бесплатно распространяются фирмой Microchip и периодически обновляются. Для работы «PICkit 2 Programmer» требуется пакет «Net Framework», который интегрирован в дистрибутив PICkit 2 V2.

61 Install with .NET Framework (30.3 Мб).

Программа для микроконтроллера DD1 имеется в обоих указанных выше дистрибутивах. После их установки на компьютере путь к НЕХ-файлу для загрузки в этот микроконтроллер ..PICkit 2 v2PK2V023200.hex или ..MPLAB IDEPICkit 2PK2V023200.hex. Поскольку программа постоянно совершенствуется, ее версия (число после буквы V в имени файла) может быть и другой.

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

При первом подключении программатора с правильно запрограммированным микроконтроллером DD1 к компьютеру в списке диспетчера устройств появится новое USB HID-совместимое устройство. Для таких устройств в операционных системах семейства Windows имеются встроенные драйверы. Они будут установлены автоматически, что, несомненно, удобно.

Оболочка «PICkit 2 Programmer» и среда MPLAB IDE позволяют программировать практически все микроконтроллеры семейства РIC. Их перечень постоянно пополняется.

Для начала работы с «PICkit 2 Programmer» следует запустить ее и установив программируемый микроконтроллер в панель XS2, нажать на экранную кнопку Read.

В окне программы должен отобразиться тип подключенного микроконтроллера. Одновременно будет прочитано содержимое его памяти, которое можно увидеть в окнах Program Memory и EEPROM Data.

С помощью пункта меню File Export Hex предоставляется возможность записать прочитанную информацию в НЕХ-файл.

Чтобы загрузить в микроконтроллер коды из НЕХ-файла, нужно, прежде всего, выбрать нужный файл, открыв пункт меню File Import Hex. Окно Program Memory (или EEPROM Data) будет заполнено его содержимым. Нажатием на экранную кнопку Write запускают процесс программирования.

Просмотр и изменение слова конфигурации микроконтроллера начинают со щелчка мышью по надписи «Configuration:» в верхней части главного окна программы, открывающего окно Configuration Word Editor. Внесенные в разряды слова изменения отображаются красным цветом. Чтобы записать их в микроконтроллер, необходимо нажать на экранную кнопку Save.

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

В оболочке «PICkit 2 Programmer» предусмотрена процедура ее восстановления. Ее запускают, выбирая пункт меню Tools OSCCAL Auto Regenerate. Программа предупреждает, что все содержимое памяти будет стерто. Чтобы начать выполнение процедуры, с этим следует согласиться, нажав на экранную кнопку ОК.

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

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

Однако в дальнейшем, с появлением новых версий этой программы, ее можно обновлять в уже действующем программаторе, подключенном к компьютеру по интерфейсу USB Для этого необходимо, не включая программатор, установить в нем перемычку S1 и лишь затем соединить его с компьютером и запустить программу «PICkit 2 Programmer» Через меню Tools Download PICkit 2 Operating System открыть НЕХ-файл с новой версией программы, после чего произойдет ее загрузка в микроконтроллер.

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

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

Для этого необходимо соединить контакт 3 (Clock) разъема ХР1 с входом RX UART а контакт 4 (Data) — с выходом ТХ Соединяют также контакт 5 (GND) с общим проводом отлаживаемого устройства, а на контакт 2 (Vcc) подают от него напряжение 2,5…5 В.

Выбрав в программе «PICkit 2 Programmer» пункт меню Tools→UART Tool, откройте интерфейсное окно обмена, установите необходимую скорость обмена и нажмите на экранную кнопку Connect.

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

Программатор может работать и в режиме логического анализатора, для чего достаточно выбрать пункт меню Tools→Logic Tool и задать в открывшемся окне режимы работы Logic I/O и Analyzer.

Следует учитывать, что в этом окне показана нумерация контактов разъема фирменного программатора PICkit 2, которая не совпадает с нумерацией контактов разъема ХР1 на рис. 1.

Pin 5 соответствует контакту 3 этого разъема (линия Clock), a Pin 4 — его контакту 4 (линия Data) Эти контакты могут служить входами (компьютер регистрирует логические уровни поданных на них сигналов) или выходами (компьютер устанавливает на них заданные логические уровни).

Программатор может работать и под управлением среды разработки MPLAB IDE. Его подключение к компьютеру не отличается от описанного выше.

В MPLAB IDE необходимо задать тип микроконтроллера (Configure→Select Device) и программатор PICkit 2 (Programmer Select Programmer).

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

НЕХ-файл для программирования загружают в буферную память среды разработки, открыв пункт меню File→Import, и переписывают из буфера в программную память микроконтроллера командой Programmer→Program.

Для чтения содержимого памяти микроконтроллера в буфер выполняют команду Programmer→Read. Чтобы записать прочитанное в НЕХ-файл, нужно выбрать пункт меню File→Export.

На закладке Memory Areas открывшегося окна следует указать области памяти микроконтроллера, содержимое которых должно быть записано в файл, а на закладке File Format — формат создаваемого НЕХ-файла (обычно выбирают INHX32).

Собственно операцию записи выполняют нажатием на экранную кнопку ОК.

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

В MPLAB IDE для программатора PICkit 2 имеется дополнительная панель с «быстрыми» кнопками, дублирующими нужные для работы с ним пункты меню. При наведении курсора на эти кнопки появляются подсказки, поясняющие выполняемые функции.

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

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

Еще одно преимущество — более удобное, чем при работе с оболочкой «PICkit 2 Programmer» — представление разрядов слова конфигурации в соответствующем окне.

Автор Т. НОСОВ

Источник: https://radioparty.ru/prog-pic/368-pickit-lite

Внутрисхемный USB программатор-отладчик PICkit2

Внутрисхемный USB программатор-отладчик-анализатор PICkit2

Для начала освоения и практического применения микроконтроллеров разработчику необходим дешевый и доступный инструментарий. Интернет наводнен различными схемами простых программаторов и каждый «совершенствует» их под то, что есть под рукой и выкладывает на всеобщее обозрение новый клон «универсального программатора» который точно работает, например, с контроллером PIC16F84, но желающие могут проверить работу со всеми остальными контроллерами. Поэтому наиболее частые вопросы на всевозможных форумах посвященных электронике звучат примерно так: «Помогите разобраться со схемой программатора взятой с сайта www…. !!! Вчера отлично работал с контроллером ууу, а сегодня с xxx отказывается работать!!! В чем причина???». Или «перепробовал mmm схем программаторов, ни один не работает! Дайте ссылку на проверенный программатор!!!»

Компания Microchip Technology Inc. выпустила дешевый программатор для новичков PICkit2, схема которого, и программное обеспечение в исходных кодах выложены на сайте www.microchip.com/pickit2. Следует обратить внимение, что в отличии от всевозможных самоделок, PICkit2 также является полноценным отладчиком и имеет ряд дополнительный функций анализатора.

Программатор PICkit2 построен на базе контроллера PIC18F2550 с поддержкой USB 2.0, поэтому удалось создать дешевый программатор/отладчик, который получает питание от USB и не требует дополнительного источника питания. Через USB порт так же осуществляется обновление прошивки программатора, т.е. PICkit2 может сам обновить свое программное обеспечение без применения дополнительных средств. Программатор имеет компактные размеры и выполнен в форм-факторе брелка (см. рис. 1.)

Рис. 1. Внешний вид программатора PICkit2

1. светодиоды, показывающие режим работы программатора
2. кнопка
3. с помощью такого ушка программатор можно носить как брелок 😉
4. разъем mini USB
5. маркировка 1-го вывода разъема программатора
6. разъем для подключения программируемого устройства

Программатор PICkit2 служит для внутрисхемного программирования/отладки большинства Flash микроконтроллеров Microchip. Типовая схема подключения приведена на рис.2. Назначение выводов программатора:
1. Vpp/MCLR –напряжение программирования, сигнал сброса
2. Vdd – напряжение питания для программируемой схемы
3. Vss – «земляной» вывод
4. ICSPDAT/PGD – сигнал данных
5. ICSPCLK/PGC – сигнал тактирования
6. AUX – вспомогательный вывод, как правило не используется

Рис.2. Типовая схема подключения внутрисхемного программатора

PICkit 2 работает под управлением своей собственной оболочки или под управлением среды разработки MPLAB IDE. При работе программатора/отладчика под управлением оболочки “PICkit 2 Programmer” PICkit2 позволяет стирать, программировать и проверять память программ и EEPROM, устанавливать защиту кода, редактировать содержимое Flash и EEPROM микроконтроллеров, а также программировать микросхемы памяти EEPROM, CAN-драйверы и ключи Keeloq. Помимо этих стандартных функций, программатор PICkit2 позволяет осуществлять ряд интересных действий.

Рис. 3. Программа “PICkit 2 Programmer”

Дополнительные возможности программатора PICkit2
Программатор PICkit 2 может формировать напряжение питание для схемы в диапазоне напряжений от 2.5 до 5В с шагом 0.1В. Это полезная особенность, т.к. вы можете отлаживать различные устройства, не отключая устройство от программатора, а питание будет осуществляться от самого программатора.

Внимание! USB порт компьютера может выдавать ток до 100мА. Если подключенное к PICkit2 устройство потребляет больший ток, то USB порт автоматически выключится. Если вам нужно получить ток больше чем 100мА, то используйте внешний источник питания для отлаживаемого устройства.

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

Для устройств с внешним сбросом оболочка программатора позволяет управлять сигналом сброса микроконтроллера.

В меню «Tools” можно включить опцию ”Use VPP First Program Entry», это может понадобиться для контроллеров, конфигурация которых и настройка портов не позволяет войти в режим программирования (например, для контроллеров PIC12F675 с включенным внутренним сбросом и портами, подключенными к PGD и PGC, настроенными на выход). Попробуйте включить эту опцию, если программатор выдает ошибку проверки конфигурации (‘Verification of configuration failed.’).

Некоторые микроконтроллеры PIC12F и PIC16F имеют внутренний RC-генератор, калибровочная константа для которого хранится по последнему адресу в памяти программ микроконтроллера. Как правило, «правильные» программаторы, при программировании таких микроконтроллеров, сначала считывают калибровочную константу, затем стирают микроконтроллер, а затем программируют его пользовательской программой с запомненной константой. Если по каким-либо причинам константа утеряна, то PICkit2 (версии ПО 1.хх) поможет восстановить калибровку генератора. Для этого в микроконтроллер записывается специальная программа, которая генерирует на выводе микроконтроллера меандр, программатор PICkit2 измеряет частоту и рассчитывает калибровочную константу, которая затем может быть записана в микроконтроллер.

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

Рис. 4. Окно “UART Tool” программы “PICkit 2 Programmer”

Для того чтобы использовать UART Tool, нужно сделать следующие соединения к разъему программатора PICkit2:

Выводы программатора PICkit 2

выводы микроконтроллера UART

(1) VPP

(2) Vdd

Напряжение питания

(3) GND

GND

(4) PGD

TX UART — логический уровень

(5) PGC

RX UART — логический уровень

(6) AUX

Замечания:
PICkit2 не может обеспечивать питанием отлаживаемую плату когда используется UART Tool. Вывод Vdd программатора PICkit2 должен быть подключен к напряжению питания отлаживаемой платы.
Сигналы TX и RX проинвертированны, т.е. уровень Start Bit = GND, Stop Bit = Vdd. Программатор PICkit 2 нельзя подсоединять к сигналам RS-232 (+/-12В).

Logic Tool позволяет создавать воздействия и отслеживать состояние сигналов разрабатываемого устройства. Поддерживается 2 режима: Logic I/O и Analyzer. Подключив соответствующие каналы PICkit2 к сигнальным линиям разрабатываемого устройства, «Logic I/O» позволяет формировать логические уровни (4 канала) и осуществлять мониторинг состояния уровней цифровых сигналов (3 канала), а «Analyzer» отображенать формы до трех цифровых сигналов, с возможностью старта их записи по заданному условию (нарастание/спад фронта сигнала, низкий/высокий уровень), а также по комбинации нескольких условий.

Рис. 5. Окно “Logic Tool” в режимах Analyzer и Logic I/O программы “PICkit 2 Programmer”

В оболочке PICkit2, каждому отладчику/программатору PICkit2 можно назначить собственное имя для идентификации, что позволяет использовать несколько PICkit2 для отладки одного контроллера. При этом, например, один может быть использован утилитой Logic Tool, второй — UART Tool, третий, как отладчик и т.д.

PICkit 2 Programmer-To-Go позволяет, записав в память PICkit2 программу «прошивки» микроконтроллера, программировать любой PIC, за исключением PIC32, нажатием одной кнопки, без использования ПК (необходимо только питание по USB от ПК или автономного USB-источника питания).

 

Утилита для работы с программатором-отладчиком PICkit 2 из командной строки
Утилита позволяет программировать все контроллеры, которые поддерживает последняя версия GUI-оболочки PICkit 2, микросхемы EEPROM с последовательным интерфейсом, KEELOQ-кодеры. При этом поддерживается несколько подключенных к ПК PICkit2, с идентификацией по Unit ID.
С помощью ключей запуска выбирается тип контроллера, устанавливается напряжение питания, читать, программировать и верифицировать Flash и EEPROM память контроллера. Утилиту можно использовать для интеграции программатора в автоматизированные системы, сторонние редакторы кода.
Утилита тестировалась на совместимость с операционными системами Windows XP SP2 и Windows Vista.
Архив с утилитой PKtoCMD v.1.10 доступен по ссылке (100 КБ): http://ww1.microchip.com/downloads/en/DeviceDoc/PK2CMDv1-10.zip

Работа под средой разработки MPLAB IDE
Обычно разработчики, использующие PIC контроллеры, используют в качестве среды разработки MPLAB IDE так как MPLAB IDE это мощный и бесплатный инструментарий для разработки и отладки программ для PIC микроконтроллеров. MPLAB IDE включает в себя редактор, программный симулятор, позволяет подключать Си компиляторы различных производителей, работает совместно с программаторами и эмуляторами Microchip. Программатор PICkit2 также поддерживается средой разработки MPLAB IDE, однако список поддерживаемых контроллеров не такой обширный, но зато появляется возможность внутрисхемной отладки некоторых популярных микроконтроллеров.
Внутрисхемное программирование под средой разработки MPLAB IDE сходно с программированием из-под оболочки PICkit2: можно записывать и считывать отдельно память программ и EEPROM, стирать память микроконтроллера и проверять ее на чистоту.
Для внутрисхемной отладки используются те же самые выводы микроконтроллера, что и для программирования, поэтому никаких переделок в схеме не нужно. Для включения режима отладки нужно в меню Debugger -> Select Tool выбрать PICkit2.

Рис.6. Окно среды разработки MPLAB IDE, использование программатора PICkit 2 в качестве внутрисхемного отладчика

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

Рис.7. Окно среды разработки MPLAB IDE, использование программатора PICkit 2 в качестве внутрисхемного отладчика

Варианты поставок PICkit2
Компания Microchip Technology Inc. поставляет программатор PICkit2 в разных комплектациях.

Номер заказа

Описание

PG164120

программатор PICkit2

DV164120

программатор PICkit2 + демонстрационная плата с PIC16F690

DV164121

PICkit2 Debug Express (программатор PICkit2 + демонстрационная плата с PIC16F887)

Комплект DV164120, помимо программатора, содержит демонстрационную плату с установленным контроллером PIC16F690, и, за счет совместимости по выводам, позволяет работать с любыми PIC-контроллерами в корпусах DIP-8, DIP-14 и DIP-20.

Рис.8. Совместимость по выводам контроллеров в 8-, 14- и 20-и выводных корпусах

Программатор-отладчик PICkit2 является весьма мощным и универсальным отладочным средством для микроконтроллеров Microchip, но в то же время имеет доступную цену и даже, при желании, может быть легко повторен по документации предоставляемой Microchip. Программатор PICkit2 активно поддерживается производителем двумя платформами: оболочкой PICkit2 и средой разработки MPLAB IDE, причем с каждым апгрейдом добавляются все новые и новые функции, а способность программатора обновлять свое ПО, дает возможность произвести обновление меньше чем за минуту. Помимо функций программирования микроконтроллеров и микросхем памяти, PICkit2 может использоваться как отладочное средство, а именно как внутрисхемный отладчик, отладчик протоколов UART или анализатор сигналов, и, надеемся, в следующих обновлениях Microchip порадует нас новыми функциями!

Компактный программатор PICKit2 и его отладочные платы.

Компактный программатор PICKit2 и его отладочные платы.

В линейке Microchip имеется несколько устройств, предназначенных для программирования микроконтроллеров PIC. Отличаются они по своим возможностям и цене. Самым доступным считается программатор PICKit2. Благодаря низкой стоимости и значительным функциональным возможностям, этот устройство стало очень популярным в среде радиолюбителей. О популярности PICKit2 можно судить по многочисленным клонам, количество которых приближается к таковым от более серьезного программатора ICD. Также в сети существует несколько сайтов, посвященных этой разработке Microchip.

Описание PICKit2

PICKit2, а сейчас и новая версия PICKit3, представляют собой компактный внутрисхемный программатор, поддерживающий большинство микроконтроллеров, выпускаемых Microchip. Для некоторых кристаллов доступно не только программирование , но и внутрисхемная отладка проектов. С компьютером, программаторы серии PICKit, связываются посредством стандартного USB интерфейса. Это в значительной мере 

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

Так как PICKit2 разработан в Microchip, его поддержка включена в фирменную IDE под названием MPLAB. Имеется также внешняя оболочка, с помощью которой можно прошивать файлы, подготовленные в иных системах разработки.

 

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

 

Отладочные платы

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

  • DM164120-1 Low Pin Count Demo Board. Плата предназначена для разработки устройств на микроконтроллерах с количеством выводов 8,14,20.
  • DM164120-2 44-Pin Demo Board. Плата содержит микроконтроллер PIC16F887. Также имеется макетное поле для компонентов поверхностного монтажа.
  • DM164120-3 28-Pin Demo Board. Плата содержит микроконтроллер PIC16F8860. Микроконтроллер и макетное поле для штыревого монтажа.
  • DM164120-4 18-Pin Demo Board. Плата содержит микроконтроллер PIC16F1827. По своей структуре напоминает DM164120-1.
  • DM164120-4 PIC18 J-Series 64/80-Pin Demo Board. Самая серьезная отладочная плата из данной серии содержит микроконтроллер PIC18F87J10.

Также, программатор PICKit2 может быть использован и с другими устройствами, как производства Microchip, так и сторонних разработчиков, например PIC-MT-USB или Amicus18.

Отладочная плата DM164120-1

Данная плата стала самой первым, и самым простым устройством, используемым совместно с PICKit2. Плата предназначена для работы с микроконтроллерами в корпусе DIP8, DIP14, DIP20. В комплект поставки входит микроконтроллер PIC16F690.

На плате установлены следующие устройства:

  • Панелька для целевых микроконтроллеров
  • PLD разъем, на который выведены все вывода микроконтроллера в корпусе DIP14.
  • Разъем программатора
  • Разъем внешнего питания с перемычкой выбора
  • Пользовательская кнопка
  • 4 светодиода с перемычками подключения к МК
  • Потенциометр
  • Макетное поле

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

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

В настоящее время на смену PICKit2 пришла новая модель PICKit3. Ее сердцем стал микроконтроллер серии PIC24. Основным достоинством PICKit3 считается полная поддержка новых. 32-разрядных микроконтроллеров PIC32. Поэтому, несмотря на то, что PICKit2 еще можно найти в продаже, он уже фактически стал историей. Тем не менее вторая версия еще послужит, так как младшие семейства Microchip она шьет без проблем.

You have no rights to post comments

Универсальный usb программатор мк своими руками. Программаторы микроконтроллеров AVR. Собрать COM программатор не составит труда

Я немного увлекся гальванопластикой (про это еще расскажу), и для нее мне понадобился новый блок питания. Требования к нему примерно такие – 10А выходного тока при максимальном напряжении порядка 5В. Конечно-же, взгляд сразу упал на кучу ненужных компьютерных блоков питания.

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

Внимание! Несмотря на то, что складывается впечатление, что этот проект — для новичков, ничего подобного – проект довольно сложный! Имейте ввиду.

Конструкция

Мощность того блока питания, который я вытащил из-под кровати – 250Вт. Если я сделаю БП 5В/10А, то пропадает драгоценная моща! Не дело! Подымем напряжение до 25В, может сгодится, к примеру, для зарядки аккумуляторов – там нужно напряжение порядка 15В.

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

Мне мою схему подкинул друг. Вот она. (Откроется в новом окне)

Да-да, нам придется лазить во всех этих кишках. В этом нам поможет даташит на TL494

Итак, первое, что нам нужно сделать – проверить, какое максимальное напряжение может выдать блок питания по шинам +12 и +5 вольт. Для этого удаляем предусмотрительно помещенную производителем перемычку обратной связи.

Резисторы R49-R51 подтянут плюсовой вход компаратора к земле. И, вуаля, у нас на выходе – максимальное напряжение.

Пытаемся стартовать блок питания. Ага, без компьютера не стартует. Дело в том, что его нужно включить, соединив вывод PS_ON с землей. PS_ON обычно подписан на плате, и он нам еще понадобится, поэтому не будем его вырезать. А вот непонятную схему на Q10, Q9 и Q8 отключим – она использует выходные напряжение и, после их вырезания не даст нашему БП запуститься. Мягкий старт у нас будет работать на резисторах R59, R60 и конденсаторе C28.

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

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

Итак, подучилось по +12В – 24В, а по +5В – 9.6В. Похоже, запас по напряжению ровно в 2 раза. Ну и прекрасно! Ограничим выходное напряжение нашего БП на уровне 20В, а выходной ток – на уровне 10А. Таким образом, получаем максимум 200Вт мощи.

С параметрами, вроде бы, определились.

Теперь нужно сделать управляющую электронику. Жестяной корпус БП меня не удовлетворил(и, как оказалось, зря) – он так и норовит поцарапать что-то, да еще и соединен с землей (это помешает мерить ток дешевыми операционниками).

В качестве корпуса, я выбрал Z-2W, конторы Maszczyk

Я измерил излучаемый блоком питания шум – он оказался вполне небольшим, так что, вполне можно использовать пластиковый корпус.

После корпуса я сел за Corel Draw и прикинул, как должна выглядеть передняя панель:

Электроника

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

В качестве основного источника питания для своей электроники я выбрал standby источник. Было замечено, что если его хорошенько нагрузить, то он перестает пищать, поэтому идеальными оказались 7-сегментные индикаторы — и блок питания подгрузят и напряжение с током покажут.

Фальш-панель :

На ней индикаторы, потенциометры, светодиод. Для того, чтобы не тащить кучу проводов к 7-сегментникам, я использовал сдвиговые регистры 74AC164. Почему AC, а не HC ? У HC максимальный суммарный ток всех ножек – 50мА, а у AC – по 25мА на каждую ножку. Ток индикаторов я выбрал 20мА, тоесть 74HC164 точно бы не хватило по току.

Управляющая электроника – тут все слегка посложнее.

В процессе составления схемы, я конкретно налажал, за что и поплатился кучей перемычек на плате. Вам-же предоставляется исправленная схема.

Если кратко, то – U1A – диф. усилитель тока. При максимальном тока, на выходе получается 2.56В, что совпадает с опорным у АЦП контроллера.

U1B – собственно токовый компаратор – если ток превышает порог, заданный резисторами, tl494 “затыкается”

U2A – индикатор того, что БП работает в режиме ограничения тока.

U2B – компаратор напряжения.

U3A, U3B – повторители с переменников. Дело в том, что переменники относительно высокоомные, да еще и сопротивление их меняется. Это значительно усложнит компенсацию обратной связи. А вот если их привести к одному сопротивлению, то все становится значительно проще.

С контроллером все понятно – это банальная атмега8, да еще и в дипе, которая лежала в загашнике. Прошивка относительно простая, и сделана между паяниями левой лапой. Но, нем не менее, рабочая.

Контроллер работает на 8МГц от RC генератора (нужно поставить соответствующие фюзы)

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

Переделка выходной части

Выбрасываем все лишнее. Схема получается такой (кликабельно):

Синфазный дроссель я немного переделал – соединил последовательно обмотку которая для 12В и две обмотки для 5в, в итоге получилось около 100мкГн, что дофига. Еще я заменил конденсатор тремя включенными параллельно 1000мкФ/25В

После модификации, выход выглядит так:

Настройка

Запускаем. Офигиваем от количества шума!

300мВ! Пачки, похоже на возбуждение обратной связи. Тормозим ОС до предела, пачки не исчезают. Значит, дело не в ОС

Долго тыкавшись, я нашел, что причина такого шума – провод! О_о Простой двужильный двухметровый провод! Если подключить осциллограф до него, или включить конденсатор прямо на щуп осциллографа, пульсации уменьшаются до 20мВ! Это явление я толком не могу объяснить. Может, кто-то из вас, поделится? Теперь, понятно что делать – в питающейся схеме должен быть конденсатор, и конденсатор нужно повесить непосредственно на клеммы БП.

Кстати, насчет Y – конденсаторов. Китайцы сэкономили на них и не поставили. Итак, выходное напряжение без Y-конденсаторов

А теперь – с Y конденсатором:

Лучше? Несомненно! Более того, после установки Y – конденсаторов сразу-же перестал глючить измеритель тока!

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

Обратная связь.

Про нее я написал , читайте

Охлаждение

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

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

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

Откуда брать питание для вентилятора? Вот и я долго думал, но таки придумал. tl494 питается от источника напряжением 25В. Берем его (с перемычки J3 на схеме) и понижаем стабилизатором 7812.

Для продуваемости пришлось вырезать крышку под 120мм вентилятор, и прицепить соответствующую решетку, а сам вентилятор поставить на 80мм. Единственное место, где это можно было сделать – это верхняя крышка, а поэтому конструкция получилась очень плохая – с верху может упасть какая-то металлическая хрень и замкнуть внутренние цепи блока питания. Ставлю себе 2 балла. Не стоило уходить от корпуса блока питания! Не повторяйте моих ошибок!

Вентилятор никак не крепится. Его просто прижимает верхняя крышка. Так вот хорошо с размерами я попал.

Результаты

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

Я попытался описать подводные камни, на которые сам нарвался. Надеюсь, вы не повторите их! Удачи!

Рассказать в:
Регулируемый блок питания с компьютерного блока питания АТХ (АТХ- это с дежуркой) Имеется масса информации в интернете о переделке блока питания (БП) от компьютера тип АТ и АТХ. Но я решил выделить наиболее важную информацию и составить совою статью из всего, что нашел в интернете специально для сайта cxema.my1.ru В первую очередь смотрим на качество собранного БП «Китайцами)))». Нормальный БП должен выглядеть примерно так На что стоит обратить внимание, это на высоковольтную часть БП. Там должны стоять сглаживающие конденсаторы и дросселя (Они сглаживают импульсный выброс в сеть), так же на диодный мостик он должен быть не менее 2А и конденсаторы после моста (Я обычно ставлю по 680 мкФ/200В или 330 мкФ/200В исходя из востребованной мощности), если вы хотите получить с БП 300 Вт (30В/10А) то нужно ставить не меньше 600 мкФ. Естественно нужно обратить внимание на силовые ключи Q1-2 и демпферную цепь С8R4. Q1-2 обычно ставим MJE13007- MJE13009 (Есть статьи и о переделке схемы под полевые транзисторы). Демпферная цепь С8R4, я заметил, что при регулировке БП R4 этой цепи сильно греется, решилось подбором С8. Далее переделку БП нужно продолжать с внимательного изучения схемы самого БП (хотя схемы почти одинаковы, но все же стоит) от этого зависит вся последующая работа. Необходимо обратить особое внимание на несколько вещей в изучении схемы: система защиты (4-й вывод ШИМ-контроллера), Система Power Good (ее можно просто убрать), усилитель ошибок по току (15,16,3 выводы ШИМ), усилитель ошибок по напряжению (1,2,3 выводы ШИМ) и также выходная цепь БП (Тут нужно будет переделывать все). Рассмотрим по порядку каждый пункт. Системы защиты (4-й вывод) Схема взята из статьи Голубева drive2.ru
Это типичная схема (Хотя бывают и другие), что тут происходит. При увеличении нагрузки на инверторе свыше допустимой, увеличивается ширина импульсов на среднем выводе развязывающего трансформатора T2. Диод D1 детектирует их, и на конденсаторе C1 увеличивается отрицательное напряжение. Достигнув определённого уровня (примерно -11 В), оно открывает транзистор Q2 через резистор R3. Напряжение +5 В через открытый транзистор поступит на вывод 4 контроллера, и остановит работу его генератора импульсов. Из схемы выпаиваются все диоды и резисторы, подходящие от вторичных выпрямителей к базе Q1, и устанавливается стабилитрон D3 на напряжение 22 В (Или большего напряжения), например, КС522А, и резистор R8. В случае аварийного увеличения напряжения на выходе блока питания выше 22 В, стабилитрон пробьётся и откроет транзистор Q1. Тот в свою очередь откроет транзистор Q2, через который на вывод 4 контроллера поступит напряжение +5 В, и остановит работу его генератора импульсов. Если вам не нужна защита, то можно просто все выпаять и замкнуть вывод 4 на корпус через резистор (схема будет ниже). Система Power Good я обычно ее просто выпаиваю. Усилитель ошибок по току (15,16,3 выводы ШИМ) — это и есть регулировка выходного тока. Но не значит что на этом можно не переживать о защите от КЗ. Усилитель ошибок по напряжению (1,2,3 выводы ШИМ) — Это регулировка выходного напряжения. Об этих двух вещах и пойдет дальше речь т.к. одно из самых главных вещей в этом деле. И так регулировка напряжения. (Тут же схема защиты)
Эта схема составлена без регулировки тока. 14-й вывод ШИМ — это опорное напряжение. А выводы 2,1 это входа ОУ по напряжению. Вся регулировка осуществляется с помощью делителей напряжения. На вывод 2 мы подаём образцовое напряжение с 14-го вывода через делитель R5R6 по 3,3 кОм. Данный делитель рассчитан на напряжение 2,4В. Далее выходное напряжение со вторичной цепи нам нужно подать на первый вывод ШИМ и также через делитель, но уже через переменный. Переменный резистор R1 и постоянный R3. На моем БП вышла регулировка от 2-24 Вольт. Напряжение на выходе зависит еще и от силового трансформатора и выходной цепи, но об этом позже. Вернемся к нашей Шимке, настройка регулировки напряжения на этом не заканчивается. Нам нужно еще обратить внимание на 3 вывод ШИМ, это выход ОУ и ему нужно сделать ООС на 2 ногу для плавной регулировки и убрать шум, треск и прочий не приятный звук трансформатора. У меня она собрана на C4R3 и C1. Хотя за частую хватает и C4R3, но из-за множества разнообразия «китайских делателей», нужно иногда добавлять кондерчик обычно на 1мкф хватает, но иногда доходит и до 5мкф. Цепи C4R3 и C1 нужно подбирать так чтобы не было шума в тр-ре, но если все же он остается, то нужно обратить внимание на дроссель вторичной цепи, бывает нарушение сердечника, но об этом мы еще поговорим. Да о защите, я ее тут убрал и поставил резистор на 2 кОм R4. Теперь о регулировке тока В принципе регулировка тока, это тоже регулировка напряжения. С помощью делителя, но только тут уже изменяется опорное напряжение и идет слежение падения напряжения на амперметре (или шунте). В принципе нечего нового нет относительно регулировки напряжения нет, только С1 нужен обязательно и возможно последовательно ему нужно будет добавить резистор, но это уже зависит от ШИМ и Тр-ра. Общая схема регулировки работоспособна на 100% проверенная практике, если у вас схема не работает стабильно или не совсем правильно значит нужно: 1. Подобрать номиналы под Вашу ШИМ и тр-р, 2. Искать ошибки в сборке и дорабатывать. Опять же повторяюсь на практике показало, что китайские ШИМ и БП в целом реагируют на изменения в схемах по-разному. Все нужно настраивать методом подбора и расчётов. В БП АТХ питание ШИМ и разделительного трансформатора осуществляется с Дежурного питания оно может достегать 25 В и подается в цепь 12 вывода ШИМ. Многие считают что диод во вторичной цепи Силового ТР-РА идущий на 12 вывод нужно убирать. Я считаю, что лучше оставить эту цепь, это дает дополнительную уверенность сохранения силовых ключей при выходе их строя дежурного питания. Теперь о вторичной цепи Наилучшая схема переделки мне показалась С. Голубева (Driver2.ru)
Хотя вентилятор на пяти вольтовую обмотку не повесить, потому что там также будет изменяться напряжение, да и еще не нет обратной связи с ШИМ и поэтому да при нагрузке с током в 0,15А напряжение будет падать ощутимо. Теперь о самой схеме выходного напряжения. Менять распиновку тр-ра и ставить диодный мост нет смысла. Т.к. напряжение увеличиться, а мощность падает. Поэтому я предпочитаю такую схему, да и потом переделок меньше. Выпрямительные диоды D3 должны быть на ток не менее 10 А и обратное напряжение не менее 200 Вольт. Это могут быть STPR1020CT,F12C20.ER1602CT. Диод D4, это и есть (как я называю) вспомогательная цепь питания ШИМ и Защиты Vcc и Vdd. Индуктивность L1 кольцевой при желании можно оставить старый (Если конечно он работает нормально), но я перематываю тем же проводом + провод с пяти вольтовой цепи. Индуктивность L2 обычно оставляю без измерения. Конденсаторы C5C6 не стоит ставить номиналом более 2200 мкф нет смысла. Я обычно ставлю по 1000мкф и хватает вполне. Неполярные С4С7 можно при желании поднять до 1 мкф, но я также не увидел большой разницы. А вот резистор R5 не стоит ставить менее 300 Ом будет просто греться при напряжении более 10 В, но и не более 500 Ом. Этот резистор дает так сказать балансировку БП. Вот собственно и все самое главное в переделке БП. Акцентирую опять же внимание на том, что не все БП легко и просто поддаются переделке и настройке. Поэтому нужно внимательно изучать схему и информацию по переделке. Отдельно в архиве собраны схемы по переделке БП. Раздел:

Какие первые шаги должен сделать радиолюбитель, решивший собрать схему на микроконтроллере? Естественно, необходима управляющая программа — «прошивка», а также программатор.

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

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

Основная часть.

Панель установки МК.

Исходная схема взята с сайта LabKit.ru с разрешения автора, за что ему большое спасибо. Это так называемый клон фирменного программатора PICkit2. Так как вариант устройства является «облегчённой» копией фирменного PICkit2, то автор назвал свою разработку PICkit-2 Lite , что подчёркивает простоту сборки такого устройства для начинающих радиолюбителей.

Что может программатор? С помощью программатора можно будет прошить большинство легкодоступных и популярных МК серии PIC (PIC16F84A, PIC16F628A, PIC12F629, PIC12F675, PIC16F877A и др.), а также микросхемы памяти EEPROM серии 24LC. Кроме этого программатор может работать в режиме USB-UART преобразователя, имеет часть функций логического анализатора. Особо важная функция, которой обладает программатор — это расчёт калибровочной константы встроенного RC-генератора некоторых МК (например, таких как PIC12F629 и PIC12F675).

Необходимые изменения.

В схеме есть некоторые изменения, которые необходимы для того, чтобы с помощью программатора PICkit-2 Lite была возможность записывать/стирать/считывать данные у микросхем памяти EEPROM серии 24Cxx.

Из изменений, которые были внесены в схему. Добавлено соединение от 6 вывода DD1 (RA4) до 21 вывода ZIF-панели. Вывод AUX используется исключительно для работы с микросхемами EEPROM-памяти 24LС (24C04, 24WC08 и аналоги). По нему передаются данные, поэтому на схеме панели программирования он помечен словом «Data». При программировании микроконтроллеров вывод AUX обычно не используется, хотя он и нужен при программировании МК в режиме LVP.

Также добавлен «подтягивающий» резистор на 2 кОм, который включается между выводом SDA и Vcc микросхем памяти.

Все эти доработки я уже делал на печатной плате, после сборки PICkit-2 Lite по исходной схеме автора.

Микросхемы памяти 24Cxx (24C08 и др.) широко используются в бытовой радиоаппаратуре, и их иногда приходится прошивать, например, при ремонте кинескопных телевизоров. В них память 24Cxx применяется для хранения настроек.

В ЖК-телевизорах применяется уже другой тип памяти (Flash-память). О том, как прошить память ЖК-телевизора я уже рассказывал . Кому интересно, загляните.

В связи с необходимостью работы с микросхемами серии 24Cxx мне и пришлось «допиливать» программатор. Травить новую печатную плату я не стал, просто добавил необходимые элементы на печатной плате. Вот что получилось.

Ядром устройства является микроконтроллер PIC18F2550-I/SP .

Это единственная микросхема в устройстве. МК PIC18F2550 необходимо «прошить». Эта простая операция у многих вызывает ступор, так как возникает так называемая проблема «курицы и яйца». Как её решил я, расскажу чуть позднее.

Список деталей для сборки программатора. В мобильной версии потяните таблицу влево (свайп влево-вправо), чтобы увидеть все её столбцы.

Название Обозначение Номинал/Параметры Марка или тип элемента
Для основной части программатора
Микроконтроллер DD1 8-ми битный микроконтроллер PIC18F2550-I/SP
Биполярные транзисторы VT1, VT2, VT3 КТ3102
VT4 КТ361
Диод VD1 КД522, 1N4148
Диод Шоттки VD2 1N5817
Светодиоды HL1, HL2 любой на 3 вольта, красного и зелёного цвета свечения
Резисторы R1, R2 300 Ом
R3 22 кОм
R4 1 кОм
R5, R6, R12 10 кОм
R7, R8, R14 100 Ом
R9, R10, R15, R16 4,7 кОм
R11 2,7 кОм
R13 100 кОм
Конденсаторы C2 0,1 мк К10-17 (керамические), импортные аналоги
C3 0,47 мк
Электролитические конденсаторы C1 100 мкф * 6,3 в К50-6, импортные аналоги
C4 47 мкф * 16 в
Катушка индуктивности (дроссель) L1 680 мкГн унифицированный типа EC24, CECL или самодельный
Кварцевый резонатор ZQ1 20 МГц
USB-розетка XS1 типа USB-BF
Перемычка XT1 любая типа «джампер»
Для панели установки микроконтроллеров (МК)
ZIF-панель XS1 любая 40-ка контактная ZIF-панель
Резисторы R1 2 кОм МЛТ, МОН (мощностью от 0,125 Вт и выше), импортные аналоги
R2, R3, R4, R5, R6 10 кОм

Теперь немного о деталях и их назначении.

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

Для придания устройству универсальности и надёжности используется USB-розетка XS1 типа «B» (квадратная). В компьютере же используется USB-розетка типа «А». Поэтому перепутать гнёзда соединительного кабеля невозможно. Также такое решение способствует надёжности устройства. Если кабель придёт в негодность, то его легко заменить новым не прибегая к пайке и монтажным работам.

В качестве дросселя L1 на 680 мкГн лучше применить готовый (например, типов EC24 или CECL). Но если готовое изделие найти не удастся, то дроссель можно изготовить самостоятельно. Для этого нужно намотать 250 — 300 витков провода ПЭЛ-0,1 на сердечник из феррита от дросселя типа CW68. Стоит учесть, что благодаря наличию ШИМ с обратной связью, заботиться о точности номинала индуктивности не стоит.

Напряжение для высоковольтного программирования (Vpp) от +8,5 до 14 вольт создаётся ключевым стабилизатором. В него входят элементы VT1, VD1, L1, C4, R4, R10, R11. С 12 вывода PIC18F2550 на базу VT1 поступают импульсы ШИМ. Обратная связь осуществляется делителем R10, R11.

Чтобы защитить элементы схемы от обратного напряжения с линий программирования в случае использования USB-программатора в режиме внутрисхемного программирования ICSP (In-Circuit Serial Programming) применён диод VD2. VD2 — это диод Шоттки . Его стоит подобрать с падением напряжения на P-N переходе не более 0,45 вольт. Также диод VD2 защищает элементы от обратного напряжения, когда программатор применяется в режиме USB-UART преобразования и логического анализатора.

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

Компактность устройству придаёт универсальная ZIF-панель (Zero Insertion Force — с нулевым усилием установки).

Благодаря ей можно «зашить» МК практически в любом корпусе DIP.

На схеме «Панель установки микроконтроллера (МК)» указано, как необходимо устанавливать микроконтроллеры с разными корпусами в панель. При установке МК следует обращать внимание на то, чтобы микроконтроллер в панели позиционируется так, чтобы ключ на микросхеме был со стороны фиксирующего рычага ZIF-панели.

Вот так нужно устанавливать 18-ти выводные микроконтроллеры (PIC16F84A, PIC16F628A и др.).

А вот так 8-ми выводные микроконтроллеры (PIC12F675, PIC12F629 и др.).

Если есть нужда прошить микроконтроллер в корпусе для поверхностного монтажа (SOIC), то можно воспользоваться переходником или просто подпаять к микроконтроллеру 5 выводов, которые обычно требуются для программирования (Vpp, Clock, Data, Vcc, GND).

Готовый рисунок печатной платы со всеми изменениями вы найдёте по ссылке в конце статьи. Открыв файл в программе Sprint Layout 5.0 можно с помощью режима «Печать» не только распечатать слой с рисунком печатных проводников, но и просмотреть позиционирование элементов на печатной плате. Обратите внимание на изолированную перемычку, которая связывает 6 вывод DD1 и 21 вывод ZIF-панели. Печатать рисунок платы необходимо в зеркальном отображении .

Изготовить печатную плату можно методом ЛУТ, а также маркером для печатных плат , с помощью цапонлака (так делал я) или «карандашным» методом .

Вот рисунок позиционирования элементов на печатной плате (кликабельно).

При монтаже первым делом необходимо запаять перемычки из медного лужёного провода, затем установить низкопрофильные элементы (резисторы, конденсаторы, кварц, штыревой разъём ISCP), затем транзисторы и запрограммированный МК. Последним шагом будет установка ZIF-панели, USB-розетки и запайка провода в изоляции (перемычки).

«Прошивка» микроконтроллера PIC18F2550.

Файл «прошивки» — PK2V023200.hex необходимо записать в память МК PIC18F2550I-SP при помощи любого программатора, который поддерживает PIC микроконтроллеры (например, Extra-PIC). Я воспользовался JDM Programmator’ом JONIC PROG и программой WinPic800 .

Залить «прошивку» в МК PIC18F2550 можно и с помощью всё того же фирменного программатора PICkit2 или его новой версии PICkit3. Естественно, сделать это можно и самодельным PICkit-2 Lite, если кто-либо из друзей успел собрать его раньше вас:).

Также стоит знать, что «прошивка» микроконтроллера PIC18F2550-I/SP (файл PK2V023200.hex ) записывается при установке программы PICkit 2 Programmer в папку вместе с файлами самой программы. Примерный путь расположения файла PK2V023200.hex — «C:\Program Files (x86)\Microchip\PICkit 2 v2\PK2V023200.hex» . У тех, у кого на ПК установлена 32-битная версия Windows, путь расположения будет другим: «C:\Program Files\Microchip\PICkit 2 v2\PK2V023200.hex» .

Ну, а если разрешить проблему «курицы и яйца» не удалось предложенными способами, то можно купить уже готовый программатор PICkit3 на сайте AliExpress. Там он стоит гораздо дешевле. О том, как покупать детали и электронные наборы на AliExpress я писал .

Обновление «прошивки» программатора.

Прогресс не стоит на месте и время от времени компания Microchip выпускает обновления для своего ПО, в том числе и для программатора PICkit2, PICkit3. Естественно, и мы можем обновить управляющую программу своего самодельного PICkit-2 Lite. Для этого понадобится программа PICkit2 Programmer. Что это такое и как пользоваться — чуть позднее. А пока пару слов о том, что нужно сделать, чтобы обновить «прошивку».

Для обновления ПО программатора необходимо замкнуть перемычку XT1 на программаторе, когда он отключен от компьютера. Затем подключить программатор к ПК и запустить PICkit2 Programmer. При замкнутой XT1 активируется режим bootloader для загрузки новой версии прошивки. Затем в PICkit2 Programmer через меню «Tools» — «Download PICkit 2 Operation System» открываем заранее подготовленный hex-файл обновлённой прошивки. Далее произойдёт процесс обновления ПО программатора.

После обновления нужно отключить программатор от ПК и снять перемычку XT1. В обычном режиме перемычка разомкнута . Узнать версию ПО программатора можно через меню «Help» — «About» в программе PICkit2 Programmer.

Это всё по техническим моментам. А теперь о софте.

Работа с программатором. Программа PICkit2 Programmer.

Для работы с USB-программатором нам потребуется установить на компьютер программу PICkit2 Programmer. Это специальная программа обладает простым интерфейсом, легко устанавливается и не требует особой настройки. Стоит отметить, что работать с программатором можно и с помощью среды разработки MPLAB IDE, но для того, чтобы прошить/стереть/считать МК достаточно простой программы — PICkit2 Programmer. Рекомендую.

После установки программы PICkit2 Programmer подключаем к компьютеру собранный USB-программатор. При этом засветится зелёный светодиод («питание»), а операционная система опознает устройство как «PICkit2 Microcontroller Programmer» и установит драйвера.

Запускаем программу PICkit2 Programmer. В окне программы должна отобразиться надпись.

Если программатор не подключен, то в окне программы отобразится страшная надпись и краткие инструкции «Что делать?» на английском.

Если же программатор подключить к компьютеру с установленным МК, то программа при запуске определить его и сообщит нам об этом в окне PICkit2 Programmer.

Поздравляю! Первый шаг сделан. А о том, как пользоваться программой PICkit2 Programmer, я рассказал в отдельной статье. Следующий шаг .

Необходимые файлы:

Программатор – это аппаратно-программное устройство, которое служит для считывания или записи информации в запоминающее устройство (внутреннюю микроконтроллеров). В случае если радиолюбителю нужно один раз запрограммировать микроконтроллерное устройство, можно воспользоваться обычным программатором, который подключается к COM- или LPT- порту. Например, самым простым программатором AVR является кабель из 6 и 4 резисторов (программатор PonyProg).

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

Подключаются такие программаторы к компьютеру с помощью специальной программы (которая тоже называется программатором). Она передает с , а устройство только записывает ее в память микросхемы. Программаторы могут подключаться через последовательный или параллельный порт, через USB-разъем и т.д. Современные программаторы подключаются, как правило, через USB.

USB-программатор предназначен для программирования микропроцессорных устройств определенной компании (зависит от марки программатора) в собранном виде. С помощью него заметно упрощается процесс настройки ПО.

Как подключить USB-программатор?

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

Затем нужно установить драйвера, чтобы ОС могла корректно работать с данным устройством. После этого можно будет подключать микропроцессорное устройство к ISP интерфейсу. При программировании будет светиться второй светодиод.

Как правило, программатор имеет два интерфейса – один для подключения микроконтроллера, второй для подключения к компьютеру. Для того чтобы подключить микроконтроллер, можно воспользоваться режимом последовательного программирования ISP. А к компьютеру данное устройство подключается через стандартный USB-разъем.

Для управления программатором нужно устанавливать специальные программы. Лучше всего пользоваться оконными приложениями. Например, для работы с устройством можно использовать программы ExtremeBurner, Khazama, avrguge и другие.

Ну вот и пришло время нам соорудить USB программатор. Я долго не мог определиться какой бы программатор нам собрать. Выбирал по критериям простоты конструкции и удобства работы с ними, но ничего не нравилось. Выбрать программатор помог случай. Вернее я его не выбирал вообще – я его случайно собрал сам того не подозревая!

А дело было так. Некоторое количество постов назад мы собрали преобразователь USB to UART на ATtiny2313 (а в мы даже улучшили печатную плату). Еще при выборе схемы преобразователя я планировал на его базе (при помощи заливки различных прошивок) получать устройства различного назначения. Тогда я не подозревал, что данный преобразователь можно использовать шире, чем я планировал. Увидев схему USB программатора — USBtiny на ATtiny2313 я понял, что я уже имею готовый программатор!

Посмотрев на схему, сделанного ранее, преобразователя USB to UART (домашняя страничка)

и схему USB программатора USBTiny (домашняя страница)

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

Теперь все по порядку.
1 Для начала нужно собрать преобразователь (это если Вы его еще не собрали).
Вот рисунок печатной платы преобразователя:
Если интересно — вот .
В собранном виде преобразователь выглядит так:

2 Немного модифицируем плату
Для того, чтобы обеспечить все необходимые сигналы для программирования впаиваем защитные резисторы номиналом по 100 Ом в линии ножек 12, 16, 17, 18, 19 (номинал не критичен — можно варьировать).


3 Теперь нужно прошить микроконтроллер.
Линии для программатора выведены на общий разъем платы (кроме сброса — стоит отдельно).

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


Схема шлейфа проста.

Из особенностей — я вынес индикаторный светодиод и балластный резистор для него за плату на разъем — это для того, чтобы плату без перепайки можно было использовать для других устройств (ну и так прикольней — светодиод мигает прямо в разъеме:)). Кроме того, линия Vcc отделена от общего разъема — это на случай если программируемое устройство запитывается не от USB, а от своего источника (что, в принципе, желательно). Сигнальные линии (SCK, MISO, MOSI) желательно экранировать (например чередованием сигнальных и земляных линий в шлейфе). Длину шлейфа не стоит делать большой — до 50 см, не больше. Если нужно программировать удаленное устройство всегда можно применить USB удлинитель — так надежней. Вот мой готовый шнурок:


5 Сам программатор готов, теперь нужно установить драйвер для того, чтобы Винда смогла с ним работать (для Mac OS X & Linux, вродь-как, драйвера вообще не нужно). Тут все просто:

5.1 Скачиваем драйвер, разархивируем его.
Страничка с драйверами


5.2 Вставляем наш программатор в USB порт.



5.3 В трее появится сообщение о том, что найдено новое устройство.


5.4 Запустится мастер нового оборудования.


5.5 Указываем в окошке «место поиска» папку с драйвером.


5.6 Пройдет процесс установки драйвера. Появится окошко сообщающее о том, что драйвер установлен. Чтобы проверить, что мы там наустанавливали— заходим в «Мой компьютер/Свойства/Оборудование/Диспетчер устройств» и находим там наш программатор

Винда увидела новое устройство и готова с ним работать.

USBtiny программатор поддерживается AVRDude , а это значит, что многие среды программирования будут с ним работать без проблем. Еще одним достоинством работы с AVRDude является то, что для работы с AVRDude существует множество оболочек GUI из которых можно выбрать подходящую именно для Вас (но об этом в следующей статье).

Я с USBTiny до этого не работал, но отзывы о нем в сети положительные (отличается надежностью и быстротой программирования) — мои тестовый прошивки это подтвердили. ATtiny2313 прошивается за 10 секунд (это вместе с проверкой). Микроконтроллер определяется и программируется надежно — не было ни одной ошибки во время моих тестов. Приятный в использовании программатор!

Файлы к статье:
— Рисунок печатной платы UART-USB на ATtiny2313
— Прошивка USBtiny программатора для ATtiny2313
— Фьюз-биты ATtiny2313 для USBtiny
— Схема кабеля для USBtiny программатора

Как пользоваться pickit3 программатором

Итак, без чего не обходится практически любое устройство на микроконтроллере? Правильно, без микроконтроллера! Но, увы, не получится его запрограммировать без программатора (если это конечно не Arduino).
Итак, рассмотрим внутрисхемный программатор-отладчик PicKit 3, счастливым обладателем коим являюсь я.

Описание функциональности данного девайса я описывать тут не буду, по скольку вы сами можете почитать вот тут http://pickit2.ru/doku.php/что.такое.pickit3 что вы собственно уже и сделали. А моей целью является — донести до вас информацию с точки зрения обыкновенного пользователя.

Заказывая сей девайс в интернет магазине я долго думал, размышлял PicKit2 или PicKit3. В то время я мало знал об этих программаторах, разве что то, что они работают через USB и являются внутрисхемными, плюс можно отлаживать программу непосредственно в микроконтроллере с помощью PicKit 2 и 3.
Внутрисхемным программированием ICSP (In-circuit serial programming) прямо на конечном устройстве, который мы собираем на PIC контроллере. И нам не придётся вытаскивать его из программатора запрограммированный микроконтроллер и втыкать его обратно в конечную схему. А отлаживать его было бы как сложно в таких условиях? Так что ICSP вещь очень удобная и практичная. Единственно нужно только предусмотреть разъём ICSP/ICD на конечном устройстве для подключения программатора.

Об отличиях PicKit 3 от Pickit2 я знал мало, но рассуждал логически так. PicKit 2 проверенный временем и людьми, надёжный и удобный. А PicKit 3 должно быть следующая версия, более доработанный, более мощный, современный и функциональный чем PicKit 2. К тому же PicKit 3 стоил не сильно дороже чем программатор предыдущей версии. И хотя функциональности Пиккит 2 мне полностью было предостаточно в итоге было решено купить PicKit 3 с расчётом на будущее, так сказать «на вырост».

Вот прислали почтой мне эту красивую коробочку. Внутри сам непосредственно программатор, Провод USB-miniUSB. Пара каких то бумажек, среди которых плакат с объяснением как и куда подключать программатор и диск с MPLAB 8.36 и примерами. Естественно всё на английском.
Достаём, подключаем к компу через прилагаемый шнурок. Компьютер определяет подключенное HID совместимое устройство. Это означает, что дтов для программатора не нужно. Загораются 3 огонька — вроде работает.
Далее, устанавливаем MPLAB IDE 8.38. С более новыми версиями возникнут определённые проблемы, до тех пор, пока в новых версиях не устранят баг. О проблемах и их решении в новых версиях я расскажу чуть позже.
Установили, запускаем! Лезем в меню Programmer — Select Programmer — Pickit 3. Мплаб должен определить программатор, но если он не подключен к контроллеру, или на контроллер не подано питание то он ругнётся об этом. При первом подключении Мплаб сказал что нашёл в инете более новую прошивку для программатора и предложил её загрузить и закачать — соглашаемся!
Хотелось бы отдельно заострить внимание на питании микроконтроллера. Тут возможны 2 варианта:
1. питание от внешнего источника;
2. питание от программатора.
Если внешнего источника питания у вас нет, то выбираем в настройках Programmer — Settings… и идём на вкладку Power. Ставим галочку и меняем значение величины напряжения если требуется.

Большинству контроллеров PIC нормально будет 5В., но в некоторых случаях контроллеры могут питаться от более низкого напряжения и установив на него 5В можно его повредить. Если не уверены — лучше всего ознакомиться со спецификацией контроллера.

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

Теперь о бочке дёгтя в ложке мёда. Недостатков, пока что, у PicKit3 больше чем достоинств по сравнению с PicKit2. Начнём с того, что для второго пиккита есть русская документация, а для третьего я не нашёл. Кроме того, программировать через PICkit 3 можно только в среде MPLAB IDE, а для второго пиккита кромеMPLAB IDE есть специальная компактная и удобная утилита PICkit 2 Programmer. И в завершении хочу сказать что в Linux (не всем же под виндой сидеть) я не нашёл вооообще программ, для программирования через PICkit 3, а для PICkit 2 есть. И хотя в будущем эти проблемы решаемы, но сейчас пока по моему скромному мнению этот программатор не стоит своих денег и по этому лучше, надёжней и дешевле будет приобрести PICkit 2.

Итак, без чего не обходится практически любое устройство на микроконтроллере? Правильно, без микроконтроллера! Но, увы, не получится его запрограммировать без программатора (если это конечно не Arduino).
Итак, рассмотрим внутрисхемный программатор-отладчик PicKit 3, счастливым обладателем коим являюсь я.

Описание функциональности данного девайса я описывать тут не буду, по скольку вы сами можете почитать вот тут http://pickit2.ru/doku.php/что.такое.pickit3 что вы собственно уже и сделали. А моей целью является — донести до вас информацию с точки зрения обыкновенного пользователя.

Заказывая сей девайс в интернет магазине я долго думал, размышлял PicKit2 или PicKit3. В то время я мало знал об этих программаторах, разве что то, что они работают через USB и являются внутрисхемными, плюс можно отлаживать программу непосредственно в микроконтроллере с помощью PicKit 2 и 3.
Внутрисхемным программированием ICSP (In-circuit serial programming) прямо на конечном устройстве, который мы собираем на PIC контроллере. И нам не придётся вытаскивать его из программатора запрограммированный микроконтроллер и втыкать его обратно в конечную схему. А отлаживать его было бы как сложно в таких условиях? Так что ICSP вещь очень удобная и практичная. Единственно нужно только предусмотреть разъём ICSP/ICD на конечном устройстве для подключения программатора.

Об отличиях PicKit 3 от Pickit2 я знал мало, но рассуждал логически так. PicKit 2 проверенный временем и людьми, надёжный и удобный. А PicKit 3 должно быть следующая версия, более доработанный, более мощный, современный и функциональный чем PicKit 2. К тому же PicKit 3 стоил не сильно дороже чем программатор предыдущей версии. И хотя функциональности Пиккит 2 мне полностью было предостаточно в итоге было решено купить PicKit 3 с расчётом на будущее, так сказать «на вырост».

Вот прислали почтой мне эту красивую коробочку. Внутри сам непосредственно программатор, Провод USB-miniUSB. Пара каких то бумажек, среди которых плакат с объяснением как и куда подключать программатор и диск с MPLAB 8.36 и примерами. Естественно всё на английском.
Достаём, подключаем к компу через прилагаемый шнурок. Компьютер определяет подключенное HID совместимое устройство. Это означает, что дтов для программатора не нужно. Загораются 3 огонька — вроде работает.
Далее, устанавливаем MPLAB IDE 8.38. С более новыми версиями возникнут определённые проблемы, до тех пор, пока в новых версиях не устранят баг. О проблемах и их решении в новых версиях я расскажу чуть позже.
Установили, запускаем! Лезем в меню Programmer — Select Programmer — Pickit 3. Мплаб должен определить программатор, но если он не подключен к контроллеру, или на контроллер не подано питание то он ругнётся об этом. При первом подключении Мплаб сказал что нашёл в инете более новую прошивку для программатора и предложил её загрузить и закачать — соглашаемся!
Хотелось бы отдельно заострить внимание на питании микроконтроллера. Тут возможны 2 варианта:
1. питание от внешнего источника;
2. питание от программатора.
Если внешнего источника питания у вас нет, то выбираем в настройках Programmer — Settings… и идём на вкладку Power. Ставим галочку и меняем значение величины напряжения если требуется.

Большинству контроллеров PIC нормально будет 5В., но в некоторых случаях контроллеры могут питаться от более низкого напряжения и установив на него 5В можно его повредить. Если не уверены — лучше всего ознакомиться со спецификацией контроллера.

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

Теперь о бочке дёгтя в ложке мёда. Недостатков, пока что, у PicKit3 больше чем достоинств по сравнению с PicKit2. Начнём с того, что для второго пиккита есть русская документация, а для третьего я не нашёл. Кроме того, программировать через PICkit 3 можно только в среде MPLAB IDE, а для второго пиккита кромеMPLAB IDE есть специальная компактная и удобная утилита PICkit 2 Programmer. И в завершении хочу сказать что в Linux (не всем же под виндой сидеть) я не нашёл вооообще программ, для программирования через PICkit 3, а для PICkit 2 есть. И хотя в будущем эти проблемы решаемы, но сейчас пока по моему скромному мнению этот программатор не стоит своих денег и по этому лучше, надёжней и дешевле будет приобрести PICkit 2.

Собираем программатор для микроконтроллеров PIC и микросхем EEPROM

Какие первые шаги должен сделать радиолюбитель, решивший собрать схему на микроконтроллере? Естественно, необходима управляющая программа – «прошивка», а также программатор.

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

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

Панель установки МК.

Исходная схема взята с сайта LabKit.ru с разрешения автора, за что ему большое спасибо. Это так называемый клон фирменного программатора PICkit2. Так как вариант устройства является «облегчённой» копией фирменного PICkit2, то автор назвал свою разработку PICkit-2 Lite, что подчёркивает простоту сборки такого устройства для начинающих радиолюбителей.

Что может программатор? С помощью программатора можно будет прошить большинство легкодоступных и популярных МК серии PIC (PIC16F84A, PIC16F628A, PIC12F629, PIC12F675, PIC16F877A и др.), а также микросхемы памяти EEPROM серии 24LC. Кроме этого программатор может работать в режиме USB-UART преобразователя, имеет часть функций логического анализатора. Особо важная функция, которой обладает программатор – это расчёт калибровочной константы встроенного RC-генератора некоторых МК (например, таких как PIC12F629 и PIC12F675).

Необходимые изменения.

В схеме есть некоторые изменения, которые необходимы для того, чтобы с помощью программатора PICkit-2 Lite была возможность записывать/стирать/считывать данные у микросхем памяти EEPROM серии 24Cxx.

Из изменений, которые были внесены в схему. Добавлено соединение от 6 вывода DD1 (RA4) до 21 вывода ZIF-панели. Вывод AUX используется исключительно для работы с микросхемами EEPROM-памяти 24LС (24C04, 24WC08 и аналоги). По нему передаются данные, поэтому на схеме панели программирования он помечен словом «Data». При программировании микроконтроллеров вывод AUX обычно не используется, хотя он и нужен при программировании МК в режиме LVP.

Также добавлен «подтягивающий» резистор на 2 кОм, который включается между выводом SDA и Vcc микросхем памяти.

Все эти доработки я уже делал на печатной плате, после сборки PICkit-2 Lite по исходной схеме автора.

Микросхемы памяти 24Cxx (24C08 и др.) широко используются в бытовой радиоаппаратуре, и их иногда приходится прошивать, например, при ремонте кинескопных телевизоров. В них память 24Cxx применяется для хранения настроек.

В ЖК-телевизорах применяется уже другой тип памяти (Flash-память). О том, как прошить память ЖК-телевизора я уже рассказывал. Кому интересно, загляните.

В связи с необходимостью работы с микросхемами серии 24Cxx мне и пришлось «допиливать» программатор. Травить новую печатную плату я не стал, просто добавил необходимые элементы на печатной плате. Вот что получилось.

Ядром устройства является микроконтроллер PIC18F2550-I/SP.

Это единственная микросхема в устройстве. МК PIC18F2550 необходимо «прошить». Эта простая операция у многих вызывает ступор, так как возникает так называемая проблема «курицы и яйца». Как её решил я, расскажу чуть позднее.

Список деталей для сборки программатора. В мобильной версии потяните таблицу влево (свайп влево-вправо), чтобы увидеть все её столбцы.

Название Обозначение Номинал/Параметры Марка или тип элемента
Для основной части программатора
Микроконтроллер DD1 8-ми битный микроконтроллер PIC18F2550-I/SP
Биполярные транзисторы VT1, VT2, VT3 КТ3102
VT4 КТ361
Диод VD1 КД522, 1N4148
Диод Шоттки VD2 1N5817
Светодиоды HL1, HL2 любой на 3 вольта, красного и зелёного цвета свечения
Резисторы R1, R2 300 Ом МЛТ, МОН (мощностью от 0,125 Вт и выше), импортные аналоги
R3 22 кОм
R4 1 кОм
R5, R6, R12 10 кОм
R7, R8, R14 100 Ом
R9, R10, R15, R16 4,7 кОм
R11 2,7 кОм
R13 100 кОм
Конденсаторы C2 0,1 мк К10-17 (керамические), импортные аналоги
C3 0,47 мк
Электролитические конденсаторы C1 100 мкф * 6,3 в К50-6, импортные аналоги
C4 47 мкф * 16 в
Катушка индуктивности (дроссель) L1 680 мкГн унифицированный типа EC24, CECL или самодельный
Кварцевый резонатор ZQ1 20 МГц
USB-розетка XS1 типа USB-BF
Перемычка XT1 любая типа «джампер»
Для панели установки микроконтроллеров (МК)
ZIF-панель XS1 любая 40-ка контактная ZIF-панель
Резисторы R1 2 кОм МЛТ, МОН (мощностью от 0,125 Вт и выше), импортные аналоги
R2, R3, R4, R5, R6 10 кОм

Теперь немного о деталях и их назначении.

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

Для придания устройству универсальности и надёжности используется USB-розетка XS1 типа «B» (квадратная). В компьютере же используется USB-розетка типа «А». Поэтому перепутать гнёзда соединительного кабеля невозможно. Также такое решение способствует надёжности устройства. Если кабель придёт в негодность, то его легко заменить новым не прибегая к пайке и монтажным работам.

В качестве дросселя L1 на 680 мкГн лучше применить готовый (например, типов EC24 или CECL). Но если готовое изделие найти не удастся, то дроссель можно изготовить самостоятельно. Для этого нужно намотать 250 – 300 витков провода ПЭЛ-0,1 на сердечник из феррита от дросселя типа CW68. Стоит учесть, что благодаря наличию ШИМ с обратной связью, заботиться о точности номинала индуктивности не стоит.

Напряжение для высоковольтного программирования (Vpp) от +8,5 до 14 вольт создаётся ключевым стабилизатором. В него входят элементы VT1, VD1, L1, C4, R4, R10, R11. С 12 вывода PIC18F2550 на базу VT1 поступают импульсы ШИМ. Обратная связь осуществляется делителем R10, R11.

Чтобы защитить элементы схемы от обратного напряжения с линий программирования в случае использования USB-программатора в режиме внутрисхемного программирования ICSP (In-Circuit Serial Programming) применён диод VD2. VD2 – это диод Шоттки. Его стоит подобрать с падением напряжения на P-N переходе не более 0,45 вольт. Также диод VD2 защищает элементы от обратного напряжения, когда программатор применяется в режиме USB-UART преобразования и логического анализатора.

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

Компактность устройству придаёт универсальная ZIF-панель (Zero Insertion Force – с нулевым усилием установки).

Благодаря ей можно «зашить» МК практически в любом корпусе DIP.

На схеме «Панель установки микроконтроллера (МК)» указано, как необходимо устанавливать микроконтроллеры с разными корпусами в панель. При установке МК следует обращать внимание на то, чтобы микроконтроллер в панели позиционируется так, чтобы ключ на микросхеме был со стороны фиксирующего рычага ZIF-панели.

Вот так нужно устанавливать 18-ти выводные микроконтроллеры (PIC16F84A, PIC16F628A и др.).

А вот так 8-ми выводные микроконтроллеры (PIC12F675, PIC12F629 и др.).

Если есть нужда прошить микроконтроллер в корпусе для поверхностного монтажа (SOIC), то можно воспользоваться переходником или просто подпаять к микроконтроллеру 5 выводов, которые обычно требуются для программирования (Vpp, Clock, Data, Vcc, GND).

Готовый рисунок печатной платы со всеми изменениями вы найдёте по ссылке в конце статьи. Открыв файл в программе Sprint Layout 5.0 можно с помощью режима «Печать» не только распечатать слой с рисунком печатных проводников, но и просмотреть позиционирование элементов на печатной плате. Обратите внимание на изолированную перемычку, которая связывает 6 вывод DD1 и 21 вывод ZIF-панели. Печатать рисунок платы необходимо в зеркальном отображении.

Изготовить печатную плату можно методом ЛУТ, а также маркером для печатных плат, с помощью цапонлака (так делал я) или «карандашным» методом.

Вот рисунок позиционирования элементов на печатной плате (кликабельно).

При монтаже первым делом необходимо запаять перемычки из медного лужёного провода, затем установить низкопрофильные элементы (резисторы, конденсаторы, кварц, штыревой разъём ISCP), затем транзисторы и запрограммированный МК. Последним шагом будет установка ZIF-панели, USB-розетки и запайка провода в изоляции (перемычки).

«Прошивка» микроконтроллера PIC18F2550.

Файл «прошивки» – PK2V023200.hex необходимо записать в память МК PIC18F2550I-SP при помощи любого программатора, который поддерживает PIC микроконтроллеры (например, Extra-PIC). Я воспользовался JDM Programmator’ом JONIC PROG и программой WinPic800.

Ссылка на файл PK2V023200.hex, запакованный в архив rar, дана в конце статьи.

Залить «прошивку» в МК PIC18F2550 можно и с помощью всё того же фирменного программатора PICkit2 или его новой версии PICkit3. Естественно, сделать это можно и самодельным PICkit-2 Lite, если кто-либо из друзей успел собрать его раньше вас:).

Также стоит знать, что «прошивка» микроконтроллера PIC18F2550-I/SP (файл PK2V023200.hex) записывается при установке программы PICkit 2 Programmer в папку вместе с файлами самой программы. Примерный путь расположения файла PK2V023200.hex – «C:Program Files (x86)MicrochipPICkit 2 v2PK2V023200.hex». У тех, у кого на ПК установлена 32-битная версия Windows, путь расположения будет другим: «C:Program FilesMicrochipPICkit 2 v2PK2V023200.hex».

Ну, а если разрешить проблему «курицы и яйца» не удалось предложенными способами, то можно купить уже готовый программатор PICkit3 на сайте AliExpress. Там он стоит гораздо дешевле. О том, как покупать детали и электронные наборы на AliExpress я писал тут.

Обновление «прошивки» программатора.

Прогресс не стоит на месте и время от времени компания Microchip выпускает обновления для своего ПО, в том числе и для программатора PICkit2, PICkit3. Естественно, и мы можем обновить управляющую программу своего самодельного PICkit-2 Lite. Для этого понадобится программа PICkit2 Programmer. Что это такое и как пользоваться – чуть позднее. А пока пару слов о том, что нужно сделать, чтобы обновить «прошивку».

Для обновления ПО программатора необходимо замкнуть перемычку XT1 на программаторе, когда он отключен от компьютера. Затем подключить программатор к ПК и запустить PICkit2 Programmer. При замкнутой XT1 активируется режим bootloader для загрузки новой версии прошивки. Затем в PICkit2 Programmer через меню «Tools» – «Download PICkit 2 Operation System» открываем заранее подготовленный hex-файл обновлённой прошивки. Далее произойдёт процесс обновления ПО программатора.

После обновления нужно отключить программатор от ПК и снять перемычку XT1. В обычном режиме перемычка разомкнута. Узнать версию ПО программатора можно через меню «Help» – «About» в программе PICkit2 Programmer.

Это всё по техническим моментам. А теперь о софте.

Работа с программатором. Программа PICkit2 Programmer.

Для работы с USB-программатором нам потребуется установить на компьютер программу PICkit2 Programmer. Это специальная программа обладает простым интерфейсом, легко устанавливается и не требует особой настройки. Стоит отметить, что работать с программатором можно и с помощью среды разработки MPLAB IDE, но для того, чтобы прошить/стереть/считать МК достаточно простой программы – PICkit2 Programmer. Рекомендую.

После установки программы PICkit2 Programmer подключаем к компьютеру собранный USB-программатор. При этом засветится зелёный светодиод («питание»), а операционная система опознает устройство как «PICkit2 Microcontroller Programmer» и установит драйвера.

Запускаем программу PICkit2 Programmer. В окне программы должна отобразиться надпись.

Если программатор не подключен, то в окне программы отобразится страшная надпись и краткие инструкции «Что делать?» на английском.

Если же программатор подключить к компьютеру с установленным МК, то программа при запуске определить его и сообщит нам об этом в окне PICkit2 Programmer.

Поздравляю! Первый шаг сделан. А о том, как пользоваться программой PICkit2 Programmer, я рассказал в отдельной статье. Следующий шаг.

Необходимые файлы:

Руководство пользователя PICkit2 (рус.) берём здесь или здесь.

PicKit3 внутрисхемный программатор-отладчик / Хабр

Итак, без чего не обходится практически любое устройство на микроконтроллере? Правильно, без микроконтроллера!  Но, увы, не получится его запрограммировать без программатора (если это конечно не

Arduino

).

Итак, рассмотрим внутрисхемный программатор-отладчик PicKit 3,

счастливым

обладателем коим являюсь я.



Описание функциональности данного девайса я описывать тут не буду, по скольку вы сами можете почитать  вот тут http://pickit2.ru/doku.php/что.такое.pickit3 что вы собственно уже и сделали. А моей целью является — донести до вас информацию с точки зрения обыкновенного пользователя.

Заказывая сей девайс в интернет магазине я долго думал, размышлял PicKit2 или PicKit3. В то время я мало знал об этих программаторах, разве что то, что они работают через USB и являются внутрисхемными, плюс можно отлаживать программу непосредственно в микроконтроллере с помощью PicKit 2 и 3.
Внутрисхемным программированием ICSP (In-circuit serial programming) прямо на конечном устройстве, который мы собираем на PIC контроллере. И нам не придётся вытаскивать его из программатора запрограммированный микроконтроллер и втыкать его обратно в конечную схему. А отлаживать его было бы как сложно в таких условиях? Так что ICSP вещь очень удобная и практичная. Единственно нужно только предусмотреть разъём ICSP/ICD на конечном устройстве для подключения программатора.

Об отличиях PicKit 3 от Pickit2 я знал мало, но рассуждал логически так. PicKit 2 проверенный временем и людьми, надёжный и удобный. А PicKit 3 должно быть следующая версия, более доработанный, более мощный, современный и функциональный чем  PicKit 2. К тому же PicKit 3 стоил не сильно дороже чем программатор предыдущей версии. И хотя функциональности Пиккит 2 мне полностью было предостаточно в итоге было решено купить PicKit 3 с расчётом на будущее, так сказать «на вырост».

Вот прислали почтой мне эту красивую коробочку. Внутри сам непосредственно программатор, Провод USB-miniUSB. Пара каких то бумажек, среди которых плакат с объяснением как и куда подключать программатор и диск с MPLAB 8.36 и примерами. Естественно всё на английском.
Достаём, подключаем к компу через прилагаемый шнурок. Компьютер определяет подключенное HID совместимое устройство. Это означает, что дтов для программатора не нужно. Загораются 3 огонька — вроде работает.
Далее, устанавливаем MPLAB IDE 8.38. С более новыми версиями возникнут определённые проблемы, до тех пор, пока в новых версиях не устранят баг. О проблемах и их решении в новых версиях я расскажу чуть позже.
Установили, запускаем! Лезем в меню Programmer — Select Programmer — Pickit 3. Мплаб должен определить программатор, но если он не подключен к контроллеру, или на контроллер не подано питание то он ругнётся об этом. При первом подключении Мплаб сказал что нашёл в инете более новую прошивку для программатора и предложил её загрузить и закачать — соглашаемся!
Хотелось бы отдельно заострить внимание на питании микроконтроллера. Тут возможны 2 варианта:
1. питание от внешнего источника;
2. питание от программатора.
Если внешнего источника питания у вас нет, то выбираем в настройках Programmer — Settings… и идём на вкладку Power. Ставим галочку и меняем значение величины напряжения если требуется.

Большинству контроллеров PIC нормально будет 5В., но в некоторых случаях контроллеры могут питаться от более низкого напряжения и установив на него 5В можно его повредить. Если не уверены — лучше всего ознакомиться со спецификацией контроллера.

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

Теперь о бочке дёгтя в ложке мёда. Недостатков, пока что, у PicKit3 больше чем достоинств по сравнению с PicKit2. Начнём с того, что для второго пиккита есть русская документация, а для третьего я не нашёл. Кроме того, программировать через PICkit 3 можно только в среде MPLAB IDE, а для второго пиккита кромеMPLAB IDE есть специальная компактная и удобная утилита PICkit 2 Programmer. И в завершении хочу сказать что в Linux (не всем же под виндой сидеть) я не нашёл вооообще программ, для программирования через PICkit 3, а для PICkit 2 есть. И хотя в будущем эти проблемы решаемы, но сейчас пока по моему скромному мнению этот программатор не стоит своих денег и по этому лучше, надёжней и дешевле будет приобрести PICkit 2.

% PDF-1.6 % 3422 0 объект> эндобдж xref 3422 86 0000000016 00000 н. 0000003584 00000 н. 0000003721 00000 н. 0000003900 00000 н. 0000003928 00000 н. 0000003982 00000 н. 0000004041 00000 н. 0000004242 00000 н. 0000004358 00000 п. 0000004510 00000 н. 0000005130 00000 н. 0000005634 00000 п. 0000009762 00000 н. 0000009993 00000 н. 0000010289 00000 п. 0000047386 00000 п. 0000047634 00000 п. 0000048066 00000 п. 0000048757 00000 п. 0000048845 00000 п. 0000080891 00000 п. 0000081166 00000 п. 0000081784 00000 п. 0000082276 00000 п. 0000082723 00000 п. 0000083151 00000 п. 0000083570 00000 п. 0000084011 00000 п. 0000084459 00000 п. 0000084856 00000 п. 0000084916 00000 п. 0000085009 00000 п. 0000085129 00000 п. 0000085220 00000 п. 0000085343 00000 п. 0000085504 00000 п. 0000085597 00000 п. 0000085693 00000 п. 0000085852 00000 п. 0000085945 00000 п. 0000086055 00000 п. 0000086234 00000 п. 0000086326 00000 п. 0000086444 00000 п. 0000086598 00000 п. 0000086690 00000 н. 0000086809 00000 п. 0000086972 00000 п. 0000087065 00000 п. 0000087167 00000 п. 0000087351 00000 п. 0000087443 00000 п. 0000087560 00000 п. 0000087736 00000 п. 0000087828 00000 п. 0000087941 00000 п. 0000088117 00000 п. 0000088209 00000 п. 0000088320 00000 п. 0000088417 00000 п. 0000088552 00000 п. 0000088698 00000 п. 0000088825 00000 п. 0000088959 00000 п. 0000089083 00000 п. 0000089200 00000 н. 0000089316 00000 п. 0000089447 00000 п. 0000089561 00000 п. 0000089677 00000 п. 0000089796 00000 п. 0000089951 00000 н. 00000

00000 п. 00000


00000 п. 00000

00000 п. 00000

00000 п. 00000 00000 н. 00000 00000 п. 0000090764 00000 н. 0000090897 00000 п. 0000091026 00000 п. 0000091146 00000 п. 0000091299 00000 п. 0000091430 00000 п. 9wT? PzB} -H-6vQPr2) T718, Qk * s_OT8 * P% dHd (R

USB-программатор PIC PICKit2

PICKit2

Microchip намного удобнее, надежнее и мощнее, чем другие программаторы, которые мы можем найти повсюду в Интернете.Это программатор ICSP (внутрисхемное последовательное программирование) на базе USB. Поскольку это первый выпуск, Microchip опубликовал все ресурсы PICKit2 в открытом доступе, включая схемы оборудования и весь исходный код используемого программного обеспечения. Благодаря этому любой может добавлять функции, исправлять ошибки и изменять исходный код.

Документы и другие вспомогательные файлы PICKit2 доступны на веб-сайте Microchip.

Мы упростили схему оборудования PICKit2, удалив из него все ненужные устройства, а также добавлен конвертер ICSP в ZIF для упрощения программирования.Основные отличия модифицированного PICKit2 от оригинального PICKit2:

1. Конвертер ICSP в ZIF добавлен для упрощения программирования, поэтому мы можем использовать разъем ICSP или ZIF в соответствии с нашими потребностями.

2. Он поддерживает только PIC с напряжением 5 В, поэтому устройство 3,3 В представляет собой небольшую дополнительную схему для преобразования 5 В в 3,3 В.

3. Две EEPROM 24C512, используемые только для функции «программист на ходу» в оригинальном PICKit2, были опущены. Функция «Программист на вынос» не является важной функцией для любителей электроники.

4. Биполярные транзисторы, используемые в оригинальном PICKit2, заменены полевыми МОП-транзисторами, поэтому требуются минимальные дополнительные компоненты.

5. Разъем мини-USB заменен обычным разъемом USB-B.

PICKit2 — это устройство с питанием от USB, то есть оно получает питание от источника питания USB + 5V ПК. Микроконтроллер USB PIC18F2550 — это душа PICKit2. USB Data + и Data- с ПК подключаются к контактам D + и D- PIC182550. Встроенный тактовый генератор pic использует внешний кварцевый генератор X1, C2 и C3 для обеспечения правильной тактовой частоты системы.Катушка индуктивности L1, полевой МОП-транзистор Q1, диод D1, конденсаторы C1 и C4 образуют преобразователь постоянного тока в постоянный (понижающий преобразователь), который преобразует 5 В с ПК в 12 В, которые должны подаваться на вывод MCLR / VPP микроконтроллера во время программирования. Это контролируется прошивкой PIC. Резисторы R2 и R3 образуют цепь обратной связи с измерением напряжения, которая подается на аналоговый вывод AN0 PIC. Q4, Q5 и резистор R5 полевого МОП-транзистора используются для переключения Vpp на выход MCLR / Vpp. При необходимости полевой МОП-транзистор Q6 и резистор R4 заземляют выход MCLR.МОП-транзистор Q3 и резистор R16 предназначены для переключения Vdd на выход, когда это необходимо. Обратная связь по датчику Vdd подается на аналоговый вывод AN1 PIC через резистор R6. МОП-транзистор Q2 с резисторами R1, R17 обеспечивает активное понижение до выхода Vdd, когда это необходимо. Диод D2 защищает схему от внешнего Vdd.

Светодиод 1 с токоограничивающим резистором R12 показывает, что схема запитана от USB. Светодиод LED2 вместе с токоограничивающим резистором R11 показывает, что Vdd переключен на выход.Светодиод LED3 с токоограничивающим резистором R10 управляется микропрограммой PIC, обычно светится во время операций чтения и записи, указывая на состояние занятости.

Резисторы R7, R8 и R9 являются токоограничивающими резисторами, включенными последовательно с выходными линиями PGD, PGC и AUX. Резисторы R14 и R15 в определенных случаях обеспечивают активный низкий уровень на выходах PGD и PGC.

Заменители недоступных компонентов

Компоненты, которые я использовал в своем клоне, выделены жирным шрифтом.

  • Защитный диод D2, BAT85 будет падать намного больше напряжения на Vdd.Поэтому, если вы хотите избежать падения напряжения, вы можете его закоротить. Если вы не хотите полностью устранять защиту, вы можете заменить BAT85 диодом Шоттки с меньшим падением напряжения. Таким образом, вы можете заменить его на 1N5819 или 1N5818 .
  • Вы можете заменить MOSFET Q3 (IRF9Z34) на более дешевый BC640, в этом случае выходной ток будет ограничен несколькими сотнями миллиампер с приемлемым падением напряжения. Вы также можете заменить IRF9Z34 на IRF9540N , если он недоступен в вашем городе.
  • Катушка индуктивности L1 может варьироваться от до 470 мкГн, — 1 мГн и должна иметь номинальное значение не менее 150 мА.
  • BS170 можно заменить на VN2010L или BS107
  • BS250 можно заменить на VP2020L или BSS92 (будьте осторожны, у BSS92 другая распиновка!) Или BC 557 с базовым резистором 1K
  • Конденсатор 330 нФ можно не использовать. Я использовал конденсатор 0,1 мФ .

Компоненты, которые я использовал в своем клоне, выделены жирным шрифтом.

Коммутатор снабжен преобразователем ICSP в ZIF.1 и 2 должны быть соединены для программирования 28- и 40-контактных микросхем. 2 и 3 должны быть подключены для программирования 18, 14 и 8-контактных микросхем. Подключение AUX не показано на этой принципиальной схеме, но включено в конструкцию печатной платы. В стандартном ICSP вам не нужен AUX.

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

После травления лучше проверить плату на целостность и короткое замыкание. К сожалению, чтобы запустить PICKit2, вам нужно запрограммировать прошивку на PIC18F2550, для этого вам понадобится другой программатор. Если у вас его нет, мы можем предложить программируемый 18F2550, комплекты или даже программатор по низким ценам, просто свяжитесь с нами. После того, как вы создали этот программатор, вы можете обновить прошивку без помощи других программистов, поскольку прошивка также включает загрузчик.Последняя версия прошивки доступна на веб-сайте Microchip.

Перед подключением к компьютеру дважды проверьте плату на предмет нежелательных коротких замыканий и обрывов. В Windows 7 PICKit2 будет определяться как USB-устройство ввода. Затем установите и откройте программное обеспечение для обработки «PICKit2» и проверьте его статус. Он должен показывать «PICKit2 подключен», а не на красном фоне. Все в порядке, пройдите через мастер устранения неполадок, щелкнув Инструменты >> Устранение неполадок.Для этого понадобится вольтметр.

Если у вас есть ошибки или сомнения, прокомментируйте, мы их исправим… ..

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

Принципиальная схема

PICKit2 Colon и однослойная упрощенная печатная плата

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

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

>> PICKit2 2.6 Ссылка для загрузки программного обеспечения.

Вы можете проверить это: PICKit2 PCB Design загрузить

О PICKit2:

PICKit2 — это программатор для записи прошивок, или вы можете назвать его также для микроконтроллеров PIC.Это программатор с открытым кодом из Microchip Electronics . PICkit 2 — это более старая версия PICkit ™ 3, которая не поддерживает новые устройства. Информацию о поддержке новых устройств и дополнительных функциях см. В PICkit 3. Но для небольшого набора продуктов и этапов обучения это лучший вариант.

PICKit2 Принципиальная схема:

Вот упрощенная принципиальная схема PICKit2 с двоеточием. Некоторые компоненты заменены на аналог.

Это основная схема для PICKit2.Но вы можете убрать некоторые части, чтобы упростить эту конструкцию. Здесь U1 и U2 используются для хранения программ для опции «Program to Go». От простой эксплуатации этого не требуется. Вы можете опустить это. Опять же, секция VDD TGT P не требуется постоянно для обычных 5-вольтовых микроконтроллеров. Вы также можете устранить этот блок.

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

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

PICKit2 Программное обеспечение:

Или просто сначала установите программное обеспечение, а затем вы можете найти прошивку из C: // program files / microchip / pickit2.Будет шестнадцатеричный файл вроде этого:

PCB [однослойная версия]:

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

Печатная плата разработана в SprintLayout 6.0 . Вы можете использовать это или что-нибудь еще. Результат этого дизайна:

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

Вывод:

Из этой статьи вы узнали о PICKit2.Кроме того, вы можете следить за нашим дизайном или даже купить у нас файл Gerber. Теперь вы можете сделать свой собственный программатор, я хочу.

Спасибо, наслаждайтесь.


Проверьте это: 5 самых крутых мультиметров, которые можно купить

Создание PICKit2 с нуля

Схема pickit2

Проверьте форум по микрочипам, там много дискуссий о PICkit 2 и ICD2. Также спросите Сяофана, он эксперт и может сказать вам правду.

Веб-мастер Microchip просто разместил сообщение на форуме о возможности отладки схемы в PICkit2 пару дней назад.

Тогарха сказал:

Кто-нибудь знает, есть ли возможность заменить предложенные транзисторы по схемам микрочипа на другие? Я не могу достать эти транзисторы в своем городе …

Я без проблем поменял MMBT3904 на MMBT2222.
Что касается полевого МОП-транзистора и диода, будьте очень осторожны, поскольку они сильно влияют на напряжение.

Беовольф сказал:

Это программист и отладчик, так что лучше!

То же самое и с PICkit2 (проверьте недавно выпущенный MPLAB V7.62). И новый пост на форуме Microchip.

Функционально они идентичны (PICkit2 имеет немного больше о программировании EEPROM, но вы можете проигнорировать это как пользователь микроконтроллера).

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

И самое главное: он намного дешевле и в нем нет поддержки обмена с микрочипа.

Вы действительно использовали один? Вы сравнивали его с ICD2?

Я использовал оба, а также другие дорогие инструменты разработки Microchip.
ICD2 в порядке, не очень. PICkit2 становится все лучше и лучше. Это мы уже видели из обновлений Microchip и публикаций в Интернете. Что касается будущего обоих инструментов, посмотрим.

И прелесть PICKit2 в том, что его оборудование имеет открытый исходный код.
Может ли кто-нибудь сказать мне, что представляет собой настоящая «новая» схема микросхемы ICD2, и что это было на самом деле? Клоны работают, кто-нибудь может сказать, что они на 100% идентичны? Специально для тех частей 3.3V PIC18FJ? Этого я не знаю.

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

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

Вы действительно использовали один? Вы сравнивали его с ICD2?

Я использовал оба. Я их не сравнивал. Кто-то сравнивал их на форуме Microchip. На стороне PICkit2 есть даже аппаратная функция, о которой собственный парень Microchip до сих пор не знает, или точно для чего она предназначена.

rkodaira сказал:

Я построил только 18F2550 с прошивкой, схемой генератора и индикатором занятости (без преобразователя постоянного тока в постоянный, каскадов переключения и памяти EEPROM). Мне не удалось получить подтверждение USB-устройства ПК или программой PICKIT2.
Пробовал тоже с прошивкой от:
https://www.voti.nl/pickit2faq/index.html
Но у меня ничего не получилось, потому что я не могу назначить программатору драйверы USB.
Во-первых, вам не нужен драйвер для ПК.В этом вся прелесть Plug and Play. Намного лучше, чем ICD2.
Во-вторых, MPLAB или PICKit2.4 имеет прошивку в своей папке, просто найдите / возьмите программный набор инструментов (например, другой PICkit 2 или ICD 2), вы можете перепрограммировать набор микросхем.

PICKit 2 CLONE

Основным элементом является современный мощный процессор PIC18F2550, управляющий всеми действиями программиста по связи с ПК, запись в EEPROM, запись в запрограммированный процессор и т. Д. Большим преимуществом является то, что ЦП сам по себе содержит интерфейс USB. , так что вы можете напрямую подключить ПК.Ему нужен интегрированный системный HID-драйвер, поэтому не нужно устанавливать другой драйвер в качестве программатора AVR. Процессор имеет петлю PLL, установленную на 96 МГц, которая получается путем умножения кристалла 20 МГц, собственный USB работает на частоте 48 МГц. Это для поддержки полной скорости связи. Кроме того, при задействовании двух 24C512 EEPROM процессор использует систему PICkit2 TO GO — это режим, в котором программист «отправляет» кастомную прошивку, которую мы позже запрограммируем на один или несколько процессоров. Преимущество состоит в том, что нам не нужен ПК для программирования, просто запрограммируйте программиста и запрограммируйте кнопку, подключенную к процессору, все данные программист извлекает из этих двух EEPROM.Для связи с нами используется только управляющее программное обеспечение, а также три светодиода.

ЗЕЛЕНЫЙ (USB-соединение) — указывает на подключение к электросети.

ЖЕЛТЫЙ (Target) — указывает напряжение питания для запрограммированного процессора

КРАСНЫЙ (ЗАНЯТО) — указывает на активность программиста.

Другая часть напряжения привода, вся эта часть управляется портом RC2, затем с помощью ШИМ контролируется напряжение в диапазоне от 2,5 до 5 В, установленное в управляющем программном обеспечении на вашем ПК.Напряжение ШИМ, подаваемое на интеграцию статьи R28, C14 и OP1, подается через основной полевой МОП-транзистор, в котором дискретизируются напряжения для запрограммированного процессора (+ V_TGT). Это напряжение также возбуждается приводом для получения 12 В. Он управляется транзистором T3, и при необходимости процессор генерирует напряжение на основе прямоугольных импульсов с частотой около 30 кГц. Из-за переключающей индуктивности возникает индуцирующее напряжение, которое добавляется к 5В, результирующее напряжение выпрямляется диодом D1 Шоттки, чтобы гарантировать, что выходной размер будет необходим, это напряжение вводится резистором обратной связи делителя R4, R11.Пока это напряжение низкое, софт дает нам знать, кайф. Конденсатор С5 фильтрует напряжение, чтобы этого не было. Напряжение коммутируется 12 В на транзисторе PNP Т2, управляемом транзистором Т6. Эти транзисторы включают напряжение programování.Tranzistor T8 используется для сброса процессора, когда приложение-программист в качестве отладчика. Несмотря на то, что R1 контролируется питающее напряжение для программирования процессора, а также измеряется функция большая.Бохужель Т1, Т4, Т5, Т7 мне не совсем понятно. Заказное программирование и выводы ISPD ISPC выводятся прямо из процессора.

ISPD — программируемый процессор данных

ISPC — часы для программируемого процессора

Кнопка T1 служит для активации загрузчика, нажатия кнопки программирования и режима программирования PICkit2 TO GO

Печатная плата, которую я сделал в программе SPRINT LAYOUT, выполнена в SMD.

Механическая конструкция: программатор помещен в пластиковую коробку КП35, в передней части находится отверстие под штуцер для USB-разъема и второе отверстие для головки разъема для программирования.

Запуск и установка программного обеспечения

1) После скачивания файла PICKIT2.zip вы увидите набор «Загрузчик», этот файл должен загружаться в процессор с помощью другого программатора. Таким образом, мы записали «загрузчик» ЦП, который у вас уже есть, а затем загрузили его на ПК через порт USB. Ибо мы не закончили программирование MCU.

2) Загрузите программное обеспечение PICkit2 (версия 2.50 или 2.60), установившее его. Когда нам не хватает необходимой версии NET Framework, она включена в программу установки и автоматически предлагает нам установить.

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

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

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

4) потом еще и «разблокируем» вариант для скачивания прошивки на программаторе

5) нажмите на эту опцию, мы предложим программу, в которой мы выбрали местоположение прошивки (которую вы сохранили), выберите файл «PK2V023200»

6) Теперь начнется загрузка прошивки на программатор

7) установка прошивки покад прошла успешно, появляется это

8) Программатор заложен и отображается в программе (ID, не жалко, ставится позже, первый программатор не подключен)

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

Установить идентификатор и калибровку
Программатор позволяет откалибровать запрограммированное для процессора напряжение, это напряжение может изменяться в диапазоне от 2,5 В до 5 В. Впоследствии мы в «Инструменты» нажмем на «Калибровать Vdd и установить идентификатор устройства ..» и ускорим наше руководство.

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

Ниже приведена только настройка этого идентификатора, который в основном является идентификатором Программист.

После нажатия кнопки «Готово» устанавливается идентификатор и калибровка завершается.

Еще одна возможность проверить, все ли работает нормально, в меню «Инструменты» нажмите «Troubledhoot» и снова откроет мастер.

Вы можете отрегулировать напряжение от 2,5 до 5 В и нажать «Проверить», это напряжение измеряется и отображается

Следующим шагом является проверка, что напряжение Vpp должно быть около 12 В

Наконец, тестовый порт для программирования может быть либо в, либо в LOG0 log1, либо в тестовом сигнале 30 кГц, который генерирует MCU.

Я просто хотел указать, что распределение выводов на этой версии программатора не такое, как в оригинале !!!!!!!!!!

Итак, теперь достаточно тестирования, чтобы проверить правильность работы функции, пора подключиться к программатору MCU.

Но сначала небольшое описание программного обеспечения:

1) Флажок «ON» включает или выключает постоянное питание для CPU.

2) галочка «/ MCLR» означает вывод MCLR в третье состояние (высокий импеданс)

3) «Чтение», «ЗАПИСЬ», «проверка», «стирание» используются для руководства программированием MCU, мне не нужно объяснять, что

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

Единственный комментарий заключается в том, что программист может определять тип ЦП сам, а не к какому семейству он принадлежит, так что семейства должны вручную выбирать подменю «Семейство устройств», тогда оно автоматически определяется типом MCU. В противном случае пишем сообщение «Устройство не обнаружено». После выбора семейств и обнаружения MCU и нажатия кнопки «Читать» программист должен прочитать содержимое процессора. Pokad успешно прочитал, см. Следующее:

Мы опишем дополнительные функции программистов, такие как анализатор логов, терминал UART, программируемые порты, режим PICkit2 TO GO.

1) Анализатор журнала и программируемые порты

В этом режиме PICIKIT может работать как трехканальный логический анализатор с максимальной частотой дискретизации 1 МГц, что делает его применимым к частотам до 500 кГц.Но достаточно посмотреть SPI или I2C.

Логический анализатор

, запускаем «Инструменты». Используем две схемы.

A) Три свободно программируемых порта

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

B) как 3-х канальный логический анализатор

2) терминал UART

3) Режим PICkit2 TO GO

Запуск от «Программиста»

Поместив программиста в подготовку этой схемы, выполняем Мастер

Теперь мы установили, куда поставлял программатор.

Следующим шагом будет загрузка прошивки с MCU.

После нажатия на «Скачать»

После успешного копирования прошивки во флеш-память EEPROM желтые светодиоды

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

А это программатор в «To Go», выйдем из этого режима при подключении к ПК с помощью «C Communication»

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

Создайте свой собственный программатор PICkit 2

Есть много доступных программаторов PIC, коммерческих и самодельных устройств. Поскольку Microchip представляет новые микропроцессоры, программное обеспечение для программирования должно быть обновлено, чтобы догнать производителя PIC.Это корень проблемы со сторонними программистами PIC. PICkit 2 от Microchip — это недорогой программатор ICSP для Flash PIC с интерфейсом USB, представленный Microchip. Поддерживается только подмножество микроконтроллеров PIC, но список включает все последние устройства из семейств PIC16, PIC18 и PIC24 и, безусловно, охватывает все PIC, которые вы, скорее всего, захотите использовать. Он полностью интегрирован с MPLAB IDE Microchip и позволяет не только программировать, но и отлаживать приложения. В качестве альтернативы вы можете использовать автономный апплет программатора, см. Рисунок ниже

PICkit 2 имеет загрузчик USB и может обновлять прошивку программатора непосредственно с веб-сайта Microchip.Каждый раз, когда запускается приложение программатора PICkit 2, оно проверяет версию прошивки PICkit 2, чтобы убедиться, что это последняя версия. В противном случае он попытается автоматически загрузить последнюю версию. Обновления программного обеспечения бесплатны, и Microchip обновляет их своевременно. Более того, прошивка и схема находятся в свободном доступе. Судя по всему, Microchip намеренно сделала открытый дизайн, рассматривая его как способ повысить популярность микропроцессоров PIC. При такой простоте конструкции легко создать клонированную версию.Sure Electronics — хороший клон и поставляется с кабелями ICSP, см. Страницу «Продукты». Моим первым программистом на PIC было устройство Melabs EPIC с интерфейсом параллельного порта. После обновления своего ПК я понял, что в наши дни параллельный порт стал унаследованным, так как большинство новых материнских плат для ПК не имеют всего этого. Еще одна неприятная особенность программистов Melabs в целом заключается в том, что даже если вы покупаете полный пакет (оборудование + программное обеспечение), обновления не бесплатны, и для загрузки доступны только бета-версии.Я успешно записал все свои чипы PIC18 и PIC24 с помощью PICkit 2 и определенно рекомендую его.

Подробнее: Создайте свой собственный программатор PICkit 2

Программирование PIC18F

Программирование PIC и EEPROM

Внутрисхемное последовательное программирование

Стандартный разъем для программирования Microchip PICkit представляет собой 6-контактный разъем, который подключается к целевому устройству, иначе называемый разъемом ICSP, как упоминается в Microchip In-Circuit Serial Programming.

Вот типичная схема приложения ICSP.

PICkit 2

Есть много доступных программаторов PIC, коммерческих и самодельных устройств. По мере того, как Microchip представляет новые микропроцессоры, программное обеспечение для программирования должно быть обновлено, чтобы догнать производителя PIC. Это корень проблемы со сторонними программистами PIC. PICkit 2 от Microchip — это недорогой программатор ICSP для Flash PIC с интерфейсом USB, представленный Microchip.Поддерживается только подмножество микроконтроллеров PIC, но список включает большинство устройств из семейств PIC16, PIC18 и PIC24 и охватывает многие PIC, которые вы, вероятно, захотите использовать. Он полностью интегрирован с MPLAB IDE Microchip и позволяет не только программировать, но и отлаживать приложения. В качестве альтернативы вы можете использовать автономный апплет программиста, см. Рисунок ниже. Несмотря на то, что Microchip не обновлял список поддерживаемых устройств с 2013 года, пользователи прилагают усилия для добавления в него новых устройств, см. Раздел «Обновление списка устройств PICkit».

PICkit 2 имеет загрузчик USB и может обновлять прошивку программатора. Прошивка и схема находятся в свободном доступе. Судя по всему, Microchip намеренно сделала открытый дизайн, рассматривая его как способ повысить популярность микропроцессоров PIC. При такой простоте конструкции легко создать клонированную версию. Моим первым программистом на PIC было устройство Melabs EPIC с интерфейсом параллельного порта. После обновления своего ПК я понял, что в наши дни параллельный порт стал унаследованным, так как большинство новых материнских плат для ПК не имеют всего этого.Еще одна неприятная особенность программистов Melabs в целом заключается в том, что даже если вы покупаете полный пакет (оборудование + программное обеспечение), обновления не бесплатны, и для загрузки доступны только бета-версии. Я успешно записал все свои чипы PIC18 и PIC24 с помощью PICkit 2 и определенно рекомендую его. Программное обеспечение PICkit 2 UI доступно для загрузки здесь.

PICkit 3

PICkit 3, представленный как преемник PICkit 2, использует тот же файл определения устройства PK2DeviceFile.dat и построен на основе устройства PIC24FJ256GB106.Microchip заявляет, что PICkit 3 отличается от PICkit 2 предоставлением:

  • Расширенное пространство образа программы EE (512 Кбайт)
  • Истинное опорное напряжение
  • Увеличенный диапазон напряжения (1,8-5 В VDD; 1,8-14 В VPP)
  • Не имеет отдельного приложения для программирования и может использоваться только с Microchip IDE

Примечание. На данный момент и PICkit 2, и PICkit 3 были прекращены, а Microchip перешел на PICkit 4 и Snap, хотя PICKit3 все еще поддерживается в MPLAB X IDE.Программное обеспечение PICkit 3 UI доступно для загрузки здесь.


Сделай сам PICkit 2

PICkit 2 был первоначально построен Microchip как программист с открытым дизайном, со схемой, исходным кодом и прошивкой, доступными для повышения популярности устройств PIC. Благодаря этому легко создать клонированную версию исходного устройства. Большинство клонов будут производить нерегулируемое VPP 5 В, тогда как оригинальный Microchip PICkit 2 обеспечивает регулируемый выход VPP, позволяющий обеспечить 3,3 и 2.Программирование деталей на 5 вольт. Схема, которую я использовал, основана на оригинальном PICkit 2 без функциональности «программист на ходу». Эта функция позволяет загружать шестнадцатеричный файл в PICkit 2 для последующего программирования микроконтроллеров PIC без ПК простым нажатием кнопки программиста. Я не думаю, что функциональность требуется любителю, но позволяет упростить схему, исключив две микросхемы EEPROM 24C512. Файлы Eagle разработаны с использованием монтажных деталей только через сквозные отверстия.

Building PICKit 2 clone сталкивается с проблемой «курица-яйцо», поскольку для программирования прошивки в PIC18F2550 требуется другой программист.После программирования микросхемы PIC18F2550 для PICKit 2 вы можете обновить прошивку, поскольку она включает загрузчик USB. Последняя версия прошивки PICkit 2 доступна от Microchip, и текущая версия также доступна на сайте — нажмите здесь, чтобы загрузить!

Список деталей

Список деталей DIY PICkit 2 для двух самых популярных поставщиков электронных компонентов, Mouser и DigiKey, показан ниже.

Часть Описание Mouser # DigiKey #

J1

Разъем USB типа B 706-33UBBD-04SW11 609-1039-ND

IC1

PIC18F2550 579-PIC18F2550-I / SP PIC18F2550-I / SP-ND

IC2

MCP601P 579-MCP601IP MCP601-I / P-ND
I, IV, Q6 BS250P, VP2106, ZVP3306A 689-VP2106N3-G ZVP3306A-ND
Q2, Q3, Q5, Q7 2N7000 512-2N7000TA 2N7000TACT-ND
D1, D2 BAT85 78-BAT85S 568-1617-1-ND
D3 Зеленый 5мм светодиод 604-WP7113SGD 754-1263-ND
D4 Желтый светодиод 5 мм 604-WP7113YD 754-1284-ND
D5 Красный светодиод 5 мм 604-WP7113ID 754-1264-ND
X1 Кристалл, 20.000 МГц 815-ABL-20-B2 XC1723-ND
R1, R3, R4 10 кОм 291-10K-RC 10KQBK-ND
R5, R10, R16 10 кОм 291-10K-RC 10KQBK-ND
R2, R6, R7 470 Ом 291-470-RC 470QBK-ND
R11 100 Ом 291-100-RC 100QBK-ND
R9 2.7 кОм 291-2.7K-RC 2.7KQBK-ND
R8, R13, R17, R18 4,7 кОм 291-4.7K-RC 4.7KQBK-ND
R12 1 кОм 291-1K-RC 1.0KQBK-ND
R14, R15 43 Ом 291-43-RC 43QBK-ND
C1, C4, C7, C10, C11 0,1 мкФ 871-B32529C104K189 495-2532-ND
C2, C3 22пФ 140-50N2-220J-RC 490-4175-ND
C5, C8 10 мкФ 647-UVR1V100MDD1TA 493-1036-ND
C6 0.47 мкФ 871-B32529C474J 495-2560-3-ND
C9 47 мкФ 16 В 647-UVR1C470MDD1TD 493-1039-ND
L1 680uH 652-RLB0608-681KL 811-2051-ND
S1 Кнопка 506-ФСМЧ 450-1665-НД
ID блока настройки

Программисту может быть назначен идентификатор устройства, чтобы однозначно идентифицировать его.После программирования свежей прошивки апплет устройства всегда показывает забавный ID «ID = OIHoss». Его можно сбросить до неназначенного или установить на любое значение, выбрав меню «Инструменты> Калибровать VDD и установить идентификатор устройства», см. Рисунок ниже.

Калибровка

Калибровка позволяет повысить точность напряжения VDD. Обратите внимание, что, поскольку калибровка зависит от напряжения USB, перемещение устройства PICkit 2 на другой порт USB, на концентратор USB или на другой порт компьютера может сделать калибровку недействительной.Для калибровки блока PICkit 2 требуется цифровой мультиметр. Отсоедините блок PICkit 2 от цели и выберите «Инструменты> Калибровать VDD и установить идентификатор устройства». для вызова мастера калибровки. Следуйте инструкциям мастера, чтобы завершить процесс калибровки.

Устранение неисправностей DIY PICkit2 в сборе

Вы можете использовать меню «Инструменты-> Устранение неполадок», чтобы помочь решить проблему подключения PICkit 2 к целевому устройству. Это также полезно при ошибках сборки устройства, так как обеспечивает пошаговый процесс проверки вывода.

PICkit 2 «El Cheapo»

Эль Чипо был программистом PIC, представленным Майком Предко в его книге «Программирование и настройка микроконтроллера PIC».

У меня до сих пор есть печатная плата, включенная в книгу, чтобы собрать где-то поблизости программатор El Cheapo. Эта версия PICkit2 вдохновлена ​​схемой этого программиста. Если вы выполняете только части программирования PIC PIC12, PIC16 и PIC18 на 5 В, вы можете использовать это. Проект Eagle выполнен с использованием сквозных компонентов и однослойной компоновки.

Список деталей

Список деталей DIY PICkit 2 для двух самых популярных поставщиков электронных компонентов, Mouser и DigiKey, показан ниже.

Малые полевые МОП-транзисторы, такие как 2N7000 и BS250P, недороги и доступны в наши дни. Это могут быть любые малосигнальные полевые МОП-транзисторы с N-каналом или P-каналом. Однако, если есть проблема с поиском этих транзисторов, вы можете использовать обычные малосигнальные транзисторы NPN и PNP.

Обновление списка устройств PICkit

Программисты PICkit2 и PICkit3 используют один и тот же PK2DeviceFile.dat со всеми данными, необходимыми для программирования каждого устройства. Последняя официальная версия этого файла была v1.62.15 как часть дистрибутива PICkit v3.1 и восходит к ’12. Однако существует бесплатный редактор устройств PICkit, и новые устройства можно добавлять в список. Не переходите на версию 1.0.0.7, она сломана! Оставайтесь на 1.0.0.6.

Сторонние разработчики прилагают усилия для продолжения поддержки PICkit 2/3, но мне не известно о каких-либо выпусках, предшествующих v1.63.155. Вот неофициальное обновление v1.63.155 для PK2DeviceFile.dat. Я тестировал некоторые устройства, такие как PIC1454, PICK1455 и PIC1459. Остается вопрос, как эти номера версий присваиваются и поддерживаются, но это скорее риторический вопрос.

Программирование EEPROM

И PICkit2, и PICkit3 также могут программировать EEPROM. Схема для программирования последовательных EEPROM 24LC I2C показана ниже.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *