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


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

Основой программатора является микросхема FT2232D. Представляет она собой преобразователь USB в два порта UART. Особенность заключается в том, что [верхнийk канал А может работать в режимах 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).

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

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

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

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

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

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

Используемая литература:
1. А.В. Евстигнеев [Микроконтроллеры AVR семейств Tiny и Mega фирмы ATMELk, М. Издательский дом [Додэка-ХХIk, 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. Эндрю Троелсен [С# и платформа .NETk М.,С-П. Питер, 2007.

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


Добавил:  Павел (Admin)  [email protected] | 

Автор:  Борисов Алексей  Рейтинг@Mail.ru