<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 消費電子 > 設計應用 > 系統級RF收發(fā)芯片nRF24E1及其在無(wú)線(xiàn)鍵盤(pán)中的應用

系統級RF收發(fā)芯片nRF24E1及其在無(wú)線(xiàn)鍵盤(pán)中的應用

作者: 時(shí)間:2009-11-03 來(lái)源:網(wǎng)絡(luò ) 收藏

  大部分都由電池供電,所以需要用到許多節能技術(shù)?;诠澞艿哪康?,許多沒(méi)有使用有線(xiàn)上的“Num Lock”、“Caps Lock”、“Scroll Lock”這3個(gè)LED指示燈。另外,鍵盤(pán)應該合理有效地使用模塊,從鍵盤(pán)到PC的數據包可能包含多達8個(gè)的擊鍵信息。鍵盤(pán)掃描矩陣約每秒鐘掃描500次,一般每個(gè)掃描周期內,所檢測到的擊鍵不多于1個(gè)。因為人感覺(jué)不到150ms的檢測延時(shí),所以,當鍵盤(pán)檢測到1個(gè)擊鍵和發(fā)送數據包到PC后,可以空閑150ms以上的時(shí)間,直到有下一個(gè)按鍵被按下,這樣可以盡量減少RF模塊的工作時(shí)間[2]。
  對于只需要發(fā)送數據的鍵盤(pán),使用nRF24E2即能滿(mǎn)足一般鍵盤(pán)的需要。如果要求鍵盤(pán)不僅能夠發(fā)送信息而且還要接收PC機反饋信息,則需要使用來(lái)做鍵盤(pán)中的無(wú)線(xiàn)模塊。雙向更利于實(shí)現密碼編制、數據包重發(fā)和當關(guān)閉時(shí)鍵盤(pán)處于節能狀態(tài)。
3在無(wú)線(xiàn)鍵盤(pán)中的
3.1 鍵盤(pán)掃描矩陣

  與無(wú)線(xiàn)鍵盤(pán)的接口方式如圖2所示。普通PC鍵盤(pán)的按鍵是104個(gè),而圖2所示的鍵盤(pán)矩陣為8行20列,最多可定義160個(gè)按鍵開(kāi)關(guān)。設計過(guò)程中,其中的某些按鍵可以不進(jìn)行定義。每個(gè)按鍵布置在行列交接處,當按鍵被按下時(shí),與該按鍵相接的行和列即被短接。為了進(jìn)行鍵盤(pán)矩陣掃描,nRF24E1按時(shí)序把列掃描信號送到移位寄存器。列掃描信號由1個(gè)“0”和19個(gè)“1”組成,“0”在移位寄存器中逐位往后移,每移動(dòng)1次,鍵盤(pán)行的狀態(tài)就被掃描1次。如果此列的某按鍵被按,則與該按鍵相對應的行值為“0”,其他的為“1”。

本文引用地址:http://dyxdggzs.com/article/166861.htm

  在鍵盤(pán)掃描的過(guò)程中,按鍵可能會(huì )出現抖動(dòng),因此編寫(xiě)軟件時(shí)應該考慮到去抖動(dòng)問(wèn)題。常用的去抖動(dòng)方法:一旦檢測到某按鍵被按下,則延時(shí)30~50ms后再去檢測該按鍵。如果此時(shí)檢測到的該按鍵狀態(tài)還是被按下?tīng)顟B(tài),就把該按鍵當作被按下一次處理。
3.2 軟件
  nRF24E1有4KB的片內RAM,這對于鍵盤(pán)軟件已經(jīng)夠用。系統上電后,E2PROM中的程序自動(dòng)下載到該4KB的RAM中,MCU即可直接對RAM中的代碼進(jìn)行讀寫(xiě)。
  鍵盤(pán)軟件的功能:
  (1)提供移位寄存器所需要的列掃描信息。
  (2)讀出行掃描值。
  (3)檢測按鍵被按下和去抖動(dòng)。
  (4)發(fā)送掃描到的被按下按鍵的信息到PC。
  (5)節能狀態(tài)循環(huán)。
  無(wú)線(xiàn)鍵盤(pán)應該使用節能技術(shù)以延長(cháng)電池的壽命。nRF24E1片內nRF2401的ShockBurstTM技術(shù)是為用戶(hù)節能設計的,所以設計人員在編寫(xiě)軟件時(shí)可以不考慮節能問(wèn)題。但是,設計人員應該考慮在系統空閑時(shí)怎樣進(jìn)一步減小電流。
  nRF2401的晶振為16MHz時(shí),其片內的8051內核工作電流為3mA。由于鍵盤(pán)是周期性工作的,相對工作時(shí)間來(lái)說(shuō),鍵盤(pán)的空閑時(shí)間很長(cháng)。所以,當鍵盤(pán)不工作時(shí),有必要把片內8051設為空閑狀態(tài),且片內8051空閑狀態(tài)的工作電流只有2μA,用此來(lái)減小電池消耗。系統在空閑狀態(tài)和工作狀態(tài)時(shí)的任務(wù)分述如下。
  空閑狀態(tài):
 ?。?)完成所有的鍵盤(pán)掃描(約需要0.5ms)。
 ?。?)如果有按鍵被按下,則進(jìn)入工作狀態(tài)。
 ?。?)把8051設為空閑狀態(tài),同時(shí)RTC的喚醒時(shí)間設為20ms。
 ?。?)空閑狀態(tài)循環(huán)。
  工作狀態(tài):
 ?。?)每秒鐘掃描鍵盤(pán)500次。
 ?。?)發(fā)送所有的按鍵信息給PC。
 ?。?)如果10秒鐘內沒(méi)有按鍵被按下,則進(jìn)入空閑狀態(tài)。
 ?。?)工作狀態(tài)循環(huán)。
  一般來(lái)說(shuō),按照上述方法考慮電池節能的問(wèn)題,可以使電池的壽命提高約40倍。所以,在系統軟件設計時(shí),進(jìn)行電池節能的考慮至關(guān)重要。
4 結 論
  實(shí)踐證明,nRF24E1非常適合用來(lái)實(shí)現無(wú)線(xiàn)鍵盤(pán)與PC機之間的通信,其優(yōu)點(diǎn):
 ?。?)nRF24E1內嵌8051,更易于減小體積。
 ?。?)采用了ShockBurstTM技術(shù),使編程更方便。
 ?。?)更易于實(shí)現安全的鍵盤(pán)信息發(fā)送。
 ?。?)2.4GHz的頻段為全球開(kāi)放頻段。
 ?。?)電池監管更方便,并且功耗低。
 ?。?)nRF24E1具有的GPIO使得擴展其他功能,如LED指示等更加容易。


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>