基于2.4GHz射頻通信的多功能鼠標(biāo)設(shè)計(jì)_第1頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、基于2.4ghz射頻通信的多功能鼠標(biāo)設(shè)計(jì)多功能無(wú)線鼠標(biāo)包括無(wú)線放射部分和無(wú)線接收部分,其中放射部分是關(guān)系到其總體性能好壞的關(guān)鍵部分。本系統(tǒng)以nrf24l01為核心構(gòu)建無(wú)線放射模塊。nrf24l01是一款新型單片件,工作于2.42.5 ghz ism頻段;內(nèi)置頻率合成器、功率、晶體、調(diào)制器等功能模塊,并融合了增加型shockburst技術(shù),其中輸出功率和通信頻道可通過(guò)程序舉行配置。nrf24l01功耗低,在以0 dbm的功率放射時(shí),工作惟獨(dú)11.3 ma;接收時(shí),工作電流惟獨(dú)12.3 ma;多種低功率工作模式(掉電模式和空閑模式)使節(jié)能設(shè)計(jì)更便利。多功能無(wú)線鼠標(biāo)是一款用法電池供電的手持設(shè)備,功耗

2、是衡量其性能的一個(gè)重要標(biāo)準(zhǔn)。本設(shè)計(jì)所選用的主控芯片是f413,它是一種16位超低功耗的混合信號(hào)處理器,在活躍模式下最大電流為350a,ram數(shù)據(jù)保持方式下耗電僅0.1a。光芯片選用adns-5030。這款芯片體積小,功耗低,在工作模式下,它的工作電流最大為17 ma;僅在光傳感器工作的時(shí)候,才被點(diǎn)亮,這樣會(huì)使光傳感器的功耗進(jìn)一步下降(小于1 ma)。本文在介紹多功能無(wú)線鼠標(biāo)放射部分開(kāi)發(fā)過(guò)程的同時(shí),對(duì)其設(shè)計(jì)應(yīng)用中的注重事項(xiàng)和優(yōu)化辦法作了相應(yīng)的論述。在設(shè)計(jì)過(guò)程中,多注重詳情和優(yōu)化辦法可使設(shè)計(jì)越發(fā)順當(dāng),并為大規(guī)模算法提供有效的時(shí)光。1 硬件設(shè)計(jì)多功能無(wú)線鼠標(biāo)放射部分主要實(shí)現(xiàn)光傳感器位移、按鍵鍵值的采

3、集,并通過(guò)無(wú)線放射給接收器。主要由控制部分、光傳感器部分、鼠標(biāo)按鍵和鍵盤(pán)部分以及無(wú)線放射部分組成。系統(tǒng)框圖1所示。1.1 無(wú)線放射部分無(wú)線放射部分是多功能無(wú)線鼠標(biāo)的主要部分,本設(shè)計(jì)以nrf24l01為核心構(gòu)建無(wú)線放射模塊。nrf24l01具有無(wú)條件用法2.4 ghz全球開(kāi)放ism頻段,內(nèi)置硬件crc檢錯(cuò)和一點(diǎn)對(duì)多點(diǎn)通信地址控制等特點(diǎn),數(shù)據(jù)傳輸率為2 mbs,126個(gè)頻道;能滿足多點(diǎn)通信和跳頻通信的需要;功耗低,供電為1.93.6 v,待機(jī)模式下工作電流為22a,掉電模式下僅為900 na。這些是nrf24l01的主要優(yōu)點(diǎn)。無(wú)線放射部分的電路原理2所示。1.2手持系統(tǒng)對(duì)低功耗有較嚴(yán)格的要求。ms

