無線USB接口鍵盤控制器的設(shè)計(jì)方案
摘 要:通用串行總線USB是一種嶄新的微機(jī)總線接口規(guī)范。本文介紹了一種基于USB接口的無線通訊鍵盤控制器的設(shè)計(jì)方案,包括硬件設(shè)計(jì)、設(shè)備驅(qū)動(dòng)程序設(shè)計(jì)及應(yīng)用軟件設(shè)計(jì)。
本文引用地址:http://m.butianyuan.cn/article/164984.htm引言
在目前的多媒體演示環(huán)境中,缺少遠(yuǎn)距離可操控計(jì)算機(jī)的設(shè)備。講授者只能站在講臺(tái)上來操作計(jì)算機(jī),這樣限制了演講者與觀眾面對面的交流。
為有效地解決這個(gè)問題,本文設(shè)計(jì)了一種可遠(yuǎn)距離操控計(jì)算機(jī)的無線通訊鍵盤控制器設(shè)備,通過把USB接口與無線發(fā)送、接收模塊整合,設(shè)計(jì)出一種智能化、簡便化的無線通訊鍵盤控制器。系統(tǒng)主要包括USB模塊、無線發(fā)送模塊和無線接收模塊。
1 總體方案
本設(shè)計(jì)方案以無線發(fā)送/接收器為基礎(chǔ),用戶通過所設(shè)計(jì)的鍵盤控制器上的按鍵,觸動(dòng)無線發(fā)射模塊,SC2262發(fā)送指令數(shù)據(jù),位于主機(jī)端連接卡上的無線接收器SC2272接收到數(shù)據(jù)后。將數(shù)據(jù)傳給微控制器MC68HC05JB4,經(jīng)過MC68HC05JB4芯片處理,數(shù)據(jù)最后通過USB總線傳人主機(jī),由驅(qū)動(dòng)程序發(fā)給相應(yīng)的應(yīng)用軟件。從而操控待操作的文檔。系統(tǒng)結(jié)構(gòu)框圖如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)框圖
2 硬件設(shè)計(jì)
(1)連接卡設(shè)計(jì)
此方案中,通過USB口與主機(jī)直接連接的是自行設(shè)計(jì)的連接卡。該卡上集成了兩個(gè)主要的芯片,形成了兩大功能模塊。核心是MOTOROLA的微控制器MC68HC05JB4,它分別與無線電接收器SC2272和主機(jī)通訊。
(2)MC68HC05SJB4芯片
MC68HC05JB4芯片是MOTOROLA 公司的MC68HC系列的8位微控制器。通過微控制器內(nèi)含的USB模塊??梢院芊奖愕貙?shí)現(xiàn)USB總線上的數(shù)據(jù)通訊。MC68HCO5JB4提供了兩個(gè)端口分別與電纜的D+、D-相連;同時(shí)提供了一個(gè)3.3V的參考電壓,與D一相連。典型連接如圖2所示。D+和D一是一對差模的信號(hào)線。其中1.5K的電阻要求較高,阻值范圍必須是是1.5KΩ±5%.USB通過一個(gè)四線電纜來傳輸信號(hào)與電源:為了與電纜阻抗匹配,在電纜的每一端都使用了非平衡終端匹配電阻。該電阻保證了能夠檢測外設(shè)與端口的連接或分離。并且可以區(qū)分高速與低速設(shè)備。SCI接口電路使用MAX232芯片,它可將微控制器使用的+5V電壓轉(zhuǎn)換為+12V,連接無線電接收器SC2272.將收到的數(shù)據(jù)傳給微控制器。同時(shí)為了產(chǎn)生1.5M的USB總線速率。系統(tǒng)使用6MHz的晶振。
圖2 USB接口電路
(3)無線收發(fā)與編碼、解碼器設(shè)計(jì)
在信號(hào)的編碼/解碼方面,本設(shè)計(jì)方案采用SC2262/SC2272芯片作為編/解碼芯片。其連接原理如圖3、圖4所示。SC2262和SC2272芯片的第1至第8根引腳有三種狀態(tài)。即接電源正極、接地、浮空,利用這三種狀態(tài)可以有38種地址編碼方式。通過對這8根引腳采用相同的編碼方式來實(shí)現(xiàn)無線電遙控,而不發(fā)生干擾。
圖3無線電發(fā)送器SC2262.
圖4無線電接收器SC2272
在發(fā)射電路中。當(dāng)按下SWO-SW3中的任一開關(guān)閉合時(shí)。SC2262的第17根引腳就發(fā)出對應(yīng)于地址碼的編碼脈沖信號(hào),該信號(hào)通過無線電發(fā)射電路發(fā)送出去,與SC2272相連的無線電接收器接收到該信號(hào)后,將其送入SC2272的第14根引腳。如果該信號(hào)的地址編碼與接收到信號(hào)的SC2272芯片的地址編碼相符。
則SC2272的第10-13根數(shù)據(jù)線就輸出與SW0一SW3相對應(yīng)的控制信號(hào)。通過對Sw0一Sw3的交叉編碼可以組合出更多的按鍵開關(guān)。根據(jù)不同的需要,開關(guān)設(shè)計(jì)有較大的擴(kuò)展性。
3 軟件設(shè)計(jì)
軟件設(shè)計(jì)主要包括MC68HC05JB4的主控程序、HID設(shè)備驅(qū)動(dòng)程序及應(yīng)用軟件設(shè)計(jì)等三個(gè)部分。
(1)MC68HC05JB4的主控模塊。
MC68HC05JB4的主控模塊設(shè)計(jì)主要完成兩個(gè)功、能:一是監(jiān)視無線接收器SC2272的狀態(tài)。自動(dòng)產(chǎn)生狀態(tài)信息和用戶命令信息;二是完成主機(jī)與連接卡之間的USB總線通訊,自動(dòng)處理主機(jī)的控制和查詢命令。
對于功能二的實(shí)現(xiàn),MC68HCO5JB4中的USB模塊提供了3個(gè)端點(diǎn)。其中端點(diǎn)0通過控制傳輸與主機(jī)通訊,端點(diǎn)1和端點(diǎn)2則使用中斷傳輸。把端點(diǎn)0看作是設(shè)備的控制和狀態(tài)寄存器,而端點(diǎn)1和端點(diǎn)2則是設(shè)備的兩個(gè)數(shù)據(jù)緩沖區(qū)。對應(yīng)于3個(gè)端點(diǎn)。
68HCO5JB4提供了3個(gè)控制寄存器。2個(gè)中斷寄存器(端點(diǎn)1和端點(diǎn)2共用1個(gè)),同時(shí)為端點(diǎn)0提供了8個(gè)數(shù)據(jù)發(fā)送/接收寄存器。為端點(diǎn)1和端點(diǎn)2提供了8個(gè)共用的數(shù)據(jù)發(fā)送寄存器。
其功能大致分為四個(gè)模塊:USB中斷服務(wù)例程:
命令處理器;獲取命令模塊;報(bào)告處理器。
USB中斷服務(wù)例程處理USB不同的通訊信息,發(fā)送端點(diǎn)0的SETUP、IN、0uT等控制信息給命令處理器及協(xié)助報(bào)告處理器發(fā)送待決的報(bào)告給中斷斷點(diǎn)1.當(dāng)USB設(shè)備第一次連接到總線上,它被指定為一個(gè)特定的地址,然后主機(jī)發(fā)送命令要求來檢測設(shè)備特性并且選擇不同的設(shè)備參數(shù)。命令處理器模塊分析這些命令要求,按所要求的描述符和參數(shù)響應(yīng)。USB鍵盤控制器被定位為人機(jī)接口設(shè)備(HID)。它不僅需要響應(yīng)標(biāo)準(zhǔn)的USB協(xié)議要求,還要響應(yīng)HID子協(xié)議的要求。同時(shí)為了完成信息的傳輸。設(shè)備還必須至少支持一種中斷端點(diǎn)。另外為了使數(shù)據(jù)能被BIOS正確解釋,USB鍵盤控制器必須按照報(bào)告定義的格式輸入。
報(bào)告處理器負(fù)責(zé)按規(guī)定格式轉(zhuǎn)換無線接收模塊接收的數(shù)據(jù),并請求中斷服務(wù)例程通過中斷管道發(fā)送報(bào)告。無線接收模塊隨時(shí)準(zhǔn)備接收無線發(fā)送模塊發(fā)來的數(shù)據(jù),修改報(bào)告數(shù)據(jù)字節(jié)。待一個(gè)完整的數(shù)據(jù)包接收完成后,即通知報(bào)告處理器。
DIY機(jī)械鍵盤相關(guān)社區(qū):機(jī)械鍵盤DIY
評論