串口,是电子行业最常用的通讯接口。
无论是从事单片机、ARM,还是FPGA、DSP开发,都离不开串口!而且在一些银行、金融、证券、电信、工控的应用场合,还可能需要在一台主机上同时使用几十路串口!
如果你有高速、多串口的使用需求,除了使用PCI/PCIe多串口卡外,USB转多路串口也是一个不错的选择!
沁恒微电子推出的CH348芯片,内置的480Mbps高速USB PHY,通过对收发器信号质量进行优化,对接收端灵敏度进行提升,可实现10米(USB-IF标准为5米)传输距离,单芯片实现8路串口,每路串口可最高支持6M波特率,8路串口之间互相独立!
我有幸申请到这颗芯片的评估板,正好公众号也很久没发板卡评测相关的文章了,一起来看一下这款评估板吧!
CH348芯片特性
CH348评估板外设
CH348驱动安装和使用
CH348速度和稳定性测试
CH348应用电路
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等电平。
我拿到的这款是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引脚的功能。
第一次将评估板连接到电脑主机时,设备管理器里会显示一个带叹号的设备:WCH USB => Multi-SERIAL,说明操作系统已经检测到了串口设备,但是还没有正常识别,我们需要安装CH348的驱动程序。
到沁恒微电子官方网站CH348页面,可以下载CH348的驱动程序(下载链接在文末),下载完成之后,直接安装,在卡类型选项,选择“USB转多串口(USB1.1/2.0)”,点击安装驱动,等待安装完成!
驱动程序还支持PCI转串并口芯片、PCIe转串并口芯片、其他USB转多串口芯片。
安装成功
安装完成之后,断开评估板,重新连接到电脑。在设备管理器就可以看到8路串口设备了:
8个COM号和芯片的8路串口对应关系如下:ChA对应评估板上的UART0,ChH对应评估板上的UART7。
驱动安装完成之后,就可以正常使用了,我们对CH348评估板的8路串口进行简单的速度和稳定性测试。
根据CH348手册上的描述,8路串口支持的最高波特率是6Mbps,即每一位的时间是166.6667ns,我们使用串口助手设定波特率为6Mbps,然后发送字符串:CH348TEST,将串口的TXD端连接到逻辑分析仪的一个采集通道上,通过查看采集到的波形时间宽度,就可以计算出串口发送的真实速度。
我手边只有一款LA1002逻辑分析仪,采样率24MHz,对于我们本次测试足够了!
先将逻辑分析仪和评估板按照下图进行硬件连接,并把逻辑分析仪和评估板分别连接到电脑上,使用串口助手打开对应的串口通道,打开逻辑分析仪的上位机软件。
由于串口发送的空闲状态为高电平,所以我们将触发模式设置为下降沿,采样率设置为最高24MHz,采样深度设置为20K,触发位置选择在50%,设置完成之后,点击启动单次采样,等待触发。
在串口助手界面,点击发送按钮,稍等片刻,就可以在逻辑分析仪上位机看到输出的波形了。
使用时间测量工具,测量1个bit位的时间约为166.666667ns,说明CH348可以支持6Mbps的发送,而且发送的波特率误差小于1%,精度高于手册上的描述!而且,通过添加串口解析协议,可以看出正确解析出了我们使用串口助手发送的字符串:CH348TEST。
6Mbps的接收我们在下面的稳定性回环测试中进行。
我们使用串口回环收发测试的方法,来测试CH348收发的稳定性,将评估板上的RXD和TXD短接,上位机使用最高波特率6M,8路串口同时打开,同时进行发送和接收一定长度的字符串,测试一定数据量之后,看串口助手统计的收发字节数是否一致。
测试条件如下:
Windows 10家庭中文版操作系统
评估板上的8路串口RXD和TXD,使用跳线帽进行短接
XCOM V2.0串口助手,波特率6Mbps
定时发送,周期1ms
8路串口同时打开,同时进行发送和接收
发送内容:"CH348评估板收发测试1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ",
收发约20万字节数据之后,可以看到8路串口,收发字节计数相等,无丢包现象,可以认为收发6Mbps稳定。
也可以使用沁恒官方多串口调试助手,支持多窗口同时打开。
使用互联串口数据测试功能,将两组串口互相交叉连接,同时测试8路串口的收发稳定性。
CH348的典型应用电路非常简单,除了必要的阻容元件外,外部只需要提供8M晶体振荡电路。
需要特别注意的几点:
芯片的USB引脚内部已经集成了串联匹配电阻,1.5k上拉电阻等,所以UD+和UD-引脚应该直接连接到USB接口上。
如果需要外加ESD防护芯片,需要保证ESD芯片的寄生电容小于2pF,推荐使用沁恒的CH412K芯片。
建议串口外设与CH348使用同一组电源,否则需要考虑分开供电时的IO引脚倒灌电流问题。
更多的电路设计注意事项,可以查看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参数配置。
如果有别的沁恒芯片需要技术支持或样片申请,也可以直接访问以下链接:
样片申请
www.wch.cn/services/request_sample.html
技术支持
www.wch.cn/contact_us.html
驱动和应用软件GitHub仓库
https://github.com/WCHSoftGroup
RISC-V产品GitHub仓库
https://github.com/openwch
另外CH348还支持在MacOS下使用,驱动程序可以访问上面的官方GitHub仓库获取。
可能有些读者注意到,标题和文章多处强调了:CH348是一款480Mbps、高速USB 2.0的接口芯片。
这是因为,如果要想满足单路USB转8路串口,而且每路串口还要支持6Mbps的波特率、连续无间隔传输,就必须用至少480Mbps的高速USB!
我们先来进行一个简单的USB和串口的带宽计算:
全速USB的速度仅12Mbps,而8路串口6Mbps的最高带宽可达到6Mbpsx8个串口x2个方向=96Mbps,所以12Mbps全速USB是不能满足需求的。
USB包,是USB 总线是数据传输的最小单位,由五部分组成:同步字段(SYNC)、包标识符字段(PID)、数据字段、循环冗余校验字段(CRC)和包结尾字段(EOP)。
因此实际有效的数据传输速度是要低于总线速度的。
目前常用的USB转串口芯片,通常为全速模式,支持单路或双路串口,由于全速模式下带宽的限制,只能做到较少的串口和较低的波特率,如果要使用高速、多串口、无间隔传输,当所有串口通讯总速度超过全速USB协议速度,至少需要使用高速USB才能满足需求。
总的来说,如果你既想要多串口,又想要较高的波特率,CH348绝对是一个不错的选择!操作系统兼容性方面,支持Windows、Linux、MacOS和Android等常用平台,同时还保留有标准、完整的硬件流控信号,可以说作为一款USB转多串口芯片,该有的都有了!
当然,如果你不需要那么多的串口,只需要2路或4路串口,还有CH342/CH344/CH347/CH9344等多串口芯片可供选择,CH347除了支持USB转串口外,还支持转SPI、I2C和JTAG。