當前位置:首頁 > 通信技術(shù) > 通信技術(shù)
[導(dǎo)讀]將手機鍵盤加鼠標的輸入方式應(yīng)用于電腦上,使人們像遙控操作電視一樣操作計算機,將會得到廣大消費者的青睞。文章結(jié)合光傳感器、2.4 GHz無線通信的使用方法以及一鍵多值的處理方法,闡述多功能無線鼠標發(fā)射部分的軟、硬件設(shè)計。實踐表明,該設(shè)計具有良好的應(yīng)用前景。

引  言

多功能無線鼠標包括無線發(fā)射部分和無線接收部分,其中發(fā)射部分是關(guān)系到其總體性能好壞的關(guān)鍵部分。本系統(tǒng)以nRF24L01為核心構(gòu)建無線發(fā)射模塊。nRF24L01是一款新型單片射頻收發(fā)器件,工作于2.4~2.5 GHz ISM頻段;內(nèi)置頻率合成器、功率放大器、晶體振蕩器、調(diào)制器等功能模塊,并融合了增強型ShockBurst技術(shù),其中輸出功率和通信頻道可通過程序進行配置。nRF24L01功耗低,在以0 dBm的功率發(fā)射時,工作電流只有11.3 mA;接收時,工作電流只有12.3 mA;多種低功率工作模式(掉電模式和空閑模式)使節(jié)能設(shè)計更方便。

多功能無線鼠標是一款使用電池供電的手持設(shè)備,功耗是衡量其性能的一個重要標準。本設(shè)計所選用的主控芯片是MSP430F413,它是一種16位超低功耗的混合信號處理器,在活躍模式下最大電流為350μA,RAM數(shù)據(jù)保持方式下耗電僅0.1μA。光傳感器芯片選用ADNS-5030。這款芯片體積小,功耗低,在工作模式下,它的工作電流最大為17 mA;僅在光傳感器工作的時候,LED才被點亮,這樣會使光傳感器的功耗進一步下降(小于1 mA)。

本文在介紹多功能無線鼠標發(fā)射部分開發(fā)過程的同時,對其設(shè)計應(yīng)用中的注意事項和優(yōu)化方法作了相應(yīng)的論述。在設(shè)計過程中,多注意細節(jié)和優(yōu)化方法可使設(shè)計更加順利,并為大規(guī)模算法提供有效的時間。

1  硬件電路設(shè)計

多功能無線鼠標發(fā)射部分主要實現(xiàn)光傳感器位移、按鍵鍵值的采集,并通過無線發(fā)射給接收器。主要由控制部分、光傳感器部分、鼠標按鍵和鍵盤部分以及無線發(fā)射部分組成。系統(tǒng)框圖如圖1所示。



1.1  無線發(fā)射部分

無線發(fā)射部分是多功能無線鼠標的主要部分,本設(shè)計以nRF24L01為核心構(gòu)建無線發(fā)射模塊。

nRF24L01具有無條件使用2.4 GHz全球開放ISM頻段,內(nèi)置硬件CRC檢錯和一點對多點通信地址控制等特點,數(shù)據(jù)傳輸率為2 Mb/s,126個頻道;能滿足多點通信和跳頻通信的需要;功耗低,供電電壓為1.9~3.6 V,待機模式下工作電流為22μA,掉電模式下僅為900 nA。這些是nRF24L01的主要優(yōu)點。

無線發(fā)射部分的電路原理如圖2所示。



1.2  電源管理

手持系統(tǒng)對低功耗有較嚴格的要求。MSP430系列單片機有5種低功耗模式。在一定時問內(nèi)無操作的情況下,可以使其進入某一種低功耗模式,這時的工作電流可以控制在十幾μA以下。

對于外圍器件,如光傳感器和無線發(fā)射部分,設(shè)置了一個開關(guān),在主控芯片進入低功耗模式之前先切斷它們的電源,使系統(tǒng)的功耗進一步降低。而在有操作到來的時候,主控芯片從低功耗模式返回到活躍模式,首先將外圍器件的電源開關(guān)打開,這樣可以保證系統(tǒng)正常工作。低功耗電源控制電路如圖3所示。開關(guān)由一個PNP型的晶體管構(gòu)成,基極作為控制信號的輸入,發(fā)射極為電壓輸入,集電極為電壓輸出??刂菩盘柕碾娖阶兓梢钥刂凭€路上電源的通斷。



1.3  光傳感器部分

光傳感器ADNS-5030用于鼠標的定位。ADNS-5030的正常工作電壓為3.3 V,在光傳感器的設(shè)計中需要將電池供電輸出的3.0 V電壓轉(zhuǎn)換成其所需要的3.3 V電壓。電路采用HT7733 芯片來完成電壓的轉(zhuǎn)換。ADNS-5030通過SPI總線與主控芯片進行數(shù)據(jù)通信,其連接方式如圖4所示。

 

1.4  按鍵與鍵盤

