- Характеристики
- Програмування 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 по нескольким алгоритмам
- Позволяет индивидуально программировать различные области чипа (память программ, память данных, биты опций, биты защиты)
Рис.1. Окно програмной оболочки
Програмування PIC-ів
Рис.1. Схема программатора PIC-ов
Особой оригинальностью не отличается поскольку в основном повторяет схему из известного программатора PonyProg. Следует уделять внимание уровню сигнала на выводе CLOCK чипа, он не должен быть меньше 4 В при высоком уровне, что может случиться при неправильном подборе стабилитрона
Програмування AVR-ів
Рис.2. Схема программирования AVR-ов
Здесь показан способ как организовать программирование AT90S8535 прямо на плате с помощью RS232 и небольшого аппаратного дополнения. Микросхема DD1 служит для изоляции сигналов программирования от чипа в режиме работы. Разводка микросхемы показана в колодке c расположением контактов типа PGA44. Испытания показали, что большинство микросхем AT90S8535 и AT90S8515 можно программировать при частоте кварца 11,0592 МГц.
Структура конфігураційних файлів
Конфигурационные файлы имеют расширение chp и должны находиться в директории программы. Программа при запуске производит поиск в своей директории всех конфигурационных файлов и их объединение во внутреннем буфере. Идея таких файлов взята из программатора ComPic и немного изменена. Каждому чипу соответствует своя секция. Возможность наследования свойств не предусмотренна, так как это ухудшает прозрачность описания.
Приклад структури конфігураційного файлу для PIC16F84
[Chip PIC16F84_ICP] | Секція чіпа c унікальним назвою чіпа |
Рівень 1 = Microchip | Назва пункту меню верхнього рівня |
Рівень 2 = ПІК | Назва пункту меню 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 |
и т.д. для всех необходимых установок |
Автор: Александр Елисеев