基于USB的無線觸摸鼠標(biāo)板的設(shè)計(jì)
隨著IT技術(shù)的發(fā)展,多媒體教學(xué)已經(jīng)在學(xué)校得到廣泛的應(yīng)用。但傳統(tǒng)的多媒體教學(xué)存在互動性不強(qiáng)等缺點(diǎn),不利于師生的交流和溝通,基于這種情況,我們設(shè)計(jì)和實(shí)現(xiàn)了一種基于USB的無線觸摸鼠標(biāo)板,使得教師在學(xué)生座位旁依然可以像站在講臺那樣自由控制電腦。
本文引用地址:http://butianyuan.cn/article/202205.htm1系統(tǒng)組成
本系統(tǒng)可以大致分為兩個部分,其中一端是手持設(shè)備終端,提供PS/2接口供鼠標(biāo)觸摸板接入使用;另一端是PC接入端,通過USB接口與主機(jī)相連,二者之間通過無線傳輸協(xié)議聯(lián)系在一起。整體構(gòu)架圖如圖1所示。
圖1整體構(gòu)架圖
因?yàn)樵O(shè)計(jì)所選用的CC2420集成了發(fā)送和接收功能在同一芯片中,故在手持終端和接入設(shè)備部分的無線收發(fā)器可復(fù)用同一模塊,無需重新設(shè)計(jì)。而在PC端,為了實(shí)現(xiàn)設(shè)計(jì)的普遍適用性以及即插即用的特性,對接人設(shè)備采用了HID類設(shè)計(jì)從而使PC端無需增加任何軟件,即可使用操作系統(tǒng)提供的設(shè)備驅(qū)動程序。
本設(shè)計(jì)的實(shí)驗(yàn)開發(fā)板由筆者自行設(shè)計(jì)實(shí)現(xiàn),不僅包括了本設(shè)計(jì)所需要的功能,還有調(diào)試功能以及擴(kuò)展功能,供日后有需要時使用。
2 硬件設(shè)計(jì)與實(shí)現(xiàn)
2.1手持端硬件設(shè)計(jì)與實(shí)現(xiàn)
在手持端,主要包括的模塊有MCU控制模塊,無線發(fā)送模塊,PS/2接口模塊和調(diào)試模塊等。各模塊的功能示意圖如圖2所示:
圖2手持端模塊圖
2.1.1 MCU PIC整體控制模塊
MCU控制著整個系統(tǒng)的運(yùn)行,包括軟件的觸發(fā)、運(yùn)行,以及各個部分的協(xié)調(diào)工作。整個系統(tǒng)的軟件都是存儲并運(yùn)行在MCU當(dāng)中,在觸摸板事件響應(yīng)方面采用的是中斷觸發(fā)。而PS/2接口實(shí)際上只需兩條IO線,也就是說其只占用了MCU兩個管腳資源,其中一個為普通IO口,另一個則是中斷口,考慮到中斷12的可能沖突,可以通過跳線方式自行選擇。在CC2420方面,亦采用電平跳變中斷檢測其SFD及FIFOP的中斷請求,而其數(shù)據(jù)通信則是使用芯片集成的SPI接口中的RCA(SO)、RC5(si)、rico(CS-N)、RC3(SCK)等4條線來實(shí)現(xiàn)。
2.1.2串口模塊
由于USB的數(shù)據(jù)信息在其未被主機(jī)正確識別之前無法得到,并且在無線傳輸方面也需將數(shù)據(jù)及控制信息等傳回主機(jī)以供調(diào)試,所以在開發(fā)板上另外設(shè)計(jì)一個串口調(diào)試模塊,方便設(shè)計(jì)過程中的調(diào)試需要。
RS232規(guī)范使用12V供電,而開發(fā)板上使用的電壓為3.3V,這樣如果直接將數(shù)據(jù)線直接連到RS232接口上會將實(shí)驗(yàn)板上的元件燒毀。為了實(shí)現(xiàn)不同電壓之間的連接,采用了RS232電平轉(zhuǎn)換芯片MAX3232.利用這個芯片我們可將12V電壓的數(shù)據(jù)傳輸轉(zhuǎn)換為3V,這樣就可以達(dá)到將數(shù)據(jù)與主機(jī)進(jìn)行交互的目的。在數(shù)據(jù)傳輸線路上,由于PICl6F877A內(nèi)置了串口接口,所以只需使用RC6、RC7這兩根線就可以實(shí)現(xiàn)數(shù)據(jù)的傳輸,經(jīng)過MAX3232的電平變換到達(dá)主機(jī)。
2.1.3無線傳輸模塊
考慮到工藝問題,靠手工無法完成,所以采用模塊購買的方式來獲得CC2420的使用,購買的模塊僅有非常簡單的外圍器件,以及12根控制引腳外引(包括電源和地),這樣我們就可以通過MCU利用這12根引腳控制CC2420的工作了。根據(jù)該模塊的外接引腳,在實(shí)際的電路設(shè)計(jì)中設(shè)計(jì)了一個兩排12根線的接口,可以直接接到MCU控制接口,因?yàn)镸CU和CC2420都是采用3.3V的電壓,所以不會有電壓過高的問題。
在CC2420的電路設(shè)計(jì)過程中發(fā)現(xiàn),對于控制引腳SFD、FIFOP這兩個用于檢測中斷接受數(shù)據(jù)的接口尤其重要,如果在這兩條線路出現(xiàn)了干擾的話,在軟件的實(shí)現(xiàn)方面將產(chǎn)生很多不必要的軟件開銷,例如去除干擾等。所以在PCB設(shè)計(jì)的時候要對這兩條線加寬,不要橫跨電源和地,這樣會產(chǎn)生很大的干擾。
2.2 PC接入端硬件設(shè)計(jì)與實(shí)現(xiàn)
此部分將介紹接人設(shè)備的硬件設(shè)計(jì)與實(shí)現(xiàn),在串口調(diào)試部分采用和手持端同樣的硬件設(shè)計(jì),而在無線接受模塊,因?yàn)镃C2420集合接收發(fā)送功能在同一芯片中,而應(yīng)用電路也采用同樣電路,故在接入設(shè)備部分可以使用相同模塊。所以在這里將主要介紹USB模塊的設(shè)計(jì)與實(shí)現(xiàn)。
在USB接IZl方面,為了使用上的方便,將設(shè)備設(shè)計(jì)成標(biāo)準(zhǔn)的HID類鼠標(biāo),這樣可以直接使用操作系統(tǒng)自帶的驅(qū)動程序而無需安裝任何的驅(qū)動軟件。在供電方面使用標(biāo)準(zhǔn)USB接口提供的5V電源為USB芯片供電,接人端的主要硬件架構(gòu)可用圖3所示:
圖3接入端硬件構(gòu)架圖
在USB接口芯片的連接上,采用了與MCU控制器的INT0外部中斷的方式連接,這樣可以保證USB數(shù)據(jù)傳輸?shù)膶?shí)時性,而其他的控制接El使用一般的數(shù)據(jù)IO口,其8位數(shù)據(jù)傳輸口使用PICl6F877A的RD口連接。
3 系統(tǒng)軟件設(shè)計(jì)與實(shí)現(xiàn)
在本部分,主要將介紹本設(shè)計(jì)的軟件實(shí)現(xiàn),其中包括接入端和手持端兩大部分。
3.1整體設(shè)計(jì)方案的設(shè)計(jì)與實(shí)現(xiàn)環(huán)境
本次設(shè)計(jì)采用的控制芯片為PIC16F877A。
由于程序是在PC上設(shè)計(jì),需要將程序下載到單片機(jī)上運(yùn)行和測試,所以需要一個程序下載工具,本次設(shè)計(jì)所采用的程序燒錄器為TOP WIN2004,該燒錄器自身提供有一個下載軟件,使用也非常方便,安裝按照軟件目錄下的README一步步操作即可。
本設(shè)計(jì)中的軟件均是在單片機(jī)內(nèi)實(shí)現(xiàn),運(yùn)行在MCU內(nèi)的軟件控制著整個設(shè)計(jì)所要實(shí)現(xiàn)的模塊。
但是由于MCU與傳統(tǒng)Pc有著巨大的差別,必須考慮存儲空間、運(yùn)行速度、外界干擾等因素。在實(shí)現(xiàn)此次設(shè)計(jì)的過程中,除了首先要保證硬件環(huán)境的設(shè)計(jì)正確和優(yōu)質(zhì)之外,軟件方面的嚴(yán)謹(jǐn)設(shè)計(jì)也是必不可少的一個重要部分。
本設(shè)計(jì)的軟件總體框架圖可如圖4所示,為了使兩端達(dá)到速度及任務(wù)的均衡,一些軟件處理將在手持端完成,然后以接收端可以識別的格式打包發(fā)送過去,由圖4也可以看出兩端的任務(wù)處理基本處于均衡狀態(tài)。
評論