Страницы

вторник, 15 января 2013 г.

Bus Blaster v.2 как UART-TTL

Использование JTAG-отладчика BusBlaster v.2 в качестве UART-TTL адаптера

BusBlaster v.2 - небольшая плата открытого JTAG-отладчика, созданная на сайте DangerousPrototypes.com. В наличии имеется вторая версия платы.
Проверку и настройку производил в системе Windows 7 Home Basic. В Ubuntu Linux 12.04, работает.
Планируемое использование - отладка ARM-микроконтроллеров Cortex-M3, в том числе Миландр MDR32F9Q2I.

JTAG-отладчик основан на распространённой микросхеме FTDI FT2232H - мост USB-Serial. Из особенностей - применения CPLD микросхемы, в качестве согласующего логические уровни буфера, с возможностью перепрограммирования, для изображения из себя различных jtag-отладчиков. 

BusBlaster второй версии может быть использован как отладочный инструмент, для отладки встроенной микросхемы программируемой логики CPLD.

Сайт поддержки отладчика: http://dangerousprototypes.com/docs/Bus_Blaster 

Руководство по настройке программы отладчика urJTAG (en): http://dangerousprototypes.com/docs/Bus_Blaster_urJTAG_guide

Руководство по настройке программы отладчика OpenOCD (en): http://dangerousprototypes.com/docs/Bus_Blaster_OpenOCD_guide

Заметка по смене VID/PID у EEPROM памяти BusBlaster http://dangerousprototypes.com/docs/Bus_Blaster_custom_USB_VID_and_PID

Страница микросхемы FT2232H на сайте производителя: http://www.ftdichip.com/Products/ICs/FT2232H.htm

Bus Blaster v.2. Thank to DangerousPrototypes.com

Идентификационные данные отладчика на шине USB:
VID = 0x0403 (FTDI)
PID = 0x6010 (FT2232H)


Для подключения и проверки работоспособности отладчика BusBlaster надо выполнить несколько шагов:


1. Установка драйверов микросхемы FT2232H. Это могут быть фирменные драйверы (фирмы FTDI) http://www.ftdichip.com/Drivers/D2XX.htm , либо открытые libUSB http://sourceforge.net/projects/libusb-win32/.

2. Установить программы отладчиков urJTAG или OpenOCD, или всё вместе.

3. Установка программы отладчика urjtag. 
Во время установки, надо указать путь c:\urjtag, вместо C:\Program Files\UrJTAG, иначе установщик не работает.
Лучше использовать исправленную версию, с сайта DangerousPrototypes.com

4. Соединение JTAG отладчика и отлаживаемого устройства. Соединение должно происходить сигнал в сигнал, как подписано.
TDO - TDO
TDI - TDI
TCK - TCK
TMS - TMS
TRST - TRST
Обязательно! Питание с отлаживаемого (целевого) устройства, должно подаваться на микросхему буфера, через VTG пин JTAG разъёма, т.к. часть микросхемы буфера не запитана.



5. Проверка возможности использования BusBlaster v.2 , как обычного UART-TTL

В микросхеме FT2232H присутствуют выводы TXD-RXD (38,39) Обозначаются также BDBUS0, BDBUS1, которые выведены на разъём JP1 (контакты 2 - TCK,3 - TDI).

Итак, в моей системе Windows, рабочий COM порт оказался 25 (их ведь 2 в микросхеме), настройка 9600-8-1. Замкнутые выводы RX-TX на разъёме JP1 и получили простой порт для обмена данными.

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

6. Установил исправленную версию urjtag и стала срабатывать опция interface=1, на которой определяется устройство - микросхема CPLD. Это уже радует.
Перед использованием положить bsdl файл микросхемы CPLD (или иной) в папку c:\urjtag
7. Команды выполняемые в программе: urjtag-rev11
jtag> cable jtagkey interface=1
jtag> bsdl path c:\urjtag
jtag> detect
IR length: 8
Chain length: 1
Device Id: 00000110111000011100000010010011 (0x06E1C093)
Filename: c:/urjtag/XC2C32A.bsd
jtag>




8. Прошить в CPLD последний вариант буфера Jtagkey. Т.е. теперь отладчик совместим с отладчиком JTAGkey.

9. Для быстрой проверки работоспособности отладчика с разным ПО, я подключаю его JTAG-порт, к порту JTAG на пинах JP1, и устанавливаю JP4 (подаю питание). Если всё работает, то определяется IDCODE Xilinx.

Небольшое описание платы отладчика на память.


BusBlaster v.2 - расположение компонентов



JP1 - Выход JTAG, напрямую с микросхемы FT2232H? Для чего?
Используется как подсоединение второго порта к jtag- интерфейсу буферной микросхемы CPLD. Может использоваться как UART-TTL.
JP2 - Неиспользуемые выводы
JP3 - Микросхема памяти EEPROM (Хранение идентификаторов USB VID/PID)
JP4 - Подача питания 3.3V. При снятой перемычке питание на микросхему буфера (часть микросхемы) подаётся от отлаживаемого устройства. При установленной перемычке - питание берется у BusBlaster для питания отлаживаемого устройства, а также для питания микросхемы буфера (IO).

JTAG - 20-выводной разъём соответствует стандарту JTAG ARM 20 pin

XC2C32A CPLD - XC2C32A CoolRunner-II CPLD, микросхема программируемой логики, используется в качестве буферной, для согласования логических уровней с отлаживаемым устройством (1.8 - 3.3В).

FT2232H - микросхема моста USB-Serial, выполняющая основную работу.

Из плюсов
1. Буферная согласующая микросхема
2. Поддержка OpenOCD
3. Отладочная плата для Xilinx CPLD


Из недостатков

1. Не все возможные выводы разведены, т.к. что потенциал микросхемы FTDI FT2232H слегка ограничен. Например, не получилось сделать 2 порта. Может потом.


1 комментарий:

Dmitriy комментирует...

UrJTAG интерфейсе:
#jtag

Внутренние команды UrJTAG для тестирования микросхемы буфера (CPLD)

>cable ft2232 pid=0x6010 vid=0x0403 interface=1
>detect
IR length: 8
Chain length: 1
Device Id: 00000110111000011100000010010011 (0x06E1C093)
Manufacturer: Xilinx (0x093)
Part(0): xc2c32a-vq44 (0x6E1C)
Stepping: 0
Filename: /usr/share/urjtag/xilinx/xc2c32a-vq44/xc2c32a-vq44

Внутренние команды UrJTAG для тестирования целевого устройства:

>cable ft2232 pid=0x6010 vid=0x0403 interface=0
>detect

Тут не работает.