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