CDC虚拟串口与硬件串口传输速度的对比测试

一、串口简说

CDC串口是指通过USB接口模拟传统串行通信端口(COM口)的一种技术,其全称为‌通信设备类(Communication Device Class)。而硬件串口是一种传统的串口。

USB CDC串口可支持最高12Mbps的传输速度(USB 2.0),而硬件串口的传输速率达到961200波特率就会感到吃力。

下面就这两者进行传输速率对比,虽然不很严格、科学和专业,但在速率的体现上仍然特别明显。

二、测试条件

本次测试使用的芯片是CH552T,主频率是12MHz。首先将其配置成USB CDC,然后与硬件串口(波特率为默认的57600)进行速率比拼。

三、测试方法

测试的数据是向电脑发送1000次随机数据(读取定时器TF0),每次64个字节。开始发送数据时,打开定时器0,发送完毕时停止计时,然后向电脑发送这个计时结果。

用CDC发送数据时,硬件串口负责发送调试信息(字符格式);而用硬件串口发送数据时,就用CDC发送调试信息(HEX格式)。

四、测试结果

比较结果如下:

同样向上位机发送64000个字节,硬件串口需要差不多12秒的时间:

而CDC只需要204毫秒:

两者的耗时相差甚远。当然,我们可以把主频率调高些,把波特率调高些,硬件串口的传输速率就会高一些,但想超越CDC,这是不可能的事。

五、其他

经过对比,用CDC来向上位机交流数据,无疑是一种很好的方式。但是,使用CDC虚拟串口,在win10以下的系统(如win7)需要手动安装它的驱动程序。所以,一般开发者为了提高开发产品的兼容性,一般都用USB HID模式。

2026.1.24

相关推荐
CODECOLLECT21 分钟前
京元 I62D Windows PDA 技术拆解:Windows 10 IoT 兼容 + 硬解码模块,如何降低工业软件迁移成本?
stm32·单片机·嵌入式硬件
BackCatK Chen1 小时前
STM32+FreeRTOS:嵌入式开发的黄金搭档,未来十年就靠它了!
stm32·单片机·嵌入式硬件·freertos·低功耗·rtdbs·工业控制
全栈游侠4 小时前
STM32F103XX 02-电源与备份寄存器
stm32·单片机·嵌入式硬件
Lsir10110_4 小时前
【Linux】中断 —— 操作系统的运行基石
linux·运维·嵌入式硬件
深圳市九鼎创展科技6 小时前
瑞芯微 RK3399 开发板 X3399 评测:高性能 ARM 平台的多面手
linux·arm开发·人工智能·单片机·嵌入式硬件·边缘计算
辰哥单片机设计6 小时前
STM32项目分享:车辆防盗报警系统
stm32·单片机·嵌入式硬件
小龙报7 小时前
【51单片机】从 0 到 1 玩转 51 蜂鸣器:分清有源无源,轻松驱动它奏响新年旋律
c语言·数据结构·c++·stm32·单片机·嵌入式硬件·51单片机
范纹杉想快点毕业7 小时前
嵌入式与单片机开发核心学习指南——从思维转变到第一性原理的深度实践
单片机·嵌入式硬件
Industio_触觉智能7 小时前
瑞芯微RK3566开发板规格书,详细参数配置,型号EVB3566-V1,基于RK3566核心板SOM3566邮票孔封装
嵌入式硬件·开发板·rk3568·rk3566·核心板·瑞芯微
czwxkn8 小时前
4STM32(stdl)TIM定时器
stm32·单片机·嵌入式硬件