Универсальный адаптер 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, сигнализирующий о наличии питающего напряжения на целевой плате.
Viewed 24898 times by 7321 viewers