Программа для прошивки pic контроллеров
У многих радиолюбителей, захотевших повторить ту или иную конструкцию, напроч отпадает желание и мысли о сборке, когда они видят в составе устройства микроконтроллер. Для них непреодолимой стеной встаёт вопрос прошивки микроконтроллера. Чем, как, что для этого нужно и т.п.? Смотрят на него как на диковенный предмет.
На самом деле, тут нет ничего сложного. Устройства, собранные с применением микроконтроллеров как правило просты, не нуждаются в наладке и подборе элементов. Весь функционал устройства реализован програмно.
Самое широкое распространение среди радиолюбителей получили две линейки микроконтроллеров, PIC и AVR. Для их программирования разработано большое количество программаторов и программ. Для начала необходимо определится, на каком микроконтроллере выполнено устройство и в соответствии с этим выбрать программатор. С PIC микроконтроллерами понятно, у них название начинается именно с этих трёх букв, а AVR серии микроконтроллеры разделены на группы ATtiny, ATmega, ATxmega.
Своё знакомство с микроконтроллерами я начал с линей ки PIC. Для прошивки микроконтроллера, им оказался PIC16F84, я собрал простейший JDM программатор.
Детали программматора разместил в подходящем корпусе от переходника.
Дальнейшее знакомство с микроконтроллерами заставило меня постоянно вносить изменения, модернизировать программатор под тот или иной микроконтроллер. В один прекрасный момент я решил соблрать универсальный программатор под всю линейку PIC микроконтроллеров.
Очень хороший программатор, программирует всю линейку PIC. Не требует дополнительного питания.
Для прошивки PIC контроллеров я пользуюсь программой IC-Prog. Сам процесс прошивки очень простой:
заходим в настройки и выбираем свой программатор
Пробуем читать память микроконтроллера.
Если всё настроено правильно, программа прочитает микроконтроллер и выведет код, прошитый в памяти. Если микроконтроллер никогда не прошивался, Вся память будет заполнена кодом 3FFF и FF в области данных.
Следующий шаг, это открытие HEX файла, предназначенного для прошивки микроконтроллера, после открытия её код отобразится в соответствующих окнах.
Нажимаем кнопку записи, праграмм спросит, уверены, что хотите программировать, нажимаем утвердительно ДА. Пойдёт процесс программирование.
С PIC микроконтроллерами всё понятно. Для AVR микроконтроллеров требуются другие программаторы и программы.
Самый простой - это так называемый "5 проводков". Весь программатор состоит из всего четырёх резисторов.
Собрал я его минут за десять, но воспользоваться не смог, ввиду того, что на моём компьютере отсутствует принтерный порт LPT, к которому этот программатор подключается.
Тогда я собрал для самых ходовых у радиолюбителей микроконтроллеров семейства AVR программаторы. Первый для ATMEGA8, второй для ATtiny2313.
Схема программатора очень проста, для питания микроконтроллера требуется дополнительный источник питания. Для себя я спаял небольшой длинны провод, подключающий программатор к порту USB.
Номера выводов для подключения линий программатора отображены на рисунке
Собранный программатор позволил мне собрать программатор для AVR, подключаемый к USB порту
Удобство применения программатора с USB интерфейсом омрачается поиском драйверов на различные системы, в частности на win7 и 8. Для программаторов, использующих COM-порт таких проблем не возникает. Они прекрасно работают во всей линейке windows, да и в unix системах проблем не возникает. Впрочем unix система очень дружелюбна ко всем программаторам, адаптерам и прочей периферии.
Вот мой весь арсенал для прошивки микроконтроллеров
Небольшой видеообзор, который наглядно покажет весь процесс прошивки микроконтроллера
В данной статье мы разберемся, как же прошить pic-контроллер, на примере металлоискателя Малыш FM. Для достижения данной цели нам потребуется:
1) Компьютер, в котором есть COM порт (ноутбуки не подходят).
3) Прошивающий софт.
Начнем разбираться по порядку.
Поиск схемы программатора провел по буржуйским сайтам. В итоге нашёл вот эту схему, развел под нее плату. Схема программатора:
Для более качественного просмотра схемы кликните на изображение. Единственный элемент управления в данной схеме – это переключатель S1, которым включается режим высоковольтного программирования. Хочу заметить то, что в данной схеме программатора общий провод схемы ни в коем случае нельзя объединять с 5 выводом (GND) COM порта. У меня получилась вот такая штуковина.
Далее выполняем настройку самой программы Настройки>>Опции, где важны следующие закладки.
Когда все будет настроено, приступаем к самому процессу прошивки.
Прошивка pic-контроллера
У контроллера PIC12F629 на заводе записана калибровочная константа внутреннего тактового генератора. Ее желательно сохранить, а то вдруг припрет использовать микросхему в другом девайсе, в котором нет кварца. Для этого в IC-Prog выбираем тип контроллера и нажимаем кнопку «Читать микросхему». Константу ищем здесь.
Теперь выбираем файл прошивки Файл>>Открыть файл. В итоге все будет выглядеть вот так.
Осталось дождаться вот такой надписи.
А у кого нет COM порта, то можно прикупить такую штуковину или просто собрать ее самому.
Объяснил как сумел - думаю всем всё понятно. Если появились вопросы - пишите на форум. Рисунок печатной платы программатора и схему в формате SPL7 качаем здесь. Автор: skateman.
Форум по обсуждению материала КАК ПРОШИТЬ PIC КОНТРОЛЛЕР
Лазерные светодиоды, люминисцентные и диоды для накачки твердотельных лазеров DPSSL.
Обсудим действующие стандарты радиосвязи, узнаем чем они отличаются, и когда использовать какие из них.
Принципиальная схема усилителя наушников с микросхемой MAX4410 и искажениями всего 0,003%.
Схема, плата и фото готового самодельного усилителя 100W на транзисторах Дарлингтона.
На самом деле ничего в них страшного нет! :)
Контроллер это очень удобная штука, позволяет создавать очень сложные проекты! Опытные радиолюбители сами пишут программы для контроллеров! Новички - просто повторяют их проекты! :)
Так вот для того чтобы в этот контроллер записать программу - нужен программатор и специальная программа для программирования!
Далее мы рассмотрим ДВА основных типа контроллеров, и научимся их прошивать! :)
.
И так, приступим!
Для начала давайте разберемся с контроллерами семейства PIC!
Это очень удобные контроллеры, как программно, так и схемотехнически!
Прошиваются они элементарно! Самый удобный программатор, который шьет ВСЕ типы PIC контроллеров - EXTRA-PIC, о нём по подробнее мы сейчас и поговорим.
Список поддерживаемых микросхем, при использовании с программой IC-PROG v1.05D:
PIC контроллеры (микроконтроллеры PIC) фирмы Microchip:
PIC12C508, PIC12C508A, PIC12C509, PIC12C509A, PIC12CE518, PIC12CE519, PIC12C671, PIC12C672, PIC12CE673, PIC12CE674, PIC12F629, PIC12F675, PIC16C433, PIC16C61, PIC16C62A, PIC16C62B, PIC16C63, PIC16C63A, PIC16C64A, PIC16C65A, PIC16C65B, PIC16C66, PIC16C67, PIC16C71, PIC16C72, PIC16C72A, PIC16C73A, PIC16C73B, PIC16C74A, PIC16C74B, PIC16C76, PIC16C77, PIC16F72, PIC16F73, PIC16F74, PIC16F76, PIC16F77, PIC16C84, PIC16F83, PIC16F84, PIC16F84A, PIC16F88, PIC16C505, PIC16C620, PIC16C620A, PIC16C621, PIC16C621A, PIC16C622, PIC16C622A, PIC16CE623, PIC16CE624, PIC16CE625, PIC16F627, PIC16F628, PIC16F628A, PIC16F630, PIC16F648A, PIC16F676, PIC16C710, PIC16C711, PIC16C712, PIC16C715, PIC16C716, PIC16C717, PIC16C745, PIC16C765, PIC16C770, PIC16C771, PIC16C773, PIC16C774, PIC16C781, PIC16C782, PIC16F818, PIC16F819, PIC16F870, PIC16F871, PIC16F872, PIC16F873, PIC16F873A, PIC16F874, PIC16F874A, PIC16F876, PIC16F876A, PIC16F877, PIC16F877A, PIC16C923, PIC16C924, PIC18F242, PIC18F248, PIC18F252, PIC18F258, PIC18F442, PIC18F448, PIC18F452, PIC18F458, PIC18F1220, PIC18F1320, PIC18F2320, PIC18F4320, PIC18F4539, PIC18F6620, PIC18F6720, PIC18F8620, PIC18F8720
Микросхемы последовательной памяти EEPROM I2C (IIC):
X24C01, 24C01A, 24C02, 24C04, 24C08, 24C16, 24C32, 24C64, AT24C128, M24C128, AT24C256, M24C256, AT24C512.
Как видите, ничего сложного, всё это собирается на одностороннем текстолите, поверхностным DIP монтажом!
Пример печатной платы:
Как видно на картинке к пограмматору подключена панелька DIP8, для контроллеров PIC с 8 ног! Другие контроллеры (18 ног и 28 ног) подключаются аналогично, ниже представлены платы для этих контроллеров!
СКАЧАТЬ
Эти платы подключаются место панэльки DIP8
Таким образом вы можете подключить абсолютно любой тип PIC контроллер, посто соеденяя определенные контакты контроллера с програматором!
Ниже представлено расположение выводов разных PIC контроллеров!
Я попробовал собрать тэстувую плату для программатора, как выяснилось - программатор работает ЗАМЕЧАЕЛЬНО.
Фото тестовой конструкции:
На качество платы внимания не обращаем, это был тэстовый вариант, для проверки программатора! Более качественная плата был сделана сразу после проверки!
.
Вид программы:
Установка и настройка программы IC-PROG:
Для Windows XP:
Правой кнопкой щёлкните на файле icprog.exe. "Свойства" >> вкладка "Совместимость" >> Установите "галочку" на "Запустить программу в режиме совместимости с:" >>
выберите "Windows 2000".
Запустите файл icprog.exe. Выберите "Settings" >> "Options" >> вкладку "Language" >> установите язык "Russian" и нажмите "Ok".
Согласитесь с утверждением "You need to restart IC-Prog now" (нажмите "Ok"). Оболочка программатора перезапустится.
Настройки программатора:
Далее, "Настройки" >> "Опции" >> выберите вкладку "Общие" >> установите "галочку" на пункте "Вкл. NT/2000/XP драйвер" >> Нажмите "Ok" >> если драйвер до этого не был устновлен на вашей системе, в появившемся окне "Confirm" нажмите "Ok" . Драйвер установится, и оболочка программатора перезапустится.
Примечание:
Для очень "быстрых" компьютеров возможно потребуется увеличить параметр "Задержка Ввода/Вывода". Увеличение этого параметра увеличивает надёжность программирования, однако, увеличивается и время, затрачиваемое на программирование микросхемы.
"Настройки" >> "Опции" >> выберите вкладку "I2C" >> установите "галочки" на пунктах: "Включить MCLR как VCC" и "Включить запись блоками". Нажмите "Ok".
"Настройки" >> "Опции" >> выберите вкладку "Программирование" >> снимите "галочку" с пункта: "Проверка после программирования" и установите "галочку" на пункте "Проверка при программировании". Нажмите "Ok".
Программа готова к работе.
Всё, можем смело программировать свой контроллер!
При возникновении ошибок или каких нибуть неполадок - поверте правильность изготовления платы и настроек программы!
Данный программатор был проверен мною не раз, за всё время небыло замечено не единой неполадки.
1) Atmel Studio
Производитель Atmel, приложение служит в качестве среды разработки приложений для устройств ARM, AVR и контроллеров Cortex-M. Программа распространяется бесплатно.
2) AVRDUDE
Интерфейс программы консольный, предназначена, чтобы изменять и записывать данные в памяти устройств c AVR архитектурой. В программе применяется технология программирования непосредственно в самой схеме. Приложение на английском, но существуют русификаторы. Распространение свободное.
4)BascomAVR
Выполняет роль среды написания кода к Atmel устройствам AVR серии. Язык написания кодов программы, похож на Бэйсик. Доступ к ней ограничен, но есть и свободная версия, без ряда функций и максимальным кодом в 4 килобайта.
5)CodeVisionAVR
Программа проста в освоении и способна работать со всеми контроллерами AVR от IDE. В результате получается короткий и емкий код, но не слишком изящный, зато работает. Доступ к ней платный, есть свободная пробная версия, с максимальным кодом в 4 килобайта.
6)VM LAB
Комплекс утилит для создания и настройки кода программы, на ряду с этим создает модель работы устройства с контроллерами AVR серии. Софт распространяется свободно.
7)MPLAB
Работает с продукцией компании Microchip как среда для интеграции кода непосредственно в чип. Бесплатная в распространении.
8)WinPic800
Служит для перепрошивания контролирующих компонентов из серии контроллеров PIC. Комплект в свободном онлайн доступе. Есть русификаторы.
9) PICPgm
Очень качественный продукт с высоким качеством работы и скоростью написания кода, стабильно работающий. Служит для перепрошивки PIC-микроконтроллеров. Свободно распространяется.
10) CooCoxCoIDE
Работает с устройствами в чью архитектуру заложен ARM, как программная среда с высокой степенью интеграции.
11) Keil uVision
Целый комплект программ утилит для прохождения всех по написанию управляющего софта для микроконтроллеров всех производителей. Этот комплект не бесплатный, но, чтобы ознакомиться есть демо-версия, в которой код ограничен 32 килобайтами и еще несколькими параметрами.
12) IAREmbedded
Программирование происходит на популярных языках программирования C, а также C++, и на ассемблере. Работает с разными производителями и семействами контроллеров. Распространение продукта платное, также доступна и версия свободного доступа, но с урезанным размером кода.
13) Flow Сode
Один из самых известных графически оформленных инструментов для создания ПО к микроконтроллерам. Возможно приобретение русской версии. Распространяется за деньги, но доступна и свободная версия, ограничивающая серию PIC.
15) AlgorithmBuilder
Имеет оформленную визуальную оболочку и работает с AVR устройствами от отечественного производителя. Распространяется бесплатно.
16) MikroC
Пакет инструментов с редакторами кода, библиотеками с готовыми функциями, отладчиками и компилллирующими пакетами. Распространяется за деньги, но есть и бесплатная версия, только ограниченная.
17) ICProgramm
Один из популярнейших механизмов с оболочкой для создания к микроконтроллерам программного обеспечения всех видов и производителей. Русифицированная версия. Распространяется без ограничений.
18)PonyProgramm 2000
Программатор для работы с устройствами памяти и микроконтроллерами многих фирм через последовательный доступ. Много встроенных функций и простота в использовании. Распространяется бесплатно.
19) Sina Programm
Это графическая рубашка для консольного проекта AVRdude, со встроенным и удобным fust счетчиком переключателей. Распространяется бесплатно.
20) UniProf
Очень прост в использовании, распространяется абсолютно свободно и работает со всеми устройствами серии AVR.
21) Code Composer Studio
Это мощная комплекс программного обеспечения для программирования и прошивки от производителя TexInstInc. Для использования нужно купить. Есть пробная версия с ограничениями со свободным доступом.
22) Tiva Ware
Очень хорошие и удобные специально под TIVA написанные библиотеки для контроллеров от техасского производителя. Пакет бесплатный.
23) FastAVR
Работает на воьмибитных контроллерах серии AVR. Удобен, так как компилируется язык, похожий на Бэйсик.
24)Sourcery CodeBench
Служит чтобы создавать приложения под ARM, Cold Fire и целый ряд других. Работает на C, а также C++. Стоимость составляет четыреста долларов (есть пробная версия на месяц).
25) Code System
Целый комплект программ и инструментов для через который удобно работать с промышленным оборудованием, ориентированным на рутинную работу. Есть полностью русская версия. Распространяется свободно и без ограничений.
26) FlashMagic
Распространение этого продукта свободное, утилита направлена на программирование продукта именно от NXP – S.
27) STEPSEVEN-Micro/WIN
Создан специально чтобы работать с устройствами SIMATIC, производимыми Siemens. Бесплатной версии нет.
28) 4DWorkshopIDE
Работает с ориентированными на графику контроллерами и с дисплейными модулями от 4D Systems. Абсолютно бесплатная.
Читайте также: