Реклама ⓘ
Главная » Микроконтроллеры
Призовой фонд
на апрель 2024 г.
1. 100 руб.
От пользователей

Похожие статьи:


Реклама ⓘ

Универсальный USB программатор

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

Основой программатора является микросхема FT2232D. Представляет она собой преобразователь USB в два порта UART. Особенность заключается в том, что «верхний» канал А может работать в режимах JTAG, SPI и I2C, что и требуется для программирования микроконтроллеров, различных микросхем памяти и т.п.

Разработка данного USB-программатора ведется на компьютере с использованием библиотек от фирмы FTDI Chip.

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

Питается устройство от интерфейса USB. При правильной сборке схема не нуждается в настройке. Функционирование устройства зависит от мастерства разработчика ПО. Резисторы R8, R9, R12, R13, R14, R15, R16 являются токоограничивающими при неправильном соединении с устройством, соответственно, выводы программируемого устройства не должны соединяться с другими элементами в схеме, или иметь такие подтяжки, которые при образовании делителей напряжения не искажали бы логические уровни. Микросхема U1 используется для сохранения пользовательских настроек.

Выводы U2 (канал А):
24 — ADBUS0 – выход- в режиме JTAG TCK, в режиме SPI SK;
23 — ADBUS1 – выход- в режиме JTAG TDI, в режиме SPI DO;
22 — ADBUS2 – вход- в режиме JTAG TDO, в режиме SPI DI;
21 — ADBUS3 – выход- в режиме JTAG TMS, в режиме SPI как вспомогательный сигнал(CS);
20 — ADBUS4 – в режиме JTAG вход\выход, в режиме SPI вспомогательный выход. Этот вывод используется для подачи сигнала RESET в микроконтроллер;
15 — AСBUS0 – свободно программируемый вход\выход во всех режимах (опционно используется для подачи питания в программируемое устройство);
13 — AСBUS1 – свободно программируемый вход\выход во всех режимах.

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

Канал В используется для отладки программируемого устройства. Для этого нужно только иметь незадействованный порт UART в микроконтроллере. Далее дело техники. В программе микроконтроллера в нужных местах используем функцию форматированного вывода printf().

40 —BDBUS0 – выход- в режиме UART TXD;
39 —BDBUS1 – вход- в режиме UART RXD;
28 — BСBUS2 – выход- в режиме UART LED-индикатор (зажигается при передаче данных через USB);
27 — BСBUS3 – выход- в режиме UART LED-индикатор (зажигается при приеме данных через USB).

Ниже приведена печатная плата программатора

Печатная плата программатора. Верх.   Печатная плата программатора. Низ.

На сегодняшний день данный универсальный программатор поддерживает микроконтроллеры AVR по интерфейсам JTAG и SPI. Причем скорость прошивки Atmega64 по JTAG не более 5-и секунд, по SPI не более 8-ми секунд. Принципиально, прошивать можно любые микроконтроллеры, к которым распространяется спецификация для программатора. В настоящий момент, например, ведется разработка для поддержки микроконтроллеров NEC.

Рабочая форма для программирования

Рабочая форма поделена на две части: слева таблицы для работы с FLASH (сверху) и EEPROM (снизу), сюда можно открывать файлы или загружать прошивки из микроконтроллера, делать верификацию, править содержимое ячеек памяти; справа текстовое поле для отладки, сюда выводятся данные с канала В, также можно там вводить текст, который отправится в порт (функционально это аналог HyperTerminal). Разработка ведется на платформе Visual C# под Windows. Также есть возможность разрабатывать на других языках. Программатор может работать и под Linux.

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

Используемая литература:
1. А.В. Евстигнеев «Микроконтроллеры AVR семейств Tiny и Mega фирмы ATMEL», М. Издательский дом «Додэка-ХХI», 2005.
2. Future Technology Devices International Ltd. “FT2232D Dual USB UART/FIFO I.C.” , Datasheet, 2006.
3. Future Technology Devices International Ltd. “Software Application Development D2XX Programmer's Guide” , Document, 2009.
4. Future Technology Devices International Ltd. “Programmers Guide for High Speed FTCJTAG DLL” , Application note AN_110, 2009.
5. Future Technology Devices International Ltd. “Programmers Guide for High Speed FTCSPI DLL” , Application note AN_111, 2009.
6. Эндрю Троелсен «С# и платформа .NET» М.,С-П. Питер, 2007.

Скачать исходники ПО и печатную плату в формате P-CAD вы можете ниже

Борисов Алексей (Albor) г.Сызрань, Самарская обл.

Список радиоэлементов

Обозначение Тип Номинал Количество ПримечаниеМагазинМой блокнот
U1 МикросхемаAT93C46D-8S1 Поиск в магазине ОтронВ блокнот
U2 МикросхемаFT2232D1 Поиск в магазине ОтронВ блокнот
VT1 MOSFET-транзистор
BSS84
1 Поиск в магазине ОтронВ блокнот
С1 Конденсатор0.01 мкФ1 Поиск в магазине ОтронВ блокнот
С2, С3 Конденсатор27 пФ2 Поиск в магазине ОтронВ блокнот
С4, С5, С7, С9, С10 Конденсатор0.1 мкФ5 Поиск в магазине ОтронВ блокнот
С6 Конденсатор0.033 мкФ1 Поиск в магазине ОтронВ блокнот
С8 Электролитический конденсатор10 мкФ1 Поиск в магазине ОтронВ блокнот
R1 Резистор
2.2 кОм
1 0.05ВтПоиск в магазине ОтронВ блокнот
R2 Резистор
10 кОм
1 0.05ВтПоиск в магазине ОтронВ блокнот
R3, R4 Резистор
27 Ом
2 0.05ВтПоиск в магазине ОтронВ блокнот
R5 Резистор
470 Ом
1 0.05ВтПоиск в магазине ОтронВ блокнот
R6, R7 Резистор
1.5 кОм
2 0.05ВтПоиск в магазине ОтронВ блокнот
R8-R16 Резистор
220 Ом
9 0.05ВтПоиск в магазине ОтронВ блокнот
ZQ1 Кварц6 МГц1 Поиск в магазине ОтронВ блокнот
FB Катушка индуктивности1 Поиск в магазине ОтронВ блокнот
HL1, HL2 Светодиод2 Поиск в магазине ОтронВ блокнот
Добавить все

Скачать список элементов (PDF)

Прикрепленные файлы:

Теги:

Борисов Алексей Опубликована: 2011 г. 0 0
Я собрал 0 0
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 0 Проголосовало: 0 чел.

Комментарии (15) | Я собрал (0) | Подписаться

0
Baldr #
А ссылочку на программу можно узреть? Желательно с исходниками.
Ответить
0
VIN #
FT232 и MAX232 взаимозаменяемы?
Ответить
0
Владимир #
MAX232 - преобразователь RS232 в UART, а FTDI - USB в UART (VCP)
Ответить
0
Denis #
Скажите, а PIC можно программировать через этот программатор?
Ответить
0
Виктор #
Какие AVRы можно программировать?
Ответить
0
SergejGost #
Я только начинаю заниматься прошивкой контроллеров...
И вот тут мне что-то не понятно вовсе...в режиме SPI контроллер шьется по MISO,MOSI,SCK,RESET
Ну RESET понятно. А вот где остальные сигналы?
Ответить
0
EugenOS #
Добрый день. А может этот прогер работать в режиме Wiggler совместимого JTAG? А то есть ряд программ которые работают с Wiggler, но все схемы, что попадались, на LPT
Ответить
0
Дмитрий #
Какие микросхемы можно программировать кроме микроконтроллеров?
Ответить
0
Роман537 #
Микросхемы это совсем другое
Ответить
0
Евгений #
ATmega 324 можно запрограммировать этим программатором?
Ответить
0
Илья #
А какая катушка индуктивности нужна?
Для чего нужна микросхема AT93C46D-8S?
Ответить
0
Антон #
А есть возможность работы с флешами типа h90p32 (телефонная флешь-память)?
Ответить
0
илья27 #
Сможет ли прошить adsp-2186?
Ответить
0
ilya karataev #
Подскажите как возможно подключить к mips. Какое ПО необходимо?
Ответить
0
Алексей #
У меня ft2232H, оба порта настроены как d2xx подключал и к порту а и к порту б, мегу128 прога пишет устройство не найдено. В чем может быть проблема?
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется напряжение?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

AVR-программатор USB ASP
AVR-программатор USB ASP
Катушка Тесла Конструктор - Гитарная педаль Remote Delay 2.5
вверх