разработка и программирование электронных устройств

Использование адаптера FTDI JTAG для программирования AVR микроконтроллеров

Универсальный адаптер FTDI JTAG можно использовать также для программирования AVR микроконтроллеров в режиме ISP. Для этого необходимо загрузить и установить программатор Avreal.

Линии сигналов mosi, miso, sck в программаторе Avreal закреплены за выводами TDI(ADBUS1), TDO(ADBUS2) и TCK(ADBUS0) соответственно. Линию сигнала reset можно установить на другой порт FT2232D, по-умолчанию она использует TMS(ADBUS3).

Возможны два варианта подключения программируемого устройства к адаптеру FTDI JTAG.

Первый вариант — подключение к разъему X4( канал А микросхемы ). Такой вариант подойдет для программирования мало потребляющих устройств, которые можно запитать прямо от линии +5В адаптера. Гальваническая изоляция между программатором и устройством в этом варианте отсутствует.

Второй случай — использовать для программирования устройства гальванически -изолированный порт на разъеме X3 ( тот же канал А микросхемы FT2232D ). Программирование будет осуществляться в присутствии питающего напряжения на целевом устройстве. О чем свидетельствует свечение светодиода HL4.

Для обеих вариантов нужно изготовить соответствующий кабельный переходник.

Рассмотрим сначала первый вариант. Для программирования будем использовать простой пример на микроконтроллере ATtiny2313 , описанный в статье «Программирование AVR и ARM микроконтроллеров в Eclipse. Часть 1».

Итак, для начала необходимо изготовить кабельный переходник под стандартный 10-выводной разъем ISP. Для этого можно использовать плоский 10-жильный кабель с установленным с одной стороны разъемом IDC-10. На втором конце кабеля я использую разъем BLD-20, устанавливая только необходимые контакты.

№ п/п IDC-10 X4(BH-20)
Контакт Линия Контакт Линия
1 1 MOSI 2 TDI
2 2 VCC 17 +5V
3 3 CLK - -
4 4 GND 19 GND
5 5 RESET 5 NTRST
6 6 GND - -
7 7 SCK 1 TCK
8 8 GND - -
9 9 MISO 3 TDO
10 10 GND - -

Гнездовой разъем BLD-20 может быть установлен в штыревой разъем BH-20 в двух вариантах, поскольку на BLD-20 нет направляющего элемента , как у IDC-20. Поэтому в таблице указаны контакты разъема X4( BH-20 ) на плате FTDI JTAG. Кроме того ключ разъема BLD-20 не совпадает с ключем на разъеме BH-20. Соответствие контактам BLD-20 устанавливайте на свое усмотрение в зависимости от его положения при соединении с разъемом X4 .

Итак, вернемся к нашему проекту в Eclipse для Attiny2313. Чтобы вместо LPT-порта для программирования микроконтроллера использовать ftdi jtag , необходимо сделать некоторые изменения в Makefile (обведены красным )

Обновил avreal до версии 1.28r2.

Синхронизация от сигнала XTAL1 теперь стала нам недоступна, поэтому нужно явно указать частоту с помощью ключа -o1MHz. Обратите внимание на опцию «-aft2232=ftdi_jtag.cfg» , в ней указывается используемый адаптер ( на базе ft2232 ), конфигурацию выводов avreal берет из файла ftdi_jtag.cfg, содержащего строки

name=»ftdi jtag v1.0″

enable=~adbus4

Сигнал «enable» активирует процесс программирования микроконтроллера по низкому уровню на линии adbus4 (знак «~» указывает на инверсию сигнала ).К линии ADBUS4 подключен сигнал RESET интерфейса ISP.

Опция «-ps=FTTCSYHIA» указывает серийный номер микросхемы FT2232, в программе FT_prog лучше отключить автоматическую генерацию серийного номера, иначе придется менять серийник в Makefile каждый раз после включения адаптера.

Для этого необходимо убрать галочку справа от «Auto Generate Serial No», установить необходимый серийный номер в поле  «Serial number» и сохранить настройки в EEPROM.

Модифицированный проект для Eclipse не содержит значительных изменений, кроме выше указанных.

Результат работы программатора можно наблюдать на вкладке «Console» в нижнем окне Eclipse.

Также есть возможность задействовать светодиоды, подключенные к микросхеме FT2232D.

Например, свечением зеленого светодиода сигнализировать успешную попытку запрограммировать микроконтроллер, а красного — неудачу.

Для этого добавим в файл ftdi_jtag.cfg всего две строчки

led_ok=~acbus2

led_error=~acbus3

В результате после прошивки микроконтроллера будет загораться зеленый светодиод, при возникновении каких-либо проблем, — красный .

Для второго варианта (с гальванической развязкой ) таблица соответствия выводов разъема BH-10 и гальванически развязанного от адаптера разъема X3( BH-20 ) имеет вид

№ п/п IDC-10 X3(BH-20)
Контакт Линия Контакт Линия
1 1 MOSI 5 I_TDI
2 2 VCC 2 T_VCC
3 3 CLK - -
4 4 GND 4 I_GND
5 5 RESET 3 I_NTRST
6 6 GND - -
7 7 SCK 9 I_TCK
8 8 GND - -
9 9 MISO 13 I_TDO
10 10 GND - -

При подключении к адаптеру целевого устройства должен зажигаться светодиод HL4, сигнализирующий о наличии питающего напряжения на целевой плате.

Leave a Reply

You must be logged in to post a comment.