<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 手機與無線通信 > 設(shè)計應(yīng)用 > 基于2.4 GHz射頻通信的多功能鼠標設(shè)計

          基于2.4 GHz射頻通信的多功能鼠標設(shè)計

          作者: 時間:2010-06-25 來源:網(wǎng)絡(luò) 收藏


          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,在光傳感器的中需要將電池供電輸出的3.O V電壓轉(zhuǎn)換成其所需要的3.3 V電壓。電路采用HT7733芯片來完成電壓的轉(zhuǎn)換。ADNS-5030通過SPI總線與主控芯片進行數(shù)據(jù),其連接方式如圖4所示。


          1.4 按鍵與鍵盤
          無線的按鍵與普通的按鍵功能基本相同,只是將普通鼠標的滾輪(wheel)改成了上下鍵的。這兩種的功能是相同的。鍵盤用于阿拉伯數(shù)字、字母以及各種功能鍵的輸入。采用矩陣式的手機鍵盤,節(jié)省了主控芯片的I/O口資源。

          2 軟件部分設(shè)計
          2.1 通用I/O模擬SPl接口
          無線發(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所列。

          電能表相關(guān)文章:電能表原理


          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();