加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
    • VCP驱动由来
    • HID设备
    • CDC是什么呢?
  • 推荐器件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

串口驱动的CDC,VCP,HID都有什么区别?

05/11 08:42
1.8万
阅读需 6 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

嵌入式的开发的朋友们,咱们对串口调试工具一定不陌生,除了上位机中,各种串口收发软件外,还有很多USB转串口的设备。

这些设备最常见的当属FT232了,国内还有沁恒的CH340系列,PL2303系列等。当我们插上USB转串口的设备时,一般都需要再去找对应的驱动,十年前,这个驱动还得到处去搜索下载,如今都已成往事。现在,很多芯片方案可以即插即用了,今天来记录一下这些串口驱动到底是什么意思。最早的串口是基于DB9的一个接口,早些年的台式机都会配置这样的一个接口,在我最开始接触电脑的时候,我还经常把他和VGA接口弄混了。它在window的设备列表中会显示一个com接口。

我们可以通过这个接口来进行计算机通信和文件传输,可以对设备进行控制,这个DB9的接口电平是12V的,以至于我们如果想调试我们的单片机,还需要再增加一个电平转换芯片 -- rs232

VCP驱动由来

后来,笔记本电脑逐渐普及开来,DB9接口就被优化掉了,此时短小精悍的USB接口大行其道,也因此,usb转TTL的串口调试工具就被设计出来了。但是,由于历史遗留问题,很多设备还没有来得及更新换代,市场上依然存在大量的DB9接口的设备,为了能够让这些设备继续服役,工程师设计了这样的USB转串口来转接。

与此同时,很多做串口上位机配套软件的工程师也没能及时跟上发展,依然很依赖于打开一个com口进行通信,所以,做USB转TTL设备的厂商就自己写了驱动,将自己的USB设备模拟成一个串口,这也就是我们题目中提到的VCP驱动。我们插上USB转串口设备的时候,叮咚一声,设备列表里面就会出现一个COM3。

所以,为了能够兼容原来的上位机软件,绝大数厂商都开发了自己的VCP(Virtual Com Port)驱动。

HID设备

HID是一套人机接口集合,在这个协议之上定义了很多通用设备,比如我们的鼠标键盘,还有玩游戏的游戏杆,都是基于HID接口设计的。早在Win2000的时候,window系统就集成了HID的驱动程序,所以大多数window操作系统下都无需安装什么驱动,插上鼠标键盘就能使用。

所以,使用HID协议来做USB转串口的好处就是无需安装驱动,即插即用,可反复插拔。但是,上位机开发HID通信和串口通信相差甚远,老的软件不想改,新的软件由于难度增加,HID也是经常被pass掉,直到近年来才逐渐被采纳。

CDC是什么呢?

CDC-ACM,是USB ORG组织在1999年基于通信类设备推出的一个USB通用设备类别,事实上,绝大多数使用CDC串口的USB应用,并不处理串口操作,仅借助于CDC串口驱动实现USB设备和USB主机之间的数据透传。CDC串口的主要特点:

(1)无需为产品开发专用的USB驱动程序,但无法达到HID类设备的在所有系统上面的免驱效果。目前已有不少系统已集成CDC-ACM驱动,且驱动也在不断完善,如在WIN8.1前需要驱动安装包还需要做驱动包的数字签名,因为系统只集成了SYS;如WIN10系统集成了微软重新编写的CDC-ACM驱动。

(2)固件开发容易,CDC-ACM类规范内容简单,数据上下传内容为透传方式。

(3)可以实现部分串口功能,如串口参数设置和DTR/DSR的控制,但串口软件中较常用的CTS/RTS不支持,且不同操作系统下实现的CDC类驱动,还存在CTS状态不变且不可更改的差异。

坦白说,上面我们提到的厂家的VCP也是基于这个CDC开发的,只不过做了些优化和兼容吧。如今,各操作系统内置的CDC驱动也在不断更新维护,在产品应用中,也难免遇到各种影响串口正常使用的情况。因此,如果单纯的是为了做嵌入式方面的调试,而不是为了开发产品来做上位机,我认为VCP驱动和CDC虚拟串口是不错的选择,基于COM的工具非常多。当然对于CDC也是一样的,它也是虚拟出一个串口,就是对于系统兼容性方面还不稳定,如果只是调试,环境单一的话,CDC是很好的选择。

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
HFBR-14E4Z 1 Avago Technologies FIBER OPTIC TRANSMITTER, 792-865nm, 160Mbps, PANEL MOUNT, THROUGH HOLE MOUNT, DIP, SC CONNECTOR, ROHS COMPLIANT PACKAGE

ECAD模型

下载ECAD模型
$23.95 查看
S29AL016J70TFI023 1 Spansion Flash, 1MX16, 70ns, PDSO48, LEAD FREE, MO-142DDD, TSOP-48
$2.14 查看
TJA1042T/3,118 1 NXP Semiconductors TJA1042 - High-speed CAN transceiver with Standby mode SOIC 8-Pin

ECAD模型

下载ECAD模型
$1.51 查看

相关推荐

电子产业图谱

多年硬件从业经验,专注分享从研发到供应链,再到精益制造过程中的经验和感悟!