Универсальный внешний накопитель для всех iOS-устройств, совместим с PC/Mac, Android
Header Banner
8 800 100 5771 | +7 495 540 4266
c 9:00 до 24:00 пн-пт | c 10:00 до 18:00 сб
0 Comments

Содержание

руководство.пользователя.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 погаснет.

Программатор Microchip PicKit2 Самый простой клон

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

К сожалению программатор PicKit2 больше не производится компанией Micrichip. На смену ему компания выпускает новую версию – PicKit3. Тем не менее, PicKit2 остается удобным и дешевым программатором. Вряд ли вы теперь купите настоящий фирменный PicKit2, но благодаря тому, что фирменная схема и прошивка устройства опубликована компанией Microchip и находится в широком доступе, каждый может собрать себе недорогой клон этого программатора, уоторый будет работать точно также, как и фирменное устройство.

Сущетвует множество вариантов схем клонов PIcKit2. Все эти схемы одинаковы по принципу работы и отличаются вариантами элементов обвязки микроконтроллера. Я публикую в этой статье наверно самый минималистичный и недорогой вариант. Все клоны, как и фирменный программатор, собраны на микроконтроллере PIC18F2550 (даташит). Это – самая дорогостоящая деталь программатора. Кроме микроконтроллера потребуется еще четыре распространенных транзистора и несколько других деталей.

Что было исключено:

  • Светодиоды. Считаю их довольно бесполезными
  • Микросхемы EEPROM. Они даже не используются прошивкой программатора.
  • Цепь питания Vdd. В свяхи с этим данный клон не может предоставлять питание схеме программируемого устройства. Теоретически, это может вызвать проблемы для более старых устройств вроде 16F628 или 16F877A но на практике всё работает.
  • Кнопка

Схема клона программатора Microchip PicKit2

Катушка L1 любой конструкции индуктивностью 680 uH. Я использовал неизвестного типа катушку, выпаянную из компьютерного блока питания. Резистор R1 сопротивлением 10 ом ограничивает максимальный зарядный ток, потребляемый конденсатором C6 от порта USB в момент подключения. Конденсатор C4 должен быть рассчитан на напряжение не менее 25 вольт.

Некоторые элементы схемы не видны на фото, так как я использовал SMD резисторы, и они распаяны с обратной стороны платы.



Поскольку схема очень простая, я не проектировал для нее PCB, всё распаяно на макетной плате.

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

Скачать программу Microchip PicKit2 V2.61

Скачать прошивку микроконтроллера PIC18F2550

Купить микросхему PIC18F2550 в Китае

Купить транзисторы BC547 и BC557

Купить USB-B гнездо


Персональный сайт – Описание работы PICkit2

Для тех, кто боится повредить прошивкой свой PICkit 2, я рекомендую приобрести контроллер PIC18F2550-I/SO, и прошить его файлом PK2V023200.hex, который расположен по месту установки программы PICkit 2. При повреждении контроллера просто замените его на новый, прошитый файлом PK2V023200.hex.

Чаще всего повреждение PICkit-2 происходит при подключении устройств с внешним импульсным источником питания, если корпус компьютера не связан с корпусом источника питания (разность потенциалов при этом может достигать половины напряжения сети 155В в пике). Как правило, при этом сгорает контроллер PIC18F2550-I/SN (начинает сильно греться). Для предотвращения этого в моей схеме установлена микросхема SN65220DBV, в оригинальной схеме этой микросхемы нет. Так же возможно повреждение PICkit-2 при использовании некачественных удлинителей USB или некачественных проводов подключения к USB. При этом в основном сгорает транзистор V13 (обозначение в моей схеме).

При перепрошивке контроллера через butloader повредить PICkit 2 практически невозможно, так как butloader расположен по адресам 0h…2000h и сам доступа к этим адресам не имеет. Также butloader не может изменить конфигурационные биты и EEPROM. Запуск butloader-а происходит автоматически, если по адресу 7FFEh расположено значение отличное от 5555h, или вручную, если питание на PICkit 2 подается при нажатой кнопке. Количество перезаписей Flash 100000.

Аппаратно PICkit 2 состоит из двух преобразователей напряжения, ключей управляющих включением питания и сбросом, ключей согласующих уровни выходных напряжений и EEPROM, которая необходима для функции Programmer-To-Go.

Последовательно рассмотрим для чего нужны все элементы схемы PICkit 2.

1. Понижающий преобразователь напряжения питания.

 Рис. 1

Схема преобразователя приведена на рисунке 1. На элементы R3C7 подается сигнал с ШИМ контроллера частотой 150 кГц. В зависимости от ширины импульсов ШИМ на элементах R3C7 формируется напряжение от 0В до половины напряжения питания USB порта. Фактически цепочка R3C7 является выходом ЦАП.

Резистор R28 необходим для разряда емкости С12 при отключении PICkit 2 от USB. Если убрать этот резистор, то при отключении и последующем подключении к USB, PICkit 2 не пересбросится и Windows покажет что «USB устройство работает неправильно».

На остальных элементах построен стабилизатор напряжения. Напряжение в точке «а» рассчитывается по формуле:

a = Uцап*2, где

Uцап – напряжение на выходе ЦАП (R3C7).

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

Проверить эту схему очень просто. Запустите программу PICkit 2 и подключив вольтметр к ЦАП (R3C7) и в точку «а» меняйте напряжение в программе. Напряжение на ЦАП (R3C7) должно меняться в пределах 1,3…2,5В. Напряжение в точке «а» от 2,6В до напряжения USB.

Из опыта работы: при подключении PICkit 2 через удлинители USB или некачественные кабели возможно повреждение транзистора V13. При подключении PICkit 2 через любой кабель или переходник с большим падением (высоким сопротивлением) при программировании микросхем с питанием 5В и КЗ по питанию происходит пересброс контроллера и ничего страшного не происходит. При программировании микросхем с питанием 3,3В и КЗ по питанию питание на контроллере падает ниже 4,5В (допустимое  4,5 В) контроллер зависает и транзистор V13 может выйти из строя от перегрева. У меня, когда я тестировал на КЗ при 3,3В транзистор задымился, но выдержал и выполняет свою функцию как положено.

2. Повышающий преобразователь напряжения.

 

Рис. 2

Схема повышающего преобразователя приведена на рисунке 2. На ключ V3 подается сигнал с ШИМ контроллера частотой 150 кГц. В зависимости от ширины импульсов дроссель L1 запасает необходимую энергию и через диод шоттки D5 заряжает конденсатор C10. Через делитель собранный на элементах R13, R14 напряжение поступает на АЦП контроллера.

В этой схеме можно использовать любой n-p-n транзистор c напряжением коллектор-эмиттер не менее 50В.

При замене транзистора V3 необходимо подобрать сопротивление R5. При большом коэффициенте усиления транзистор может насыщаться и соответственно сопротивление R5 нужно увеличивать. Что транзистор заходит в режим насыщения можно определить по нагреву индуктивности L1. При маленьком коэффициенте усиления транзистор может открываться не полностью, тогда сопротивление R5 нужно уменьшать.

Сообщение в программе PICkit 2 содержащее слова «Vpp Error» говорит о неправильной работе этой схемы.

Проверить работу этой схемы можно подключив вольтметр к конденсатору C10. Нажав в программе PICkit 2 «Check Communication» можно увидеть насколько увеличивается напряжение на конденсаторе.

3. Ключи для согласования уровней выходных напряжений.

 Рис. 3

Схема согласования уровней выходных напряжений приведена на рисунке 3. На диод V6 через схему включения питания подается напряжение с понижающего источника напряжения. Диод V6 компенсирует падение напряжения на переходе база-эмиттер транзисторов V10-V12. Если напряжение на эмиттерах транзисторов превышает напряжения в точке «b», то транзисторы V10-V12 приоткрываются до компенсации разницы напряжений. Проверить работу ключей можно следующим образом: установив и включив в программе PICkit-2 напряжение 3,3В перейдите в режим «Logic Tool Analyzer»; «Logic Tool Analyzer» должен быть в режиме «Logic I/O»; включите все порты на выход и установите на них логические «1»; если напряжения на выводах в пределах 3,3В, то схема работает правильно.

В этой схеме можно использовать любые p-n-p транзисторы.

Не рекомендую использование такой схемы в своих разработках, так как токи портов микроконтроллера RA2, RA3, RA4 превышают заявленные допустимые токи.

4. Схема сброса.

Рис. 4

