發布日期:2022-04-26 點擊率:117
關鍵詞: 嵌入式設備 WinCE USB
摘要:1). 簡介 本文著重介紹嵌入式設備基于WinCE操作系統下通過USB模擬串口功能和PC主機實現點對點通信功能,在很多場景下,這個可以很方便的實現主機和嵌入式設備的通信。 本文所演示的系統為Toradex Colibri iMX6 ARM計算機模塊(基于NXP iMX6 SoC)配合Colibri Eva Board,主機為配置標準Windows 7 32bit 系統計算機。
By Toradex 秦海
1). 簡介
本文著重介紹嵌入式設備基于WinCE操作系統下通過USB模擬串口功能和PC主機實現點對點通信功能,在很多場景下,這個可以很方便的實現主機和嵌入式設備的通信。
本文所演示的系統為Toradex ColibriiMX6 ARM計算機模塊(基于NXP iMX6 SoC)配合ColibriEva Board,主機為配置標準Windows 7 32bit 系統計算機。
2). 具體配置步驟示例
a). ColibriiMX6嵌入式設備端
./ 模塊安裝Toradex官方發布WEC7V1.1b2 image
./ 在CE系統控制面板->PC Connection 選項里面,取消勾選“自動連接”,然后保存注冊表。
./ Toradex image里面已經包含了USB 串口的驅動,默認是用來進行ActiveSync連接使用,在這里可以查看USB 串口驅動對應的注冊表鍵值
[HKEY_LOCAL_MACHINEDriversUSBFunctionDriversSerial_Class],從”Index”鍵值可以確定在設備CE端對應的COM端口,這里默認為”COM9:”
./ 為了后面和PC進行互聯測試,設備端串口應用使用Toradex 開發者中心網站提供的UART測試Demo,只是將對應端口號修改為”COM9:” 。
------------------------------------
------------------------------------
b). Windows7 32bit 主機端
./ 因為我們稍后將使用WinUSB與設備進行連接,因此首先需要將下面兩個Windows Mobile Center相關服務禁止,避免串口被其占用。
./ 使用Microsoft WinUSB進行通訊,對于ToradexColibri iMX6,其WinCE系統默認USB Serial Client驅動使用為Microsoft 官方測試USB VID/PID,基于測試使用,本文無需自定義WinUSB驅動,將設備連接到主機后,可以在設備管理器查看自動識別為Microsoft USB Sync設備。
而在實際產品開發中,客戶應該需要配置自己的USB VID/PID(如需免費獲得VID/PID資源請參考這里),這樣就需要修改WinUSB驅動以適配,可以直接參考MicrosoftMSDN說明進行修改部署,也可以借助第三方工具Zadig去定制化WinUSB驅動。
./ 主機端測試程序我們同樣使用Toradex基于Microsoft 官方WinUSB例程修改的測試程序,請從下面下載:
WinUSB SerialSample Project
項目里面同樣也已經包含基于WindowsDriver Kit Version 7.1.0的相關libs 和 headers。
./ 為了達到更好的測試效果,這里對原例程進行如下修改,將收到的字符串處理后通過Debug輸出。
------------------------------------
------------------------------------
c). 通信測試示例
./ 首先將設備端應用部署運行UART 程序,如下
./ 然后在將主機端WinUSB例程編譯并啟動調試
./ 在設備端首先輸入選項2進行發送數據操作,這時候可以看到主機調試端打印出收到對應的字符串
./ 然后再設備端輸入選項1進行讀取數據操作,同樣可以接收到來自主機發送的字符串
參考資料:
http://developer.toradex.com/knowledge-base/serial-over-usb
下一篇: PLC、DCS、FCS三大控
上一篇: 索爾維全系列Solef?PV