多功能無線鼠標的按鍵與普通鼠標的按鍵功能基本相同,只是將普通鼠標的滾輪(wheel)改成了上下鍵的設(shè)計。這兩種設(shè)計的功能是相同的。

鍵盤用于阿拉伯數(shù)字、字母以及各種功能鍵的輸入。采用矩陣式的手機鍵盤,節(jié)省了主控芯片的I/O口資源。

2  軟件部分設(shè)計

2.1  通用I/O模擬SPI接口

無線發(fā)射芯片nRF24L01和光傳感器ADNS-5030均是采用SPI總線與主控芯片進行數(shù)據(jù)交換的。出于成本考慮,本設(shè)計所選用的主控芯片MSP430F413內(nèi)部沒有SPI總線接口,因此,需要用通用I/O口來模擬SPI接口。

用通用I/O口來模擬SPI串行接口,必須嚴格遵守器件SPI的總線時序。ADNS-5030的SPI總線時序有幾個需要注意的地方:一是SPI總線的串行時鐘頻率應(yīng)小于1 MHz,若SPI總線的時鐘頻率過高,器件無法在短時間內(nèi)作出響應(yīng),相應(yīng)的操作也就無法完成;二是ADNS-5030對SPI總線上的時鐘信號要求50%的占空比,這種要求并不是針對所有器件的,但對具體提出這種要求的個例,就必須遵循了(實驗證明這個結(jié)論是正確的,筆者通過在程序中加空指令的方式來填補空缺,使其占空比達到器件的要求);三是SPI總線操作中有許多必要的延時,如讀操作中寫地址和讀數(shù)據(jù)之間需要4μs的延時,程序中若無該延時,就不能執(zhí)行正常的讀寫操作。

2.2  無線發(fā)射部分

nRF24L01的工作原理如下:發(fā)射數(shù)據(jù)時,首先將nRF24L01配置為發(fā)射模式,接著把接收節(jié)點地址TX_ADDR和有效數(shù)據(jù)TX_PLD按照時序由SPI口寫入nRF24L01緩存區(qū)。TX_PLD必須在CSN為低時連續(xù)寫入,而TX_ADDR在發(fā)射時寫入一次即可。然后,CE置為高電平并保持至少10μs,延遲130μs后發(fā)射數(shù)據(jù)。若自動應(yīng)答開啟,那么nRF24L01在發(fā)射數(shù)據(jù)后立即進入接收模式,接收應(yīng)答信號(自動應(yīng)答接收地址應(yīng)該與接收節(jié)點地址TX_ADDR一致)。如果收到應(yīng)答,則認為此次通信成功,TX_DS置高,同時TX_PLD從TX FIFO中清除;若未收到應(yīng)答,則自動重新發(fā)射該數(shù)據(jù)(自動重發(fā)已開啟),若重發(fā)次數(shù)(ARC)達到上限,MAX_RT置高,TXFIFO中數(shù)據(jù)保留以便再次重發(fā)。MAX_RT或TX_DS置高時,使IRQ變低,產(chǎn)生中斷,通知MCU。發(fā)射成功時,若CE為低,則nRF24L01進入待機模式1;若發(fā)送堆棧中有數(shù)據(jù)且CE為高,則進入下一次發(fā)射;若發(fā)送堆棧中無數(shù)據(jù)且CE為高,則進入待機模式2。

接收數(shù)據(jù)時,首先將nRF24L01配置為接收模式,接著延遲130μs進入接收狀態(tài)等待數(shù)據(jù)的到來。當接收方檢測到有效的地址和CRC時,就將數(shù)據(jù)包存儲在RXFIFO中,同時中斷標志位RX_DR置高,IRQ變低,產(chǎn)生中斷,通知MCU取數(shù)據(jù)。若此時自動應(yīng)答開啟,接收方則同時進入發(fā)射狀態(tài)回傳應(yīng)答信號。接收成功時,若CE變低,則nRF24L01進入待機模式1。

nRF24L01有發(fā)射、接收、待機和掉電4種工作模式,可以通過配置寄存器來設(shè)置其工作狀態(tài),如表1所列。



待機模式1(Standby-I)主要用于降低電流損耗(在該模式下,晶體振蕩器仍然工作)。待機模式2(Standby-II)是當FIFO寄存器為空且CE=1時進入此模式。待機模式下,所有配置字仍然保留。在掉電模式(PowerDown)下電流損耗最小,同時nRF24L01也不工作,但其所有配置寄存器的值仍然保留。

無線發(fā)射部分上電初始化時,進行了如下配置:

①CONFIG寄存器的低4位置1,分別為16位CRC校驗,芯片上電和接收模式;
   
②SETUP_AW(地址寬度)寄存器配置地址寬度為5字節(jié);
   
③SETUP_RETR(自動重發(fā))寄存器配置為自動重發(fā)延時500μs,重發(fā)5次;
   
④RF_CH(RF頻道)寄存器配置為工作頻道2 400MHz;
   