Схема сброса приведена на рисунке 4. Она состоит из трех транзисторов V7-V9. Транзисторы V7, V8 служат для подключения на сигнал сброса программируемого контроллера напряжения от уровня в точке «a» (рис. 1) до 12В. При логической «1» на RB2 транзистор V7 открывается и соответственно открывает транзистор V8. Транзистор V9 служит для подключения на сигнал сброса программируемого контроллера к общему проводу. При логической «1» на RА5 транзистор V9 открывается и через резистор R20 подключает сигнал сброса программируемого контроллера к общему проводу.

Особых требований к транзисторам V7-V9 нет.

5. Ключи управления напряжением питания.

Рис. 5

Схема управления напряжением питания приведена на рисунке 5. Она состоит из двух полевых транзисторов V1, V2. Схема через резистор R8 подключена к АЦП контроллера (RA1/AN1) и по сигналу на АЦП определяется наличие и уровень напряжения в точке «b». Транзистор V2 служит для определения наличия внешнего напряжения. Перед началом программирования на RB3 подается логическая «1» и с помощью транзистора V2 резистор R6 подключается к общему проводу. Если есть внешнее напряжение, то его уровень останется неизменным, в другом случае уровень напряжения упадет до нуля. Транзистор V1, при логическом «0» на RB4, соединяет точку «a» с точкой «b». Проверить транзистор V1, можно включая и выключая напряжение в программе PICkit-2. При этом загорается желтый светодиод и напряжение в точке «b» становиться равно напряжению точке «a».

Транзистор V2 любой n-канальный транзистор с управлением логическим уровнем. Транзистор V1 p-канальный транзистор с управлением логическим уровнем и током сток-исток не менее 1А (чем меньше сопротивление сток-исток, тем лучше).

6. Микросхемы EEPROM.

Рис. 6

Схема подключения микросхем EEPROM приведена на рисунке 6. Микросхемы EEPROM подключены к микроконтроллеру по I2C интерфейсу и необходимы для функции Programmer-To-Go (программирование без компьютера). Программа для прошивки записывается в EEPROM через компьютерную программу. К PICkit-2 подключается внешний источник питания. PICkit-2 подключается к программируемому устройству. Начало программирования инициируется кнопкой, а сам процесс индицируется светодиодом «BUSY». Суммарный объем EEPROM 128 кБ.

Если в такой функции нет необходимости, то просто не устанавливайте EEPROM. В этом случае при попытке использовать функцию Programmer-To-Go компьютерная программа и сам PICkit-2 подвиснут. Остальные функции, без установленной EEPROM, работают как положено.

7. Микроконтроллер.

Рис. 7

Минимально необходимая обвязка микроконтроллера для работы с USB показана на рисунке 7. Конденсатор С3 необходим для формирования напряжения 3,3В, которое подается на USB контроллер. Номинал конденсатора C3 может быть выбран от 0,22 мкФ до 10 мкФ (я установил 0,82 мкФ). Если возникают ошибки «USB устройство работает неправильно», то проверьте значение напряжения на конденсаторе C3 оно должно быть в пределах 3,3В. Так же это напряжение можно подавать с внешнего источника, но тогда в конфигурации контроллера нужно отключить внутренний источник напряжения USB.

В качестве резонатора B1 можно устанавливать кварцевый или керамический резонатор на частоту 20 МГц. Если подходящего резонатора нет, то можно установить резонатор из ряда – 4, 8, 12, 16 или 24 МГц, но при этом необходимо в конфигурации контроллера изменить делитель частоты на 1, 2, 3, 4 или 6 соответственно (по умолчанию 5 для 20 МГц).

Программатор PicKit2 – Программаторы микроконтроллеров – Схемы устройств на микроконтроллерах

PICkit 2 это простой USB программатор для  микроконтроллеров PIC,

микросхем памяти и KeeLOQ  ключей производства  компании Microchip Technology  Inc. Программатор  PICkit 2 работает под управлением  своей собственной  оболочки (PICkit 2 Programmer) или  под управлением  бесплатной среды разработки MPLAB  IDE.  Отличительной особенностью программатора  PICkit2  является низкая цена, а так же доступность  полной  документации, включая схему и исходные  коды  прошивки для микроконтроллера, и программы  оболочки для компьютера.
Внутрисхемный программатор

Программатор PICkit2 позволяет запрограммировать  внутрисхемно практически все Flash микроконтроллеры Microchip. При появлении новых микроконтроллеров с сайта www.microchip.com можно скачать обновление программного обеспечения и прошивки программатора PICkit2. Там же доступна для скачивания утилита для работы с программатором PICkit 2 из командной строки. Утилита позволяет программировать все контроллеры, которые поддерживает последняя версия GUI-оболочки PICkit 2, микросхемы EEPROM с последовательным интерфейсом, KeeLOQ-кодеры.

С помощью ключей запуска выбирается тип контроллера, устанавливается напряжение питания, даются команды читать, программировать и верифицировать Flash и EEPROM память контроллера. Утилиту можно использовать для интеграции программатора в автоматизированные системы, сторонние редакторы кода. Утилита тестировалась на совместимость с операционными системами Windows XP SP2 и Windows Vista. Список поддерживаемых микроконтроллеров.

Внутрисхемный отладчик

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

Средство изучения интерфейса USB

Программатор PICKit 2 можно использовать как средство разработки, отладки и знакомства с USB устройствами. Если вам хочется освоить USB интерфейс, то в «стандартном» случае вам нужно иметь программатор и собственно плату с установленным USB контроллером. Если у вас есть программатор PICkit-2 то можно поступить гораздо проще! Сердцем программатора PICkit 2 является USB-контроллер Microchip PIC18F2550. Прошивку для него можно загрузить здесь. На фабрике в PICkit 2 прошит загрузчик (бутлоадер – bootloader) и прошивка программатора. Бутлоадер необходим для возможности обновления прошивки программатора при выходе новых версий PICkit2. Можно воспользоваться данной возможностью для своих целей, а именно для изучения интерфейса USB. В этом случае все что вам понадобится это PICkit 2.

Скачать архив 

чаво [PICkit2.ru]

Как создавать страницы и участвовать в дискуссиях

1. Нужно зайти на сайт под своим логином

2. При необходимости нужно зарегистрироваться на сайте

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

4. Зарегистрированные пользователи могут публиковать статьи и проекты в «Песочнице», корректировать чужие статьи.

5. Заслуживающие внимания материалы и статьи будут переноситься в основные разделы Статьи и Проекты с указанием автора и др. необходимой информации.

6. Получившие Gold аккаунт, могут править Проекты и Статьи не только в «Песочнице», размещать материалы напрямую в Проектах и Статьях.

В чем основные отличия и преимущества PICkit2 по сравнению с PICkit3, ICD-2, ICD-3 и REAL ICE?

Достоинства:

  1. PICkit2 имеет меньшую стоимость чем все перечисленные отладчики.

  2. PICkit2 может программировать микросхемы последовательной памяти с интерфейсами I2C, SPI, UNIO, а так же микросхемы кодеров KeeLOQ и CAN расширители MCP25xxx

  3. PICkit2 имеет дополнительные возможности: UART Tool, логический анализатор

  4. PICkit2 может использоваться как автономный программатор, то есть программировать микроконтроллеры PIC и микросхемы памяти без компьютера

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

Ограничения:

  1. PICkit2 не поддерживает отладку высокоскоростных 32-х разрядных контроллеров PIC32, поддерживает только программирование

Возможность PICkit2 PICkit3 ICD-2 ICD-3 REAL ICE
USB FS FS FS HS+FS HS+FS
Питание от USB Да Да Да Да Да
Нужно внешнее питание? Нет Нет Да Нет Нет
Программируемое Vpp Да Да Нет Да Да
Выдача питания на внешнее устройство Да Да Да Да
Точки останова Да Да Да Комплексные Комплексные
Программные точки останова Нет Нет Нет Да Да
Память для автон.прогр. 128К 512К Нет Нет НЕт
Трассировка Нет Нет Нет Нет Да
Захват данных Нет Нет Нет Нет Да
Пробник, триггеры Нет Нет Нет Нет Да
Командная строка Да Да Нет Да Да
Автономная работа Да Да Нет Нет Нет

Универсальный usb программатор микросхем своими руками. Универсальный USB программатор. Какие микроконтроллеры поддерживаются и могут быть прошиты программным обеспечением

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

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

