打印
[USB芯片]

480Mbps、高速USB 2.0、单芯片、8路串口!

[复制链接]
1555|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
IC149|  楼主 | 2022-8-17 22:41 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

串口,是电子行业最常用的通讯接口。
无论是从事单片机、ARM,还是FPGA、DSP开发,都离不开串口!而且在一些银行、金融、证券、电信、工控的应用场合,还可能需要在一台主机上同时使用几十路串口!
如果你有高速、多串口的使用需求,除了使用PCI/PCIe多串口卡外,USB转多路串口也是一个不错的选择!
最近,沁恒微电子新推出的CH348芯片,支持480Mbps,高速USB 2.0,单芯片可实现8路串口,每路串口可最高支持6M波特率,8路串口之间互相独立!
我有幸申请到这颗芯片的评估板,正好公众号也很久没发板卡评测相关的文章了,一起来看一下这款评估板吧!
都有哪些内容?
  • CH348芯片特性
  • CH348评估板外设
  • CH348驱动安装和使用
  • CH348速度和稳定性测试
  • CH348应用电路
  • CH348官方资料
  • USB速度和串口速度的关系

1.CH348芯片特性
CH348是一款集成480Mbps高速USB 2.0协议的接口芯片,可以实现单芯片转8路异步串口,可以在占用一个USB接口的情况下,扩展出8路串口。
CH348具有如下特性:
  • 480Mbps高速USB 2.0标准设备接口
  • 8路全双工标准串口,可以最高波特率连续无间隔的进行数据传输
  • 波特率支持1200bps~6Mbps,独立缓冲区,2KB接收FIFO,1KB发送FIFO
  • 完整的MODEM联络信号,RTS、DTR、DCD、RI、DSR、CTS等
  • 支持半双工,TNOW管脚可用于485收发自动切换方向
  • 串口IO可独立供电,支持3.3v,2.5v,1.8v电源电压
  • 内置EEPROM,可配置芯片VID、PID、最大电流、厂商和产品信息等参数
  • 单路3.3v主电源供电,外围电路简单,只需要阻容和晶体
  • 支持最多48个GPIO输入输出(CH348L)
  • 接收波特率误差不大于2%,发送波特率误差小于1%
  • 提供有TX_S和RX_S数据收发指示管脚,为200ms周期的脉冲信号
  • ESD静电耐受电压,人体模式、非接触式,最大4kV

CH348共分为CH348Q和CH348L两种型号,两种型号的区别如下:
  • CH348Q为LQFP48封装,CH348L为LQFP100封装,均为无铅封装,兼容RoHS
  • CH348L芯片有两个电源端:VCC和VIO,CH348Q芯片仅有1个电源端VCC
  • CH348Q 包含 4 组 CTS/RTS引脚和 4 组 DTR/TNOW)引脚。
  • CH348L 包含 8 组 CTS/RTS/DSR/DCD/RI 引脚和 8 组 DTR/TNOW引脚。

VCC是主电源输入端,VIO是IO引脚电源输入端,支持1.8/2.5/3.3v电源电压,用于匹配不同标准的串口电平,常用的单片机串口电平通常为3.3v,FPGA芯片的管脚电平根据BANK电压的不同,可分为1.8、2.5v等电平。
2.CH348评估板外设
我拿到的这款是CH348L评估板,整体小巧简洁,单手可掌握。评估板整体为蓝色PCB,采用双层PCB设计,尺寸大小约为70x80mm,所有的元器件都放置在同一面。
评估板基本外设:
  • CH348L芯片,集成480Mbps高速USB2.0控制器,支持8路串口,最高6M波特率
  • 8路串口全部通过排针引出,包括CTS/RTS、DTR/DSR等MODEM信号
  • 板载VIO选择排针,可选择3.3v或外接电源
  • 板载电源、USB配置、收发指示灯,任意串口有数据时,收发指示灯会闪烁
  • USB接口采用方口USB-B接口
  • 板载管脚复用选择CFG跳线,可以选择DTR/TNOW/GPIO功能

