USB Download Cable for Lattice Devices

I am looking to incorporate the download capability for the Lattice USB download cable into a design. I found an app note on this but it uses a slightly old chip the FT2232D. FTDI refers to this chip as "Please note that the FT2232D is not an new generation of device." I assume they are indicating that you shouldn't start a new design with this chip, but I'm not sure.

Looking at the XP2 development kit they seem to use the FT2232H with a slightly different schematic. They omit an analog switch which is used as a multiplexer to use the same pins for two different functions, JTAG and I2C. I guess in the XP2 design they don't need the I2C interface.

Does anyone know which design is in the Lattice HW-USBN-2A cable?

I also followed a number of links I found in the searches on this and found several projects for open source debugging cables using FTDI devices. One is OOCDLink with not so much documentation. Another is usbjtag which seems to be nothing but dead links at this point. There are others also.

Looks like this FTDI chip could be a useful tool for JTAG debugging, but it is a little hard to corral the hardware.

--

Rick
Reply to
rickman
Loading thread data ...

I did something similar in a 2009 design; I had an embedded x86 that needed to configure a Xilinx FPGA, so I put an FT2232H on the board as a USB-JTAG converter.

Avoid the FT2232D if you can; you need the -H or one of the newer parts to get 480Mb/s USB 2.0. 12Mb/s seems so slow these days.

I'm an X and A guy (no experience with Lattice) but I would hazard a guess that many different types of JTAG probes would work with your FPGA, given suitable driver software. Reverse engineer a few and find one with a design you like. There's nothing restricting you to a design from a (clearly old) Lattice app note.

Regards, Allan

Reply to
Allan Herriman

Yes, that is what I am thinking. But I'm looking for hard info to minimize my development time. The "suitable driver software" means using the Lattice software which should just work. Once we are finished testing the next batch of boards I will pry open the JTAG cable Lattice sells. Although I bought it back in 2008 so it likely has the 2232D design.

I'm concerned about the software not liking what I build. It *is* pretty touchy software and there is a small flash part that needs to be programmed just right.

What did you have to do to get yours to work with the X part? Where did you get the flash programming file?

--

Rick
Reply to
rickman

I got it to work by kicking it over the wall to the software guy.

He said that he found a generic driver (in source form) for the FTDI part and modified it to do exactly what was required.

The "small flash part" was actually an EEPROM (IIRC, may be wrong) and we used some VID/PID values out of a range that was allocated to us by FTDI. The actual values didn't matter as we controlled the software.

It's also possible to use port numbers to identify devices rather than VID/PID. That's what we do on a freshly manufactured board with blank eeproms. Some software identifies each USB device on the board from its location then programs the appropriate VID/PID into it.

[OT] This reminds me of the first time I put a USB 3.0 host controller in a product. The device was a first generation part and it needed to load its firmware from an external flash. We weren't able to source the contents (that worked) from the manufacturer. When USB3 cards started appearing in shops [in 2010?] we bought one and cloned its flash.

Allan

Reply to
Allan Herriman

I took the dare and opened the case on my current HW-USBN-2A and it is not an FTDI chip at all. It is a Cypress chip! So if I want to try using an FTDI chip it won't be duplicating the existing factory cable at all. I'm a little confused as I thought the FT2232D was what they said the USB cable had in it and the FT2232H was on the XP2 eval board.

No worries. I still want to look into the FT2232x cable once I get the current shipment out of the way.

--

Rick
Reply to
rickman

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.