⑤RF_SETUP(RF設(shè)置)寄存器配置為發(fā)射功率0 dBm,Air Data Rate為1 MHz;

⑥將地址寫入地址寄存器。

在配置寄存器時應(yīng)注意一點:在寫nRF24L01的寄存器時,它必須工作在掉電模式或待機模式。而在nRF24L01上電達到1.9 V以后,要經(jīng)過10.3 ms的上電復(fù)位然后再進入掉電模式。這是一個不確定狀態(tài)。在此狀態(tài)下,對寄存器的寫操作是無法完成的,因此必須加上一個合適的延時,使程序?qū)RF24L01的配置操作在掉電模式或待機模式下進行。

當光傳感器或按鍵等有操作時,主控制器將讀入的信號寫入nRF24L01的TX_PLD,然后由芯片自動生成報頭和CRC校驗碼,并發(fā)送出去。當收到應(yīng)答信號(ACK)后,程序中所設(shè)置的標志位success置1,清除TX FIFO隊列中的數(shù)據(jù),可以進行下一次數(shù)據(jù)的寫入了;若未收到應(yīng)答信號(ACK),則標志位success置0,繼續(xù)重發(fā),且新的數(shù)據(jù)無法寫入。

2.3  讀光傳感器位移值

讀光傳感器的位移值,其實就是讀它對應(yīng)的寄存器。在ADNS-5030的內(nèi)部寄存器中,地址為0x02的Motion寄存器用于表示是否有位移。其最高位若為0,則無位移;最高位若為1,則有位移。另外,使用到的兩個寄存器的地址是0x03和Ox04的DeltaX和DeltaY。這兩個寄存器的值分別表示X軸和Y軸方向上的位移。最高位表示位移的方向,1為負方向,0為正方向,低7位表示位移量。

如圖5所示,首先判斷是否有位移,即Motion的最高位是否為1。若不為1,則表示沒有位移,本次查詢結(jié)束;若為1,則表示有位移,然后再去讀DeltaX和DeltaY的值,并將其通過無線發(fā)射部分發(fā)送出去。



讀DeltaX、DeltaY寄存器后,寄存器中的值自動清零,但是Motion寄存器讀后不清零,所以最后需要對Motion寄存器的最高位進行清零,以防止在沒有位移的情況下,系統(tǒng)也對DeltaX、DeltaY寄存器進行掃描,造成不必要的浪費。

另一個需考慮的地方是光傳感器的分辨率。在上電復(fù)位后,光傳感器的分辨率為默認的500cpi(cells perinch),但是實驗效果并不好。在調(diào)試時,其位移并不明顯,后來修改寄存器的值,將其分辨率改為1 000 cpi(只有500 cpi和1 000 cpi兩種分辨率),光標的位移效果明顯好于分辨率為500 cpi時的效果。由此可見,光傳感器的這一屬性也是相當重要的。

2.4  讀按鍵與鍵盤

左右鍵的設(shè)計與普通按鍵的設(shè)汁稍有不同。使用鼠標時可以看到,在按下左鍵同時拖動鼠標時,可以選中光標移動范圍內(nèi)的選項;同樣,右鍵也具有這樣的功能。

在左右鍵的掃描程序中,當程序掃描到有鍵按下時(例如左鍵按下),立刻將所得到的鍵值發(fā)送出去,這時,接收端的左鍵值一直是處于按下狀態(tài)的,同時也不耽誤光傳感器等的掃描;當左鍵抬起時,再向接收端發(fā)送按鍵抬起的指令,一次左右鍵的掃描就完成了。這樣就可以實現(xiàn)在按下左鍵同時拖動鼠標時,選中光標移動范圍內(nèi)選項的操作了。

上下鍵與左鍵和右鍵的操作方式不同。在上下鍵的掃描程序中還應(yīng)考慮點動和連動這兩種不同的情況。點動即為在一定時間內(nèi)快速按下一個按鍵,然后立即釋放;而按下一個鍵并延時一段時間再釋放,則程序?qū)⑵渥R別為連動。

鍵盤部分設(shè)置了20個鍵,是一個5×4的矩陣,包括“O~9”10個數(shù)字鍵,“上、下、左、右”4個方向鍵,“←”鍵,“確定”鍵,“Esc"鍵以及3個快捷鍵(“顯示桌面”、“瀏覽器”和“我的電腦”)。其中“0~9”10個數(shù)字鍵是復(fù)用鍵,像手機鍵盤一樣,根據(jù)一定時間內(nèi)連擊次數(shù)的不同,可以輸入不同的鍵值。

結(jié)  語

本文所涉及的硬件均在實際中調(diào)試通過。實驗證明,MSP430系列單片機成本較低,在低功耗產(chǎn)品中的應(yīng)用極為廣泛,將會得到廣大開發(fā)人員的認同。本系統(tǒng)已實現(xiàn)鼠標和手機鍵盤結(jié)合的基本功能,以后仍可以對其功能進行補充,完善多功能無線鼠標的性能。
本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