FTDI通用转USB芯片简述

摘要:
[*]USB支持--->USBProlific2303单端口串行驱动程序<ftdi公司的模块ftdi _ sio.ko[1.771996]usbcore:使用xhci-hcd[58.314580]usbcore:

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 2 using 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 2 using 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驱动。

D2XX驱动协议栈如下图,D2XX驱动libftd2xx.tar.gz可在如下页面下载:https://www.ftdichip.com/Drivers/D2XX.htm,或者直接在系统下apt安装(可能需要libusb-dev):

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设计。

 FTDI通用转USB芯片简述第1张FTDI通用转USB芯片简述第2张

D2XX应用

lora gateway就应用了D2XX驱动,将SPI接口转化为U口与主服务器(X86或ARM)通信,开源库:https://github.com/yuxi-o/RAK833-LoRaGateway-RPihttps://github.com/Lora-net/lora_gateway.git

参考:

1. https://www.ftdichip.com/Support/Documents/AppNotes.htm

2. FTDI FT2232H在嵌入式教学中的应用

3. linux内核支持U-disk和U转串

4. FTDI Drivers Installation Guide for Linux

5. User Guide For LibMPSSE-SPI

免责声明:文章转载自《FTDI通用转USB芯片简述》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇虚拟机CentOS7三台集群配置网络go get 命令下载gin包时出现报错下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

【转】Pixel-Fillrate

【Pixel-Fillrate】   “填充率“以每秒钟填充的像素点为单位,“三角形(多边形)生成速度“则表示每秒钟三角形(多边形)生成个数。现在的3D显卡的性能也主要看着两项指标,这两项指标的数值越大,显卡三维图像的处理能力就越强,显卡的档次也就越高。    填充率的故事   谈到3D加速卡,最常用的一个词就是填充率。各大厂商在介绍和推广自己的产品时,填...

jmeter(八)-JDBC请求(sqlserver)

做JDBC请求,首先要了解这个JDBC对象是什么,然后寻找响应的数据库连接URL和数据库驱动。 数据库URL:jdbc:sqlserver://200.99.197.190:1433;databaseName=ebank 数据库驱动:com.microsoft.sqlserver.jdbc.SQLServerDriver 下载sqljdbc4.jar放在...

文献阅读 | The Wheat 660K SNP array demonstrates great potential for marker‐assisted selection in polyploid wheat

Sun C, Dong Z, Zhao L, et al. The Wheat 660K SNP array demonstrates great potential for marker‐assisted selection in polyploid wheat[J]. Plant Biotechnology Journal, 2020, 18(6):...

log2:USB ,有线网, 安卓设备作外接WiFi

MultiBeast MultiBeast可以安装某些重要的驱动,下载后直接放在mac运行即可。但是注意版本型号,本次用的MultiBeast for Mavericks。 进展: USB:USB不能读手机设备,是因为没有USB3.0的驱动 方法: MultiBeast -> USB3.0 -> build 有线网 vostro 5460 有...

DP1332EG国产替代PN532高集成度NFC读卡芯片

DP1332E是一款高度集成的收发器SoC芯片,其基于80C51微控制器内核,可实现13.56MHz的非接触式通信,支持各种卡和读/写操作模式。 DP1332E芯片特性 PIN对PIN替代PN5321,软硬件兼容 - 工作在 13.56MHz 频段 - 读写器模式,支持ISO/IEC14443A/MIFARE机制 - 读写器模式,支持FeliCa机制 -...

FPGA下载电路设置 AS 和JATG

altera FPGA 芯片支持JTAG在线下载方式和AS下载方式。JTAG下载方式,程序之际烧写到FPGA芯片,JTAG下载完成后直接运行。AS下载方式,可以执行代码直接烧写到FPGA配置芯片。在上电初始后,FPGA芯片直接从配置芯片读写可以执行代码配置FPGA芯片,然后运行。    在实际应用下载电路时,经常碰到下面的问题。JTAG下载后程序不运行。或...