Цена готовых 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 необходимо “прошить”. Эта простая операция у многих вызывает ступор, так как возникает так называемая проблема “курицы и яйца”. Как её решил я, расскажу чуть позднее.

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

Название Обозначение Номинал/Параметры Марка или тип элемента
Для основной части программатора
МикроконтроллерDD18-ми битный микроконтроллерPIC18F2550-I/SP
Биполярные транзисторыVT1, VT2, VT3КТ3102
VT4КТ361
ДиодVD1КД522, 1N4148
Диод ШотткиVD21N5817
СветодиодыHL1, HL2любой на 3 вольта, красного и зелёного цвета свечения
РезисторыR1, R2300 Ом
R322 кОм
R41 кОм
R5, R6, R1210 кОм
R7, R8, R14100 Ом
R9, R10, R15, R164,7 кОм
R112,7 кОм
R13100 кОм
КонденсаторыC20,1 мкК10-17 (керамические), импортные аналоги
C30,47 мк
Электролитические конденсаторыC1100 мкф * 6,3 вК50-6, импортные аналоги
C447 мкф * 16 в
Катушка индуктивности (дроссель)L1680 мкГнунифицированный типа EC24, CECL или самодельный
Кварцевый резонаторZQ120 МГц
USB-розеткаXS1типа USB-BF
ПеремычкаXT1любая типа “джампер”
Для панели установки микроконтроллеров (МК)
ZIF-панельXS1любая 40-ка контактная ZIF-панель
РезисторыR12 кОмМЛТ, МОН (мощностью от 0,125 Вт и выше), импортные аналоги
R2, R3, R4, R5, R610 кОм

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

Зелёный светодиод 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 портами. Это в свою очередь вызывает затруднения, в частности у радиолюбителей, связанные с сопряжением средств программирования микроконтроллеров с персональным компьютером.

В данной статье приведено описание USB программатора для микроконтроллеров AVR, который можно собрать своими руками. Построен он на микроконтроллере Atmega8 и способен работать от USB разъема компьютера. Данный программатор совместим с STK500 v2.

Описание USB программатора

USB программатор построен на плате, сделанной из одностороннего фольгированного стеклотекстолита . На плате есть 2 перемычки: одна расположена под разъё­мом SPI, вторая перемычка расположена неподалеку от того же разъема.

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

  • SUT1 = 0
  • BOOTSZ1 = 0
  • BOOTSZ0 = 0
  • CKOPT = 0
  • SPIEN = 0

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

Программирование Atmega8 через LPT-порт компьютера

Самый быстрый и дешевый способ запрограммировать Atmega8 – применить LPT-программатор для AVR. Подобная схема приведена ниже.

Питание микроконтроллера осуществляется от простого стабилизатора напряжения 78L05. В качестве оболочки для программирования можно использовать программу UniProf.

При первом включении программы и при не подключенном контроллере, нажав кнопку «LPTpins», необходимо настроит выводы LPT-порта следующим образом:

В момент запуска UniProf, она автоматом определяет вид микроконтроллера. Загружаем в память UniProf прошивку Atmega8_USB_prog.hex, отклоняем подключение файла EEPROM.

Выставляем следующим образом фьюзы (для программы UniProF), нажав кнопку «FUSE»:

Для запоминания установок нажимаем все три кнопки «Write». Затем нажав на «Erase» предварительно очищаем память прошиваемого микроконтроллера. После этого уже жмем на «Prog» и дожидаемся завершения прошивки.

Настройка USB программатора

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

Настройка порта:

Настройка терминала:

Настройка ASCII:

Теперь после всех проделанных процедур, подаем питание на USB программатор. Светодиод HL1 должен промигать 6 раз и затем светится постоянно.

Для проверки связи USB программатора с компьютером 2 раза нажимаем клавишу «Enter» в программе HyperTerminal. Если все в порядке мы должны увидеть следующую картину:

Если это не так проверяем еще раз монтаж, особенно линию TxD.

Далее вводим версию программатора 2.10, так как без этого програм­матор не будет работать с программами «верхнего уровня». Для этого вводим «2» и нажимаем «Enter», вводим «а» (английская) и нажимаем «Enter».

USB программатор способен распознавать подключение программируемого микроконтроллера. Выполнено это в виде контроля «подтяжки» сигнала Reset к источнику питания. Этот режим включается и выключается следующим образом:

  • «0», «Enter» — режим выключен.
  • «1», «Enter» — режим включён.

Изменение скорости программирования (1МГц):

  • «0», «Enter» – максимальная скорость.
  • «1», «Enter» – сниженная скорость.

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

(скачено: 1 199)

Вот есть микроконтроллер, есть написанная программа. Что ещё нужно? Программатор! Ведь без помощи аппаратуры, которая сможет записать последовательностью сигналов процесс, который хочет реализовать человек, сложно будет что-то сделать. А как здорово сделать программатор своими руками!

Также здесь вы найдете описание программаторов и из другого семейства – АВР, но исключительно в сравнительных целях. Приступим к статье, где рассказывается, как сделать программатор-flash своими руками.

Для чего необходим программатор

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

Платные против самодельных

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

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

Драйвера

Первоначально следует подобрать программное обеспечение. В зависимости от схемы программатор может быть заточен или под один микроконтроллер, или под большое их количество. Тот, что будет далее рассматриваться, рассчитан примерно на 98 программаторов от 12-го до 18-го семейств. Для тех, кому понравится вариант сборки, следует уточнить, что в качестве драйверного программного обеспечения использовалась программа IC-PROG. Можете попробовать работать и с другой, но уже на свой страх и риск. Это информация для тех, кто хочет создать программатор для AVR своими руками. Далее будет указано, для каких семейств микроконтроллеров РІС он рассчитан. Если есть желание сделать программатор AVR своими руками или какой-то другой тип МК, то вы всегда можете попытаться.

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

Вот тут уже можно попробовать сделать программатор для PIC своими руками. В качестве гнезда необходимо использовать разъем DB9. Можно сделать и USB-программатор своими руками, но для него понадобятся дополнительные элементы схемы, которые усложнят и без того довольно сложную плату. Также внимательно рассмотрите рисунок с различными прямоугольниками (чтобы знать, какие части за что отвечают). Выводы должны подключатся именно туда, куда нужно, иначе микроконтроллер превратится в небольшой кусочек пластика и железа, который можно поставить на стеночку как напоминание о былых ошибках. Процесс сборки и использования программатора таков:

  1. Собрать сам программатор так, как написано на схемах. Просмотреть на наличие некачественной пайки, а также потенциальных мест замыкания. Программатор рассчитан на работу с напряжением 15-18В, больше категорически не рекомендуется.
  2. Подготовьте среду управления прошивкой (выше было упоминание одной программы, с которой программатор точно работает).

Процесс прошивки микроконтроллера

Процесс прошивки микроконтроллера данными можно считать продолжением предыдущего списка:

  1. Произвести необходимые для работы программы настройки.
  2. Установить микроконтроллер в программатор так, как отмечено на схеме. Лучше лишний раз убедиться, что всё так, как должно быть, чем ехать за новым МК.
  3. Подключить питание.
  4. Запустить выбранное программное обеспечения (для этого программатора ещё раз посоветуем IC-Prog).
  5. В выпадающем меню вверху справа выбрать, какой именно микроконтроллер следует прошить.
  6. Подготовленный файл выбрать для программирования. Для этого перейдите по пути “Файл” – “Открыть файл”. Смотрите, не перепутайте с «Открыть файл данных», это совсем другое, прошить микроконтроллер с помощью второй кнопки не получится.
  7. Нажать на кнопку «Начать программировать микросхему». Примерное время, через которое она будет запрограммирована – до 2 минут. Прерывать процесс программирования нельзя, это чревато выведением из строя микроконтроллера.
  8. И в качестве небольшого контроля нажмите на кнопку «Сравнить микросхему с буфером».

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

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

Как уже выше упоминалось, этот программатор может работать как минимум с 98 моделями. Как можно заметить по схематическим рисункам и платам, он рассчитан на те МК, что имеют 8, 14, 18, 28 и 40 выводов. Этого должно хватить для самых различных экспериментов и построения самых разных механизмов, которые только можно сделать в пределах скромного бюджета среднестатистического гражданина. Можно выразить уверенность, что сделанный программатор своими руками сможет удовлетворить самых требовательных радиолюбителей – при условии, что он будет сделан качественно.

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

