使用CH32V307 开发板 USB 成功驱动FT232 CDC类设备

   本次分析研究是了解USB HOST端是如何识别Device设备并进行通信的,目前大量的仪器已经抛弃了原来的DB9 RS232接口改为USB接口,其内部使用串口转USB芯片对于电脑端当然很方便,但对于嵌入式板卡,仍然存在技术壁垒,极少支持USB Host能够识别这些设备(FT232)并且进行数据交互通信。由于CH32V307 USB HS接口内置PHY,非常适合USB开发。

官方给的文件中并没有HOST CDC类,经过协议分析后发现与USB HID很相似,通过使用逻辑分析仪分析协议,稍稍修改了一下,通信成功。特来发帖。

image.png


USB的协议包抓出来是这样 的。

image.png


image.png


使用分析仪分析协议,很容易明白其中首发的内容,依葫芦画瓢,修改例程中的代码


image.png


image.png




image.png


image.png



FDTI的协议可以参考这个项目,https://github.com/felis/USB_Host_Shield_2.0/blob/master/cdcftdi.cpp 可以参考里面的函数理解数据包的意思。这个repo里面有不少常用的USB设备协议可供参考。


厉害093781C0.png,想问下楼主有没有,了解USB模拟FT232对接  PC驱动呢?


据说这个是sipeed板上ch552模拟ft2232的固件

https://github.com/diodep/ch55x_jtag

我没试过不过楼上可以看一下实现方式。


楼主,有完整的工程代码吗?求分享,万分感谢


只有登录才能回复,可以选择微信账号登录