Программатор своими руками holtek

Добавил пользователь Валентин П.
Обновлено: 18.09.2024

"Прошиваем" микроконтроллеры. Часть 1. Знакомство.

Микроконтроллер относится к программируемому типу микросхем, на основе которого можно собрать схему какого либо автоматического устройства. Такое устройство может представлять собой простейшую схему с мигающим светодиодом, или автомат, выполняющий сложные вычисления и управляющий другими устройствами. Основной элемент в обоих случаях может быть одним и тем же микроконтроллером, разница будет состоять лишь в записанной в него программе.
Доступность микроконтроллеров и простота составления своих собственных программ для них, делает микроконтроллеры очень заманчивым для сборки разнообразнейших схем. Раньше, для изменения функций устройства, построенного на обычных логических микросхемах, требовалось изменять саму схему, выпаивать и впаивать детали, а теперь конструкцию на микроконтроллере обычно достаточно лишь перепрограммировать. Отчасти как раз из-за этой простоты изменения функций, микроконтроллеры быстро вытеснили устройства, построенных на множестве логических элементах.
Программы для микроконтроллеров могут быть написанны на различных языках программирования с использованием специальных компьютерных программ. Написанная и преобразованная (откомпилированная) программа переносится в микроконтроллер с помощью программатора.
Программатором называют электронное устройство, к которому подключается микроконтроллер, а так же программатор - это компьютерная программа, управляющая процессом переноса подготовленной программы из компьютера в микроконтроллер.
Конструкцию с микроконтроллером, в который прошивается прошивка, называют целевой конструкцией или целевой схемой.

Определить, какое именно значение слов "программатор" или "прошивка" употребляется, можно обычно из контекста. Далее мы убедимся, что это не так сложно.

Большинство программ-программаторов могут быть настроены для работы с разными схемами программаторов-адаптеров. Программатор-адаптер подключается к компьютеру через какой либо порт ввода-вывода. В настоящее время существуют три наиболее распространённых возможности подключения программатора к компьютеру по какому либо порту:

В течении последних лет параллельный порт принтера LPT и последовательный COM-порт были вытеснены USB-портом. Тем не менее всё ещё имеются в продаже отдельные платы расширения для LPT- и/или COM-порта. Такие карты ("мультипортовки") можно дополнительно установить в уже имеюшийся компьютер, но дополнить ноутбук COM- или LPT-портом нельзя или крайне сложно.



Рис. 1. USB-COM адаптер.

Вместе с тем практически на всех современных компьютерах и ноутбуках имеется хотя бы один USB-порт, а так же распространены недорогие адаптеры USB-COM, которые позволяют создавать на компьютере с USB-портом недостающий COM-порт.

Часто схемы программаторов для USB-порта достаточно сложны для повторения начинающими электронщиками, и нередко содержат микроконтроллер, который тоже необходимо сначала каким то образом прошить, можно посоветовать несложную схему программатора, подключаемого к компьютеру на COM-порт или на USB через адаптер USB-COM. Через существующие адаптеры USB-LPT прошить микроконтроллер не удасться, так как эти адаптеры "эмулируют" не LPT порт, а лишь управляют работой с принтером.
Нужно предупредить, что программа в микроконтроллер через USB-COM-адаптер загружается в десятки раз дольше, чем через "нормальный" COM-порт и с этим придётся мириться.

Пожалуй, большинство начинающих выбирает восьмибитные AVR-микроконтроллеры RISC архитектуры фирмы ATMEL из-за их гибкости, хорошо описанных примеров применения и невысокой цены. Эти микроконтроллеры, как и множество других, могут быть запрограммированны через ISP-интерфейс.

ISP-интерфейс состоит из пяти проводников: MOSI, MISO, SCK, RESET и GND. Подключение ISP-программатора позволяет программировать микроконтроллеры, (в большинстве случаев) не извлекая сам микроконтроллер из схемы.

Среди радиолюбителей распространнено много схем-программаторов для последовательного COM-порта. Многие из них собраны на нескольких транзисторах и стабилитронах, и даже на нескольких резисторах. Достоинством таких схем является их простота, но они имеют и важный недостаток. Дело в том, что стандат RS-232 допускает отклонения уровней напряжения на выводах COM-порта, причём эти отклонения у разных производителей компьютеров могут сильно меняться, всё же оставаясь при этом в разрешённых пределах. Поэтому такая простая схема, работающая на одном компьютере, может работать с перебоями на другом или не работать совсем. Очень неудобно и то, что программатор, собранный по простейшей схеме, необходимо каждый раз подключать и отключать от целевой конструкции на время сеанса прошивки.

