[Ftdi-usb-sio-devel] Re: Support of USB to FIFO parallel device
Brought to you by:
bryder
From: Ian A. <ab...@me...> - 2002-10-08 11:36:12
|
[sorry for lack of threading - I'm cut'n'pasting from the archives!] Bill Ryder wrote: >Stephen Noftall wrote: >>I am using FTDI's FT245BM chip with Linux on an embedded board I am >>designing. >> >>I was wondering if anyone has used this chip before? Is there any gotchas >>with it? >I have only tested with the 245AM so far so I am not sure what issues >you might have. Assuming the protocol to talk to the device is the same >at the most you should just need to change the vendor/product id. It ought to be noted that FTDI can issue a USB PID for your design, using FTDI's VID. See the FTDI's FAQ at <http://www.ftdichip.com/FTSupport.htm>. The "BM" chips (FT232BM UART and FT245BM FIFO) seem to be similar to the "AM" parts. The data sheets don't go down to the register level (they seem to be aimed more towards hardware engineers rather than programmers!), but as far as drivers are concerned, the following differences are of note: * The BM chips support an isosynchronous transfer mode in addition to the "bulk" transfer mode. This is selected by an option bit in the EEPROM. * The FT232BM chip has a programmable read buffer timeout (1ms to 255ms) rather than a fixed 16ms timeout. * The FT245BM chip has a programmable FIFO TX buffer timeout (1ms to 255ms) rather than a fixed 16ms timeout. * The fractional part of the FT232BM's divisor has an extra bit so it now does all the eighths, rather than just n+0, n+0.125, n+0.25 and n+0.5. I guess this means the divisor register is now 17 bits long, but the divisor bits are still mixed up. * The BM chips support a "bit bang" mode for switching the 8 UART interface control signals between UART interface mode and an 8-bit parallel IO port. It's meant for programming FPGAs and suchlike. * The FT232BM supports a baud rate of 2000000 baud (3000000 divided by 1.5). This did not work on the FT8U232AM. However, baud rates of 2666666, 2400000, 2181818, 1846153, 1714285 and 1600000 (3000000 divided by 1.125, 1.25, 1.375, 1.625, 1.75 and 1.875) do not appear to be supported. * The BM chips have an option bit in the EEPROM to return a USB 2.0 descriptor rather than a USB 1.1 descriptor. The USB 2.0 descriptor identifies it as a "Full Speed" (12 Mb/s) device. I'm thinking of implementing the extra baud rates for the FT232BM (unless someone else has already done it!) and adding the default USB PIDs for the FT232BM and FT245BM. I'm not sure where the other stuff such as programmable timeouts and isosynchronous transfer support fits into the scheme of things yet, driver-wise. The company I work for is planning to replace a FT8U232AM in an existing design with the FT232BM and may be using the FT245BM in some other designs. -- -=( Ian Abbott @ MEV Ltd. E-mail: <ab...@me...> )=- -=( Tel: +44 (0)161 477 1898 FAX: +44 (0)161 718 3587 )=- |