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

          新聞中心

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

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

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


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



          1.2 電源管理

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

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



          1.3 光傳感器部分

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



          1.4 按鍵與鍵盤

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

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

          2 軟件部分設(shè)計(jì)

          2.1 通用I/O模擬SPI接口

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

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


          評論


          相關(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); })();