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