Як зробити простий програматор для PIC-ів і AVR-ів
- Характеристики
- Програмування PIC-ів
- Програмування AVR-ів
- Структура конфігураційних файлів
- Файл програми (Zip архів 446 KB)
Безкоштовні програматори, які можна знайти в інтернеті безнадійно відстають від розробників чіпів і не пропонують способів швидкої модернізації для програмування нових мікроконтролерів.
У даному випадку була зроблена спроба розробити програмну оболонку в рамках якої легко було б нарощувати можливості з програмування різних чіпів хоча б для зумовлених сімейств.
Програматор характеризується тим, що:
- Випробувано під 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 | Назва пункту меню 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_5_Content=ID | ID | ID |
і т.д. для всіх необхідних установок |
Автор: Олександр Єлісєєв
Сподобалася стаття? Натисни "+1"! :
Ще статті:
- Автоматичний зарядний пристрій для Ni-Cd-акумуляторів (0)
- Оформимо! JBL Speakershop (0)
- Універсальний велосипедний шляховий прилад на PIC контролері (0)
- Читання інформації з LPT порту (0)
- Модернізація материнської плати (додавання коефіцієнтів множення) (0)
- ЛАБОРАТОРНІ ДЖЕРЕЛО ЖИВЛЕННЯ (0)
- Високовольтний джерело живлення.. (0)
Ваш відгук