В дальнейшем программа неоднократно дорабатывалась, номенклатура поддерживаемых микросхем расширялась. Последняя версия – август 2005г. Она поддерживает следующие классы микросхем: PROM : 155PE3, 556PTxx; EPROM : 2716…27512, 27C64…27C512; EEPROM : W27C512, 28C16A, 28C17A, 28C64A, AT28C64B, AT28C256, AT29C256/257/512; 8051 : 8751, 87C51, 87C51FA, 87C51FB, 87C51FC, 87C51RD+, AT89C51, AT89C52, AT89C55, AT89C1051, AT89C2051, AT89C4051, AT89S53, AT89S8252; PIC16 : PIC12F629/675, PIC16F84/C84, PIC16F627/A, PIC16F628/A, PIC16F648A, PIC16F73/74, PIC16F76/77, PIC16F873/874, PIC16F876/877, PIC16F876A/877A, PIC16C5xx, PIC16C6x, PIC16CE6xx, PIC16C7x; AVR : AT90S1200, AT90S2313, AT90S2323/2343, AT90S2333, AT90S4414/4434, AT90S4433, AT90S8515/8535, ATtiny10/11, ATtiny12, ATtiny15, ATtiny28; I2C : 24LC01…24LC512, PCA8581, PCF8582, ST24E16; PIC18 : PIC18Fxx2/xx8; PIC12 : PIC12C508/509, PIC12F508/509, PIC16F505.

Для ATMEL AVR поддерживаются все режимы программирования: как Low voltage, так и High voltage. Т.е. можно программировать в параллельном режиме все поддерживаемые AVR микроконтроллеры.

Принципиальная схема основного блока программатора показана на рисунке. Его легко собрать своими руками. Программатор представляет собой универсальный микропроцессорный контроллер на базе микроконтроллера КР1830ВЕ31 (80C31). В его состав входят следующие узлы: ПЗУ DD3 для хранения управляющей программы, ОЗУ DD5 для хранения данных, регистр для демультиплексирования адреса и данных DD2, параллельный порт для связи с программируемой микросхемой DD4, а также узлы приемника и передатчика RS-232, осуществляющие преобразование уровней – VT1 и VT2. Все эти элементы включены по стандартной схеме.

Основное отличие данного программатора от других – это возможность работы с любым компьютером, под управлением любой операционной системы. Не обязательно Windows или DOS, даже не обязательно IBM совместимый компьютер. Важно, чтобы имелся COM порт и стандартная коммуникационная программа для работы с ним. Если нет COM порта, программатор можно подключить и к USB через адаптер USB-COM. Поддерживаются кодировки DOS, Windows и KOI-8.

На компьютере должна быть запущена какая-либо коммуникационная программа, например «Telemax», входящая в комплект Norton Commander, «Terminal» из Windows и т.п. Я обычно пользуюсь простой, но очень удобной программой «Tera Term Pro 2.3».

Пользователь управляет процессом программирования, набирая на клавиатуре компьютера команды и наблюдая на экране результаты их выполнения. Все команды состоят из одной или двух латинских букв, которые можно набирать, как в верхнем, так и в нижнем регистре клавиатуры. За командой могут следовать один, два или три цифровых параметра, разделенных пробелом. Не значащие нули слева можно не вводить, а команду редактировать клавишей “Back Space”. Ввод завершается нажатием “Enter”. В случае какой-либо ошибки при вводе выдается сообщение “ERROR”, а на выполнение команд, последствия которых могут быть необратимы для программируемой микросхемы, запрашивается подтверждение. Полный список всех доступных команд постоянно присутствует на экране, поэтому, даже если пользоваться программатором один раз в год, не придется что-либо вспоминать.

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

Программа дорабатывалась в течение нескольких лет. В итоге – около 400(!) кбайт чистого текста на ассемблере. Кодировка – DOS, не пытайтесь перекодировать ассемблерный текст в Windows , это полностью нарушит работу программы.

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

Печатную плату я рисовал вручную, в те годы Sprint Layout еще не было. Но был PCAD, в котором и прислал мне свои варианты платы один из радиолюбителей, повторивших эту конструкцию. Я, в свою очередь, делюсь этой информацией с Вами. Это дополнение выложено в архиве в том виде, в каком я его получил – “как есть”. Более подробно работа с программатором описана в pdf файле, там же приведены схемы всех сменных блоков. Выкладываю также прошивку и исходный текст программы. Все ссылки ниже.

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

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

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

Цена готовых 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 необходимо “прошить”. Эта простая операция у многих вызывает ступор, так как возникает так называемая проблема “курицы и яйца”. Как её решил я, расскажу чуть позднее.

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

Название Обозначение Номинал/Параметры Марка или тип элемента
Для основной части программатора
МикроконтроллерDD18-ми битный микроконтроллерPIC18F2550-I/SP
Биполярные транзисторыVT1, VT2, VT3КТ3102
VT4КТ361
ДиодVD1КД522, 1N4148
Диод ШотткиVD21N5817
СветодиодыHL1, HL2любой на 3 вольта, красного и зелёного цвета свечения
РезисторыR1, R2300 Ом
R322 кОм
R41 кОм
R5, R6, R1210 кОм
R7, R8, R14100 Ом
R9, R10, R15, R164,7 кОм
R112,7 кОм
R13100 кОм
КонденсаторыC20,1 мкК10-17 (керамические), импортные аналоги
C30,47 мк
Электролитические конденсаторыC1100 мкф * 6,3 вК50-6, импортные аналоги
C447 мкф * 16 в
Катушка индуктивности (дроссель)L1680 мкГнунифицированный типа EC24, CECL или самодельный
Кварцевый резонаторZQ120 МГц
USB-розеткаXS1типа USB-BF
ПеремычкаXT1любая типа “джампер”
Для панели установки микроконтроллеров (МК)
ZIF-панельXS1любая 40-ка контактная ZIF-панель
РезисторыR12 кОмМЛТ, МОН (мощностью от 0,125 Вт и выше), импортные аналоги
R2, R3, R4, R5, R610 кОм

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

Зелёный светодиод 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, я рассказал в отдельной статье. Следующий шаг .

Необходимые файлы:

Быстро собрать понравившуюся схему на микроконтроллере для многих радиолюбителей – не проблема. Но многие начинающие работать с микроконтроллерами сталкиваются с вопросом – как его запрограммировать. Одним из самых простых вариантов программаторов является JDM программатор.

Программа – программатор ProgCode v 1.0

Эта программа работает в WindowsXP. Позволяет программировать PIC контроллеры среднего семейства(PIC16Fxxx) через COM порт компьютера. Индикатор подключения программатора(в правом верхнем углу окна) при отсутствии программатора на выбранном в настройках порту окрашивается в красный цвет. Если программатор подключен – программа обнаруживает его и индикатор в правом верхнем углу принимает вид, который показан на рисунке 1.

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

Рисунок (скриншот программы ProgCode v1.0)

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

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

Формат файлов SFR
В программаторе ProgCode поддержана работа с собственным форматом файлов. Эти файлы имеют расширение.SFR и позволяют хранить дополнительную информацию о программе, предназначенной для микроконтроллера. В таком файле сохраняется информация о типе микроконтроллера. Это позволяет при загрузке файла формата SFR не беспокоится о предварительном выборе типа МК в настройках.
Настройки порта и протокола при подключении программатора
После установки программы – по умолчанию выставлены все настройки, которые необходимы для работы программатора со схемой JDM, приведённой на этой странице.
Инверсия сигнала в приведённой схеме нужна только для выхода OutData, так как в этой цепи сигнал инвертирован согласующим транзистором. На всех остальных выводах инверсия отключена.

Задержка импульса может быть равна 0. Её регулировка предусмотрена для “особо трудных” экземпляров контроллеров, которые не удаётся прошить. То же самое относится и к надбавке к паузе при записи – по умолчанию она нулевая. Если увеличить значения этих настроек, время программирования контроллера значительно увеличится.

Галочка “проверка при записи” должна быть выставлена, если вам нужно “на лету” проверить всё что записывается в микроконтроллер на правильность и соответствие исходному файлу. Если эту галочку снять проверка не производится вообще и сообщений об ошибках не будет, даже если такие ошибки в реальности будут присутствовать.
Выбор скорости порта – скорость может быть любой. Для JDM программатора этот параметр не имеет значения.

В WindowsXP применяется буферизирование передаваемой через порты COM информации. Это так называемые буфера FIFO. Чтобы избежать ошибок при программировании через JDM этот механизм необходимо отключить. Сделать это можно в диспетчере устройств Windows.