4、p430系列有5種低功耗模式。在一定時(shí)問(wèn)內(nèi)無(wú)操作的狀況下,可以使其進(jìn)入某一種低功耗模式,這時(shí)的工作電流可以控制在十幾a以下。對(duì)于外圍器件,如光傳感器和無(wú)線放射部分,設(shè)置了一個(gè)開(kāi)關(guān),在主控芯片進(jìn)入低功耗模式之前先切斷它們的電源,使系統(tǒng)的功耗進(jìn)一步降低。而在有操作到來(lái)的時(shí)候,主控芯片從低功耗模式返回到活躍模式,首先將外圍器件的電源開(kāi)關(guān)打開(kāi),這樣可以保證系統(tǒng)正常工作。低功耗電源控制電路3所示。開(kāi)關(guān)由一個(gè)pnp型的晶體管構(gòu)成,基極作為控制信號(hào)的輸入,放射極為電壓輸入,集電極為電壓輸出??刂菩盘?hào)的電平變幻可以控制線路上電源的通斷。1.3 光傳感器部分光傳感器adns-5030用于鼠標(biāo)的定位。adns-5

5、030的正常工作電壓為3.3 v,在光傳感器的設(shè)計(jì)中需要將電池供電輸出的3.0 v電壓轉(zhuǎn)換成其所需要的3.3 v電壓。電路采納ht7733 芯片來(lái)完成電壓的轉(zhuǎn)換。adns-5030通過(guò)spi與主控芯片舉行數(shù)據(jù)通信,其銜接方式4所示。1.4 按鍵與鍵盤(pán)多功能無(wú)線鼠標(biāo)的按鍵與一般鼠標(biāo)的按鍵功能基本相同,只是將一般鼠標(biāo)的滾輪(wheel)改成了上下鍵的設(shè)計(jì)。這兩種設(shè)計(jì)的功能是相同的。鍵盤(pán)用于阿拉伯?dāng)?shù)字、字母以及各種功能鍵的輸入。采納矩陣式的手機(jī)鍵盤(pán),節(jié)約了主控芯片的io口資源。2 軟件部分設(shè)計(jì)2.1 通用io模擬spi接口無(wú)線放射芯片nrf24l01和光傳感器adns-5030均是采納spi總線與主

6、控芯片舉行數(shù)據(jù)交換的。出于成本考慮,本設(shè)計(jì)所選用的主控芯片msp430f413內(nèi)部沒(méi)有spi總線接口,因此,需要用通用io口來(lái)模擬spi接口。用通用io口來(lái)模擬spi串行接口,必需嚴(yán)格遵守器件spi的總線時(shí)序。adns-5030的spi總線時(shí)序有幾個(gè)需要注重的地方:一是spi總線的串行時(shí)鐘頻率應(yīng)小于1 mhz,若spi總線的時(shí)鐘頻率過(guò)高,器件無(wú)法在短時(shí)光內(nèi)作出響應(yīng),相應(yīng)的操作也就無(wú)法完成;二是adns-5030對(duì)spi總線上的時(shí)鐘信號(hào)要求50的占空比,這種要求并不是針對(duì)全部器件的,但對(duì)詳細(xì)提出這種要求的個(gè)例,就必需遵循了(試驗(yàn)證實(shí)這個(gè)結(jié)論是正確的,筆者通過(guò)在程序中加空命令的方式來(lái)填補(bǔ)空缺,使其

7、占空比達(dá)到器件的要求);三是spi總線操作中有許多須要的延時(shí),如讀操作中寫(xiě)地址和讀數(shù)據(jù)之間需要4s的延時(shí),程序中若無(wú)該延時(shí),就不能執(zhí)行正常的讀寫(xiě)操作。2.2 無(wú)線放射部分nrf24l01的工作原理如下:放射數(shù)據(jù)時(shí),首先將nrf24l01配置為放射模式,接著把接收節(jié)點(diǎn)地址tx_addr和有效數(shù)據(jù)tx_pld根據(jù)時(shí)序由spi口寫(xiě)入nrf24l01緩存區(qū)。tx_pld必需在csn為低時(shí)延續(xù)寫(xiě)入,而tx_addr在放射時(shí)寫(xiě)入一次即可。然后,ce置為高電平并保持起碼10s,延遲130s后放射數(shù)據(jù)。若自動(dòng)應(yīng)答開(kāi)啟,那么nrf24l01在放射數(shù)據(jù)后立刻進(jìn)入接收模式,接收應(yīng)答信號(hào)(自動(dòng)應(yīng)答接收地址應(yīng)當(dāng)與接收節(jié)

8、點(diǎn)地址tx_addr全都)。假如收到應(yīng)答,則認(rèn)為此次通信勝利,tx_ds置高,同時(shí)tx_pld從tx fifo中清除;若未收到應(yīng)答,則自動(dòng)重新放射該數(shù)據(jù)(自動(dòng)重發(fā)已開(kāi)啟),若重發(fā)次數(shù)(arc)達(dá)到上限,max_rt置高,txfifo中數(shù)據(jù)保留以便再次重發(fā)。max_rt或tx_ds置高時(shí),使irq變低,產(chǎn)生中斷,通知。放射勝利時(shí),若ce為低,則nrf24l01進(jìn)入待機(jī)模式1;若發(fā)送堆棧中有數(shù)據(jù)且ce為高,則進(jìn)入下一次放射;若發(fā)送堆棧中很多據(jù)且ce為高,則進(jìn)入待機(jī)模式2。接收數(shù)據(jù)時(shí),首先將nrf24l01配置為接收模式,接著延遲130s進(jìn)入接收狀態(tài)等待數(shù)據(jù)的到來(lái)。當(dāng)接收方檢測(cè)到有效的地址和crc時(shí)

