基于嵌入式系統的USB(HID)設備設計
3 實(shí)現原理
由于LM3S310 控制器每個(gè)GPIO 都可配置為中斷引腳,所以在這個(gè)應用中只需要用兩個(gè)同Port 的兩個(gè)相鄰引腳仿真USB 的D+和D-,圖3 所示。
4 軟件設計
圖4 是一個(gè)簡(jiǎn)化程序流程圖,實(shí)際編程中還有很多細節,在此不再羅列。下面以中斷傳輸為例,將一個(gè)事務(wù)不同階段思想重點(diǎn)研討。
LM3S310 芯片利用兩個(gè)GPIO(USB)的中斷監控USB 總線(xiàn),當USB 總線(xiàn)從空閑狀態(tài)變?yōu)閭鬏敔顟B(tài),也就是總線(xiàn)由主機發(fā)起與同步域(SYN),LM3S310 進(jìn)入USB 接收程序。略過(guò)同步階段,收到的第一個(gè)字節是PID 字段(包標識類(lèi)型)。這字段的低四位描述此包類(lèi)型方向(IN 或OUT),接下來(lái)7 位表示設備的地址,然后是四位端點(diǎn)號索引。LM3S310 根據設備地址判定主機向本設備發(fā)起的請求,如果是則根據包的類(lèi)型決定繼續接收數據或向主機發(fā)送數據。對OUT 類(lèi)型數據的后5—16 位是CRC 校驗(根據配置決定CRC 的位數)。對IN 類(lèi)型,LM3S310將準備好數據連同RC 校驗數據一同發(fā)往主機。數據傳輸階段完成后,主機或設備要確認傳輸成功。
對于低速設備的仿真,LM3S310 芯片的速度足以滿(mǎn)足要求(包括一些速度較快單片機,如:PIC、EMP、MSP),然而對全速設備的仿真,須要選擇速度更快嵌入式芯片,軟件實(shí)現的原理方法基本相同。
5 結論
使用微控制器仿真USB 設備的方法,極大地方便了用戶(hù)的開(kāi)發(fā),同時(shí)降低了功耗、成本。本文作者創(chuàng )新點(diǎn)在于利用MCU 或嵌入式控制器實(shí)現USB 設備功能。本方法在USB 讀卡器、USB 編程器、USB 接口轉RS232 及RS485 接口等方面有良好的應用前景。
參考文獻:
[1].PCBdatasheethttp://www.dzsc.com/datasheet/PCB_1201640.html.
[2].PC datasheethttp://www.dzsc.com/datasheet/PC+_2043275.html.
[3].LM310 datasheethttp://www.dzsc.com/datasheet/LM310+_838172.html.
[4].RS232 datasheethttp://www.dzsc.com/datasheet/RS232+_585128.html.
[5].RS485 datasheethttp://www.dzsc.com/datasheet/RS485+_585289.html.
評論