Заходим в панель управления, затем:
Администрирование – управление компьютером – диспетчер устройств

Затем выбираем порт, на который подключен JDM программатор(например COM1) – смотрим свойства – вкладка параметры порта – дополнительно. И снимаем галочку на пункте “Использовать буферы FIFO”

Рисунок – Настройка COM порта для работы с JDM программатором

После этого перезагружаем компьютер.

Обозреватель локальных проектов

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

Любой файл при двойном клике по нему в панели обозревателя откроется в самой программе – это относится к рисункам, html файлам, doc, rtf, djvu(при установленных плагинах), pdf, txt, asm. Файл возможно так-же открыть двойным кликом в обозревателе с помощью внешней программы, установленной на компьютере. Для этого расширение нужного типа файлов необходимо прописать в списке “Ассоциации файлов”. Если путь к открывающей программе не указывать – Windows откроет файл в программе по умолчанию(это удобно для открытия архивов, которые не всегда однозначно открываются). Если путь к открывающей программе указан в списке – файл откроется в указанной программе. Удобно просматривать таким образом файлы типа SPL, LAY, DSN.

Рисунок (скриншот обозревателя программы ProgCode v1.0)

Вот так выглядит окно с настройками ассоциаций файлов:

Обозреватель проектов в интернете

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



При обзоре проектов в интернете если на странице проекта есть ссылка на файл с расширением SFR(это формат файлов программы ProgCode), то такой файл при клике по нему откроется в новой вкладке программы и сразу готов к прошивке в микроконтроллер.
Список ссылок можно редактировать воспользовавшись кнопкой “Изменить”. При этом откроется окно редактирования списка ссылок:


Описание процесса программирования микросхем

Большинство современных микросхем содержит флэш-память, которая программируется посредством протокола I2C или подобных протоколов.
Перезаписываемая память есть в PIC , AVR и других контроллерах, микросхемах памяти типа 24Cxx, и подобных им, различных картах памяти типа MMC и SD, обычных флэш USB картах, которые подключаются к компьютеру через USB разъём.

Рассмотрим запись информации во флэш память микроконтроллера PIC 16 F 628 A

Есть 2 линии DATA и CLOCK , по которым передаётся информация. Линия CLOCK служит для подачи тактовых импульсов, а линия DATA для передачи информации.

Чтобы передать в микроконтроллер 1 бит информации, необходимо выставить 0 или 1(в зависимости от значения бита) на линии данных(DATA ) и создать спад напряжения (переход от 1 к 0) на линии тактирования(CLOCK ).
Один бит для контроллера – маловато. Он ждёт вдогонку ещё пять, чтобы воспринять эту посылку из 6-ти бит как команду. Контроллеру очень нравятся команды, а состоять они должны именно из 6-ти бит – такова уж природа у PIC 16.
Вот список и значение команд, которые PIC способен понять. Команд не так уж и много – словарный запас у этого контроллера невелик, но не надо думать, что он совсем глуп – бывают устройства и с меньшим количеством команд

“LoadConfiguration ” 000000 – Загрузка конфигурации

“LoadDataForDataMemory ” – 000011 – Загрузка данных в память данных(EEPROM )
“IncrementAddress ” 000110 – Увеличение адреса PC МК
“ReadDataFromProgramMemory ” 000100 – Чтение данных из памяти программ
“ReadDataFromDataMemory ” 000101 – Чтение данных из памяти данных(EEPROM )
“BeginProgrammingOnlyCycle ” 011000 – Начать цикл программирования
“BulkEraseProgramMemory ” 001001 – Полное стирание памяти программ
“BulkEraseDataMemory ” 001011 – Полное стирание памяти данных(EEPROM )

Реагирует контроллер на эти команды по-разному. По-разному после выдачи команды нужно и продолжать с ним разговор.
Для того чтобы начать полноценный процесс программирования необходимо ещё подать напряжение 12 вольт на вывод MCLR контроллера, после этого подать на него напряжение питания. Именно в такой последовательности подачи напряжений есть определённый смысл. После подачи питания, если PIC сконфигурирован на работу от внутреннего RC генератора, он может начать выполнение собственной программы, что при программировании вещь недопустимая, так как неизбежен сбой.
Предварительная подача 12-ти вольт на MCLR позволяет избежать такого развития событий.
При записи информации во флэш память программ МК после команды

“LoadDataForProgramMemory ” 000010 – Загрузка данных в память программ

необходимо отправить в контроллер сами данные – 16 бит,
которые выглядят так:

“0xxxxxxxxxxxxxx 0”.

Крестики в этом слове – это сами данные, а нули по краям отправляются как обрамление – это стандарт для PIC 16. Значащих битов в слове всего 14. У этой серии контроллеров 14-ти битный формат представления команд.
После окончания передачи слова с данными PIC ждёт следующую команду.
Так как нашей целью является запись слова в память программ МК, следующей командой должна быть команда

“BeginEraseProgrammingCycle” 001000 – Начать цикл программирования

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

Сигналы на выводах микроконтроллера формируются компьютером при помощи специальных программ – программаторов. Для передачи сигнала могут служить порты COM, LPT или USB. C JDM программатором работают такие программы как PonyProg, IsProg, WinPic800.


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

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


Одним из вопросов при подключении программатора к компьютеру является вопрос – как обеспечить селективную развязку. Чтобы в случае неисправности в схеме избежать повреждения COM порта. В некоторых схемах применяется микросхема MAX232, которая обеспечивает селективную развязку и согласует уровни сигналов. В этой схеме вопрос решён проще – с помощью применения батарейного питания. Уровень сигнала, поступающего от компьютера ограничивается стабилитронами VD1, VD2, и VD3. Несмотря на простоту схемы JDM программатора с его помощью можно запрограммировать большинство типов PIC микроконтроллеров.

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

Поключение выходов программатора к конкретному МК зависит от типа МК. Часто на плату программатора монтируют несколько панелек, которые расчитаны на определённый тип контроллеров.

В таблице приведено назначение ножек некоторых типов МК при программировании.

Такое же расположение выводов, предназначенных для программирования, имеют МК PIC16F84, PIC16F84A.



Назначение выводов для микроконтроллеров серии PIC16Fxxx в зависимости от типа корпуса в большинстве случаев является стандартным, но если возникает сомнения на этот счёт, то надёжнее всего свериться с даташитом на конкретный экземпляр МК. Часть документации присутствует на русском сайте http://microchip.ru Полное же собрание даташитов и другой документации находится на сайте производителя PIC микроконтроллеров: http://microchip.com

Индекс проектов

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

При необходимости прошить контроллер выбранной прошивкой – кликаем мышкой на файл формата SFR, к примеру Timer_a.sfr
Программа загружает файл с сервера в новую вкладку.

После этого остаётся только вставить МК в панельку программатора, если это ещё не сделано, и нажать на кнопку “Записать всё”.
Программа записывается в МК. После этого контроллер вставляется в плату устройства и устройство готово к работе.

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

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

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

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

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

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

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

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

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

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

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

LM7812

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

LM7805

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

КТ502Е

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

КТ3102Е

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

1N4148

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

1 кОм

3

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

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

Данный программатор НЕ РАБОТАЕТ при подключении к ноутбукам, т.к. уровни сигналов интерфейса RS-232 (COM-порт) в мобильных системах занижены. Также он может не работать на современных ПК, где аппаратно экономится ток на порту. Так что не обессудьте, собирайте и проверяйте на всех попавшихся под руку компьютерах.

Конструктивно плата программатора вставляется между контактами разъема DB-9, которые подпаиваются к контактным площадкам печатной платы. Ниже рисунок платы и фотография собранного программатора.



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

Рассказать в:
Быстро собрать понравившуюся схему на микроконтроллере для многих радиолюбителей – не проблема. Но многие начинающие работать с микроконтроллерами сталкиваются с вопросом – как его запрограммировать. Одним из самых простых вариантов программаторов является JDM программатор.
Программа – программатор ProgCode v 1.0Эта программа работает в WindowsXP. Позволяет программировать PIC контроллеры среднего семейства(PIC16Fxxx) через COM порт компьютера. Индикатор подключения программатора(в правом верхнем углу окна) при отсутствии программатора на выбранном в настройках порту окрашивается в красный цвет. Если программатор подключен – программа обнаруживает его и индикатор в правом верхнем углу принимает вид, который показан на рисунке 1. В левой части окна программы расположена панель управления. Эту панель можно свернуть нажав на кнопку в панели инструментов или, кликнув по левому краю окна (это удобно, когда окно программы развёрнуто во весь экран).

