打印
[USB芯片]

高速USB2.0转FIFO/被动SPI/UART芯片CH346

[复制链接]
114|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 我芯永恒 于 2025-4-29 16:34 编辑

概述
CH346是一款480Mbps高速USB2.0的接口转换芯片,实现USB转高速FIFO并口、2路全功能高速异步串口、高速SPI同步串行接口,FIFO并口传输速度可达每秒30M字节以上, SPI接口时钟频率支持40MHz,串口最高波特率支持15Mbps。芯片提供3种工作模式,可支持其中一种或两种接口,需根据实际的应用需要灵活选用。
芯片内部高度集成,外围精简,提供VIO电源引脚,FIFO并口、串口和SPI接口I/O均支持独立供电,支持3.3V、2.5V和1.8V的电源电压。芯片端采用480Mbps的高速USB接口,用以满足高速FIFO并口、高速15Mbps串口和40MHz的SPI接口的大数据高效传输,全速USB接口总线速率仅12Mbps,在连续数据传输以及数据收发实时性上会大打折扣。

芯片的USB转串口接口,支持使用系统集成的CDC串口驱动或VCP厂商驱动。VCP厂商驱动的功能更齐全,支持全功能串口、硬件流控、GPIO、USB参数配置等功能、支持SPI和串口的高速率下持续稳定传输。推荐使用VCP驱动程序,支持Windows、Linux、Android、macOS等操作系统。

用户在系统端以虚拟串口的形式来访问芯片的串口接口,如:Windows上以COM口形式出现,Linux上以/dev/tty*形式出现。用户端仅需要了解串口编程或使用通用的系统端串口调试软件即可轻松实现对串口的读写操作。如下图所示,CH346工作在双串口模式下Windows操作系统会生成2个COM口供通讯使用,并且“Ch A”对应芯片串口通道0,“Ch B”对应芯片串口通道1。
芯片的USB转FIFO和SPI接口需要配合厂商高速接口驱动与软件接口库使用,用户可使用此接口库开发应用软件,驱动与接口库同样支持Windows、Linux、Android、macOS等操作系统。如下图所示,接入Windows操作系统时串口和FIFO/SPI接口会分别对应一个虚拟COM口和专用外部接口供通讯使用。

工作原理
USB主机检测到CH346设备插入后,首先会对设备复位,然后开始USB枚举过程。USB枚举时过程会获取设备描述符、配置描述符、接口描述符等。描述符中会包含USB设备的厂商ID,设备ID和Class类别等信息。操作系统会根据该信息为设备匹配相应的USB设备驱动。

USB虚拟串口以及FIFO/SPI专用接口的实现在系统上依赖于USB设备接口驱动,驱动主要分为2个功能,其一注册USB设备驱动,完成对USB设备的控制与数据通讯,其二注册串口或接口驱动,为应用层提供相应的实现方法。
发送数据流向
应用程序发送数据->USB设备驱动获取数据->驱动将数据经过USB通道发送给USB接口芯片CH346->CH346接收到数据通过FIFO/SPI/串口发送到外设
接收数据流向
CH346接收外设发送的FIFO/SPI/串口数据->将数据经过USB打包后上传给USB主机->USB设备驱动获取到通过USB上传的接口数据->驱动将数据保存在接口缓冲区提供给应用程序读取
通信接口描述
1、FIFO接口
2、SPI接口
3、UART串口

电源设计
芯片有4个电源端分别是VDD5、VDD33、VIO和VDDK,芯片内置3.3V和1.2V的LDO电源调节器。
  • VDD5是内部LDO的输入端。
  • VDD33是内部3.3V的LDO的输出端,USB收发器电源从该引脚输入。
  • VIO是单独的串口和SPI等IO引脚的电源输入。
  • VDDK是内部1.2V的LDO输出端,为内核提供电源。

CH346信息详情页:https://www.wch.cn/products/CH346.html

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

31

主题

71

帖子

1

粉丝