a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 設計應用 > USB虛擬串口通信實現

USB虛擬串口通信實現

作者: 時間:2016-10-10 來源:網絡 收藏

摘要 以一種高度集成的總線轉接芯片為核心,設計并實現了基于接口的PC機與下位機的通信。上位機在Windows環境下利用MSComm控件實現與下位機通信,介紹了的實現方法,并基于該編寫了控制應用軟件。實驗測試表明,采用虛擬串口實現上位機與單片機通信,具有結構簡單、速度快和易于軟件開發等特點,能滿足于各種串口通信場合。

本文引用地址:http://www.j9360.com/article/201610/306437.htm

在嵌入式系統中,異步串行通信接口多作為標準外圍設備出現。隨著大量支持USB的個人電腦的普及,易于使用的接口。USB接口逐步成為PC機的標準接口,使得對USB接口相關應用軟件的開發和外圍設備的研究顯得越來越重要。

本文中的控制系統采用基于USB的虛擬串口同中心匯聚節點通信,中心匯聚節點采用意法半導體公司STM8S103系列微處理器,實現數據的接收與發送。上位機系統控制軟件在Windows環境下通過VC++6.0編程開發,基于USB的虛擬串口具有傳輸數據穩定、安裝簡便、即插即用等特點。

1 控制系統總體設計

系統總體結構如圖1所示,主要由3部分組成,基于PC機的上位機系統控制軟件、中心匯聚節點和各家電子設備節點。中心匯聚節點和各家電子設備節點均搭載433無線通信模塊。各家電子設備節點可以根據自身設備的狀態信息,整合成一定格式的數據幀,經433無線模塊將數據信息傳送給中心匯聚節點,而后通過基于USB的虛擬串口將數據轉發給上位機系統控制軟件,上位機軟件實時顯示家電子設備的狀態信息。同樣,當用戶需要控制和管理家電設備時,控制指令經虛擬串口和433無線模塊將指令下發至相應家電設備,根據指令執行相應操作。

USB虛擬串口通信實現

2 虛擬串口硬件電路設計

2.1 芯片簡介

是一種高度集成的USB總線轉接芯片,通過USB總線提供異步串口、打印口、并口以及常用的2線和4線等同步串行接口。在異步串口方式下,提供串口發送使能、串口接收就緒等交互式的速率控制信號以及常用的MODEM聯絡信號,用于為計算機擴展異步串口,或者將普通的串口設備直接升級到USB總線。具備USB全速接口,兼容USB V2.0,外圍器件簡單,只需晶振和電容。完全兼容計算機端Windows操作系統下的串口應用程序。硬件全雙工串口,內置收發緩沖區,支持通訊速率50bit·s-1~2Mbit·s-1和5、6、7或者8位數據位、奇校驗、偶校驗、空白、標志以及無校驗、串口發送使能、串口接收就緒等傳輸速率控制信號和MODEM聯絡信號。

2.2 串口硬件電路設計

USB轉虛擬串口部分電路主要由CH341和STM8S103構成,其電路原理如圖2所示,設備采用USB總線供電方式,時鐘電路由12 MHz晶振搭配2個20 pF電容構成,將CH341芯片的SDA和SCL引腳懸空,從而使其工作于異步串行口模式,采用常用的三線式串口通信方式,將CH341芯片的RXD、TXD、GND引腳分別于單片機STM8S103的TXD、RXD和GND引腳相連。在USB接口的電源端連接一個磁珠,以減少PC機與設備的干擾,同時在電源端增加去耦和旁路電容,以提高設備的抗干擾能力。

USB虛擬串口通信實現

3 上位機系統軟件設計

3.1 USB轉虛擬串口驅動安裝

當完成硬件連接后,為實現正常的串口通信,還需為PC機安裝相應的驅動程序。從互聯網上可下載相應芯片的驅動程序,因本設計選用USB總線轉接芯片為CH341,故下載并安裝對應的CH341 SER驅動程序,該驅動程序支持Windows 98//XP/Win7 32位/64位等操作系統。該虛擬串口實現仿真標準串口,完全兼容計算機端Windows操作系統環境下的串口應用程序,用戶可以像訪問標準串口設備一樣對該虛擬串口進行通信,但實質其數據通信則是通過USB總線完成。待安裝完驅動程序后,便可以對該設備進行基于串口的上位機應用程序開發。

3.2 系統控制軟件設計

上位機控制軟件在VC++6.0環境下開發,采用VC++6.0提供的MSComm控件進行應用程序設計。MSCOM控件提供了完善的數據接收與發送功能,支持事件驅動和查詢兩種通信模式。事件驅動方式下,當有串口發生事件或錯誤時便響應OnComm事件處理程序;查詢模式下,則通過定期查詢MSComm控件的ComEvent屬性變化來進行數據處理。考慮到控制系統的實時響應能力,上位機應用軟件采用事件驅動方式,即當串口有數據接收時便響應OnComm事件,然后在OnComm事件處理函數中加入相應的通信處理代碼。系統控制軟件操作界面如圖3所示。

USB虛擬串口通信實現

3.2.1 通信參數設置

為保證控制系統能成功進行串口通信,系統控制軟件與匯聚節點設備應設置相同的波特率、數據位等通信參數,此外因為PC機為USB總線轉接芯片CH341分配的虛擬串口是不確定的,為此設計了通信參數設置對話框來對虛擬串口的通信參數進行設置,界面如圖4所示。

USB虛擬串口通信實現

3.2.2 通信數據處理

上位機系統控制軟件主要負責用戶控制指令的發送與接收,同時及時更新顯示當前家用電子設備的狀態信息。應用軟件主要包含系統初始化程序、串口接收與發送程序和數據處理與顯示程序3部分。初始化程序主要負責系統的串口通信參數配置;串口接收與發送程序則負責將數據組合成數據幀,并發送或接收匯聚節點數據幀;數據處理與顯示程序則根據不同的數據幀進行相應處理,并及時更新對應家電子設備的控制界面,程序流程如圖5所示。

USB虛擬串口通信實現

4 實驗驗證

為進一步驗證USB轉虛擬串口通信在具體系統應用中的可靠性和穩定性,按照圖1搭建測試系統,在PC機上安裝好對應的USB轉虛擬串口驅動程序,打開上位機系統控制軟件,選擇對應的串口,設置與中心匯聚節點相匹配的串口通信參數,在應用軟件中選擇加濕器操作界面,改變界面狀態以發送控制指令,查看對應的加濕器是否執行相應的操作;通過手動改變加濕器的狀態,查看上位機系統控制軟件中加濕器界面狀態是否及時更新,測試結果如圖6所示,實驗測試表明系統響應速度快、穩定性強,USB轉虛擬串口通信能夠滿足實際控制系統的通信需求。

USB虛擬串口通信實現

5 結束語

本文設計了基于USB虛擬串口通信技術的串口通信模塊,介紹了其設計方法與原理,開發了基于虛擬串口通信的上位機系統控制軟件,并將其應用于控制系統。采用USB虛擬串口解決了傳統串口逐漸消失、擴展性差、安裝繁瑣等問題,實驗測試表明基于USB的虛擬串口具有傳輸速率穩定、即插即用等特點。



評論


相關推薦

技術專區

關閉