9、,就將數(shù)據(jù)包存儲(chǔ)在rxfifo中,同時(shí)中斷標(biāo)記位rx_dr置高,irq變低,產(chǎn)生中斷,通知mcu取數(shù)據(jù)。若此時(shí)自動(dòng)應(yīng)答開(kāi)啟,接收方則同時(shí)進(jìn)入放射狀態(tài)回傳應(yīng)答信號(hào)。接收勝利時(shí),若ce變低,則nrf24l01進(jìn)入待機(jī)模式1。nrf24l01有放射、接收、待機(jī)和掉電4種工作模式,可以通過(guò)配置寄存器來(lái)設(shè)置其工作狀態(tài),如表1所列。待機(jī)模式1(standby-i)主要用于降低電流損耗(在該模式下,晶體振蕩器仍然工作)。待機(jī)模式2(standby-ii)是當(dāng)fifo寄存器為空且ce=1時(shí)進(jìn)入此模式。待機(jī)模式下,全部配置字仍然保留。在掉電模式(powerdown)下電流損耗最小,同時(shí)nrf24l01也不工作,

10、但其全部配置寄存器的值仍然保留。無(wú)線放射部分上電初始化時(shí),舉行了如下配置:config寄存器的低4位置1,分離為16位crc校驗(yàn),芯片上電和接收模式;setup_aw(地址寬度)寄存器配置地址寬度為5字節(jié);setup_retr(自動(dòng)重發(fā))寄存器配置為自動(dòng)重發(fā)延時(shí)500s,重發(fā)5次;rf_ch(rf頻道)寄存器配置為工作頻道2 400mhz;rf_setup(rf設(shè)置)寄存器配置為放射功率0 dbm,air data rate為1 mhz;將地址寫(xiě)入地址寄存器。在配置寄存器時(shí)應(yīng)注重一點(diǎn):在寫(xiě)nrf24l01的寄存器時(shí),它必需工作在掉電模式或待機(jī)模式。而在nrf24l01上電達(dá)到1.9 v以后,要

11、經(jīng)過(guò)10.3 ms的上電復(fù)位然后再進(jìn)入掉電模式。這是一個(gè)不確定狀態(tài)。在此狀態(tài)下,對(duì)寄存器的寫(xiě)操作是無(wú)法完成的,因此必需加上一個(gè)合適的延時(shí),使程序?qū)rf24l01的配置操作在掉電模式或待機(jī)模式下舉行。當(dāng)光傳感器或按鍵等有操作時(shí),主控制器將讀入的信號(hào)寫(xiě)入nrf24l01的tx_pld,然后由芯片自動(dòng)生成報(bào)頭和crc校驗(yàn)碼,并發(fā)送出去。當(dāng)收到應(yīng)答信號(hào)(ack)后,程序中所設(shè)置的標(biāo)記位success置1,清除tx fifo隊(duì)列中的數(shù)據(jù),可以舉行下一次數(shù)據(jù)的寫(xiě)入了;若未收到應(yīng)答信號(hào)(ack),則標(biāo)記位success置0,繼續(xù)重發(fā),且新的數(shù)據(jù)無(wú)法寫(xiě)入。2.3 讀光傳感器位移值讀光傳感器的位移值,其實(shí)就是

