一、簡(jiǎn)介
USB轉(zhuǎn)串口即可實(shí)現(xiàn)計(jì)算機(jī)USB接口到物理串口之間的相互轉(zhuǎn)換。USB轉(zhuǎn)串口可以為沒有串口的計(jì)算機(jī)或其他USB主機(jī)增加串口,使用USB轉(zhuǎn)串口設(shè)備時(shí)就等同于將傳統(tǒng)的串口設(shè)備變成了即插即用的USB設(shè)備。
USB虛擬串口應(yīng)用特點(diǎn):
①USB應(yīng)用非常廣泛,支持熱插拔功能,傳輸速度很快。
②仿真標(biāo)準(zhǔn)串口,可用來升級(jí)原串口設(shè)備,或通過USB增加額外的串口。
③串口應(yīng)用程序完全兼容,無需修改。
④支持各式各樣操作系統(tǒng),如:Windows/Linux/Android/macOS。
二、工作原理
USB主機(jī)檢測(cè)到USB轉(zhuǎn)串口設(shè)備插入后→對(duì)設(shè)備復(fù)位→開始USB枚舉過程。
USB枚舉時(shí)過程會(huì)獲取設(shè)備描述符、配置描述符、接口描述符等等不同的描述符。其中會(huì)包含USB設(shè)備的廠商ID,設(shè)備ID和Class類別等信息。操作系統(tǒng)會(huì)根據(jù)該信息為設(shè)備匹配相應(yīng)的USB設(shè)備驅(qū)動(dòng)。
USB虛擬串口的實(shí)現(xiàn)在系統(tǒng)上依賴于USB轉(zhuǎn)串口驅(qū)動(dòng),一般由廠家直接提供,也可以使用操作系統(tǒng)自帶的CDC類串口驅(qū)動(dòng)等。
驅(qū)動(dòng)主要分為2個(gè)功能,
①:注冊(cè)USB設(shè)備驅(qū)動(dòng),完成對(duì)USB設(shè)備的控制與數(shù)據(jù)通訊;
②:注冊(cè)串口驅(qū)動(dòng),為串口應(yīng)用層提供相應(yīng)的實(shí)現(xiàn)方法。
串口收發(fā)對(duì)應(yīng)的驅(qū)動(dòng)數(shù)據(jù)流向:
串口發(fā)送時(shí)的流向:
串口應(yīng)用發(fā)送數(shù)據(jù)→USB串口驅(qū)動(dòng)獲取數(shù)據(jù)→驅(qū)動(dòng)將數(shù)據(jù)經(jīng)過USB通道發(fā)送給USB串口設(shè)備→USB串口設(shè)備接收到數(shù)據(jù)通過串口發(fā)送
串口接收時(shí)的流向:
USB串口設(shè)備接收串口數(shù)據(jù)→將串口數(shù)據(jù)經(jīng)過USB打包后上傳給USB主機(jī)→USB串口驅(qū)動(dòng)獲取到通過USB上傳的串口數(shù)據(jù)→驅(qū)動(dòng)將數(shù)據(jù)保存在串口緩沖區(qū)提供給串口應(yīng)用讀取