無(wú)線(xiàn)USB接口鍵盤(pán)控制器的設計方案
命令處理器主要處理USB的一般命令和HID的特有命令。獲取命令模塊主要是模擬實(shí)現SCI的接收功能。由于MC68HCO5JB4沒(méi)有SCI模塊。為了正確接收數據,利用MC68HCO5JB4內含的16位時(shí)鐘的輸入捕捉(ICAP)和輸出比較(OCMP)功能,模擬實(shí)現了SCI的接收功能。每次SCI數據接收后都存入緩沖區。
待一個(gè)完整的數據包接收完畢。就設置標志位。通知報告處理器數據已準備好。如果USB通信陷入停頓。
緩沖區有可能被充滿(mǎn),這時(shí)SCI的數據接收將被禁止。報告處理器負責生成標準的USB報告。
實(shí)現USB鍵盤(pán)控制器特有的掛起與喚醒功能也是設計中的重要環(huán)節。USB協(xié)議規定。當總線(xiàn)處于空閑態(tài)超過(guò)3ms時(shí)。控制器必須進(jìn)入掛起狀態(tài)。而掛起的控制器從總線(xiàn)上吸收的電流必須小于500uA.
MC68HCO5JB4的掛起通過(guò)設置USB端點(diǎn)0的中斷寄存器中的掛起標志位來(lái)實(shí)現。協(xié)議規定的500uA包括了主機端的電纜終端匹配電阻的電流(通常為220uA),所以對于使用總線(xiàn)電源的控制器而言。進(jìn)入掛起狀態(tài)通常便意味著(zhù)總電流功耗不能超過(guò)280mA.
這實(shí)際上是要求MC68HCO5JB4進(jìn)入STOP模式。但MC68HCO5JB4在STOP模式下時(shí)鐘被禁止,也就是說(shuō)此時(shí)無(wú)法接收數據。為了解決這個(gè)問(wèn)題。即要控制器不進(jìn)入掛起狀態(tài)。則通過(guò)主機周期性地向控制器發(fā)送包結束(EOP)信號,間隔時(shí)間小于3ms,這樣使控制器永遠處于正常狀態(tài)。
(2)應用軟件設計
本設計主要針對文檔操作,實(shí)現鍵盤(pán)的相關(guān)功能。系統設置了上頁(yè)、下頁(yè)返回關(guān)閉等四個(gè)控制熱鍵??烧{用API函數注冊系統熱鍵代碼。用戶(hù)使用鍵盤(pán)控制器前。先在主機的應用程序界面設置需要操作的文檔參數。啟動(dòng)控制熱鍵后,SC2262被觸動(dòng)并開(kāi)始發(fā)送數據,此時(shí)主機方主動(dòng)查詢(xún)是否有數據發(fā)送。實(shí)現時(shí)實(shí)監控。當SC2272接收到數據后,即通過(guò)SCI接口電路發(fā)送數據給微控制器MC68HCO5JB4,最后MC68HCO5JB4通過(guò)USB接12I向主機發(fā)送數據。主機接收后執行相應的操作。主要流程圖如圖5所示。

圖5 軟件流程圖
結語(yǔ)
本設計方案適用于多媒體輔助環(huán)境下的課堂教學(xué)、講座等,可進(jìn)行遠達十米以上的遠程遙控電腦工作,效果良好。同時(shí),它也為便攜式的無(wú)線(xiàn)通訊外設系統提供了方便、快捷和可靠的接12I解決
DIY機械鍵盤(pán)相關(guān)社區:機械鍵盤(pán)DIY
評論