Categories

Site Sponsors

Who's Online

  • 0 Members.
  • 7 Guests.

Advanced FT232 Bit Banging – Homebrew ISP CPLD Programmer

8,398 views


A screenshot of the software tool is shown below.   As you can see, it is an extension of the old manual SPI tool that we discussed in the previous articles.   The left side is all manual mode commands for latching the HL, LL sequences and sending variable-length bit shifts.   Most of this should be familiar to you.   The right hand side holds the new automatic mode features.   These execute all the steps of one sequence and return the device to the idle state when done.   By navigating to a JED file, the CPLD can be ISP programmed.


Screenshot of the FT232ISP Tool

Fig 10 – Screenshot of the FT232ISP Programming Software


You may note that in addition to opening the interface and it’s associated green light, there is now a red light/blue light to designate whether the device is in ISP mode – basically whether the nISPEN line is low (blue, ISP active) or high (RED, ISP inactive).   ISP mode is automatically entered when the FT232 bitbang setup runs, but now there is a button to leave it.

We start at the topwith Setup All.   Pretty self explanatory.   There’s also Close All which should be just as straightforward to implement.   Next are some buttons to get the DevID (usually used as a connection test) and to read/write the UES.   The device must be erased to the $FF state to write a new UES.   Below the DevID and UES are buttons to set the address row (0-101) and to read and write data in the high/low banks.   This can be used as a quick check, but it’s not practical for writing a whole device.

Below is the file navigator and the automatic programming stuff.   To use it, you first choose a file, then select the options you want using the checkboxes. (Verify/Secure not yet implemented!).   Clicking Run will execute the Erase, Program, etc..   If your filename happens to be made of numeric or hex characters, there’s an option to automatically flash the filename into the UES.   Otherwise, you can write the UES manually above.

Since the program is more of a proof of concept than a high-performance programmer the write and read times are slow.   About 1 minute to cycle through all banks of all addresses.   To speed up the time, any rows in the JED file that are blank ($FFFFFFFFFF) are automatically skipped.   This really helps a lot with simple JED files, flashing the whole thing in about 15 seconds.

We apologize in advance if you find any ugly or poorly-commented sections of source code, some of this was written very late at night while cursing at CPLD’s and continuously retriggering the scope to snap pictures.   We will eventually overhaul the entire software to optimize the code and really increase the speed, but for now it functions pretty well and we’re happy to give it out to you.


Download the VB6 Source and Executable for the FT232ISP Tool


As always, thanks for reading and we hope you get some use out of the info or at least some inspiration for your own projects.   Cheers!

Pages: 1 2 3 4 5

3 comments to Advanced FT232 Bit Banging – Homebrew ISP CPLD Programmer

Leave a Reply

 

 

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>