Application Note AN_124 User Guide for FTDI FT_PROG Utility Version 1.6 Issue Date: 2016-04-06 This application note explains how to use the FT_Prog utility which provides a user interface to access any EEPROM used with FTDI devices. FT_Prog replaces the previous FTDI utility used for this purpose called MPROG Use of FTDI devices in life support and/or safety applications is entirely at the user’s risk, and the user agrees to defend, indemnify and hold FTDI harmless from any and all damages, claims, suits or expense resulting from such use. Future Technology Devices International Limited (FTDI) Unit 1,2 Seaward Place, Glasgow G41 1HH, United Kingdom Tel.: +44 (0) 141 429 2777 Fax: + 44 (0) 141 429 2758 E-Mail (Support): [email protected] Web: http://www.ftdichip.com Copyright © Future Technology Devices International Limited Application Note AN_124 User Guide for FTDI FT_PROG Utility V ers ion 1 .6 D oc ument Reference N o.: FT _000172 C learance N o.: FT DI# 1 0 6 Table of Contents 1 Introduction ................................................................. 3 2 Downloading and Installing FT_Prog ............................. 4 3 FT_Prog Basics ............................................................. 5 3.1 Modes of Operation ................................................................ 5 4 Edit Mode Functions ...................................................... 7 4.1 Create a New EEPROM Template ............................................. 7 4.2 Modify an Existing EEPROM Template ..................................... 8 4.3 Save a Template..................................................................... 9 5 Device EEPROM Parameters......................................... 10 5.1 Chip_Details .........................................................................10 5.2 USB_Device_Descriptor .........................................................10 5.3 USB_Config_Descriptors........................................................11 5.4 USB_String_Descriptors ........................................................12 5.5 FT232R Hardware_Specific ....................................................13 5.6 FT245R Hardware_Specific ...................................................14 5.7 FT2232D Hardware_Specific ..................................................15 5.8 FT2232H Hardware_Specific ..................................................16 5.9 FT4232H Hardware_Specific ..................................................17 5.10 FT232H Hardware_Specific....................................................18 5.11 FT4222H Hardware Specific ...................................................20 5.12 FT260 Hardware Specific .......................................................21 5.13 FT-X Hardware Specific .........................................................23 6 Program Mode Function .............................................. 25 6.1 Scan for Devices ...................................................................25 6.2 Erase Existing Devices...........................................................26 6.3 Use an Existing EEPROM Template .........................................27 6.4 Program Existing Devices ......................................................29 6.5 Cycle Port .............................................................................31 7 Command Line Programming....................................... 32 1 P roduc t Page D oc ument Feedback C opyright © Future T echnology D evices I nternational L imited Application Note AN_124 User Guide for FTDI FT_PROG Utility V ers ion 1 .6 D oc ument Reference N o.: FT _000172 7.1 C learance N o.: FT DI# 1 0 6 Batch File Programming ........................................................36 8 Vinculum Programmer ................................................ 37 9 Definition of Error Messages........................................ 41 10 Contact Information .................................................... 44 Appendix A - References .................................................. 45 Document References ...................................................................45 Acronyms and Abbreviations .........................................................45 Appendix B – Revision History.......................................... 46 2 P roduc t Page D oc ument Feedback C opyright © Future T echnology D evices I nternational L imited Application Note AN_124 User Guide for FTDI FT_PROG Utility V ers ion 1 .6 D oc ument Reference N o.: FT _000172 C learance N o.: FT DI# 1 0 6 1 Introduction FT_Prog is a free EEPROM programming utility for use with FTDI devices. It is used for modifying EEPROM contents that store the FTDI device descriptors to customize designs. FT_Prog also includes the capability of programming the VNC1L and VNC2 firmware using a UART interface. FT_Prog is an enhanced version (and a replacement for) the previous utility used for this function called MPROG as well as the VProg application. Devices supported by FT_Prog are: FT-X FT232RL & FT232RQ FT245RL & FT245RQ FT2232DFT232BM, FT232BL & FT232BQ FT 245BM, FT245BL & FT245BQ FT8U232AM FT8U245AM FT2232H FT4232H FT232H FT4222H FT260 VNC1L VNC2 FT_Prog is available as a free download from the Utilities page of the FTDI website. FTDI devices support 93C46 EEPROMs organized in 16-bit words, except for the R series of devices which have an internal EEPROM and H series which supports the larger devices . The BM, D and H devices also support 93C56 and 93C66 EEPROMs organized in 16-bit words. When fitted, an external EEPROM allows customization of the device default parameters such as VID, PID, Serial Number, Manufacturer Descriptor and Product Descriptor. FT_Prog provides a fast and simple way to program these parameters. A convenient way of programming the EEPROM is to populate a blank device on the PCB during manufacturing assembly and then program it via USB during the manufacturing test process. All these devices support direct programming over USB using the FT_Prog programming utility. 3 P roduc t Page D oc ument Feedback C opyright © Future T echnology D evices I nternational L imited Application Note AN_124 User Guide for FTDI FT_PROG Utility V ers ion 1 .6 D oc ument Reference N o.: FT _000172 C learance N o.: FT DI# 1 0 6 2 Downloading and Installing FT_Prog The latest version of FT_Prog can be downloaded from the Utilities page of the FTDI website in a zipped executable file. Extract the file using an extraction tool. There are many available on the web such as Winzip or WinRAR. Most versions of Windows e.g. Win 7 come with these utilities pre -loaded. The application requires the latest version of the D2XX drivers installed, an installation guide can be found on the FTDI website under the Install Guides Section. For Win 7 please refer to AN_119, for Win 8 refer to AN_234, and for Win 10 please refer to AN_396. Note: FT_Prog requires the Microsoft .NET Framework 3.5 (or later) which can be downloaded from the Microsoft website. If your system does not have .Net 3.5 installed you must download and install this from the above link before running the application. Run the executable file by double clicking on the .exe and the following screen appears: 4 P roduc t Page D oc ument Feedback C opyright © Future T echnology D evices I nternational L imited Application Note AN_124 User Guide for FTDI FT_PROG Utility V ers ion 1 .6 D oc ument Reference N o.: FT _000172 C learance N o.: FT DI# 1 0 6 3 FT_Prog Basics 3.1 Modes of Operation FT_Prog has 3 modes of operation: Idle Mode, Program Mode and Edit Mode. FT_Prog programming parameters are saved in files referred to here as EEPROM templates. Once defined, these EEPROM templates can be loaded by FT_Prog and used to program EEPROMs. Idle Mode is the initial mode of operation when the program is launched. Edit Mode is used to edit the settings of an EEPROM template. Program Mode is used to Program and Erase the device EEPROM(s). When FT_Prog is launched, it is initially in Idle Mode and the screen looks like the one given below: 5 P roduc t Page D oc ument Feedback C opyright © Future T echnology D evices I nternational L imited Application Note AN_124 User Guide for FTDI FT_PROG Utility V ers ion 1 .6 D oc ument Reference N o.: FT _000172 C learance N o.: FT DI# 1 0 6 User choices in Idle Mode are: Create a new EEPROM template. This will change the mode to Edit Mode and allow the user to select the parameters for their device. Open an existing EEPROM template. Scan the USB Bus for available devices. FT_Prog will report how many programmed and blank devices are attached to the target PC. 6 P roduc t Page D oc ument Feedback C opyright © Future T echnology D evices I nternational L imited Application Note AN_124 User Guide for FTDI FT_PROG Utility V ers ion 1 .6 D oc ument Reference N o.: FT _000172 C learance N o.: FT DI# 1 0 6 4 Edit Mode Functions 4.1 Create a New EEPROM Template To create a new EEPROM template click on the Create New Programming Template button on the toolbar or select “New Template” from the “File” Menu. The EEPROM template can define parameters in the following categories: Chip_Details USB_Device_Descriptor USB_Config_Descriptors USB_String_Descriptors FT232R Hardware Specific FT245R Hardware Specific FT2232D Hardware Specific FT2232H Hardware Specific FT4232H Hardware Specific FT232H Hardware Specific FT4222H Hardware Specific FT260 Hardware Specific Please see Section 5 for a detailed description of template parameters. 7 P roduc t Page D oc ument Feedback C opyright © Future T echnology D evices I nternational L imited Application Note AN_124 User Guide for FTDI FT_PROG Utility V ers ion 1 .6 D oc ument Reference N o.: FT _000172 C learance N o.: FT DI# 1 0 6 4.2 Modify an Existing EEPROM Template To modify an existing EEPROM template, click on the "Open Template" button on the toolbar Or select, "Open Template" from the "File" menu. This will launch the Open dialog box. Select the template to be modified and click on "Open". FT_Prog will load the template into the “Device Tree” window , making it available to be edited. 8 P roduc t Page D oc ument Feedback C opyright © Future T echnology D evices I nternational L imited Application Note AN_124 User Guide for FTDI FT_PROG Utility V ers ion 1 .6 D oc ument Reference N o.: FT _000172 C learance N o.: FT DI# 1 0 6 4.3 Save a Template Any changes can be saved, click on the "Save" button to save the changes . Or select “Save As Template” from the “File” menu. Or right click on the required template, and select “Save As Template” Enter a file name for the EEPROM template, perhaps a product name (USB_RS232_Cable.xml in this example), and click on "Save". FT_Prog will save the EEPROM template . 9 P roduc t Page D oc ument Feedback C opyright © Future T echnology D evices I nternational L imited Application Note AN_124 User Guide for FTDI FT_PROG Utility V ers ion 1 .6 D oc ument Reference N o.: FT _000172 C learance N o.: FT DI# 1 0 6 5 Device EEPROM Parameters 5.1 Chip_Details Select the device type to be programmed from the Chip Details box. When selected, this will enable the menu options appropriate to the device that you have selected. 5.2 USB_Device_Descriptor The choices available from the combo-box for VID and PID are: FTDI Default. If the FTDI default values are used, the VID and PID are fixed and it is not necessary to enter any values. FTDI Supplied PID. If you wish to use FTDI's Vendor ID and FTDI have supplied you with a Product ID for use with your products, please enter the Product ID supplied by FTDI (a 4 digit hexadecimal number) in the Product ID box provided. If you wish to use FTDI's Product ID and do not have a unique Product ID assigned for you by FTDI then please Contact FTDI with your request. There is no charge for this service to bona -fide FTDI customers. Other VID & PID. If you have your own USB Vendor ID and Product ID for your device, then this option will allow the user to enter both the USB VID and USB PID for your product in the boxes provided. USB Version Number. The BM and C series devices have the option to set the USB version number to USB 1.1 or USB 2.0. This has no effect on the functionality of the device, however for USB compliance testing we re commend that you choose the USB 2.0 setting. For AM series devices the version number is hard coded to USB 1.1. Note: If non-standard VID and/or PID values are used the driver INF file must be modified to accommodate the new VID and PID combination. FTDI provide a utility to generate custom INF files, this is available from the Utilities section of the website. Please refer to the application note AN 107. 10 P roduc t Page D oc ument Feedback C opyright © Future T echnology D evices I nternational L imited Application Note AN_124 User Guide for FTDI FT_PROG Utility V ers ion 1 .6 D oc ument Reference N o.: FT _000172 C learance N o.: FT DI# 1 0 6 5.3 USB_Config_Descriptors Details of the USB device power requirements/USB Remote wakeup/Pull down IO Pins in USB Suspend can be set in the USB_Config_Descriptors. Select Bus Powered (the product gets power from USB) or Self Powered (the product has its own power supply) from the power options. The Max Bus Power value defaults are 100mA for a Bus Powered product and 0mA for a Self Powered product; however these are only default values and can be changed by entering a new value in the Max Bus Power field. A summary of the rules and options are given belo w: All USB Devices: The maximum current that can be supplied over the USB bus without violating the USB specification is 500mA. Do not enter a value of more than 500mA in the Max Bus Power field. High power bus powered products. These products consume between 101mA and 500mA from the USB bus and can be plugged into any USB host. However, such products can only be plugged into self powered USB hubs (hubs that have their own power supply) as bus powered USB hubs can only supply 100mA per hub port. Bus Powered USB Devices These fall into two categories: Low power bus powered products. These products consume 100mA or less from the USB bus and can be plugged into any USB host or hub port. High power bus powered products. These products consume between 101mA and 500mA from the USB bus and can be plugged into any USB host. However, such products can only be plugged into self powered USB hubs (hubs that have their own power supply) as bus powered USB hubs can only supply 100mA per hub port. Self Powered USB Devices These fall into two categories: True self powered products. These products have their own power supply and do not require any current from the USB bus. Enter a value of zero in the Max Bus Power field. Hybrid self powered products. These products have their own power supply, but also draw some of their operating current from the USB bus. Enter the current draw from the USB bus in the Max Bus Power field. 11 P roduc t Page D oc ument Feedback C opyright © Future T echnology D evices I nternational L imited Application Note AN_124 User Guide for FTDI FT_PROG Utility V ers ion 1 .6 D oc ument Reference N o.: FT _000172 C learance N o.: FT DI# 1 0 6 USB Remote Wakeup: FT8U232AM, FT232BM, FT232R and FT-X devices are capable of resuming a PC from the USB suspend (sleep) state via the RI# pin. FT245BM also has this capability via a dedicated pin (SI/WU), as does the FT2232D/H (SI/WUA, SI/WUB), as does the FT4232H (SI/WUA, SI/WUB, SI/WUC, SI/WUD). FT8U245AM does not have support for remote wake up. To use the remote wake-up capability, enable this option by checking the box. On the FT245R RXF# becomes an input and used to wake the host from suspend mode. Pull Down IO Pins in USB Suspend: All devices feature a Power Control Pin (PWREN#). This pin can be used to control power to external peripheral circuitry via a P-Channel MOSFET. When used in this way, select this option to minimize the USB suspend current, otherwise leave this option unselected. See the product data sheets, application schematics and designers guides for more details. 5.4 USB_String_Descriptors Details of the USB device manufacture r /product Description/USB Serial number can be set in the USB_String_Descriptors. Manufacture/product Description: The Product and Manufacturer Description Strings in the fields allow customization of the description strings the device uses. Manufacturer: the product manufacturer string e.g. "FTDI" - best kept short and abbreviated if possible. Product Description: a brief description of the product, maybe including the part number e.g. "USB <->Serial Converter" 12 P roduc t Page D oc ument Feedback C opyright © Future T echnology D evices I nternational L imited Application Note AN_124 User Guide for FTDI FT_PROG Utility V ers ion 1 .6 D oc ument Reference N o.: FT _000172 C learance N o.: FT DI# 1 0 6 USB Serial Number: USB products have the ability to embed a unique serial number for each product into the low level descriptors that are accessed by the host controller drivers when the product is plugged into the USB bus. In turn, the serial number of a product can be used to identify the product. The device serial number can be set through the USB Serial Number Control panel. Auto generated serial numbers consist of a 2 letter prefix (e.g. FT) followed by 6 alphanumeric digits generated using an algorithm based on the date and time of programming the device. It is also possible to fix the serial number to a fixed 8-digit alphanumeric string; however we do not recommend this as systems will only recognize the first instance of such a device connected to a PC. Note: The maximum length of descriptors varies across the range of chips but is typically 40 to 50 characters. The descriptors include the manufacturer, product description and serial number. 5.5 FT232R Hardware_Specific Additional features available on the FT232R device allow RS232 signals to be inverted and the CBUS pins to be configured through combo-boxes. The FT232R supports High Current IOs. Setting this option will enable the high output drive level. The UART IO pins will drive out at 12mA instead of their normal 4mA. The FT232R has an internal Oscillator, but it is also possible to select “Use External Oscillator” to use an external oscillator. Note: If “Use External Oscillator” is selected and the hardware design does not have an external oscillator connected, then the FT232R will be rendered useless. 13 P roduc t Page D oc ument Feedback C opyright © Future T echnology D evices I nternational L imited Application Note AN_124 User Guide for FTDI FT_PROG Utility V ers ion 1 .6 D oc ument Reference N o.: FT _000172 C learance N o.: FT DI# 1 0 6 5.6 FT245R Hardware_Specific Unlike the FT232R, the FT245R does not allow inverting of signals or configuration of the CBUS pins as they are all required for normal FIFO operation. The FT245R has an internal Oscillator, but it is also possible to select “Use External Oscillator” to use an external oscillator. Note: If “Use External Oscillator” is selected and the hardware design does not have an external oscillator connected, then the FT245R will be rendered useless. 14 P roduc t Page D oc ument Feedback C opyright © Future T echnology D evices I nternational L imited Application Note AN_124 User Guide for FTDI FT_PROG Utility V ers ion 1 .6 D oc ument Reference N o.: FT _000172 C learance N o.: FT DI# 1 0 6 5.7 FT2232D Hardware_Specific The FT2232D device incorporates all of the BM specific features, but with an additional "CPU FIFO" option made available. Each channel can be independently configured as FT232BM-style USB UART or a FT245BM style USB FIFO. Each channel can be individually configured in CPU FIFO mode. Each channel can also be individually configured in Fast Opto -Isolated Serial Interface mode. See the FT2232D device datasheet (available from the Datasheets page of the FTDI website) for more information on these modes. High Current I/O's. Setting this option will enable the high output drive level. The UART/FIFO IO pins will drive out at 12mA instead of their normal 4mA. The driver that is installed and used by each channel can be set by selecting Virtual COM Port or D2XX Direct option. 15 P roduc t Page D oc ument Feedback C opyright © Future T echnology D evices I nternational L imited Application Note AN_124 User Guide for FTDI FT_PROG Utility V ers ion 1 .6 D oc ument Reference N o.: FT _000172 C learance N o.: FT DI# 1 0 6 5.8 FT2232H Hardware_Specific The FT2232H function is similar to the FT2232D. The FT2232H device incorporates all of the BM devices options section and all of the FT2232D Device Options. Each channel can be independently configured as FT232BM-style USB UART or a FT245BM style USB FIFO. Each channel can be individually configured in CPU FIFO mode. Each channel can also be individually configured in Fast Opto -Isolated Serial Interface mode. See the FT2232H device datasheet (available from the Datasheets page of the FTDI website) for more information on these modes. The driver that is installed and used by each channel can be set by selecting Virtual COM Port or D2XX Direct option. The slow slew function can be selected for slower output driver. The Schmitt Input function can be enabled if the user needs to implement Schmitt trigger function to input pins. The IO pin driving capability can also be modified; the current range is 4mA to 16mA. 16 P roduc t Page D oc ument Feedback C opyright © Future T echnology D evices I nternational L imited Application Note AN_124 User Guide for FTDI FT_PROG Utility V ers ion 1 .6 D oc ument Reference N o.: FT _000172 C learance N o.: FT DI# 1 0 6 The FT2232H’s Pin59 (POWERSAV#) is USB Power Save input. This is an EEPROM configurable option used when the FT2232H is used in a self powered mode and is used to prevent forcing current down the USB lines when the host or hub is powered off. PWRSAV# = 1: Normal Operation PWRSAV# = 0: FT2232H forced into SUSPEND mode. 5.9 FT4232H Hardware_Specific The FT4232H function is similar to the FT2232H. The FT4232H device incorporates all of the BM devices option sections and all of the FT2232H Device Options. Each channel can be independently configured as FT232BM-style USB UART. Each channel can also be individually configured in synchronous or asynchronous bit-bang mode. See the FT4232H device datasheet (available from the Datasheets page of the FTDI website) for more information on these modes. The driver that is installed and used by each channel can be set by selecting Virtual COM Port or D2XX Direct option. The slow slew function can be selected for slower output driver. The Schmitt Input function can be enabled if user needs to implement Schmitt trigger function to input pins. The IO pin driving capability can also be set; the current range is 4mA to 16mA. 17 P roduc t Page D oc ument Feedback C opyright © Future T echnology D evices I nternational L imited Application Note AN_124 User Guide for FTDI FT_PROG Utility V ers ion 1 .6 D oc ument Reference N o.: FT _000172 C learance N o.: FT DI# 1 0 6 5.10 FT232H Hardware_Specific The FT232H can be configured in one of 5 modes: as a RS232 UART, 245 FIFO, CPU FIFO, OPTO Isolate or the new FT1248. Please refer to the device datasheet for details of the different configurations. FT1248 settings can be configured in the EEPROM, the following options are available: 18 P roduc t Page D oc ument Feedback C opyright © Future T echnology D evices I nternational L imited Application Note AN_124 User Guide for FTDI FT_PROG Utility V ers ion 1 .6 D oc ument Reference N o.: FT _000172 C learance N o.: FT DI# 1 0 6 CBus I/O pins can be controlled through the EEPROM, more details are available in the datasheet. As with other FTDI devices the slew rate, Schmitt trigger and drive strength can be configured in the EEPROM. 19 P roduc t Page D oc ument Feedback C opyright © Future T echnology D evices I nternational L imited Application Note AN_124 User Guide for FTDI FT_PROG Utility V ers ion 1 .6 D oc ument Reference N o.: FT _000172 C learance N o.: FT DI# 1 0 6 5.11 FT4222H Hardware Specific This device contains SPI, I2C and GPIO configurable interfaces. The SPI interface can be configured as master mode with single, dual and quad bits data width transfer, or slave mode with single bit data width transfer. The I2C interface can be configured in master or slave mode. Slaves on an I2C bus must have unique addresses, and this may be configured here for the FT4222H. Electrical characteristics such as slew rate, drive current and enabling of pull-up/down resistors may be configured for SPI and GPIO modes. The FT4222H’s output signal to indicate detection of a Battery Charger on the USB port may also be configured here 20 P roduc t Page D oc ument Feedback C opyright © Future T echnology D evices I nternational L imited Application Note AN_124 User Guide for FTDI FT_PROG Utility V ers ion 1 .6 D oc ument Reference N o.: FT _000172 C learance N o.: FT DI# 1 0 6 5.12 FT260 Hardware Specific HID over I2C This HID device provides a bridge between USB and either UART or I 2C peripherals. I2C mode supports the HID over I2C protocol, the settings of which can be configured here. Power Support – Allows device to be set to preferred power setting i.e. ON, SLEEP or RESERVED. Idle Support –Allows the device to enter IDLE mode when no data is transferred between USB and I2C bus after a period of inactivity. Protocol Support – Allows setting of protocol mode for the device i.e. Boot, Report or Reserved. GPIOs The FT260 has 14 digital function pins that can be set as I2C/UART related function or GPIO. Some GPIO functions are implemented in the FT260 for various applications like TX_ACTIVE, TX_LED, RX_LED for UART; SUSPOUT_N, WAKEUP for USB and PWREN and BCD_DET indicator for power management. 21 P roduc t Page D oc ument Feedback C opyright © Future T echnology D evices I nternational L imited Application Note AN_124 User Guide for FTDI FT_PROG Utility V ers ion 1 .6 D oc ument Reference N o.: FT _000172 C learance N o.: FT DI# 1 0 6 See Datasheet for further information of GPIO functions for each pin. The signal drive strength, slew rate control and pull high/low resistors of these Digital I/Os can be configured for different design needs. Battery Charge Detection The FT260 includes USB Battery Charger Detection which allows for USB peripheral devices to detect the presence of a higher power source to enable improved charging. 22 P roduc t Page D oc ument Feedback C opyright © Future T echnology D evices I nternational L imited Application Note AN_124 User Guide for FTDI FT_PROG Utility V ers ion 1 .6 D oc ument Reference N o.: FT _000172 C learance N o.: FT DI# 1 0 6 5.13 FT-X Hardware Specific The FT-X bridges USB ports to UART, I2C, enhanced SPI (FT1248) or FIFO interfaces . Slaves on an I2C bus must have unique addresses, and this may be configured here. Battery Charger Detection which allows for USB peripheral devices to detect the presence of a higher power source to enable faster charging. The device has up to 7 independently configurable CBUS pins that can be set here. 23 P roduc t Page D oc ument Feedback C opyright © Future T echnology D evices I nternational L imited Application Note AN_124 User Guide for FTDI FT_PROG Utility V ers ion 1 .6 D oc ument Reference N o.: FT _000172 C learance N o.: FT DI# 1 0 6 The USB Suspend VBus option can be enabled here. This can be used for self-powered designs to realise that the host is waking up. Used to prevent forcing current down the USB lines when the host or hub is powered off. Note: One of the CBUS signals must be set to VBUS_SENSE before this setting can be enabled. 24 P roduc t Page D oc ument Feedback C opyright © Future T echnology D evices I nternational L imited Application Note AN_124 User Guide for FTDI FT_PROG Utility V ers ion 1 .6 D oc ument Reference N o.: FT _000172 C learance N o.: FT DI# 1 0 6 6 Program Mode Function To enter program mode the user must first scan for FTDI devices connected to the host PC [see section 6.1]. The program mode functions of FT_Prog can then be accessed through the toolbar or by right clicking on a device within the “Device Tree”. Program mode allows the user to: Erase device EEPROM contents Apply templates to connected devices Program device EEPROM contents 6.1 Scan for Devices To scan the USB bus for available connected FTDI devices, click on the "Scan and Parse" button on the toolbar. Alternatively, select “Scan and Parse” from the “Devices” menu. Upon successful completion of the operation any connected devices will be displayed within the “Device Tree” window, as shown below. 25 P roduc t Page D oc ument Feedback C opyright © Future T echnology D evices I nternational L imited Application Note AN_124 User Guide for FTDI FT_PROG Utility V ers ion 1 .6 D oc ument Reference N o.: FT _000172 C learance N o.: FT DI# 1 0 6 6.2 Erase Existing Devices There are two ways to erase the EEPROM of connected devices. To erase the contents of a single connected device the user can right-click on the desired device within the “Device Tree” and select “Erase Device” from the menu. Alternatively, to erase the EEPROM of multiple devices, the user can press the program button within the toolbar or “Devices” menu. The “Program Devices” window [as below] will appear; this will allow the user to select multiple devices from the “Device List” on the left hand side of the window and then erase the EEPROM by pressing the “Erase” button at the bottom right of the window. 26 P roduc t Page D oc ument Feedback C opyright © Future T echnology D evices I nternational L imited Application Note AN_124 User Guide for FTDI FT_PROG Utility V ers ion 1 .6 D oc ument Reference N o.: FT _000172 C learance N o.: FT DI# 1 0 6 After the operation has been carried out successfully the contents of the device EEPROM will be as below: Note: It is not possible to erase the contents of the FT232R and FT245R chips EEPROM. 6.3 Use an Existing EEPROM Template Templates can be applied to connected devices to modify the contents of their EEPROM. Any templates that are currently open are displayed within the “Device Tree” window. To apply these to a device: right-click the required device within the “Device Tree”; select “Apply Template” from the menu (any templates that are currently open will be displayed within this list ). Select the required template and the settings stored within this template will be applied to the selected device. 27 P roduc t Page D oc ument Feedback C opyright © Future T echnology D evices I nternational L imited Application Note AN_124 User Guide for FTDI FT_PROG Utility V ers ion 1 .6 D oc ument Reference N o.: FT _000172 C learance N o.: FT DI# 1 0 6 To apply a template that is not currently open within the application : right-click on the required device and select “Apply Template”, “From File”. This will open a file browser allowing the user to browse to the required file. When the EEPROM settings are complete, the next step is to program the device; follow the steps in section 6.4 to complete the process. Note: It is not possible to apply templates to devices where the chip type of both the device and template do not match. For example, if a template for a FT2232H device is open and the currently connected device is an FT245R the application will not allow the user to apply this t emplate. 28 P roduc t Page D oc ument Feedback C opyright © Future T echnology D evices I nternational L imited Application Note AN_124 User Guide for FTDI FT_PROG Utility V ers ion 1 .6 D oc ument Reference N o.: FT _000172 C learance N o.: FT DI# 1 0 6 6.4 Program Existing Devices Click on the "Program Devices" button within the toolbar. The “Program Devices” GUI will be displayed [as below ]: From this interface, select the required devices from the “Device List” on the left of the window . If the "Only Program Blank Devices" box is checked, FT_Prog will select any blank devices within the “Device List” window. To program the selected devices press “Program” on the bottom right of the window. Alternatively to program individual devices, right-click on the required device within the “Device Tree” and select “Program Device” from the context menu. 29 P roduc t Page D oc ument Feedback C opyright © Future T echnology D evices I nternational L imited Application Note AN_124 User Guide for FTDI FT_PROG Utility V ers ion 1 .6 D oc ument Reference N o.: FT _000172 C learance N o.: FT DI# 1 0 6 30 P roduc t Page D oc ument Feedback C opyright © Future T echnology D evices I nternational L imited Application Note AN_124 User Guide for FTDI FT_PROG Utility V ers ion 1 .6 D oc ument Reference N o.: FT _000172 C learance N o.: FT DI# 1 0 6 6.5 Cycle Port The "Cycle Port" button can be used to re -enumerate a device on USB after the EEPROM has been reprogrammed. This is useful because the device only reads the EEPROM configuration when it is enumerated on USB, so it forces the device to use the new EEPROM contents. 31 P roduc t Page D oc ument Feedback C opyright © Future T echnology D evices I nternational L imited Application Note AN_124 User Guide for FTDI FT_PROG Utility V ers ion 1 .6 D oc ument Reference N o.: FT _000172 C learance N o.: FT DI# 1 0 6 7 Command Line Programming Click on the "Launch Command Line Application" button on the toolbar. This will launch the FT_Prog command line There are 6 commands: SCAN PROG ERAS CYCL HELP EXIT Searches for any devices connected to the host PC. Programs an EEPROM template into the selected device(s). Erases the EEPROM of the selected device. Cycles the device port, re-enumerating the device. Equivalent to a un-plug re-plug. Provides information on a command. Closes the application. Help command: Type HELP and press “ENTER”. This will display the command line list. 32 P roduc t Page D oc ument Feedback C opyright © Future T echnology D evices I nternational L imited Application Note AN_124 User Guide for FTDI FT_PROG Utility V ers ion 1 .6 D oc ument Reference N o.: FT _000172 C learance N o.: FT DI# 1 0 6 Type ’HELP SCAN’, ’HELP PROG’, ’HELP ERAS’ or ‘HELP CYCL’ and this will display the required format of the associated command. PROG format: PROG [device number 0],[device number 1], …… [template file location] PROG 0,1,3,5 C:\Documents and Settings\template.xml The ‘*’ symbol can be used to denote all devices connected PROG * C:\Documents and Settings\template.xml ERAS format: ERAS [device number 0], [device number 1], ……. ERAS 0,1,3 The ‘*’ symbol can be used to denote all devices connected CYCL format: CYCL [device number 0], [device number 1] , ……. CYCL 0,1,3 The ‘*’ symbol can be used to denote all devices connected 33 P roduc t Page D oc ument Feedback C opyright © Future T echnology D evices I nternational L imited Application Note AN_124 User Guide for FTDI FT_PROG Utility V ers ion 1 .6 D oc ument Reference N o.: FT _000172 C learance N o.: FT DI# 1 0 6 Program procedure: Use the SCAN Command to determine what FTDI devices are connected to the USB interface FTDI Device. The example below shows the response when a Device 0 ’FT_DEVICE_232R’ is connected to USB. Use the PROG command to program device 0 The command format is as follows: PROG 0 C:\UC232R.xml 34 P roduc t Page D oc ument Feedback C opyright © Future T echnology D evices I nternational L imited Application Note AN_124 User Guide for FTDI FT_PROG Utility V ers ion 1 .6 D oc ument Reference N o.: FT _000172 C learance N o.: FT DI# 1 0 6 The example below shows device 0 programmed successfully using this command. This command uses an .xml file to program the device. The xml files can be created using the FT_Prog GUI as highlighted in Section 4.1 or by hand using any text editor (an example of this is shown below.) It is highly recommend that the FT_Prog application is used to create templates. If the contents of the template are incorrect and this template is used to program a device, then the content of the EEPROM may be corrupted. 35 P roduc t Page D oc ument Feedback C opyright © Future T echnology D evices I nternational L imited Application Note AN_124 User Guide for FTDI FT_PROG Utility V ers ion 1 .6 D oc ument Reference N o.: FT _000172 C learance N o.: FT DI# 1 0 6 7.1 Batch File Programming It is possible to create Batch (bat) files that can help to automate the process of programming the EEPROM on multiple FTDI devices. Bat files are simple text documents with the extension .bat that contain instructions to be processed by the Windows CLI. The following sample will scan for connected devices, program device 0 and finally cycle all devices to re -enumerate after programming. The bat file must be placed in the same directory as the FT_Prog-CmdLine utility and the specified xml file must be accessible by the application. FT_Prog-CmdLine.exe scan prog 0 Templates\FT232R.xml cycl 0 pause 36 P roduc t Page D oc ument Feedback C opyright © Future T echnology D evices I nternational L imited Application Note AN_124 User Guide for FTDI FT_PROG Utility V ers ion 1 .6 D oc ument Reference N o.: FT _000172 C learance N o.: FT DI# 1 0 6 8 Vinculum Programmer FT_Prog can be used to reprogram the Flash memory of the VNC1L-1A and VNC2; it is available as a free download from the Vinculum website. FT_Prog allows for programming of devices across the UART using the Windows CDM (D2XX) drivers or via a virtual com port. It can be seen as a replacement for the VPROG application. Note: VNC2 can also be programmed in FT_Prog via VNC2 Debug Module as well as UART. Programming VNC1L example: Upgrading VNC1L firmware requires a USB to UART cable; this is available from FTDI, part number “TTL232R-3V3”. Programming requires some hardware connections. These are as follows: Connect the VNC1L Pin10 (PROG#) to GND. VNC1L’s GND connect to TTL-232R Pin1 (GND) VNC1L Pin33 (RTS#) connect to TTL-232R Pin2 (CTS#) VNC1L’s Power connect to TTL-232R Pin3 (Power) VNC1L Pin32 (RXD) connect to TTL-232R Pin4 (TXD) VNC1L Pin31 (TXD) connect to TTL-232R Pin5 (RXD) VNC1L Pin34 (CTS#) connect to TTL-232R Pin6 (RTS#) 37 P roduc t Page D oc ument Feedback C opyright © Future T echnology D evices I nternational L imited Application Note AN_124 User Guide for FTDI FT_PROG Utility V ers ion 1 .6 D oc ument Reference N o.: FT _000172 C learance N o.: FT DI# 1 0 6 Vinculum programming is under the Flash Rom heading within FT_Prog. Connect the Vinculum to the host PC and select the required interface. An example of the device box is shown below. Choose the “USB<-> Serial Cable”(TTL-232R). The default Baud Rate for programming a VNC1L device is 1MBaud and 3MBaud for VNC2.These are the recommended baud rates for each device as it allow s for faster programming. VNC1L firmware is available as a free download from the Firmware section of the FTDI Website. VNC2 firmware must first be built using FTDI’s ToolChain. The ToolChain is available from the FTDI website and comes with VNC1L equivalent firmware in the shape of V2DAP and V2DPS. After building an application using the ToolChain the resultant ROM file can be programmed into the VNC2. For help with installing and building firmware using the VNC2 ToolChain please refer to the Getting Started Guide. 38 P roduc t Page D oc ument Feedback C opyright © Future T echnology D evices I nternational L imited Application Note AN_124 User Guide for FTDI FT_PROG Utility V ers ion 1 .6 D oc ument Reference N o.: FT _000172 Click the open file button C learance N o.: FT DI# 1 0 6 and browse to the ROM file that has been downloaded. Then press the “Program” button to re-flash the VNC1L firmware. Programming flash: Verifying data: 39 P roduc t Page D oc ument Feedback C opyright © Future T echnology D evices I nternational L imited Application Note AN_124 User Guide for FTDI FT_PROG Utility V ers ion 1 .6 D oc ument Reference N o.: FT _000172 C learance N o.: FT DI# 1 0 6 When the programming is complete , the following message is displayed: Programming Vinculum II example: Programming the VNC2 is very similar to the VNC1L; in this example a V2Eval board is re-programmed with the V2DAP firmware. Connect the V2Eval board to the host PC. All connected FTDI devices will appear under the Device dropdown menu. V2Eval boards are setup with the UART as channel A of the FT4232H chip. This should be selected from the list as shown below. Evaluation boards allow the device to be put into prog mode using one of the spare channels of the FT4232H device. The channel used changed between Rev 1 and Rev 2 of the V2Eval board therefore it is required for the user to select the appropriate board revision from the drop -down menu. The precompiled ROM file for the V2DAP is available as a download from the FTDI website. Browse to this file using the open file browser and press program to flash the ROM image onto the VNC2. 40 P roduc t Page D oc ument Feedback C opyright © Future T echnology D evices I nternational L imited Application Note AN_124 User Guide for FTDI FT_PROG Utility V ers ion 1 .6 D oc ument Reference N o.: FT _000172 C learance N o.: FT DI# 1 0 6 9 Definition of Error Messages EEPROM mode: If when clicking “Scan and Parse” to detect devices, the error message windows as per below is displayed; Check the PC has connected and enumerated the FTDI device correctly. When programming an EEPROM, a device must be selected. If no device is selected, the error message below is shown. When erasing an EEPROM, a device must be selected. If no device is selected, the error message below is shown. If the programming doesn’t pass, the error message as per the figure below is displayed. This may be a consequence of hardware design or solder issues. Check the schematic and the EEPROM part number fitted. You can refer to FTDI datasheet to check your schematic 41 P roduc t Page D oc ument Feedback C opyright © Future T echnology D evices I nternational L imited Application Note AN_124 User Guide for FTDI FT_PROG Utility V ers ion 1 .6 D oc ument Reference N o.: FT _000172 C learance N o.: FT DI# 1 0 6 The FT232R and FT245R have an internal EEPROM which cannot be erased. The Descriptor Length cannot exceed 48 characters. Flash ROM mode: Failed to sync the VNC1L and the cable, please check the hardware connection . Command line mode: System cannot find “Device 0” Use the SCAN command and confirm the device number. If the “Failed to write to the EEPROM” error message is displayed, check the cable connection is stable, then try to program this device again. Also, check that the device and the template chip types match. 42 P roduc t Page D oc ument Feedback C opyright © Future T echnology D evices I nternational L imited Application Note AN_124 User Guide for FTDI FT_PROG Utility V ers ion 1 .6 D oc ument Reference N o.: FT _000172 Check the device and template chip type match. The FT232R and FT245R chip cannot be erased. C learance N o.: FT DI# 1 0 6 43 P roduc t Page D oc ument Feedback C opyright © Future T echnology D evices I nternational L imited Application Note AN_124 User Guide for FTDI FT_PROG Utility V ers ion 1 .6 D oc ument Reference N o.: FT _000172 10 C learance N o.: FT DI# 1 0 6 Contact Information Head Office – Glasgow, UK Branch Office – Tigard, Oregon, USA Future Technology Devices International Limited Unit 1, 2 Seaward Place, Centurion Business Park Glasgow G41 1HH United Kingdom Tel: +44 (0) 141 429 2777 Fax: +44 (0) 141 429 2758 Future Technology Devices International Limited (USA) 7130 SW Fir Loop Tigard, OR 97223-8160 USA Tel: +1 (503) 547 0988 Fax: +1 (503) 547 0987 E-mail (Sales) E-mail (Support) E-mail (General Enquiries) E-mail (Sales) E-mail (Support) E-mail (General Enquiries) [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] Branch Office – Taipei, Taiwan Branch Office – Shanghai, China Future Technology Devices International Limited (Taiwan) 2F, No. 516, Sec. 1, NeiHu Road Taipei 114 Taiwan , R.O.C. Tel: +886 (0) 2 8791 3570 Fax: +886 (0) 2 8791 3576 Future Technology Devices International Limited (China) Room 1103, No. 666 West Huaihai Road, Shanghai, 200052 C hina Tel: +86 21 62351596 Fax: +86 21 62351595 E-mail (Sales) E-mail (Support) E-mail (General Enquiries) E-mail (Sales) E-mail (Support) E-mail (General Enquiries) [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] Web Site http://ftdichip.com Distributor and Sales Representatives Please visit the Sales Network page of the FTDI Web site for the contact details of our distributor(s) and sales representative(s) in your country. Sys tem and equipment manufacturers and des igners are responsible to ens ure that their s ystems, and any Future T echnology D evic es I nternational L td (FTDI) devices incorporated in their s ys tems , meet all applic able s afety, regulatory and s ys tem - level performanc e requirements. A ll application-related information in this doc ument (inc luding application descriptions, s uggested FTD I devices and other materials ) is provided for referenc e only. While FT DI has taken c are to as s ure it is ac c urate, this information is s ubjec t to c us tomer c onfirmation, and FT DI disclaims all liability for s ys tem des igns and for any applic ations as s is tanc e provided by FT D I . U s e of FT D I devic es in life s upport and/or s afety applic ations is entirely at the us er’s ris k, and the us er agrees to defend, indemnify a nd hold harmles s FTDI from any and all damages , c laims, s uits or expense resulting from s uc h us e. T his document is s ubject to c hange without notic e. N o freedom to us e patents or other intellectual property rights is implied by the public ation of this doc ument. N either the whole nor any part of the information c ontained in, or the produc t des cribed in this document, may be adapted or reproduc ed in any material or elec tronic form without the prior written c ons ent of the c opyright holder. Future T ec hnology D evic es I nternational L td, U nit 1 , 2 Seaward P lac e, C enturion Busines s P ark, G las gow G 4 1 1 H H , U nited Kingdom. Sc otland Regis tered C ompany N umber: SC 1 3 6 6 4 0 44 P roduc t Page D oc ument Feedback C opyright © Future T echnology D evices I nternational L imited Application Note AN_124 User Guide for FTDI FT_PROG Utility V ers ion 1 .6 D oc ument Reference N o.: FT _000172 C learance N o.: FT DI# 1 0 6 Appendix A - References Document References AN_107 Advanced Driver Options AN_119 FTDI Drivers Installation Guide for Windows 7 AN_142 Vinculum-II Tool Chain Getting Started Guide AN_234 FTDI Drivers Installation Guide for Windows 8 AN_396 FTDI Drivers Installation Guide for Windows 10 Acronyms and Abbreviations Terms CPU EEPROM Description Central Processing Unit Electrically Erasable Programmable Read Only Memory FIFO First In First Out I2C Inter Integrated Circuit SPI Serial Peripheral Interface UART USB Win 7 Universal Asynchronous Receiver/Transmitter Universal Serial Bus Windows 7 45 P roduc t Page D oc ument Feedback C opyright © Future T echnology D evices I nternational L imited Application Note AN_124 User Guide for FTDI FT_PROG Utility V ers ion 1 .6 D oc ument Reference N o.: FT _000172 C learance N o.: FT DI# 1 0 6 Appendix B – Revision History Document Title : AN_124 User Guide for FTDI FT_PROG Utility Document Reference No. : FT_000172 Clearance No. : FTDI# 106 Product Page : http://www.ftdichip.com/FTProducts.htm Document Feedback : Send Feedback Revision Changes Date 1.0 Initial Release 2009-09-14 1.1 Added note about .NET requirement 2009-09-21 1.2 Update to Section 7 – Command Line Programming 2010-06-04 1.3 Added reference to the VNC2; Added Batch file programming section to the command line tool 2010-09-09 1.4 Added new section for Programming the V2Eval board; Added reference to the FT232H Device Specific Settings 2011-08-19 1.5 Added reference to FT4222H 2014-11-17 1.6 Added reference to FT260 2016-04-06 46 P roduc t Page D oc ument Feedback C opyright © Future T echnology D evices I nternational L imited