Рисунок (скриншот программы ProgCode v1.0)

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

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

Формат файлов SFRВ программаторе ProgCode поддержана работа с собственным форматом файлов. Эти файлы имеют расширение.SFR и позволяют хранить дополнительную информацию о программе, предназначенной для микроконтроллера. В таком файле сохраняется информация о типе микроконтроллера. Это позволяет при загрузке файла формата SFR не беспокоится о предварительном выборе типа МК в настройках.

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

Задержка импульса может быть равна 0. Её регулировка предусмотрена для “особо трудных” экземпляров контроллеров, которые не удаётся прошить. То же самое относится и к надбавке к паузе при записи – по умолчанию она нулевая. Если увеличить значения этих настроек, время программирования контроллера значительно увеличится.

Галочка “проверка при записи” должна быть выставлена, если вам нужно “на лету” проверить всё что записывается в микроконтроллер на правильность и соответствие исходному файлу. Если эту галочку снять проверка не производится вообще и сообщений об ошибках не будет, даже если такие ошибки в реальности будут присутствовать.
Выбор скорости порта – скорость может быть любой. Для JDM программатора этот параметр не имеет значения.

В WindowsXP применяется буферизирование передаваемой через порты COM информации. Это так называемые буфера FIFO. Чтобы избежать ошибок при программировании через JDM этот механизм необходимо отключить. Сделать это можно в диспетчере устройств Windows.

Заходим в панель управления, затем:
Администрирование – управление компьютером – диспетчер устройств

Затем выбираем порт, на который подключен JDM программатор(например COM1) – смотрим свойства – вкладка параметры порта – дополнительно. И снимаем галочку на пункте “Использовать буферы FIFO”

Рисунок – Настройка COM порта для работы с JDM программатором

После этого перезагружаем компьютер.

Обозреватель локальных проектовКроме непосредственно программирования контроллеров в программе реализован удобный обозреватель проектов на МК, находящихся как на локальных папках компьютера, так и в интернете. Сделано это для удобства работы. Нередко нужные проекты лежат в разных папках, и приходится тратить время на то, чтобы добраться до нужной дирректории, чтобы просмотреть проект. Здесь нужные папки легко добавить в список папок и просматривать любой проект двумя-тремя кликами мышки.

Любой файл при двойном клике по нему в панели обозревателя откроется в самой программе – это относится к рисункам, html файлам, doc, rtf, djvu(при установленных плагинах), pdf, txt, asm. Файл возможно так-же открыть двойным кликом в обозревателе с помощью внешней программы, установленной на компьютере. Для этого расширение нужного типа файлов необходимо прописать в списке “Ассоциации файлов”. Если путь к открывающей программе не указывать – Windows откроет файл в программе по умолчанию(это удобно для открытия архивов, которые не всегда однозначно открываются). Если путь к открывающей программе указан в списке – файл откроется в указанной программе. Удобно просматривать таким образом файлы типа SPL, LAY, DSN.

Рисунок (скриншот обозревателя программы ProgCode v1.0)

Вот так выглядит окно с настройками ассоциаций файлов:

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


При обзоре проектов в интернете если на странице проекта есть ссылка на файл с расширением SFR(это формат файлов программы ProgCode), то такой файл при клике по нему откроется в новой вкладке программы и сразу готов к прошивке в микроконтроллер.
Список ссылок можно редактировать воспользовавшись кнопкой “Изменить”. При этом откроется окно редактирования списка ссылок:

Описание процесса программирования микросхемБольшинство современных микросхем содержит флэш-память, которая программируется посредством протокола I2C или подобных протоколов.
Перезаписываемая память есть в PIC , AVR и других контроллерах, микросхемах памяти типа 24Cxx, и подобных им, различных картах памяти типа MMC и SD, обычных флэш USB картах, которые подключаются к компьютеру через USB разъём.Рассмотрим запись информации во флэш память микроконтроллера PIC16F628AЕсть 2 линии DATA и CLOCK, по которым передаётся информация. Линия CLOCK служит для подачи тактовых импульсов, а линия DATA для передачи информации.
Чтобы передать в микроконтроллер 1 бит информации, необходимо выставить 0 или 1(в зависимости от значения бита) на линии данных(DATA) и создать спад напряжения (переход от 1 к 0) на линии тактирования(CLOCK).
Один бит для контроллера – маловато. Он ждёт вдогонку ещё пять, чтобы воспринять эту посылку из 6-ти бит как команду. Контроллеру очень нравятся команды, а состоять они должны именно из 6-ти бит – такова уж природа у PIC16.
Вот список и значение команд, которые PIC способен понять. Команд не так уж и много – словарный запас у этого контроллера невелик, но не надо думать, что он совсем глуп – бывают устройства и с меньшим количеством команд”LoadConfiguration” 000000 – Загрузка конфигурации
“LoadDataForProgramMemory” 000010 – Загрузка данных в память программ
“LoadDataForDataMemory” – 000011 – Загрузка данных в память данных(EEPROM)
“IncrementAddress” 000110 – Увеличение адреса PC МК
“ReadDataFromProgramMemory” 000100 – Чтение данных из памяти программ
“ReadDataFromDataMemory” 000101 – Чтение данных из памяти данных(EEPROM)
“BeginProgrammingOnlyCycle” 011000 – Начать цикл программирования
“BulkEraseProgramMemory” 001001 – Полное стирание памяти программ
“BulkEraseDataMemory” 001011 – Полное стирание памяти данных(EEPROM)
“BeginEraseProgrammingCycle” 001000 – Начать цикл программированияРеагирует контроллер на эти команды по-разному. По-разному после выдачи команды нужно и продолжать с ним разговор.
Для того чтобы начать полноценный процесс программирования необходимо ещё подать напряжение 12 вольт на вывод MCLR контроллера, после этого подать на него напряжение питания. Именно в такой последовательности подачи напряжений есть определённый смысл. После подачи питания, если PIC сконфигурирован на работу от внутреннего RC генератора, он может начать выполнение собственной программы, что при программировании вещь недопустимая, так как неизбежен сбой.
Предварительная подача 12-ти вольт на MCLR позволяет избежать такого развития событий.
При записи информации во флэш память программ МК после команды”LoadDataForProgramMemory” 000010 – Загрузка данных в память программнеобходимо отправить в контроллер сами данные – 16 бит,
которые выглядят так: “0xxxxxxxxxxxxxx0”.Крестики в этом слове – это сами данные, а нули по краям отправляются как обрамление – это стандарт для PIC16. Значащих битов в слове всего 14. У этой серии контроллеров 14-ти битный формат представления команд.
После окончания передачи слова с данными PIC ждёт следующую команду.
Так как нашей целью является запись слова в память программ МК, следующей командой должна быть команда
“BeginEraseProgrammingCycle” 001000 – Начать цикл программированияПолучив её, контроллер отключается от внешнего мира на 6 миллисекунд, которые нужны ему, чтобы завершить процесс записи.Сигналы на выводах микроконтроллера формируются компьютером при помощи специальных программ – программаторов. Для передачи сигнала могут служить порты COM, LPT или USB. C JDM программатором работают такие программы как PonyProg, IsProg, WinPic800.
Схема JDM программатораОчень простая схема программатора приведена на рисунке. В этой схеме хоть и не реализуется контроль последовательности подачи напряжений, но зато она очень проста и собрать такую схему возможно очень быстро, ипользовав минимумом деталей.
Рисунок (схема JDM программатора)


Одним из вопросов при подключении программатора к компьютеру является вопрос – как обеспечить селективную развязку. Чтобы в случае неисправности в схеме избежать повреждения COM порта. В некоторых схемах применяется микросхема MAX232, которая обеспечивает селективную развязку и согласует уровни сигналов. В этой схеме вопрос решён проще – с помощью применения батарейного питания. Уровень сигнала, поступающего от компьютера ограничивается стабилитронами VD1, VD2, и VD3. Несмотря на простоту схемы JDM программатора с его помощью можно запрограммировать большинство типов PIC микроконтроллеров.Перемычка между выводами COM6(DSR) и COM7(RTS) предназначена для того, чтобы программа могла определить, что программатор подключен к компьютеру.

Поключение выходов программатора к конкретному МК зависит от типа МК. Часто на плату программатора монтируют несколько панелек, которые расчитаны на определённый тип контроллеров.

