Простой внутрисхемный программатор ARM микроконтроллеров серии LPC своими руками. Схемотехника. Часть первая / Хабр
progchip666Время на прочтение 2 мин
Количество просмотров70K
Программирование микроконтроллеров *Схемотехника *
Из песочницы
В последнее время, как среди профессиональных разработчиков, так и в рядах начинающих электронщиков широкое распространение получили ARM микроконтроллеры. Очень большой популярностью пользуются разработки фирмы NXP. Эта фирма производит огромный спектр изделий – от дешёвых и малопотребляющих до высокопроизводительных, поддерживающих такие интерфейсы как USB и Ethernet.
Хочу предложить вниманию читателей свою разработку, которой лично я пользуюсь, пожалуй, чаще всего. Это простой внутрисхемный программатор, который легко можно изготовить собственными руками. Программатор предназначен для программирования широкораспространённых ARM микроконтроллеров фирмы NXP серии LPC2xxx. Это микроконтроллеры с ядрами ARM7, Cortex-M0 и Cortex-M3. Кроме этого, с его помощью можно программировать недорогие 8-битные микроконтроллеры из серии LPC9xx, за исключением самых простейших из серии LPC901.
www.ru.nxp.com/products/microcontrollers
Программатор подключается к порту USB и не требует дополнительного питания. Он собран всего на двух микросхемах и одном транзисторе.
Устройство может использоваться не только для программирования платы с микроконтроллером, но и для связи с ней по эмулируемому последовательному порту.
Рис. 1. Схема принципиальная электрическая, часть первая.
Программатор собран на основе микросхемы фирмы FTDI – FT232RL
www.ftdichip.com/Products/ICs/FT232R. htm
Для успешного программирования не забудьте скачать и установить драйвер микросхемы, который подходит для применяемой Вами операционной системы.
Ищите его здесь:
www.ftdichip.com/FTDrivers.htm
Фильтр L1 можно заменить на резистор сопротивлением 10 … 22 Ом.
Светодиоды VD1, VD3, сопротивления R3, R4 можно исключить, если не требуется индикация передачи и приёма пакетов данных по USB.
Рис. 2. Схема принципиальная электрическая, часть вторая.
Для программирования микроконтроллеров серии LPC2000 используется разъём X3, для программирования LPC900 X1.
Рис. 3. Схема принципиальная электрическая, часть вторая для программирования микроконтроллеров только серии LPC2000.
Микроконтроллеры серии LPC900 используются не часто, если Вам требуется программировать только ARMы LPC2000 вторую часть схемы можно очень сильно упростить. Упрощённая часть показана на рисунке 3.
Рис.4. Монтажная схема.
Рис.
В качестве светодиодов можно применить как SMD, так и выводные.
В качестве транзистора подойдёт практически любой, прямой проводимости, подходящий по цоколёвке.
Список используемых деталей, схема и трассировки платы в формате PCAD 2006, расположены в прилагаемом архиве.
docs.google.com/open?id=0B8EEcNDjnzhhUUZJbjc2cEx3NHM
Программирование можно производить с помощью бесплатно распространяемой программы Flash Magic
www.flashmagictool.com
Подробнее о подключении разных микроконтроллеров к программатору и процессе внутрисхемного программирования я расскажу в следующем посте.
- Электроника для начинающих*
- Программинг микроконтроллеров*
Хабы:
- Программирование микроконтроллеров
- Схемотехника
Всего голосов 11: ↑10 и ↓1 +9
Комментарии 3
Шульгин Олег Анатольевич @progchip666
Разработка электронных устройств. ИП
Хабр Карьера Skype
Комментарии Комментарии 3
Программатор EEPROM своими руками. Схема и описание
в Микроконтроллеры 0 4,767 Просмотров
Программатор EEPROM своими руками — схема предназначена для записи данных в память типа EEPROM (AT24Cxx) с использованием последовательного порта персонального компьютера. В базовой версии можно программировать память AT24C32 до AT24C1024.
Паяльный фен YIHUA 8858
Обновленная версия, мощность: 600 Вт, расход воздуха: 240 л/час…
Подробнее
Программатор EEPROM работает на базе микроконтроллера ATTINY2313, благодаря чему он может обмениваться данными с компьютером, используя простой интерфейс, построенный на двух транзисторах. Для связи с программатором можно использовать любое приложение, которое способно отправлять двоичные числа на порт RS-232, или, даже скрипт (под linux).
Принципиальная схема программатора EEPROM приведена ниже:
Сердцем программатора является микроконтроллер U1 (AT90S2313 или ATTINY2313) с кварцевым резонатором X1 (4МГц) и двумя конденсаторами C1 (33пф) и C2 (33пф). Транзисторы T1 (BC557) и T2 (BC547) вместе с резисторами R1 — R3 (10к) представляют собой простой RS232 интерфейс. Микросхема U3 (AT24C256) это EEPROM память объемом 256 Кбит. Она подключена к шине I2C, сформированной выводами PD.5 и PD.6 микроконтроллера. Резисторы R13 (3,3к) и R14 (3,3к) подтягивают шину к плюсу питания.
Тестер транзисторов / ESR-метр / генератор
Многофункциональный прибор для проверки транзисторов, диодов, тиристоров…
Подробнее
Конденсатор C3 (47мкф) фильтрует напряжение питания. Диод D1 вместе с резистором R12 (330 Ом), ограничивающим его ток, представляет собой индикатор питания. Элемент «prog» является разъемом программирования микроконтроллера. Резисторы R5 — R8 (330 Ом) — дополнительная защита микроконтроллера во время программирования.
Светодиоды D2 и D3 вместе с резисторами R9 — R11 (330 Ом) сигнализируют о состоянии работы устройства. Разъем Com1 (DB9F) обеспечивает соединение с материнской платой ПК.
Программатор EEPROM собран на печатной плате, выполненной по методу ЛУТ.
Под память EEPROM необходима панелька, желательно качественная. Диод двухцветный D2 (три ножки, общий анод). Для питания программатора удобно использовать порт USB. Программатор подключается к компьютеру с помощью кабеля DB9F-DB9M (удлинитель для com-порта) или напрямую к материнской плате.
Устройство программирования взаимодействует с компьютером с помощью интерфейса RS-232 с использованием любой программы, которая может отправлять и получать двоичные числа через последовательный порт. Управляющая программа должна иметь следующие параметры передачи:
- Бит в секунду = 19200
- Биты данных = 8
- Четность = Нет
- Стоповые Биты = 1
- Управление потоком = Нет
После включения питания, программатор находится в состоянии ожидания, что сигнализируется свечением светодиода D3.
- Отправив на порт RS-232 число «49» вводим устройство в режим записи, что сигнализируется красным свечением светодиода D2 .
- Отправив число «50» переключаем программатор в режим чтения данных, что сигнализируется зеленым свечением светодиода D2.
В режиме записи, схема ждет пока в буфере микроконтроллера появятся 3 байта данных (Adr1, Adr2, данные). Получение данных сигнализируется тусклым свечением светодиода D3 на время около 2мс. Затем данные записываются в EEPROM по адресу Adr1 * 256 + Adr2 и отправляются в компьютер, чтобы проверить правильность передачи через последовательный порт. Выйти из режима записи можно путем отправки байта Adr1 = 234, Adr2 = 96 (т. е. адрес 60000) и любые данные (они будут проигнорированы)
В режиме чтения схема ждет два байта адреса (Adr1, Adr2), а затем отправляет на порт RS-232 считанные из EEPROM данные, имеющее адрес Adr1 * 256 + Adr2. Получение байтов одновременно обозначается тусклым свечением светодиода D3 на время около 2мс.
Рисунок печатной платы и прошивка EEPROM программатора (16,2 KiB, скачано: 817)
источник
Блок питания 0…30 В / 3A
Набор для сборки регулируемого блока питания…
Подробнее
Программатор 2016-10-05
С тегами: Программатор
msp430 — Создание нестандартного оборудования для плат программирования с микроконтроллерами
\$\начало группы\$
У меня есть печатная плата, включающая микроконтроллер MSP430 и еще один модуль. Соединение показано на фотографии ниже, где первый (MSP430) находится внизу, а сверху — для другого модуля.
Прошивка для MSP430 программируется с помощью MSP-FET. Другой модуль программируется с помощью кабеля TTL-USB.
Я хотел бы разработать подход, похожий на внутрисхемный тестер, который позволяет мне легко программировать эти платы, просто размещая их поверх схемы или тестового оборудования, которое можно подключить к ПК. Мой план состоит в том, чтобы написать некоторый код, который программирует прошивку, позволяет выполнять сброс и считывает информацию с платы. Возможно, имеет смысл использовать National Instruments Labview или другое программное обеспечение. Я меньше беспокоюсь о программном обеспечении для ПК.
Меня просто интересуют некоторые направления по созданию подходящего испытательного стенда. Я не уверен, какой здесь подход, поскольку он должен быть достаточно индивидуальным, чтобы обрабатывать расположение разъемов? Есть ли что-то готовое, что можно использовать для того или иного модуля?
- микроконтроллер
- msp430
- тестирование
- программатор
- тест
\$\конечная группа\$
4
\$\начало группы\$
Испытательные приспособления для печатных плат очень распространены, вы найдете множество поставщиков, которые могут предоставить индивидуальный интерфейс на основе стандартного шасси, вырезанного лазером, именно для этой цели. Они не очень дорогие.
Как правило, это станина с пружинными штифтами с поршнем или рамой, которая направляет печатную плату на пружинные штифты. (или наоборот — печатная плата стоит на месте, пока пого-пины опущены.)
Нашел здесь довольно хорошую статью с несколькими иллюстрациями: https://www.bunniestudios.com/blog/?p=5450
\$\конечная группа\$
3
Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя электронную почту и пароль
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания, политикой конфиденциальности и политикой использования файлов cookie
.Программирование микроконтроллера с помощью другого микроконтроллера
спросил
Изменено 7 лет, 5 месяцев назад
Просмотрено 2к раз
\$\начало группы\$
Я рассматриваю возможность использования PIC24FJ256GB106 для программирования трех других таких же микроконтроллеров.
Вот как это должно работать:
- Программа отправляется через последовательный порт на главный/программирующий PIC
- Этот PIC получает его и использует ICSP для программирования других PIC через пять линий ICSP (I/O)
Прежде чем сказать , нет, загрузчики не вариант.
По сути, я ищу программу, которая заставит микроконтроллер работать как программатор PICkit/ICSP. Как найти код, чтобы это волшебство произошло?
- микроконтроллер
- программирование
- pickit
- icsp
\$\конечная группа\$
\$\начало группы\$
Существует несколько программаторов PIC с открытым исходным кодом, которые могут программировать PIC24FJ256GB106. Суть в том, что все они основаны на PIC18, и никто не использует PIC24 для программирования. Конечно, поскольку схемы и прошивка предоставляются, если вы настроены использовать тот же PIC24 для программирования, вы можете преобразовать одну из этих плат (и прошивку) в этот чип.
Вот три:
LProg Олина Латропа, который можно купить у Microchip DIRECT за 20 долларов. Вот схема, а вот ссылка на прошивку. Это тот, который я рекомендую.
Самодельный программатор PIC. Купить его можно здесь за 20 евро. Прошивка доступна здесь.
usbpicprog. Похоже, вам придется сделать свою собственную доску для этого. Схема здесь, прошивка здесь.
\$\конечная группа\$
0
\$\начало группы\$
Я сомневаюсь, что вы найдете именно то, что вам нужно, потому что место, где вы, скорее всего, найдете такую функциональность, находится в программаторах, которые обычно предназначены для программирования самых разных микросхем, а функциональность разделена между самим программатором и соответствующее приложение для ПК. Но вы все равно можете проверить, например, исходный код pickit2 (он доступен на веб-сайте Microchip) для вдохновения.
Но поскольку вы ограничиваете себя только одним целевым чипом, скатывать все самостоятельно не так уж и сложно. Посмотрите руководство по программированию вашего чипа, там есть все подробности.