下面再来一起看一下评估板的细节实拍图!
TTL串口排针接口
8M晶体
USB接口
CFG配置管脚,可以配置DTR/TNOW引脚的功能。
3.CH348驱动安装和使用
第一次将评估板连接到电脑主机时,设备管理器里会显示一个带叹号的设备:WCH USB => Multi-SERIAL,说明操作系统已经检测到了串口设备,但是还没有正常识别,我们需要安装CH348的驱动程序。
到沁恒微电子官方网站CH348页面,可以下载CH348的驱动程序(下载链接在文末),下载完成之后,直接安装,在卡类型选项,选择“USB转多串口(USB1.1/2.0)”,点击安装驱动,等待安装完成!
驱动程序还支持PCI转串并口芯片、PCIe转串并口芯片、其他USB转多串口芯片。
安装成功
安装完成之后,断开评估板,重新连接到电脑。在设备管理器就可以看到8路串口设备了:
8个COM号和芯片的8路串口对应关系如下:ChA对应评估板上的UART0,ChH对应评估板上的UART7。
4.CH348速度和稳定性测试
驱动安装完成之后,就可以正常使用了,我们对CH348评估板的8路串口进行简单的速度和稳定性测试。
4.1 速度测试
根据CH348手册上的描述,8路串口支持的最高波特率是6Mbps,即每一位的时间是166.6667ns,我们使用串口助手设定波特率为6Mbps,然后发送字符串:CH348TEST,将串口的TXD端连接到逻辑分析仪的一个采集通道上,通过查看采集到的波形时间宽度,就可以计算出串口发送的真实速度。
我手边只有一款LA1002逻辑分析仪,采样率24MHz,对于我们本次测试足够了!
先将逻辑分析仪和评估板按照下图进行硬件连接,并把逻辑分析仪和评估板分别连接到电脑上,使用串口助手打开对应的串口通道,打开逻辑分析仪的上位机软件。
由于串口发送的空闲状态为高电平,所以我们将触发模式设置为下降沿,采样率设置为最高24MHz,采样深度设置为20K,触发位置选择在50%,设置完成之后,点击启动单次采样,等待触发。
在串口助手界面,点击发送按钮,稍等片刻,就可以在逻辑分析仪上位机看到输出的波形了。
使用时间测量工具,测量1个bit位的时间约为166.666667ns,说明CH348可以支持6Mbps的发送,而且发送的波特率误差小于1%,精度高于手册上的描述!而且,通过添加串口解析协议,可以看出正确解析出了我们使用串口助手发送的字符串:CH348TEST。
6Mbps的接收我们在下面的稳定性回环测试中进行。
4.2 稳定性测试
我们使用串口回环收发测试的方法,来测试CH348收发的稳定性,将评估板上的RXD和TXD短接,上位机使用最高波特率6M,8路串口同时打开,同时进行发送和接收一定长度的字符串,测试一定数据量之后,看串口助手统计的收发字节数是否一致。
测试条件如下:
  • Windows 10家庭中文版操作系统
  • 评估板上的8路串口RXD和TXD,使用跳线帽进行短接
  • XCOM V2.0串口助手,波特率6Mbps
  • 定时发送,周期1ms
  • 8路串口同时打开,同时进行发送和接收
  • 发送内容:"CH348评估板收发测试1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ"

收发约20万字节数据之后,可以看到8路串口,收发字节计数相等,无丢包现象,可以认为收发6Mbps稳定。
也可以使用沁恒官方多串口调试助手,支持多窗口同时打开。
使用互联串口数据测试功能,将两组串口互相交叉连接,同时测试8路串口的收发稳定性。
5.CH348应用电路
CH348的典型应用电路非常简单,除了必要的阻容元件外,外部只需要提供8M晶体振荡电路。
需要特别注意的几点:
  • 芯片的USB引脚内部已经集成了串联匹配电阻,1.5k上拉电阻等,所以UD+和UD-引脚应该直接连接到USB接口上。
  • 如果需要外加ESD防护芯片,需要保证ESD芯片的寄生电容小于2pF,推荐使用沁恒的CH412K芯片。
  • 建议串口外设与CH348使用同一组电源,否则需要考虑分开供电时的IO引脚倒灌电流问题。

更多的电路设计注意事项,可以查看CH348官方数据手册,里面介绍的很详细。
6.CH348官方资料
CH348配套的资料非常齐全,主要包括非常友好的中文数据手册,串口驱动程序,评估板资料,多串口调试助手,产品信息个性化配置工具等。
  • CH348数据手册(中文)
    www.wch.cn/downloads/CH348DS1_PDF.html
  • CH348评估板资料
    www.wch.cn/downloads/CH348EVT_ZIP.html
  • CH348驱动程序(Windows和Linux)
    www.wch.cn/downloads/USBMSER_exe.html
    www.wch.cn/downloads/CH9344SER_LINUX_ZIP.html
  • 多串口调试工具
    www.wch.cn/downloads/COMTransmit_ZIP.htm
  • CH348产品信息配置工具
    www.wch.cn/downloads/CH34xSerCfg_ZIP.html

