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 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芯片简述相关推荐
- FTDI(FT220XQ)(一)——USB转SPI芯片的使用之驱动安装及设备信息配置
目录 1. 概述 2. PC端驱动安装 2.1 查看驱动是否已经自动安装 2.1 驱动类型 2.2 安装(WIN10 64位) 1. 概述 FTDI公司全称是Future Technology Dev ...
- FTDI可实现USB转并口的芯片
FTDI有实现USB转串口的芯片,也有通过USB转FIFO方式,实现USB转并口的芯片.
- CYPRESS USB芯片win10驱动
CYPRESS USB芯片win10驱动 The ZIP file attached with this knowledge base article contains the CyUSB3.inf ...
- 时钟芯片 服务器,通用实时时钟芯片
通用实时时钟芯片是我单位独立研发的低功耗.高稳定性实时时钟(RTC),具有集成的温补晶体振荡器(TCXO) 和晶体.该器件包含电池输入端,断开主电源时仍可保持精确的计时.集成晶体振荡器提高了器件的长期 ...
- 使用一片通用四运放芯片LM324组成电路(采用Multisim 进行的仿真)
使用一片通用四运放芯片LM324组成电路(采用Multisim 进行的仿真) 一.题目说明 二.理论分析及电路分析 2.1三角波产生电路 2.2加法器电路 2.3滤波器电路 2.4比较器电路 三仿真电 ...
- USB芯片完成的工作。
问题1:上图,高速模块一般分为控制器Controller和PHY两部分,Controller大多为数字逻辑 实现,PHY通常为模拟逻辑实现. USB芯片也分为Controller部分和PHY部分.Co ...
- ftp上位机编程c语言,基于USB芯片CY7C68013A的上位机C++程序
标签: 基于USB芯片CY7C68013A的上位机C 基于USB芯片CY7C68013A的上位机C程序 在国标<质量管理体系 基础和术语>GB/T19000-2008/ISO9000:20 ...
- CH375 usb芯片的引脚图及中文资料
CH375 芯片是我们国产的usb接口芯片,有了她我们可以使用任意一种单片机来连接电脑,或者是制作usb便携设备,非常方便,关键是是他有官方提供的中文资料,这大大降低了我们使用的门槛 http://w ...
- 各种芯片简述以及算力解释:
目录 芯片算力 1.TOPS:(Tera/Trillion Operations Per Second) 2.FLOPS(floating-point operations per second) 3 ...
最新文章
- cmd for 循环拷贝文件
- hackerrank杂记
- Spring boot集成mongodb
- ③pycharm的基本使用
- date加一天php,PHP时间日期操作增减(date strtotime) 加一天 加一月
- 力扣报错“AddressSanitizer: heap-buffer-overflow on address...”的解决办法
- 数据科学 IPython 笔记本 7.3 Pandas 数据操作
- go 排序sort的使用
- 人生轻似梦,芳华淡随风(转)
- 使用TScopy访问已锁定的文件
- Testbench编写
- 蓝墨云班课php答案,蓝墨云班课试题库答案
- 写给大佬看的STP算法详细配置实验过程
- vs2017错误:当前页面的脚本发生错误
- prometheus入门实例
- Lepus监控redis
- 四天搞懂生成对抗网络(二)——风格迁移的“精神始祖”Conditional GAN
- 【软件群英会】 12月1日晚上聊天记录
- Python生成英文词云图
- opecv BGR转NV21
热门文章
- 远程匿名聊天_爱还是恨聊天? 远程团队的4个最佳实践
- 2021年起重机司机(限桥式起重机)最新解析及起重机司机(限桥式起重机)考试试卷
- Unix的学习(一)
- 西门子1200PLC控制加KPT1200触摸屏,污水处理厂自控项目实例
- 三流鬼片--橘子红了
- 聚类算法_层次聚类_密度聚类(dbscan,meanshift)_划分聚类(Kmeans)详解
- 优思学院:ILSSI 的六西格玛黑带大师(MBB)
- Tomcat 8 性能优化
- WPF软件导致Win10系统的平板电脑小键盘自动隐藏问题
- Word7中尾部空格不能显示下划线的解决方法