加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入
  • 正文
    • VCP驅(qū)動(dòng)由來(lái)
    • HID設(shè)備
    • CDC是什么呢?
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

串口驅(qū)動(dòng)的CDC,VCP,HID都有什么區(qū)別?

05/11 08:42
2萬(wàn)
閱讀需 6 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

嵌入式的開發(fā)的朋友們,咱們對(duì)串口調(diào)試工具一定不陌生,除了上位機(jī)中,各種串口收發(fā)軟件外,還有很多USB轉(zhuǎn)串口的設(shè)備。

這些設(shè)備最常見(jiàn)的當(dāng)屬FT232了,國(guó)內(nèi)還有沁恒的CH340系列,PL2303系列等。當(dāng)我們插上USB轉(zhuǎn)串口的設(shè)備時(shí),一般都需要再去找對(duì)應(yīng)的驅(qū)動(dòng),十年前,這個(gè)驅(qū)動(dòng)還得到處去搜索下載,如今都已成往事。現(xiàn)在,很多芯片方案可以即插即用了,今天來(lái)記錄一下這些串口驅(qū)動(dòng)到底是什么意思。最早的串口是基于DB9的一個(gè)接口,早些年的臺(tái)式機(jī)都會(huì)配置這樣的一個(gè)接口,在我最開始接觸電腦的時(shí)候,我還經(jīng)常把他和VGA接口弄混了。它在window的設(shè)備列表中會(huì)顯示一個(gè)com接口。

我們可以通過(guò)這個(gè)接口來(lái)進(jìn)行計(jì)算機(jī)通信和文件傳輸,可以對(duì)設(shè)備進(jìn)行控制,這個(gè)DB9的接口電平是12V的,以至于我們?nèi)绻胝{(diào)試我們的單片機(jī),還需要再增加一個(gè)電平轉(zhuǎn)換芯片 -- rs232

VCP驅(qū)動(dòng)由來(lái)

后來(lái),筆記本電腦逐漸普及開來(lái),DB9接口就被優(yōu)化掉了,此時(shí)短小精悍的USB接口大行其道,也因此,usb轉(zhuǎn)TTL的串口調(diào)試工具就被設(shè)計(jì)出來(lái)了。但是,由于歷史遺留問(wèn)題,很多設(shè)備還沒(méi)有來(lái)得及更新?lián)Q代,市場(chǎng)上依然存在大量的DB9接口的設(shè)備,為了能夠讓這些設(shè)備繼續(xù)服役,工程師設(shè)計(jì)了這樣的USB轉(zhuǎn)串口來(lái)轉(zhuǎn)接。

與此同時(shí),很多做串口上位機(jī)配套軟件的工程師也沒(méi)能及時(shí)跟上發(fā)展,依然很依賴于打開一個(gè)com口進(jìn)行通信,所以,做USB轉(zhuǎn)TTL設(shè)備的廠商就自己寫了驅(qū)動(dòng),將自己的USB設(shè)備模擬成一個(gè)串口,這也就是我們題目中提到的VCP驅(qū)動(dòng)。我們插上USB轉(zhuǎn)串口設(shè)備的時(shí)候,叮咚一聲,設(shè)備列表里面就會(huì)出現(xiàn)一個(gè)COM3。

所以,為了能夠兼容原來(lái)的上位機(jī)軟件,絕大數(shù)廠商都開發(fā)了自己的VCP(Virtual Com Port)驅(qū)動(dòng)。

HID設(shè)備

HID是一套人機(jī)接口集合,在這個(gè)協(xié)議之上定義了很多通用設(shè)備,比如我們的鼠標(biāo)鍵盤,還有玩游戲的游戲桿,都是基于HID接口設(shè)計(jì)的。早在Win2000的時(shí)候,window系統(tǒng)就集成了HID的驅(qū)動(dòng)程序,所以大多數(shù)window操作系統(tǒng)下都無(wú)需安裝什么驅(qū)動(dòng),插上鼠標(biāo)鍵盤就能使用。

