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

JTAG -адаптер на микросхеме FT2232D

Зачем делать еще один JTAG-адаптер при таком количестве готовых недорогих решений? Идея состоит в использовании одного и того же устройства для программирования и отладки микроконтроллеров с архитектурой AVR и ARM . Такой целью задался я перед реализацией сего проекта.

Реализовать подобный адаптер стало возможно благодаря использованию аппаратного USB-UART/FIFO моста на микросхеме FT2232D. Особенностью драйвера FT2232D является поддержка режима MPSSE( Multi-Protocol Synchronous Serial Engine ), благодаря которому на микросхеме FT2232D можно реализовать преобразователи USB-JTAG, USB-SPI,USB-I2C. С сайта производителя можно скачать драйвера под различные операционные системы, библиотеки для разработки программных средств и примеры реализаций.

Микросхема имеет два канала, каждый из которых может быть настроен независимо от второго на свой режим работы. Конфигурация каналов записывается во внешнюю EEPROM, подключаемую к драйверу. Запись и чтение настроек из EEPROM осуществляется с помощью программ, которые также можно скачать с сайта производителя , например FT_PROG.

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

Для программирования AVR микроконтроллеров в режиме ISP с помощью данного адаптера можно использовать программатор AVReal. JTAG отладчик для AVR называется HappyJTAG2 . Для микроконтроллеров с ядром ARM работа с адаптером поддерживается программным обеспечением OpenOCD, который устанавливает соединение с адаптером и выступает программным сервером, способным соединиться с клиентом gdb. Такой механизм отладки используется в интегрированной среде разработки Eclipse.

С загрузкой прошивки в микроконтроллеры ARM дело обстоит еще проще, поскольку для этих целей в микроконтроллер встроен загрузчик, загружающий прошивку по последовательному интерфейсу UART, который также поддерживается микросхемой FT2232D.

Итак , рассмотрим схему адаптера. Схема адаптера почти полностью взята из документации на микросхему FT2232D и в особых  разъяснениях не нуждается. Проект печатной платы( скачать ) адаптера разработан в свободной системе проектирования KiCad ( скачать ) и предоставляется бесплатно на условиях лицензии GNU GPL.

На плате адаптера установлено три 20 -выводных разъема BH-20. На два из них ( X2,X4 ) выведены сигналы от обеих каналов микросхемы FT2232D. Эти линии могут использоваться для реализации различных преобразователей с помощью кабельных переходников . На разъем X3 выведены гальванически развязанные с помощью двух изоляторов на микросхеме ADUM1401 сигналы JTAG.

Светодиод HL4 отображает наличие питающего напряжения на целевой плате.

Индикаторы HL2 и HL3 сигнализируют наличие приема и передачи. Светодиод HL1 включается при подключении адаптера к USB-порту компьютера.

На плате установлен линейный преобразователь на микросхеме LM1117MPX-3.3 , обеспечивающий питание +3,3В микросхемы FT2232D.

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

Этой публикацией я открываю цикл статей, посвященных использованию данного адаптера. Планирую детально описать процесс подключения адаптера , конфигурации EEPROM, запуск отладки ARM -микроконтроллера в Eclipse CDT, программирование и отладка AVR и т.д. А пока что плата отправляется на подготовку к производству.

Продолжение следует.

12 Comments to JTAG -адаптер на микросхеме FT2232D

  1. Volldemar's Gravatar Volldemar
    7 июля 2010 at 11:19 | Permalink

    Плата в работе, запаивается :) надеюсь сегодня приступлю к запуску.

  2. Volldemar's Gravatar Volldemar
    8 июля 2010 at 13:58 | Permalink

    JTAG-адаптер собран и запущен!!!

  3. rotax's Gravatar rotax
    12 августа 2010 at 14:45 | Permalink

    вы не пробовали доработать этот девайс по аналогии с http://let.nm.ru/Instruments/USB_JTAG/usb_jtag.html ?
    Насколько описанная доработка актуальна?
    Возможно ли заказать у вас готовое устройство или хотя бы печатную плату?

  4. Ddesideria's Gravatar Ddesideria
    19 января 2011 at 18:50 | Permalink

    Приветствую!
    Скажите пожалуйста, а насколько критична гальваническая развязка? Как я понимаю ее можно исключить, если я собираюсь использовать отладчик только на маломощных девбордах. (Просто дороговато стоит микрушка + не так то просто найти, быть может подскажете альтернативное решение?)
    Заранее благодарен за ответ.

  5. disTronic's Gravatar disTronic
    9 января 2014 at 20:29 | Permalink

    Спасибо за схему.
    Думаю, можно же без изоляторов сделать. Что еще нужно поменять в схеме, если без изоляторов? (Хочется побыстрее и не очень дорого, а на farnell они по 7euro)
    Надо попробовать сделать такой же программатор на FT2232H – он поддерживает USB2.0.

Leave a Reply

You must be logged in to post a comment.