Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Удаленная работа
Помощь проекту

Как сделать простой программатор для 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

и т.д. для всех необходимых установок
  • Файл программы(zip архив 446 KB)
  •  

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


    C этой схемой также часто просматривают:

    ЗАЖИГАЛКА ДЛЯ ГАЗА
    Популярный программатор PIC16x84 и PIC16F62x
    Зарядное устройство для автомобильных и мотоциклетных батарей
    Зарядное устройство для автомобильных аккумуляторов
    Имитатор для проверки телефонных аппаратов
    Как сделать простой программатор с использованием DELPHI 5
    Определитель номера стандарта DTMF.
    Таймер с выводом на TV, коммутацией Video, накоплением сумм времени и числа запусков
    Система сбора информации от удаленных объектов посредством интерфейса RS-485

    Главные категории

    Arduino


    Аудио


    В Вашу мастерскую


    Видео


    Для автомобиля


    Для дома и быта


    Для начинающих


    Зарядные устройства


    Измерительные приборы


    Источники питания


    Компьютер


    Медицина и здоровье


    Микроконтроллеры


    Музыкантам


    Опасные, но интересные конструкции


    Охранные устройства


    Программаторы


    Радио и связь


    Радиоуправление моделями


    Световые эффекты


    Связь по проводам и не только...


    Телевидение


    Телефония


    Узлы цифровой электроники


    Фототехника


    Шпионская техника



    Реклама на KAZUS.RU




    Последние поступления

    LPT программатор PIC микроконтроллеров

    LPT программатор PIC микроконтроллеров

    Отладочная плата для микроконтроллеров PIC

    NTV программатор PIC микроконтроллеров (JDM совместимый)

    LPT Программатор PIC микроконтроллеров

    Простейший программатор для PIC

    Коммутатор панели ZIF для программирования микроконтроллеров PIC

    Плата для программатора PICkit3

    Восстановление калибровочной константы

    RCD-программатор для PIC-контроллеров



    © 2003—2017 «KAZUS.RU - Электронный портал»