FTDI USB to Serial Weirdness
dkemppai
Posts: 315
FTDI USB to Serial Weirdness
Ok, here’s a head scratcher.
I bought two el-cheapo ($22) USB to serial converters. The units are based on the FT232BM by FTDI (We all know this is the good chip). It has a Sipex SP213EH·(Really Really FAST)·TTL·to·RS323 level shifter.·The converter comes packaged with FTDI drivers (as expected) and is programmed with the default VID0403 (FTDI) and PID6001.
All is looking good. In fact the thing works great! Except that the VID/PID of 0403/6001. I need something other than that combination. Still with me?
OK, I look at the INF file, and see that the driver includes support for VID0403 and PID of 8372. Perfect!
I go to FTDI’s site, and download the MPROG version 2.3 and read the EEPROM on the devices (and save these settings). I then make an updated copy of the EEPROM program settings, except that I change the PID from 6001 to 8372 (Matching the PID/VID in INF driver file) OK, you All still with me???
I proceed to flash the EEPROM, and change the VID/PID, and unplug and re-plug the converter. It asks for drivers, I install them, and all seems happy. I check out some serial data on my scope, and it looks like it should, except that there is one small glitch around several microseconds wide about 3 serial characters before the actual serial data. This screws up the serial data stream, and nothing plugged into it will work! (No, I'm not kidding).
OK, now what.... ...well, basically re-flashed the EEPROMS, did a driver roll back, and replugged the devices. All worked fine. I looked for the Glitch, and it was gone!·Frustrated!
The·problem is that VID/PID is the same as the default PID VID.... ...and gets in the way when I program my FT245BM based hardware. The problem is that, it’s very easy for me to flash my USB to Serial converter EEPROM when I’m trying to flash my FT245 devices.
After 3 hours of mucking around, I’ve come full circle, and have the problem I feared I would have 3 weeks ago.
OK, are any of you·sill on my planet, or have I lost you all? Who even understood·what happened, I understand it, but can't comprehend it! Class dismissed!
The only plus, is there are el-cheapo FTDI based USB to serial converters out there with really, really·nice fast TTL to RS232 charge-pump level shifters...····...FYI, It says USB 2.0 on the package, but it's really USB 1.1. Don't let the marketing idiots fool you!
Is this a problem with the FTDI Chip? I can't understand how it could be anything but hareware related. The drivers are the exact same files. The only difference on the PC side of things should be the PID...·
-Dan
Post Edited (dkemppai) : 1/26/2005 2:22:18 AM GMT
Ok, here’s a head scratcher.
I bought two el-cheapo ($22) USB to serial converters. The units are based on the FT232BM by FTDI (We all know this is the good chip). It has a Sipex SP213EH·(Really Really FAST)·TTL·to·RS323 level shifter.·The converter comes packaged with FTDI drivers (as expected) and is programmed with the default VID0403 (FTDI) and PID6001.
All is looking good. In fact the thing works great! Except that the VID/PID of 0403/6001. I need something other than that combination. Still with me?
OK, I look at the INF file, and see that the driver includes support for VID0403 and PID of 8372. Perfect!
I go to FTDI’s site, and download the MPROG version 2.3 and read the EEPROM on the devices (and save these settings). I then make an updated copy of the EEPROM program settings, except that I change the PID from 6001 to 8372 (Matching the PID/VID in INF driver file) OK, you All still with me???
I proceed to flash the EEPROM, and change the VID/PID, and unplug and re-plug the converter. It asks for drivers, I install them, and all seems happy. I check out some serial data on my scope, and it looks like it should, except that there is one small glitch around several microseconds wide about 3 serial characters before the actual serial data. This screws up the serial data stream, and nothing plugged into it will work! (No, I'm not kidding).
OK, now what.... ...well, basically re-flashed the EEPROMS, did a driver roll back, and replugged the devices. All worked fine. I looked for the Glitch, and it was gone!·Frustrated!
The·problem is that VID/PID is the same as the default PID VID.... ...and gets in the way when I program my FT245BM based hardware. The problem is that, it’s very easy for me to flash my USB to Serial converter EEPROM when I’m trying to flash my FT245 devices.
After 3 hours of mucking around, I’ve come full circle, and have the problem I feared I would have 3 weeks ago.
OK, are any of you·sill on my planet, or have I lost you all? Who even understood·what happened, I understand it, but can't comprehend it! Class dismissed!
The only plus, is there are el-cheapo FTDI based USB to serial converters out there with really, really·nice fast TTL to RS232 charge-pump level shifters...····...FYI, It says USB 2.0 on the package, but it's really USB 1.1. Don't let the marketing idiots fool you!
Is this a problem with the FTDI Chip? I can't understand how it could be anything but hareware related. The drivers are the exact same files. The only difference on the PC side of things should be the PID...·
-Dan
Post Edited (dkemppai) : 1/26/2005 2:22:18 AM GMT
Comments
Sounds to me like TXDEN (or some other line) might be being used to enable / wake up the line driver - and that's causing your glitch before the data?
I can't remember enough about the FTDI drivers to know if they allow control of such things from the PC.
A rummage through the rev B datasheet contains
"TXDEN Timing fi x
TXDEN timing has now been fixed to remove the
external delay that was previously required for
RS485 applications at high baud rates. TXDEN
now works correctly during a transmit send-break
condition."
I wonder if you're running an earlier revision, and suffering from this?
In my experience, the chaps at FTDI will answer sensible questions, although at the time, we were buying quite a lot of their product...
Steve
If you ever solve this, I'd like to hear more. I'd love a 230 KBit/Sec (or higher) RS-232 port (or even RS-485 port).