My bityExpress PCB has a built-on programmer for the FPGA that includes a FTDI FT245R USB/FIFO IC and an Altera Max V CPLD. I grabbed a copy of ixo.de's usb_jtag project for the CPLD and modified it to disable active serial mode and to match the pinout that I selected. The code compiled cleanly for a 80 LE Max V.
The problem started when I tried to update the USB vendor ID on the FT245R to match the Altera USB-Blaster. Installing FTDI's FT_Prog on my Windows 7 box never worked. I ran across a Linux app called ftdi_eeprom that looked very promising. I was able to change the vendor ID to 0x09FB and Quartus recognized the on-board programmer, but 'Auto Detect' in Quartus did not recognize the FPGA. Two symptoms quickly emerged: The JTAG TCK signal coming from the CPLD was constantly running and the FT245R's RXFn pin was stuck low (indicting that data was always in the FIFO).
Somehow the ftdi_eeprom app tells the FT245R that it is a FT232 and I could not find a way to recover the part. Even when I successfully installed FT_Prog on an older XP box, I could not restore the original state of the FT245R. I ended up replacing the FT245R and changing the vendor ID using FT_Prog on the XP system. That's when the magic happened:
Perhaps I'll look deeper into ftdi_eeprom and try to understand why it fails on the FT245R. I'd love to contribute something back.
No comments:
Post a Comment