Как сделать простой программатор для PIC-ов и AVR-ов |
Продолжение темы предыдущего проекта. Бесплатные программаторы, которые можно найти в интернете безнадежно отстают от разработчиков чипов и не предлагают способов быстрой модернизации для программирования новых микроконтроллеров.
В данном случае была сделана попытка разработать программную оболочку в рамках которой легко было бы наращивать возможности по программированию различных чипов хотя бы для предопределенных семейств. |
Программатор характеризуется тем, что:
- Испытан под Windows 98, Windows Me, Windows 2000 c процессорами Celeron, AMD Duron, AMD Athlon T, Pentium III до частоты 1000 МГц
- Программирование ведется через порт RS232
- Программа не требует инсталяции и дополнительных драйверов.
- Программирует микроконтроллеры семейства PIC (отладка производилась на PIC16F84 и PIC16F877) по последовательному протоколу и микроконтроллеры семейства AVR (отладка производилась на AT90S8535)
- Предостовляет возможность самостоятельно добавлять новые чипы из указанных семейств с идентичным протоколом программирования с помощью конфигурационных файлов.
- Позволяет произвольно менять структуру и содержание меню программируемых чипов и информационных полей связанных с программируемым чипом.
- Позволяет загружать и редактировать бинарные и HEX файлы, выполнять блочные операции с данными, расчет CRC по нескольким алгоритмам
- Позволяет индивидуально программировать различные области чипа (память программ, память данных, биты опций, биты защиты)
|
|
|

Схема программатора PIC-ов.
Особой оригинальностью не отличается поскольку в основном повторяет схему из известного программатора PonyProg. Следует уделять внимание уровню сигнала на выводе CLOCK чипа, он не должен быть меньше 4 В при высоком уровне, что может случиться при неправильном подборе стабилитрона
|
Программирование AVR-ов |
 |
Схема программирования AVR-ов.
Здесь показан способ как организовать программирование AT90S8535 прямо на плате с помощью RS232 и небольшого аппаратного дополнения. Микросхема DD1 служит для изоляции сигналов программирования от чипа в режиме работы. Разводка микросхемы показана в колодке c расположением контактов типа PGA44. Испытания показали, что большинство микросхем AT90S8535 и AT90S8515 можно программировать при частоте кварца 11,0592 МГц. |
Структура конфигурационных файлов |
Конфигурационные файлы имеют расширение chp и должны находиться в директории программы.
Программа при запуске производит поиск в своей директории всех конфигурационных файлов и их объединение во внутреннем буфере. Идея таких файлов взята из программатора ComPic и немного изменена. Каждому чипу соответствует своя секция. Возможность наследования свойств не предусмотренна, так как это ухудшает прозрачность описания.
Пример структуры конфигурационного файла для PIC16F84
[Chip PIC16F84_ICP] |
Секция чипа c уникальным названием чипа |
Level1=MicroChip |
Название пункта меню верхнего уровня |
Level2=PIC |
Название пункта меню 2-го уровня вложения |
ItemCaption=PIC16F84 |
Название конечного пункта меню |
InitClass=TfrmMICROCHIP_PIC_ICP |
Название класса окна-фрейма программирующего данное семейство чипов по определенному протоколу Названия классов предопределены в программе: TfrmMICROCHIP_PIC_ICP и TfrmATMEL_AVR_ICP |
Здесь идет определение программируемых областей, в пунктах Content разные параметры отделяются символом "|" |
Area_1_Content= Code | 0..3FFh (1KW) |
Название и описание области программирования |
Area_1_data=CODE, 0, $3FF, 14 |
Данные связанные с областью программирования - уникальный идентификатор, начальный адрес, конечный адрес, размер слова данных в битах |
Area_2_Content=EEPROM | 0..3Fh (64B) Area_2_Data=EEPROM,0,$3F,8 Area_3_Content=Configuration word | CP, PWRTE, WDTE, FOSC Area_3_Data=CONFIG,$2007,$2007,14 Area_4_Content=ID Locations | 2000H-2003H Area_4_Data=ID,$2000,$2003,8 |
и т. д. для других областей |
Здесь идет определение установок для некоторых областей программирования определенных выше |
Param_1_Content=CP | CP | CONFIG |
Определение установки с названием CP, с уникальным идентификатором CP из области CONFIG. По умолчанию установка принимает значение с номером 1 в суффиксе идентификатора |
|
Описание возможных значений установки |
Param_1_Choice1=1 - Code protection OFF |
Название 1-го значения установки CP |
Param_1_Choice1_icon=4 |
Номер во внутреннем списке отображаемой иконы для 1-го значения |
Param_1_Choice1_data=1111111111xxxx |
маска 1-го значения |
Param_1_Choice2=0 - Code protection ON Param_1_Choice2_icon=3 Param_1_Choice2_data=0000000000xxxx |
Описание 2-го значения установки |
Param_2_Content=PWRTE | PWRTE | CONFIG Param_2_Choice1=1 - Power up timer disabled Param_2_Choice1_icon=2 Param_2_Choice1_data=xxxxxxxxxx1xxx Param_2_Choice2=0 - Power up timer enabled Param_2_Choice2_icon=1 Param_2_Choice2_data=xxxxxxxxxx0xxx |
Описание следующей установки и ее значений |
Param_3_Content=WDTE | WDTE | CONFIG Param_3_Choice1=1 - WDT enabled Param_3_Choice1_icon=1 Param_3_Choice1_data=xxxxxxxxxxx1xx Param_3_Choice2=0 - WDT disabled Param_3_Choice2_icon=2 Param_3_Choice2_data=xxxxxxxxxxx0xx
Param_4_Content=Oscilator | FOSC | CONFIG Param_4_Choice1=RC oscillator (11) Param_4_Choice1_icon=8 Param_4_Choice1_data=xxxxxxxxxxxx11 Param_4_Choice2=HS oscillator (10) Param_4_Choice2_icon=8 Param_4_Choice2_data=xxxxxxxxxxxx10 Param_4_Choice3=XT oscillator (01) Param_4_Choice3_icon=8 Param_4_Choice3_data=xxxxxxxxxxxx01 Param_4_Choice4=LP oscillator (00) Param_4_Choice4_icon=8 Param_4_Choice4_data=xxxxxxxxxxxx00
Param_5_Content=ID | ID | ID Param_5_Choice1=0000
|
и т.д. для всех необходимых установок |
Файл программы(zip архив 446 KB)
Автор: Александр Елисеев |
C этой схемой также часто просматривают: |
ЗАЖИГАЛКА ДЛЯ ГАЗА
Популярный программатор PIC16x84 и PIC16F62x
Зарядное устройство для автомобильных и мотоциклетных батарей
Зарядное устройство для автомобильных аккумуляторов
Имитатор для проверки телефонных аппаратов
Как сделать простой программатор с использованием DELPHI 5
Определитель номера стандарта DTMF.
Таймер с выводом на TV, коммутацией Video, накоплением сумм времени и числа запусков
Система сбора информации от удаленных объектов посредством интерфейса RS-485
|  |
LPT программатор PIC микроконтроллеров
LPT программатор PIC микроконтроллеров
Отладочная плата для микроконтроллеров PIC
NTV программатор PIC микроконтроллеров (JDM совместимый)
LPT Программатор PIC микроконтроллеров
Простейший программатор для PIC
Коммутатор панели ZIF для программирования микроконтроллеров PIC
Плата для программатора PICkit3
Восстановление калибровочной константы
RCD-программатор для PIC-контроллеров
|