Отключаемые счетчики электроэнергии на пульте. Все с документами пломбами, гарантией и без посредников!

Как сделать простой программатор для PIC-ов и AVR-ов

Как сделать простой программатор для PIC-ов и AVR-ов

Бесплатные программаторы, которые можно найти в интернете безнадежно отстают от разработчиков чипов и не предлагают способов быстрой модернизации для программирования новых микроконтроллеров.

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

Программатор характеризуется тем, что:

Рис.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 уникальным названием чипа
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

и т.д. для всех необходимых установок

Автор: Александр Елисеев


Категория: Микроконтроллеры
Метки:

Написать коментарий

*
= 5 + 7

Добавить изображение

Последние статьи