Вышеперечисленных недостатков лишина схема на Рис. 2. Это программатор для последовательного COM-порта всего на двух распространённых микросхемах: микросхемы RS232-драйвера MAX232 (или аналога) и логической микросхемы 74LS240 (отечественный аналог К555АП3).
Микросхема MAX232 представляет собой широкораспространённый четырёхканальный драйвер (преобразователь уровня) интерфейса RS-232 (примерно от минус 12 до плюс 12 вольт) к уровням CMOS/TTL (уровень 5-вольтовой логики). Микросхема 74LS240 является сдвоенным инвертирующим буфером четырёх линий с разрешением выхода.



Рис. 2. Схема myPROGGER.


Программатор, собранный по этой схеме обладает следующими достоинствами:

  • благодаря MAX232 происходит гарантированное преобразование уровней сигналов
  • программатор не требуется отключать от схемы после прошивки
  • в схему программатора можно легко внести модификации, которые будут полезными в дальнейшем
  • эту схему можно использовать как при работе через COM-порт, так и через переходник USB-COM
  • с этой схемой работают многие программы-программаторы (например, avrdude и PonyProg200).


Электроника на KitPost

Выложенное мною ниже найдено на просторах интернета.

Есть немного схем батарей, даташитов на контроллеры, можно сюда вылаживать, если есть необходимость, пишите, ну и свое выкладывайте.










Архив со схемой, печаткой и прошивкой скачать

Документация на микроконтроллер скачать

Документация по прибору здесь

На днях пришел микроконтроллер с ебэя, теперь нужно время собрать устройство и протестировать.

В самом начале работы с микроконтроллерами новички сталкиваются с одной очень неприятной проблемой, а именно проблемой отсутствия необходимого оборудования. Собрать настоящий программатор с буфером довольно сложно, да и времени жалко. Именно на такие случаи рассчитан этот проект.


Ниже вы можете ознакомиться с очень скромным списком необходимых деталей:

  • Микроконтроллер Atmel ATtiny2313
  • Гнездо для микроконтроллера
  • Разъем для соединения с параллельным портом DB25
  • Несколько разъемов (см. проект)
  • Пара светодиодов
  • Несколько резисторов

Внимание! В вашем компьютере должен быть параллельный порт ( LPT ).

Теперь немного о программном обеспечении. Работать с микроконтроллером вы можете как и с Linux ( на основе Debian, Ubuntu например ), так и с Windows.

Для начала необходимо скачать программу WinAVR.

Далее запустите install_giveio.bat который находится в директории C:winAVRin . Таким образом вы откроете доступ к параллельному порту.

Для Linux (на примере Ubuntu 8.04):

Открываем терминал и выполняем следующую команду:

sudo apt-get install avrdude avr-libc binutils-avr gcc-avr

Теперь необходимо выполнить два следующих файла (они сохранены как .txt, не обращайте на это внимания):

Внимание! Если вы собираетесь использовать другой микроконтроллер, да и вообще для защиты параллельного порта лучше всего установить резисторы на 2,11,1,16 выводы сопротивлением в 150 Ом. В противном случае вы рискуете сжечь порт!



Зеленый провод – Reset. Проверьте, правильно ли вы все установили!


Теперь для удобства можно собрать плату с гнездом для МК и штырьками для подключения программатора.





Что бы проверить работоспособность собранного нами программатора сделаем маленький проект. Для этого соединим вместе светодиод и резистор (150Ом достаточно).


Одного будет достаточно.

Процедура программирования практически не отличается ни в Ubuntu, ни в Windows, поэтому ниже приведено несколько универсальная инструкция:

  • Создаем директорию для нашего проекта
  • Копируем Makefile в эту директорию

Makefile можно загрузить здесь.

Исходный код можно загрузить здесь.

  • Отредактируйте Makefile таким образом, что бы там отображалась информация о микроконтроллере который вы собираетесь использовать и о названии проекта.

Финальный шаг отличается – для Windows :

  • Вам осталось переименовать Makefile.txt в Makefile

Приступаем к программированию:

Вставляем микроконтроллер в гнездо и подключаем программатор к комьютеру.

В системах с Linux:
1) Переходим в директорию нашего проекта (команда cd в терминале, для помощи наберите cd man)
2) Набираем make

В системах с Windows:
1) Открываем LED_Demo.c используя Programmer's Notepad.
3) Выбираем Tools и Make Program

Смотрим, что бы в логе не появилось ошибок. Если их нет – то все прошло удачно! Поздравляю!