需要注意的是,CH348 Windows版本驱动程序,除了支持USB多串口芯片外,还支持PCI和PCIe多串口芯片。CH348 Linux版本驱动程序和CH9344共用一个。
如果是大批量应用,芯片厂商信息VID和PID可以在出厂时定制,少量应用时,用户可以使用配置工具手动进行EEPROM参数配置。
如果有别的沁恒芯片需要技术支持或样片申请,也可以直接访问以下链接:
  • 样片申请
    http://www.wch.cn/services/request_sample.html
  • 技术支持
    http://www.wch.cn/contact_us.html
  • 官方GitHub仓库
    https://github.com/WCHSoftGroup
  • RISC-V产品GitHub仓库
    https://github.com/openwch

另外CH348还支持在MacOS下使用,驱动程序可以访问上面的官方GitHub仓库获取。
7.为什么必须用480Mbps、高速模式?
可能有些读者注意到,标题和文章多处强调了:CH348是一款480Mbps、高速USB 2.0的接口芯片
这是因为,如果要想满足单路USB转8路串口,而且每路串口还要支持6Mbps的波特率、连续无间隔传输,就必须用480Mbps高速USB 2.0模式!
我们先来进行一个简单的USB和串口的带宽计算:全速USB2.0的速度为12Mbps,而8路串口6Mbps的最高带宽可达到6x8=48Mbps,所以12Mbps全速USB 2.0模式是不能满足需求的,而且USB 2.0的理论速度和实际传输速度是不同的,实际有效的数据传输速度是要低于理论速度的。
目前常用的USB转串口芯片,通常为全速模式,支持单路或双路串口,由于全速模式下带宽的限制,只能做到较少的串口和较低的波特率,如果要使用高速、多串口、无间隔传输,比如4个以上的串口、5M以上的波特率,就必须上高速模式才能满足需求。
所以我们有必要了解下USB 2.0高速和全速的区别?USB 2.0的理论传输速度和实际传输速度?
USB 2.0协议可分为低速(Low-speed)、全速(Full Speed)和高速(High Speed)3种传输模式
理论传输速度如下
  • 低速模式(Low-speed):1.5 Mb/s = 1.5Mbps
  • 全速模式(Full-speed):12 Mb/s = 12Mbps=1.5MByte/s
  • 高速模式(High-speed):480 Mb/s = 480Mbps=60MByte/s

以高速模式为例,480M指的是总线的时钟频率,即总线每一秒钟可以传输480M位数据,但是实际上我们的数据并不是直接通过总线进行传输的,而是要增加按照USB的通讯协议,加入帧头、帧尾、校验等等信息,打包成USB数据帧进行传输的,而且中间还有一些控制命令。
根据USB 2.0 协议规范(Universal Serial Bus Specification)的描述:
实际的传输速度应该在理论传输速度上除以2.083,所以高速USB2.0的实际传输速度应该为60/2.083=28.8Mbps。
扩展阅读
  • 经典USB转串口芯片遭盗版!侵权单位罚款400万,两员工判刑
  • 沁恒RISC-V开发板CH32V103-EVT评测
  • 单路USB转多路串口方案分享
  • 详解串行通信协议及其FPGA实现(一)
  • 详解串行通信协议及其FPGA实现(二)


使用特权

评论回复
沙发
cyclefly| | 2022-8-22 21:22 | 只看该作者
这板子密度有点低啊

使用特权

评论回复
板凳
ufbycd| | 2022-8-30 00:01 | 只看该作者
60(MByte/s)/2.083≈28.8MByte

使用特权

评论回复
地板
tpgf| | 2022-9-8 13:30 | 只看该作者
8路串口可以同时使用吗

使用特权

评论回复
5
keaibukelian| | 2022-9-8 13:44 | 只看该作者
全速模式的速度有限制

使用特权

评论回复
6
labasi| | 2022-9-8 14:51 | 只看该作者
480Mbps是均分给8路的速度是

使用特权

评论回复
7
paotangsan| | 2022-9-8 15:03 | 只看该作者
labasi 发表于 2022-9-8 14:51
480Mbps是均分给8路的速度是

那如果我仅仅使用6路 那不用的两路就不占用速度了是吧

使用特权

评论回复
8
renzheshengui| | 2022-9-8 15:17 | 只看该作者
现在的单片机支持的最高版本的usb是哪个版本的啊?

使用特权

评论回复
9
wakayi| | 2022-9-8 15:57 | 只看该作者
低速模式的速度也太慢了

使用特权

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

本版积分规则

4

主题

6

帖子

0

粉丝