Существует ли стандартный разъем программирования In Circuit для микросхем LPC?


8

Различные микросхемы микроконтроллера LPC имеют режим загрузки, который принимает последовательный обмен данными и записывает полученную программу во Flash. Я хочу сделать печатную плату с LPC1114, которая должна быть запрограммирована в схеме, с минимальными схемными интерфейсами на плате. Существует ли стандартный разъем для подачи необходимых сигналов (GND, RxD, TxD, Reset, BootModeEnable)?


2
Существуют стандартные разъемы для JTAG и SWD, но нет стандартного разъема для загрузки программы через последовательное соединение.
Леон Хеллер

Из-за отсутствия стандарта есть ли какой-нибудь разъем, который часто используется? Или даже единственная плата, которая имеет такой разъем?
Wouter van Ooijen

Просто используйте заголовок с тремя выводами - Gnd, Tx и Rx.
Леон Хеллер

Для «бездействия» необходимы один или два дополнительных контакта: сброс и BootModeEnable (могут быть объединены за счет некоторых дополнительных схем).
Wouter van Ooijen

Ответы:


3

Я использую плату Sparkfun USB to UART. Вынимаю UART0, сбрасываю и isp к заголовкам. Я подключаю сброс и ISP к земле с помощью перемычек, затем использую FlashMagic. Кажется, что это работает правильно, только если я подключаю устройство к USB, так что основания для этого общие.

Доска Sparkfun:

https://www.sparkfun.com/products/718


Вам не нужно брать власть от USB, чтобы найти общий язык, достаточно связать все вместе.
Крис Страттон

1

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

Вы можете переключить режим загрузки из строки состояния и соединить сброс с этим с помощью заглушки (возможно, я использовал транзистор в качестве инвертора, когда делал это с ST-частью). Затем отмена выбора и повторный выбор режима загрузки сбросит микросхему и подготовит ее к загрузке.


Я рассмотрел этот подход, но я бы предпочел придерживаться более-менее стандартного подхода с двумя рукопожатиями. Это оставляет опцию открытой для команды сброса без загрузки и сохраняет несколько компонентов на целевой плате.
Воутер ван Оойен

1

Поскольку, казалось, никакого стандарта не существовало, я сделал свой собственный выбор: прямоугольный контактный разъем 2x4 для целевой платы и тот же гнездовой разъем для платы «программатора». Программатор имеет FT232RL или аналогичный, регулятор 5 В -> 3,3 В и переключатель для отключения питания на целевой плате (требуется для принудительного перевода целевого чипа в режим программирования, когда вывод сброса был переопределен как GPIO).

введите описание изображения здесь распиновка разъема

введите описание изображения здесь

введите описание изображения здесь схема программатора («ключ») введите описание изображения здесь

Программатор с минимально заполненной целевой платой LPC1114.

Я использую lpc21isp в качестве инструмента программирования на ПК (с открытым исходным кодом, легко компилируется для Windows или Linux), но мне пришлось добавить одну строку в код, потому что способ запуска приложения после загрузки (переход к началу кода) не работает на кортексе.


0

Я не работал с LPC1114 раньше, но посмотрите на адрес ниже. Слева вы увидите ссылку на файл схемы ...

http://www.keil.com/mcb1000/


Эта плата имеет аппаратное обеспечение последовательного интерфейса (в данном случае: чип max232, но может быть FT232RL или что-то еще) на печатной плате, поэтому нет разъема для передачи сигналов, которые я хочу подключить.
Wouter van Ooijen

На второй странице представлен интерфейс JTAG. Вы должны использовать адаптер JTAG на стороне ПК, но на плате нет дополнительного оборудования, такого как RS232 ...
Malkocoglu

Я хочу использовать последовательный интерфейс, а не JTAG. Слишком сложно, слишком много сигнальных линий.
Wouter van Ooijen

SWD требует только два или три сигнала. Вы получаете отладку, которая очень полезна.
Леон Хеллер

2
Правда, но за счет более сложного интерфейса на стороне ПК. (И я редко использую отладчик, даже если он у меня есть)
Wouter van Ooijen

0

Я на самом деле строю что-то с тем же микро. Я только что взял один из них: http://ics.nxp.com/lpcxpresso/ за ~ $ 20 от digikey, отрезал «целевую» сторону платы и подключил пользовательский разъем на стороне «LPC link» работать с моим заголовком программирования. Среда, созданная CodeRed, раздражает, поскольку она основана на Eclipse (я ненавижу Eclipse), но она работает в Windows, Linux и, возможно, Mac. У них есть инструкции для всех программ командной строки для работы с интерфейсом LPC Link.

У меня в linux настроена среда, которая просто запускается, make dlи она инициализирует ссылку, программирует ее и включает защитные биты, все через USB и подключения SWD к LCP1114. Может даже использоваться для отладки при условии, что вы не используете один из сигналов SWD.

Он не серийный, как вы ищете, но работает как шарм.


1
Я знаю lpcexpresso, у меня есть 1114, 1343, 1769 и плинтус. Хороший материал (хотя я с отвращением отказался от IDE и ссылки LPC), но не подходит для того, что я хочу. Моя печатная плата будет максимум 20 х 50 мм.
Ваутер ван Оойен

@WoutervanOoijen, я использую vim и все инструменты настроены для работы через командную строку. Моя доска немного больше, но она должна работать точно так же. Раньше, когда я делал такие небольшие проекты, я делал выводы для программирования на больших площадках, а затем устанавливал специальный зажим, чтобы соединить их через подпружиненные контакты и удерживать его на месте. Я действительно не знаю ни одного готового решения для «общего / стандартного» разъема для подключения к вашей печатной плате.
Крис Бансен,

0

Если вы хотите последовательное программирование со стандартным разъемом (имеется в виду 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 и имел в своем распоряжении отладку.


(комментарий через 6 лет ...) Я не хочу использовать стандартный разъем RS232, это было бы пустой тратой схемотехники (с обеих сторон). Я хочу минимальные схемы на целевой стороне (по существу, 0).
Воутер ван Оойен
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.