Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


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



Характеристики

Программирование 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 уникальным названием чипа
Level1=MicroChip  
Level2=PIC  
ItemCaption=PIC16F84  
InitClass=TfrmMICROCHIP_PIC_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 и т.д. для всех необходимых установок  
     
           

 

 


Поделиться:



Популярное:

Последнее изменение этой страницы: 2016-06-05; Просмотров: 790; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.008 с.)
Главная | Случайная страница | Обратная связь