FTDI通⽤转USB芯⽚简述
FTDI公司的FT2232系列芯⽚可实现USB与异步串⾏⼝RS232/RS485、同步串⾏总线IIC/SPI/JTAG相互通信,市场占有率,使⽤普遍。FTDI芯⽚有两种类型的驱动:virtual COM port driver (VCP)和D2xx。VCP就是常⽤的U转串COM驱动,实现USB到虚拟串⼝功能,应⽤于异步RS232/RS485与USB间通信,linux设备⽂件为/dev/ttyUSBx;D2XX应⽤于同步串⾏总线IIC/SPI/JTAG与USB间通信,整个驱动框架都有FTDI公司提供。 COM驱动
linux⽀持FTDI公司的VCP驱动需配置内核:
Device Drivers --->
[*] USB support --->
<M> USB Serial Converter support --->
<M> USB Prolific 2303 Single Port Serial Driver
<M> USB FTDI Single Port Serial Driver
Prolific和FTDI是常⽤的USB转串⼝芯⽚⼚商。通⽤模块usbserial.ko,prolific公司的模块pl2303.ko,ftdi公司的模块ftdi_sio.ko [ 1.771996] usbcore: registered new interface driver usbfs
[ 1.777600] usbcore: registered new interface driver hub
[ 1.782975] usbcore: registered new device driver usb
[ 3.227325] usbcore: registered new interface driver usb-storage
[ 3.331190] usbcore: registered new interface driver bcm203x
[ 3.336872] usbcore: registered new interface driver bfusb
[ 3.342381] usbcore: registered new interface driver btusb
[ 3.347893] usbcore: registered new interface driver ath3k
[ 3.496381] usbcore: registered new interface driver usbhid
擀筋棒
[ 3.501958] usbhid: USB HID core driver
[ 58.132670] usb 1-1: new full-speed USB device number 2using xhci-hcd
[ 58.314580] usbcore: registered new interface driver usbserial
压花模具
[ 58.316675] usbcore: registered new interface driver pl2303
[ 58.316707] usbserial: USB Serial support registered for pl2303
[ 58.317386] usb 1-1: pl2303 converter now attached to ttyUSB0
[ 289.400405] usb 1-1: USB disconnect, device number 2
或
[ 1.774779] usbcore: registered new interface driver usbfs
汽车空调电磁离合器
[ 1.780377] usbcore: registered new interface driver hub
[ 1.785752] usbcore: registered new device driver usb
[ 3.230535] usbcore: registered new interface driver usb-storage
[ 3.334244] usbcore: registered new interface driver bcm203x
[ 3.339930] usbcore: registered new interface driver bfusb
[ 3.345439] usbcore: registered new interface driver btusb
[ 3.350951] usbcore: registered new interface driver ath3k
木材烘干
[ 3.495753] usbcore: registered new interface driver usbhid
[ 3.501362] usbhid: USB HID core driver
[ 3.643788] usb 1-1: new high-speed USB device number 2using xhci-hcd
[ 7.070296] usbcore: registered new interface driver usbserial
信号转换器[ 7.099899] usbcore: registered new interface driver ftdi_sio
[ 7.099925] usbserial: USB Serial support registered for FTDI USB Serial Device
[ 7.100046] usb 1-1: Detected FT2232H
[ 7.100439] usb 1-1: FTDI USB Serial Device converter now attached to ttyUSB0
[ 7.100539] usb 1-1: Detected FT2232H
[ 7.100667] usb 1-1: FTDI USB Serial Device converter now attached to ttyUSB1
[ 86.423288] usb 1-1: USB disconnect, device number 2
插⼊USB设备会在/dev/ttyUSBx⽂件出现,可像操作普通的串⼝⽂件/dev/ttySx⼀样操作,采⽤通⽤termios编程。
D2XX驱动
在linux中VCP和D2XX驱动是不兼容的,当D2XX驱动应⽤前应卸载VCP驱动模块: sudo rmmod ftdi_sio
sudo rmmod usbserial
实际测试中采⽤D2XX驱动时系统会⾃动卸载VCP驱动。
apt install libftdi-dev
在D2XX驱动之上是libmpsse,即MPSSE库。Multi Protocol Synchronous Serial Engine(MPSSE)是⼀个通⽤的同步总线如I2C、SPI或JTAG通信库,⽤于FT2232D、FT2232H、FT4232H和FT232H芯⽚通过USB与PC或ARM通信。MPSSE基于D2XX设计。
D2XX应⽤
参考:
2.
3.
4.
h5n95.