Velmi užitečný modul převodníku RS232 na USB a opačně, využívá osvědčený čip FT232RL. Z hlediska USB jde o full-speed zařízení a je tedy možné jej provozovat i na rychlostech sériové linky 3Mb/s.
Základní test se provede tak, že se modul připojí k počítači USB A-B kabelem. Operační systém by pak měl modul rozpoznat asi jako „FTDI serial interface“ a přiřadit mu některý COM port ve Windows nebo zařízení typu /dev/ttyUSB0 v systému Linux. Po spuštění některého terminálového programu (minicom, picocom) a při odeslání nějakého znaku by nemělo nic přicházet zpět. V opačném případě je buď zapnuté local-echo v terminálu a nebo zkrat mezi RX a TX modulu. Po propojení RX a TX kablíkem by mělo být možné přijímat vysílaná data. Jinak je problém s modulem, propojovacím kabelem a nebo ve volbě nastavení sériového portu.
Tento test se ale nezabývá testováním dalších hand-shake signálů, které je nutné otestovai individuálně. Většina uživatelů je však ale nevyužívá..
Pomocí FT_INF vytvoříme .inf s VID a PID našeho zařízení.
Vzniklý INF nakopírujeme k driveru pro přímý přístup k FT232R a nainstalujeme zařízení (nemusíme instalovat drivery pro emulaci sériové linky).
Spustíme FT_PROG a necháme enumerovat zařízení. Našemu zařízení nakopírujeme template pro FT232R, který je k dispozici v adresáři u FT_PROG nebo přepíšeme VID a PID na námi požadované.
Naprogramujeme zařízení (ikona s bleskem).
Pro změnu konfigurace modulu v systému linux lze využít utilitu ft232r_prog
git clone git@github.com:hi-pauls/ft232r_prog.git cd ft232r_prog/ make
Následně lze program spustit.
kaklik@popelnice:~/programy/ft232r_prog$ ./ft232r_prog ft232r_prog: version 1.25, by Mark Lord. Usage: ft232r_prog [<arg> <val>].. where <arg> must be any of: --help # (show this help text) --dump # (dump eeprom settings to stdout)) --verbose # (show debug info and raw eeprom contents) --save # (save original eeprom contents to file) --restore # (restore initial eeprom contents from file) --cbus0 [TxDEN|PwrEn|RxLED|TxLED|TxRxLED|Sleep|Clk48|Clk24|Clk12|Clk6|IO|WR|RD|RxF] --cbus1 [TxDEN|PwrEn|RxLED|TxLED|TxRxLED|Sleep|Clk48|Clk24|Clk12|Clk6|IO|WR|RD|RxF] --cbus2 [TxDEN|PwrEn|RxLED|TxLED|TxRxLED|Sleep|Clk48|Clk24|Clk12|Clk6|IO|WR|RD|RxF] --cbus3 [TxDEN|PwrEn|RxLED|TxLED|TxRxLED|Sleep|Clk48|Clk24|Clk12|Clk6|IO|WR|RD|RxF] --cbus4 [TxDEN|PwrEn|RxLED|TxLED|TxRxLED|Sleep|Clk48|Clk24|Clk12|Clk6|IO|WR|RD|RxF] --manufacturer <string> # (new USB manufacturer string) --product <string> # (new USB product name string) --old-serial-number <string> # (current serial number of device to be reprogrammed) --new-serial-number <string> # (new USB serial number string) --self-powered [on|off] # (self powered) --max-bus-power <number> # (max bus current in milli-amperes) --high-current-io [on|off] # (enable high [6mA @ 5V] drive current on CBUS pins) --suspend-pull-down [on|off] # (force I/O pins into logic low state on suspend) --old-vid <number> # (current vendor id of device to be reprogrammed, eg. 0x0403) --old-pid <number> # (current product id of device to be reprogrammed, eg. 0x6001) --new-vid <number> # (new/custom vendor id to be programmed) --new-pid <number> # (new/custom product id be programmed) --invert_txd Inverts the current value of TXD --invert_rxd Inverts the current value of RXD --invert_rts Inverts the current value of RTS --invert_cts Inverts the current value of CTS --invert_dtr Inverts the current value of DTR --invert_dsr Inverts the current value of DSR --invert_dcd Inverts the current value of DCD --invert_ri Inverts the current value of RI kaklik@popelnice:~/programy/ft232r_prog$
Program tak lze využít například k obnovení funkce zařízení bricknutého FTDI driverem.
sudo ./ft232r_prog --old-pid 0x000 --new-pid 0x6001
Modul emuluje sériový port počítače a umožňuje proto snadnou komunikaci například mikroprocesoru s počítačem. Výstupy modulu mohou pracovat buď v +3V logice nebo +5V (volí se jumperem na modulu).
Modul umožňuje v kombinaci s modulem TTLRS48501A je možné sestavit převodník USB RS485.
Modul umožňuje v kombinaci s modulem TTLCAN01A je možné sestavit převodník USB CAN.