Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
20780 Discussions

USB-JTAG Converter

Altera_Forum
Honored Contributor II
1,765 Views

Hi, 

I need to develop a USB-JTAG converter. 

For this I have taken PDIUSBD12 controller for the USB side.  

Now I facing difficulty on the JTAG side. Do i need to develop a TAP controller or my target device which has a JTAG port already have it and I only need to control the TMS pin and supply the data on TDI pin !!!!  

How do i supply data in JTAG format. 

 

Please help. 

 

Thank you, 

 

-Amit
0 Kudos
3 Replies
Altera_Forum
Honored Contributor II
955 Views

The tap controller is the JTAG slave side. The master has to control TCK, TMS and TDI respectively read TDO. Personally, I would use a FTDI chip, that can generate JTAG signals at 6 MHz TCK without additional hardware, FTDI also supplies a JTAG library for high level programming.  

 

Regarding the JTAG protocol implementation, you can consult an Altera application note or other web resources. How to supply data in jtag format is basically a question of which data you want to send to a device. Vendors of JTAG capable chips ususally supply *.BSDL files (boundary scan desciption language) that describe the particular JTAG resources of the chip. Additional documentation may be provided for programming purposes.
0 Kudos
Altera_Forum
Honored Contributor II
955 Views

I think you are right, using a FTDI chip will be easy!! 

I saw the datasheet of FT2232C chip. Will that be ok for my purpose? 

Also, I was looking at the Altera's USB blaster. In that they have a CPLD. Now, I have a doubt here, like what exactly is the role of CPLD if FTDI chip can take care of all things!!!
0 Kudos
Altera_Forum
Honored Contributor II
955 Views

Altera has implemented a specific protocol, different from the FTDI fast bit protocol. Also, the USB Blaster is based on FT245, that hasn't the capabilities of the newer chips. However, if you want your JTAG adapter to be compatible to USB Blaster, you would have to implement the Altera protocol somehow. 

 

The other option is of course, to use Alter USB Blaster for your own JTAG purposes. Altera offers only a tcl interface to send JTAG commands over USB Blaster. The Altera protocol has been reverse engineered by users and can be found on the web. If you understand the protocol, you can access the USB Blaster through the FTDI driver and use it for non-Altera JTAG communication. 

 

The third option would be to use the Altera software stack to access the USB Blaster or other Altera programming adapters by your software, but it's unfortunately undocumented. Some third party tools are using it, e.g. the Terasic Control Panel.
0 Kudos
Reply