В таблице приведено назначение ножек некоторых типов МК при программировании.

приведены рисунки с назначением выводов наиболее распространнённых МК при программировании.Цоколёвка (распиновка) микроконтроллеров PIC16F876A, PIC16F873A в корпусе DIP28.

Цоколёвка (распиновка) микроконтроллеров PIC16F874A, PIC16F877A в корпусе DIP40.
Цоколёвка (распиновка) микроконтроллеров PIC16F627A, PIC16F628A, PIC16F648A в корпусе DIP18.
Такое же расположение выводов, предназначенных для программирования, имеют МК PIC16F84, PIC16F84A.

Назначение выводов для микроконтроллеров серии PIC16Fxxx в зависимости от типа корпуса в большинстве случаев является стандартным, но если возникает сомнения на этот счёт, то надёжнее всего свериться с даташитом на конкретный экземпляр МК. Часть документации присутствует на русском сайте http://microchip.ru Полное же собрание даташитов и другой документации находится на сайте производителя PIC микроконтроллеров: http://microchip.com
Индекс проектовПрограмма позволяет напрямую выходить на страницу индекса, парой кликов просматривать описание нужного проекта и сразу-же прошивать программу в контроллер.

При необходимости прошить контроллер выбранной прошивкой – кликаем мышкой на файл формата SFR, к примеру Timer_a.sfr
Программа загружает файл с сервера в новую вкладку.

После этого остаётся только вставить МК в панельку программатора, если это ещё не сделано, и нажать на кнопку “Записать всё”.
Программа записывается в МК. После этого контроллер вставляется в плату устройства и устройство готово к работе.

Скачать программу можно на странице загрузки файлов:http://cxema.my1.ru/load/proshivki/material_k_state_prostoj_jdm_programmator_dlja_pic_mikrokontrollerov/9-1-0-1613 Раздел:

USB-программатор PIC PICKit2

PICKit2 от

Microchip намного удобнее, надежнее и мощнее, чем другие программаторы, которые мы можем найти повсюду в Интернете. Это программатор ICSP (In Circuit Serial Programming) на базе 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. Вы можете скачать шестнадцатеричный файл, схему, дизайн печатной платы, компоновку компонентов и т. Д. Отсюда…

% PDF-1.6 % 1064 0 объект> эндобдж xref 1064 68 0000000016 00000 н. 0000002588 00000 н. 0000002724 00000 н. 0000002903 00000 н. 0000002931 00000 н. 0000002977 00000 н. 0000003013 00000 н. 0000003164 00000 п. 0000003278 00000 н. 0000003430 00000 н. 0000004156 00000 н. 0000004800 00000 н. 0000008928 00000 н. 0000009159 00000 н. 0000009455 00000 н. 0000009636 00000 н. 0000009699 00000 н. 0000009887 00000 н. 0000012209 00000 п. 0000012268 00000 п. 0000012346 00000 п. 0000012451 00000 п. 0000012546 00000 п. 0000012593 00000 п. 0000012752 00000 п. 0000012868 00000 п. 0000013024 00000 п. 0000013117 00000 п. 0000013224 00000 п. 0000013403 00000 п. 0000013496 00000 п. 0000013664 00000 п. 0000013823 00000 п. 0000013953 00000 п. 0000014053 00000 п. 0000014208 00000 п. 0000014300 00000 п. 0000014457 00000 п. 0000014615 00000 п. 0000014707 00000 п. 0000014845 00000 п. 0000014949 00000 п. 0000015127 00000 п. 0000015252 00000 п. 0000015368 00000 п. 0000015514 00000 п. 0000015654 00000 п. 0000015759 00000 п. 0000015877 00000 п. 0000015984 00000 п. 0000016122 00000 п. 0000016244 00000 п. 0000016370 00000 п. 0000016487 00000 п. 0000016609 00000 п. 0000016740 00000 п. 0000016858 00000 п. 0000016981 00000 п. 0000017078 00000 п. 0000017175 00000 п. 0000017316 00000 п. 0000017435 00000 п. 0000017542 00000 п. 0000017664 00000 п. 0000017785 00000 п. 0000017916 00000 п. 0000018054 00000 п. 0000001698 00000 н. трейлер ] >> startxref 0 %% EOF 1131 0 obj> поток 3qѸ򝸱] cgp ~: j # H7qU} Y`2 @ gX7) / 88x [4O3Q: b Xk (ە / mR \ I˶pu ޤ Mi%} se_2ͺ) RWieӒY {B, ꦪ # 0j [k {waK + NBEW ~ b! dB @ R59, R8y! ш, 6 и дм_- + R ~ @ P 2UkHC $ Ǝ “dg> m)% VDF’u` * uUXOPbWtzagxU: [` 9T3? 3 *}.a / 2FKȏ stmVF? d1VUZn} s ##! laԄ ן! zLqaD}, `MxjU ߋ & vY2 \ * ע UW] j” -)

Принципиальная схема 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.Теперь вы можете сделать свой собственный программатор, я хочу.

Спасибо, наслаждайтесь.


JLCPCB – всего 2 доллара за прототип печатной платы (любого цвета)

Круглосуточная быстрая обработка, отличное качество и непревзойденные цены

$ 18 Приветственный бонус за новые регистрации Сейчас !!! https://jlcpcb.com


Проверьте это: 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 Programmer / Debugger User’s Guide PICkit2 User 51553E

DS51553E-page ii © 2008 Microchip Technology Inc.

Информация, содержащаяся в этой публикации относительно приложений устройства

и т.п., предоставляется только для вашего удобства

и может быть заменена по обновлениям.Вы обязаны

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

МИКРОЧИП НЕ ПРЕДОСТАВЛЯЕТ НИКАКИХ ЗАЯВЛЕНИЙ ИЛИ

ГАРАНТИЙ ЛЮБОГО РОДА, ЯВНЫХ ИЛИ

ПОДРАЗУМЕВАЕМЫЕ, ПИСЬМЕННО УСТНО, ЗАКОННЫМ ИЛИ

ИНАЧЕ, СВЯЗАННЫЕ С ИНФОРМАЦИЕЙ, ВКЛЮЧАЯ ИНФОРМАЦИЮ

. , КОММЕРЧЕСКОЙ ЦЕННОСТИ ИЛИ

ПРИГОДНОСТИ ПО НАЗНАЧЕНИЮ. Microchip снимает с себя всякую ответственность

, вытекающую из этой информации и ее использования.Использование устройств Microchip

в приложениях жизнеобеспечения и / или безопасности полностью ложится на риск покупателя

, и покупатель соглашается защищать, возмещать убытки и защищать

Microchip от любых повреждений, претензий, исков

или расходы, связанные с таким использованием. Никакие лицензии

не передаются, косвенно или иным образом, в рамках каких-либо прав интеллектуальной собственности Microchip

.

Товарные знаки

Название и логотип Microchip, логотип Microchip, Accuron,

dsPIC, KEELOQ, логотип KEELOQ, MPLAB, PIC, PICmicro,

PICSTART, PRO MATE, rfPIC и SmartShunt2 Technology зарегистрированы 9000 товарными знаками Microchip Technology. Зарегистрировано в

U.S.A. и другие страны.

FilterLab, Linear Active Thermistor, MXDEV, MXLAB,

SEEVAL, SmartSensor и The Embedded Control Solutions

Company являются зарегистрированными товарными знаками Microchip Technology

Incorporated в США

Analog-for-Digital Age, Application Maestro , CodeGuard,

dsPICDEM, dsPICDEM.net, dsPICworks, dsSPEAK, ECAN,

ECONOMONITOR, FanSense, внутрисхемный серийный номер

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

, ICSP, ICEPIC, логотип Mindi, MiWi, MPASM,

, MPLAB2 , mTouch, PICkit, PICDEM,

PICDEM.net, PICtail, логотип PIC32, PowerCal, PowerInfo,

PowerMate, PowerTool, REAL ICE, rfLAB, Select Mode, Total

Endurance, UNI / O, WiperLock и ZENA являются товарными знаками

Microchip Technology Incorporated в США и др.

страны.

SQTP является знаком обслуживания Microchip Technology Incorporated

в США.

Все другие упомянутые здесь товарные знаки являются собственностью соответствующих компаний

.

© 2008, Microchip Technology Incorporated, Напечатано на

U.S.A., Все права защищены.

Напечатано на бумаге из вторсырья.

Обратите внимание на следующие детали функции защиты кода на устройствах Microchip:

