Различные микросхемы микроконтроллера LPC имеют режим загрузки, который принимает последовательный обмен данными и записывает полученную программу во Flash. Я хочу сделать печатную плату с LPC1114, которая должна быть запрограммирована в схеме, с минимальными схемными интерфейсами на плате. Существует ли стандартный разъем для подачи необходимых сигналов (GND, RxD, TxD, Reset, BootModeEnable)?
microcontroller
lpc
icsp
in-circuit
Воутер ван Оойен
источник
источник
Ответы:
Я использую плату Sparkfun USB to UART. Вынимаю UART0, сбрасываю и isp к заголовкам. Я подключаю сброс и ISP к земле с помощью перемычек, затем использую FlashMagic. Кажется, что это работает правильно, только если я подключаю устройство к USB, так что основания для этого общие.
Доска Sparkfun:
https://www.sparkfun.com/products/718
источник
Если вы настроили разъем для совместимости с версией заголовка низковольтного последовательного USB-кабеля FTDI, у вас есть возможность не заключать контракт на изготовление нестандартных кабелей.
Вы можете переключить режим загрузки из строки состояния и соединить сброс с этим с помощью заглушки (возможно, я использовал транзистор в качестве инвертора, когда делал это с ST-частью). Затем отмена выбора и повторный выбор режима загрузки сбросит микросхему и подготовит ее к загрузке.
источник
Поскольку, казалось, никакого стандарта не существовало, я сделал свой собственный выбор: прямоугольный контактный разъем 2x4 для целевой платы и тот же гнездовой разъем для платы «программатора». Программатор имеет FT232RL или аналогичный, регулятор 5 В -> 3,3 В и переключатель для отключения питания на целевой плате (требуется для принудительного перевода целевого чипа в режим программирования, когда вывод сброса был переопределен как GPIO).
распиновка разъема
схема программатора («ключ»)
Программатор с минимально заполненной целевой платой LPC1114.
Я использую lpc21isp в качестве инструмента программирования на ПК (с открытым исходным кодом, легко компилируется для Windows или Linux), но мне пришлось добавить одну строку в код, потому что способ запуска приложения после загрузки (переход к началу кода) не работает на кортексе.
источник
Я не работал с LPC1114 раньше, но посмотрите на адрес ниже. Слева вы увидите ссылку на файл схемы ...
http://www.keil.com/mcb1000/
источник
Я на самом деле строю что-то с тем же микро. Я только что взял один из них: http://ics.nxp.com/lpcxpresso/ за ~ $ 20 от digikey, отрезал «целевую» сторону платы и подключил пользовательский разъем на стороне «LPC link» работать с моим заголовком программирования. Среда, созданная CodeRed, раздражает, поскольку она основана на Eclipse (я ненавижу Eclipse), но она работает в Windows, Linux и, возможно, Mac. У них есть инструкции для всех программ командной строки для работы с интерфейсом LPC Link.
У меня в linux настроена среда, которая просто запускается,
make dl
и она инициализирует ссылку, программирует ее и включает защитные биты, все через USB и подключения SWD к LCP1114. Может даже использоваться для отладки при условии, что вы не используете один из сигналов SWD.Он не серийный, как вы ищете, но работает как шарм.
источник
Если вы хотите последовательное программирование со стандартным разъемом (имеется в виду RS232), почему бы вам не реализовать обычный UART (MAX3232 или что-то еще) со стандартным штекером DB9 на стороне LPC? Чем вы просто используете удлинитель (мужской к женскому) DB9 кабель к ПК (или использовать последовательный кабель к USB, если ваш компьютер не имеет последовательного порта). В любом случае, установите материнскую плату DB9 на плату ПЛК, и вам никогда не придется изготавливать последовательный кабель :-). Не забудьте правильно соединить контакты, удлинительные кабели прямые (1-1, 2-2, ... 9-9).
Если место на плате было проблемой (недостаточно места для DB9), то вы можете предоставить только 2 x 5-контактный заголовок.
Конечно, вы также можете использовать запасные переключатели уровня MAX3232, чтобы перевести плату в режим сброса / загрузки, как я делал это на моей плате на базе NXP / AT89C51Rx2, также использующей Flashmagic. По тому же принципу Falshmagic берет на себя управление загрузкой через последовательную линию.
Все, что сказал, я бы пошел с SWD / JTAG и имел в своем распоряжении отладку.
источник