所以,使用HID協(xié)議來(lái)做USB轉(zhuǎn)串口的好處就是無(wú)需安裝驅(qū)動(dòng),即插即用,可反復(fù)插拔。但是,上位機(jī)開發(fā)HID通信和串口通信相差甚遠(yuǎn),老的軟件不想改,新的軟件由于難度增加,HID也是經(jīng)常被pass掉,直到近年來(lái)才逐漸被采納。

CDC是什么呢?

CDC-ACM,是USB ORG組織在1999年基于通信類設(shè)備推出的一個(gè)USB通用設(shè)備類別,事實(shí)上,絕大多數(shù)使用CDC串口的USB應(yīng)用,并不處理串口操作,僅借助于CDC串口驅(qū)動(dòng)實(shí)現(xiàn)USB設(shè)備和USB主機(jī)之間的數(shù)據(jù)透?jìng)?。CDC串口的主要特點(diǎn):

(1)無(wú)需為產(chǎn)品開發(fā)專用的USB驅(qū)動(dòng)程序,但無(wú)法達(dá)到HID類設(shè)備的在所有系統(tǒng)上面的免驅(qū)效果。目前已有不少系統(tǒng)已集成CDC-ACM驅(qū)動(dòng),且驅(qū)動(dòng)也在不斷完善,如在WIN8.1前需要驅(qū)動(dòng)安裝包還需要做驅(qū)動(dòng)包的數(shù)字簽名,因?yàn)橄到y(tǒng)只集成了SYS;如WIN10系統(tǒng)集成了微軟重新編寫的CDC-ACM驅(qū)動(dòng)。

(2)固件開發(fā)容易,CDC-ACM類規(guī)范內(nèi)容簡(jiǎn)單,數(shù)據(jù)上下傳內(nèi)容為透?jìng)鞣绞健?/p>

(3)可以實(shí)現(xiàn)部分串口功能,如串口參數(shù)設(shè)置和DTR/DSR的控制,但串口軟件中較常用的CTS/RTS不支持,且不同操作系統(tǒng)下實(shí)現(xiàn)的CDC類驅(qū)動(dòng),還存在CTS狀態(tài)不變且不可更改的差異。

坦白說(shuō),上面我們提到的廠家的VCP也是基于這個(gè)CDC開發(fā)的,只不過(guò)做了些優(yōu)化和兼容吧。如今,各操作系統(tǒng)內(nèi)置的CDC驅(qū)動(dòng)也在不斷更新維護(hù),在產(chǎn)品應(yīng)用中,也難免遇到各種影響串口正常使用的情況。因此,如果單純的是為了做嵌入式方面的調(diào)試,而不是為了開發(fā)產(chǎn)品來(lái)做上位機(jī),我認(rèn)為VCP驅(qū)動(dòng)和CDC虛擬串口是不錯(cuò)的選擇,基于COM的工具非常多。當(dāng)然對(duì)于CDC也是一樣的,它也是虛擬出一個(gè)串口,就是對(duì)于系統(tǒng)兼容性方面還不穩(wěn)定,如果只是調(diào)試,環(huán)境單一的話,CDC是很好的選擇。

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
H11L1SR2M 1 Fairchild Semiconductor Corporation Logic IC Output Optocoupler, 1-Element, 7500V Isolation, 1MBps, SURFACE MOUNT, DIP-6
$1.01 查看
MOC3043M 1 Fairchild Semiconductor Corporation Triac Output Optocoupler With Zero CRSVR, 1-Element, 7500V Isolation, DIP-6
$1.02 查看
LCC110STR 1 IXYS Corporation Transistor Output SSR, 1-Channel, 3750V Isolation, ROHS COMPLIANT, SURFACE MOUNT PACKAGE-8
$4.44 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

多年硬件從業(yè)經(jīng)驗(yàn),專注分享從研發(fā)到供應(yīng)鏈,再到精益制造過(guò)程中的經(jīng)驗(yàn)和感悟!