Перевод: Ale)(ander, по заказу РадиоЛоцман

Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.

Сейчас без микроконтроллеров не обходится ни одна серьёзная конструкция. Где-то ставят ПИК, где-то АВР. И для работы с ними нужен программатор. А чтоб не делать несколько разных - соберите один для различных типов МК. Предлагаю вашему вниманию универсальный программатор EXTRA-PIC v3.2, с возможностью программирования как PIC, так и AVR контроллеров.

Программатор с возможностью программирования PIC и AVR

С помощью EXTRA-PIC+ можно программировать следующие чипы:

  • 10F серии: PIC10F206 PIC10F204 PIC10F202 PIC10F200
  • 12F серии: PIC12F683 PIC12F675 PIC12F635 PIC12F635 PIC12F629 PIC12F510 PIC12F509 PIC12F508
  • 16F/С серии: PIC16F627 PIC16F627A PIC16F628 PIC16F628A PIC16F630 PIC16F636 PIC16F639 PIC16F648A PIC16F676 PIC16F684 PIC16F685 PIC16F687 PIC16F688 PIC16F689 PIC16F690 PIC16F73 PIC16F74 PIC16F76 PIC16F77 PIC16F716 PIC16F737 PIC16F747 PIC16F767 PIC16F777 PIC16F83 PIC16F84 PIC16F84A PIC16F87 PIC16F88 PIC16F818 PIC16F819 PIC16F870 PIC16F871 PIC16F872 PIC16F873 PIC16F873A PIC16F874 PIC16F874A PIC16F876 PIC16F876A PIC16F877 PIC16F877A PIC16C61 PIC16C62 PIC16C62A/B PIC16C63 PIC16C63A PIC16C64 PIC16C64A PIC16C65 PIC16C65A/B PIC16C66 PIC16C67 PIC16C620/A PIC16C621/A PIC16C622/A PIC16CE623 PIC16CE624 PIC16CE625 PIC16C71 PIC16C72 PIC16C72A PIC16C73 PIC16C73A/B PIC16C74 PIC16C74A/B PIC16C76 PIC16C77 PIC16C710 PIC16C711 PIC16C712 PIC16C716 PIC16C745 PIC16C765 PIC16C773 PIC16C774 PIC16C923 PIC16C924 PIC16C925 PIC16C926
  • 18F серии: PIC18F1220 PIC18F2220 PIC18F2320 PIC18F2331 PIC18F2410 PIC18F242-2439 PIC18F2420 PIC18F2431 PIC18F2455 PIC18F248 PIC18F2480 PIC18F2510 PIC18F2515 PIC18F252-2539 PIC18F2520 PIC18F2525 PIC18F2550 PIC18F258 PIC18F2580 PIC18F2585 PIC18F2610 PIC18F2620 PIC18F2680 PIC18F4220 PIC18F4320 PIC18F4331 PIC18F4410 PIC18F442-4439 PIC18F4420 PIC18F4431 PIC18F4455 PIC18F448 PIC18F4480 PIC18F4510 PIC18F4515 PIC18F452-4539 PIC18F4520 PIC18F4525 PIC18F4550 PIC18F458 PIC18F4580 PIC18F4585 PIC18F4610 PIC18F4620 PIC18F4680
  • EEPROM 24C серии: 24C512 24C256 24C128 24C64 24C32 24C16 24C08 24C04 24C02 24C01
  • EEPROM 93хх серии

Данный перечень программируемых микросхем постоянно расширяется, их можно без труда программировать, только перед программированием, обязательно найдите datasheet на чип и проверьте расположение выводов.

Схема универсального программатора



Теперь немного о значении джамперов и выключателя. Выключатель, как это и должно быть по логике, управляет питанием. Контактные штырьки J3 отвечают за возможность повторного программирования некоторых микроконтроллеров (так как после подачи напряжения на запрограммированный чип, он сразу же начинает выполнять свою программу, и из-за чего не поддается перепрограммированию). J3 – положение: 1-2 – режим первого программирования, 2-3 – режим повторного программирования (если первый выдает ошибки). Контактные штырьки J4 переключение между MISO и MOSI. Десятипиновый разъем предназначен для подключения адаптеров.

УНИВЕРСАЛЬНЫЙ ПРОГРАММАТОР

Форум по обсуждению материала УНИВЕРСАЛЬНЫЙ ПРОГРАММАТОР


Переделываем игрушку обычный трактор в радиоуправляемый - фотографии процесса и получившийся результат.


Приводятся основные сведения о планарных предохранителях, включая их технические характеристики и применение.


В каком направлении течет ток - от плюса к минусу или наоборот? Занимательная теория сути электричества.


Про использование технологии беспроводного питания различных устройств.

Читайте также: