Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
Карта сайта | Пишите нам | В избранное | eng     

Внимание! У нас изменились номера телефонов. Звоните:
(495) 638-88-00, (499) 940-95-75, факс (499) 735-04-91;
+7(909) 638-88-00 и +7(903) 530-10-01 (Билайн).
       о фирме        электроника     обратная связь

Микроэлектронные проекты. Александр Елисеев. Как сделать простой программатор для 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 по нескольким алгоритмам
  • Позволяет индивидуально программировать различные области чипа (память программ, память данных, биты опций, биты защиты)

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


Схема программатора 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

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

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

 Разместите Ваш проект у нас на сайте и его смогут увидеть сотни посетителей в день. Ваши проекты присылайте вебмастеру.
Правила оформления проектов
  1. Необходимо наличие схемы, описания устройства и т.д. (для отдельных проектов - драйвера, программное обеспечение и их описание)
  2. Схемы и другие картинки должны быть в форматах .jpg или.gif. К ним обязательно должны идти подписи, поясняющие, что на данной схеме (картинке) изображено.
  3. Описание устройства - в форматах .doc, .txt или .html.
  4. Проект не должен нарушать чьих-либо авторских прав.
Ваши проекты присылайте вебмастеру
Приглашаем специалистов
В России кризис и увольнения персонала, а в Телесистемах, как обычно, не так как у всех: мы расширяем деятельность, набираем новых сотрудников и ищем новых партнеров.
Изделия для разработчиков
Программатор «PICPROG» «PICPROG» - универсальный промышленный программатор.
Копировщик PIC16x8x Копировщик PIC16x8x - тиражирование в автономном режиме.
Наши телефоны: (495) 638-88-00, (499) 940-95-75, факс (499) 735-04-91, мобильные: (903) 530-10-01 и (909) 638-88-00 (БиЛайн).
E-mail:

Copyright © ООО "Телесистемы", 1997 — 2024    Копируйте на здоровье! За ссылку на www.telesys.ru мы вам будем очень признательны.

Rambler's Top100