• Продукты Microchip соответствуют спецификациям, содержащимся в их конкретном листе данных Microchip.

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

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

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

. Скорее всего, это лицо занимается хищением интеллектуальной собственности.

• Microchip готова работать с заказчиком, который заботится о целостности своего кода.

• Ни Microchip, ни другие производители полупроводников не могут гарантировать безопасность своего кода.Кодовая защита не означает, что

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

Кодовая защита постоянно развивается. Мы в Microchip стремимся постоянно улучшать функции защиты кода наших продуктов

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

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

Microchip получила сертификат ISO / TS-16949: 2002 для своего всемирного головного офиса

, проектирования и производства пластин в Чандлере и

Темпе, Аризона; Грешам, штат Орегон, и дизайнерские центры в Калифорнии

и Индии. Процессы и процедуры системы качества компании

предназначены для микроконтроллеров PIC® и dsPIC® DSC, устройств со скачкообразной перестройкой кода KEELOQ®

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

аналоговых продуктов.Кроме того, система качества Microchip для проектирования

и производства систем разработки сертифицирована по ISO 9001: 2000.

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”

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

Настройка микроконтроллера PIC

Следующие программы являются примерами, которые я использую для обучения программированию. 8-битных микроконтроллеров PIC. Хорошим справочником является книга “Designing Embedded Системы с микроконтроллерами PIC: принципы и применение » пользователя Tim Wilmshurst.Таблица данных для PIC также является хорошей справкой. для информации о битах для каждого регистра адреса памяти в микросхеме.

Метод, который мы используем, заключается в программировании микросхемы PIC с помощью PICKit2 в сборке. язык. PICKit2 относительно недорогой и обслуживает большие разнообразие микроконтроллеров PIC. Обычно мы начинаем с PIC16F690. микроконтроллер, так как в нем есть все, что нам нужно, и небольшое количество булавок (20). Помещая PIC16F690 в макет, мы используем PICKit2 “только” и подключим наши 6 проводов от PICKit2 к микроконтроллеру, как показано на диаграмма Схема Pickit2.Мы проводим следующая процедура для тестирования нашей системы. Программирование осуществляется с помощью MPLAB (бесплатная загрузка) ПО от микрочипа в сборке.

  1. Сначала запрограммируйте микросхему PIC с помощью программы test.asm, что подает 5 вольт, а затем 0 вольт на контакт № 16 (C0).
  2. Проверьте выход вывода №16 с помощью осциллографа. На выходе должно быть 5 вольт. который длится 1 микросекунду (для тактовой частоты 4 МГц), и 0 вольт, который длится в течение 3 микросекунды Если это сработает, то мы знаем, что настроили программатор и микросхему. правильно.
  3. Далее мы проверяем последовательную передачу, так как мы хотим получать и сохранять данные, которые мы отправить с микроконтроллера. В качестве первой проверки программируем код sertest1.asm, который отправляет тот же номер через последовательный порт на 9600 BAUD
  4. Чтобы проверить, работает ли последовательный выход, мы подключаем осциллограф к контакту TX (# 10 для PIC16F690). Выход для нуля в двоичном числе должен быть 5 вольт длительностью. 1 микросекунда (для 9600 BAUD). Выход для единицы в двоичном числе должен быть равен 0 вольт. за 1 микросекунду (для 9600 BAUD).Также будет бит запуска и остановки, поэтому полный сигнал будет иметь длину 10 бит.
  5. Если вывод TX производит правильный вывод, есть два способа, которыми мы можем считывать последовательные данные с ПК: с помощью кабеля TTL-232R-5V к usb или с помощью микросхему MAX232 к последовательному порту. Первый метод прост и удобен в использовании.
    1. USB-вход для ПК: Самый простой способ передать данные с PIC на ПК – использовать Кабель TTL-USB: TTL-232R-5V (прямой разъем) или TTL-232R-5V-WE (концы проводов) сделано FTDI.Кабель имеет 6 выводов, 4 из которых подключаются непосредственно к Контакты PIC. Видеть Соединения PIC-usb для принципиальной схемы соединений.
    2. Ввод ПОСЛЕДОВАТЕЛЬНОГО ПОРТА на ПК: если требуется ввод данных в последовательный порт, то микросхема MAX232 обеспечивает соответствующий сдвиг напряжения для порта. Микросхема MAX232 будет сдвигать 5 вольт на +8 вольт и 0 от вольт до -8 вольт для ввода в последовательный порт. Видеть max232 (комплимент www.SoDoItYourself.com) для принципиальная схема подключения PIC к последовательному порту.Чтобы проверить схему, считываем вывод микросхемы MAX232 осциллографом чтобы убедиться, что правильное значение +/- 8 вольт соответствует двоичному числу.
  6. Наконец, асинхронный последовательный вывод на ПК считывается в операционной системе Linux одним из следующих способов: перечисленные ниже программы C (чтение асинхронного последовательного вывода). Как только правильное двоичное число будет воспроизведено на Монитор ПК, мы можем начинать наши проекты. Поскольку в этом тесте мы отправляем то же самое двоичное число каждый раз, мы иногда получаем ошибки кадрирования.
  7. В качестве еще одной проверки последовательной передачи программируем микроконтроллер с программой sertest3.asm, который увеличивает двоичное число на единицу и отправляет его через последовательный порт на ПК. На мониторе ПК должны выводиться последовательные числа.
  8. См. Соединения на макетной плате для внутрисхемного программирования. настройка на макетной плате. См. Protoboard для изображения нашего макет. Резонатор на 20 МГц был подключен к микросхеме на картинке.

Примеры программ для микроконтроллера PIC

  1. время 2.как м это ассемблерный код, который считывает таймер и отправляет данные на ПК через серийный. В коде есть приятная процедура прерывания, которая увеличивает регистры когда таймер 0 переполняется. Полные часы используют 4 регистра.
  2. timer2.asm это ассемблерный код, который мы используем для синхронизации стробирования лазера (или фото). Программа ждет, пока вывод 11 не станет низким, берет отметку времени и отправляет таймер 4 байтов через последовательный порт на ПК. Затем он ждет до вывода 11 переходит в высокий уровень, принимает отметку времени и отправляет 4 байта таймера через последовательный порт на ПК.Цикл повторяется бесконечно. Эта программа была разработана “СиДжей” Беккарелли. как часть его старшего проекта.
  3. atod20hl.asm это ассемблерный код, который быстро выполняет преобразование аналогового сигнала в цифровой 80 раз со значениями хранится в памяти. Затем данные передаются через последовательный порт на ПК. Строка конфигурации включает внешние Резонатор 20 МГц (_HS_OSC), а последовательный передается на 115,2 Кбод. 10 бит A-to-D сэмплирование может быть выполнено с помощью этой программы на частоте 300 кГц. Эта программа была написана Майкл Мэнселл в рамках своего старшего проекта.

Чтение асинхронного последовательного вывода с микросхемы через последовательный порт ПК и порт USB

Отличный веб-сайт для чтения и записи последовательного и параллельного порт: www.beyondlogic.com. Ниже мы приводим пример программы, которая работает в Linux, чтобы читать последовательный порт.
  1. picserin.c: Эта программа написана на C и работает в Linux. Он читает последовательный порт 24 раза подряд и выводит байты на экран. Мы просто используем его как тест, чтобы убедиться, что микросхема PIC правильно передает последовательные данные.
  2. Последовательные данные также могут быть прочитаны через порт USB. Программа usbserial.c: написан на C и работает в Linux. Мы используем последовательный USB адаптер, для которого в Ubuntu есть драйвер. После подключения USB-разъема настроен драйвер устройства «ttyUSB0».

Время на ПК через параллельный порт

Можно сделать довольно точную синхронизацию для входа TTL, используя параллельный порт. Ниже мы перечисляем некоторые коды, которые мы используем (или использовали) в нашем классе для фотозаборка ГРМ.
  1. в ожидании.c: Эта программа написана на C и запускается в Linux для нашего эксперимента с маятником. Он проверяет параллельный порт на наличие изменение на контакте 10. Когда происходит изменение, метка времени получается с помощью звонок в rdtsc.
  2. atwoodxpar.c: Эта программа написана на C и работает в Linux для нашего эксперимента с машиной atwood. Он проверяет параллельность порт для изменения на выводе 10 параллельного порта. Когда происходит изменение, метка времени получается с помощью вызова rdtsc. Данные могут быть нанесены на график монитор через библиотеку X11.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *