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 2303Single 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 interfacedriver usbfs[1.777600] usbcore: registered new interfacedriver hub[1.782975] usbcore: registered newdevice driver usb[3.227325] usbcore: registered new interface driver usb-storage[3.331190] usbcore: registered new interfacedriver bcm203x[3.336872] usbcore: registered new interfacedriver bfusb[3.342381] usbcore: registered new interfacedriver btusb[3.347893] usbcore: registered new interfacedriver ath3k[3.496381] usbcore: registered new interfacedriver 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 interfacedriver usbserial[58.316675] usbcore: registered new interfacedriver pl2303[58.316707] usbserial: USB Serial support registered forpl2303[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 interfacedriver usbfs[1.780377] usbcore: registered new interfacedriver hub[1.785752] usbcore: registered newdevice driver usb[3.230535] usbcore: registered new interface driver usb-storage[3.334244] usbcore: registered new interfacedriver bcm203x[3.339930] usbcore: registered new interfacedriver bfusb[3.345439] usbcore: registered new interfacedriver btusb[3.350951] usbcore: registered new interfacedriver ath3k[3.495753] usbcore: registered new interfacedriver 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 interfacedriver usbserial[7.099899] usbcore: registered new interfacedriver ftdi_sio[7.099925] usbserial: USB Serial support registered forFTDI 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设计。

D2XX应用

lora gateway就应用了D2XX驱动,将SPI接口转化为U口与主服务器(X86或ARM)通信,开源库:https://github.com/yuxi-o/RAK833-LoRaGateway-RPi或https://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

转载于:https://www.cnblogs.com/embedded-linux/p/10345947.html

FTDI通用转USB芯片简述相关推荐

  1. FTDI(FT220XQ)(一)——USB转SPI芯片的使用之驱动安装及设备信息配置

    目录 1. 概述 2. PC端驱动安装 2.1 查看驱动是否已经自动安装 2.1 驱动类型 2.2 安装(WIN10 64位) 1. 概述 FTDI公司全称是Future Technology Dev ...

  2. FTDI可实现USB转并口的芯片

    FTDI有实现USB转串口的芯片,也有通过USB转FIFO方式,实现USB转并口的芯片.

  3. CYPRESS USB芯片win10驱动

    CYPRESS USB芯片win10驱动 The ZIP file attached with this knowledge base article contains the CyUSB3.inf ...

  4. 时钟芯片 服务器,通用实时时钟芯片

    通用实时时钟芯片是我单位独立研发的低功耗.高稳定性实时时钟(RTC),具有集成的温补晶体振荡器(TCXO) 和晶体.该器件包含电池输入端,断开主电源时仍可保持精确的计时.集成晶体振荡器提高了器件的长期 ...

  5. 使用一片通用四运放芯片LM324组成电路(采用Multisim 进行的仿真)

    使用一片通用四运放芯片LM324组成电路(采用Multisim 进行的仿真) 一.题目说明 二.理论分析及电路分析 2.1三角波产生电路 2.2加法器电路 2.3滤波器电路 2.4比较器电路 三仿真电 ...

  6. USB芯片完成的工作。

    问题1:上图,高速模块一般分为控制器Controller和PHY两部分,Controller大多为数字逻辑 实现,PHY通常为模拟逻辑实现. USB芯片也分为Controller部分和PHY部分.Co ...

  7. ftp上位机编程c语言,基于USB芯片CY7C68013A的上位机C++程序

    标签: 基于USB芯片CY7C68013A的上位机C 基于USB芯片CY7C68013A的上位机C程序 在国标<质量管理体系 基础和术语>GB/T19000-2008/ISO9000:20 ...

  8. CH375 usb芯片的引脚图及中文资料

    CH375 芯片是我们国产的usb接口芯片,有了她我们可以使用任意一种单片机来连接电脑,或者是制作usb便携设备,非常方便,关键是是他有官方提供的中文资料,这大大降低了我们使用的门槛 http://w ...

  9. 各种芯片简述以及算力解释:

    目录 芯片算力 1.TOPS:(Tera/Trillion Operations Per Second) 2.FLOPS(floating-point operations per second) 3 ...

最新文章

  1. cmd for 循环拷贝文件
  2. hackerrank杂记
  3. Spring boot集成mongodb
  4. ③pycharm的基本使用
  5. date加一天php,PHP时间日期操作增减(date strtotime) 加一天 加一月
  6. 力扣报错“AddressSanitizer: heap-buffer-overflow on address...”的解决办法
  7. 数据科学 IPython 笔记本 7.3 Pandas 数据操作
  8. go 排序sort的使用
  9. 人生轻似梦,芳华淡随风(转)
  10. 使用TScopy访问已锁定的文件
  11. Testbench编写
  12. 蓝墨云班课php答案,蓝墨云班课试题库答案
  13. 写给大佬看的STP算法详细配置实验过程
  14. vs2017错误:当前页面的脚本发生错误
  15. prometheus入门实例
  16. Lepus监控redis
  17. 四天搞懂生成对抗网络(二)——风格迁移的“精神始祖”Conditional GAN
  18. 【软件群英会】 12月1日晚上聊天记录
  19. Python生成英文词云图
  20. opecv BGR转NV21

热门文章

  1. 远程匿名聊天_爱还是恨聊天? 远程团队的4个最佳实践
  2. 2021年起重机司机(限桥式起重机)最新解析及起重机司机(限桥式起重机)考试试卷
  3. Unix的学习(一)
  4. 西门子1200PLC控制加KPT1200触摸屏,污水处理厂自控项目实例
  5. 三流鬼片--橘子红了
  6. 聚类算法_层次聚类_密度聚类(dbscan,meanshift)_划分聚类(Kmeans)详解
  7. 优思学院:ILSSI 的六西格玛黑带大师(MBB)
  8. Tomcat 8 性能优化
  9. WPF软件导致Win10系统的平板电脑小键盘自动隐藏问题
  10. Word7中尾部空格不能显示下划线的解决方法