12、讀它對(duì)應(yīng)的寄存器。在adns-5030的內(nèi)部寄存器中,地址為0x02的motion寄存器用于表示是否有位移。其最高位若為0,則無(wú)位移;最高位若為1,則有位移。另外,用法到的兩個(gè)寄存器的地址是0x03和ox04的deltax和deltay。這兩個(gè)寄存器的值分離表示x軸和y軸方向上的位移。最高位表示位移的方向,1為負(fù)方向,0為正方向,低7位表示位移量。5所示,首先推斷是否有位移,即motion的最高位是否為1。若不為1,則表示沒(méi)有位移,本次查詢結(jié)束;若為1,則表示有位移,然后再去讀deltax和deltay的值,并將其通過(guò)無(wú)線放射部分發(fā)送出去。讀deltax、deltay寄存器后,寄存器中的值自動(dòng)

13、清零,但是motion寄存器讀后不清零,所以最后需要對(duì)motion寄存器的最高位舉行清零,以防止在沒(méi)有位移的狀況下,系統(tǒng)也對(duì)deltax、deltay寄存器舉行掃描,造成不須要的鋪張。另一個(gè)需考慮的地方是光傳感器的辨別率。在上電復(fù)位后,光傳感器的辨別率為默認(rèn)的500cpi(cells perinch),但是試驗(yàn)效果并不好。在調(diào)試時(shí),其位移并不顯然,后來(lái)修改寄存器的值,將其辨別率改為1 000 cpi(惟獨(dú)500 cpi和1 000 cpi兩種辨別率),光標(biāo)的位移效果顯然好于辨別率為500 cpi時(shí)的效果。由此可見(jiàn),光傳感器的這一屬性也是相當(dāng)重要的。2.4 讀按鍵與鍵盤(pán)左右鍵的設(shè)計(jì)與一般按鍵的設(shè)

14、汁稍有不同。用法鼠標(biāo)時(shí)可以看到,在按下左鍵同時(shí)拖動(dòng)鼠標(biāo)時(shí),可以選中光標(biāo)移動(dòng)范圍內(nèi)的選項(xiàng);同樣,右鍵也具有這樣的功能。在左右鍵的掃描程序中,當(dāng)程序掃描到有鍵按下時(shí)(例如左鍵按下),立即將所得到的鍵值發(fā)送出去,這時(shí),接收端的左鍵值向來(lái)是處于按下?tīng)顟B(tài)的,同時(shí)也不耽擱光傳感器等的掃描;當(dāng)左鍵抬起時(shí),再向接收端發(fā)送按鍵抬起的命令,一次左右鍵的掃描就完成了。這樣就可以實(shí)現(xiàn)在按下左鍵同時(shí)拖動(dòng)鼠標(biāo)時(shí),選中光標(biāo)移動(dòng)范圍內(nèi)選項(xiàng)的操作了。上下鍵與左鍵和右鍵的操作方式不同。在上下鍵的掃描程序中還應(yīng)考慮點(diǎn)動(dòng)和連動(dòng)這兩種不同的狀況。點(diǎn)動(dòng)即為在一定時(shí)光內(nèi)迅速按下一個(gè)按鍵,然后立刻釋放;而按下一個(gè)鍵并延時(shí)一段時(shí)光再釋放,則程序?qū)⑵渥R(shí)別為連動(dòng)。鍵盤(pán)部分設(shè)置了20個(gè)鍵,是一個(gè)5×4的矩陣,包括“o9”10個(gè)數(shù)字鍵,“上、下、左、右”4個(gè)方向鍵,“”鍵,“確

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論