微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 消费类电子 > 系统级RF收发芯片nRF24E1及其在无线键盘中的应用

系统级RF收发芯片nRF24E1及其在无线键盘中的应用

时间:10-15 来源:便携式产品设计 点击:
3 nRF24E1在无线键盘中的应用

3.1 键盘扫描矩阵

nRF24E1与无线键盘的接口方式如图2所示。普通PC键盘的按键是104个,而图2所示的键盘矩阵为8行20列,最多可定义160个按键开关。设计过程中,其中的某些按键可以不进行定义。每个按键布置在行列交接处,当按键被按下时,与该按键相接的行和列即被短接。为了进行键盘矩阵扫描,nRF24E1按时序把列扫描信号送到移位寄存器。列扫描信号由1个"0"和19个"1"组成,"0"在移位寄存器中逐位往后移,每移动1次,键盘行的状态就被扫描1次。如果此列的某按键被按,则与该按键相对应的行值为"0",其他的为"1"。



在键盘扫描的过程中,按键可能会出现抖动,因此编写软件时应该考虑到去抖动问题。常用的去抖动方法:一旦系统检测到某按键被按下,则延时30~50ms后再去检测该按键。如果此时检测到的该按键状态还是被按下状态,就把该按键当作被按下一次处理。

3.2 系统软件

nRF24E1有4KB的片内RAM,这对于键盘软件已经够用。系统上电后,E2PROM中的程序自动下载到该4KB的RAM中,MCU即可直接对RAM中的代码进行读写。

键盘软件的功能:

(1)提供移位寄存器所需要的列扫描信息。
(2)读出行扫描值。
(3)检测按键被按下和去抖动。
(4)发送扫描到的被按下按键的信息到PC。
(5)节能状态循环。

无线键盘应该使用节能技术以延长电池的寿命。nRF24E1片内nRF2401的ShockBurstTM技术是为用户节能设计的,所以设计人员在编写软件时可以不考虑节能问题。但是,设计人员应该考虑在系统空闲时怎样进一步减小电流。

nRF2401的晶振为16MHz时,其片内的8051内核工作电流为3mA。由于键盘是周期性工作的,相对工作时间来说,键盘的空闲时间很长。所以,当键盘不工作时,有必要把片内8051设为空闲状态,且片内8051空闲状态的工作电流只有2μA,用此来减小电池消耗。系统在空闲状态和工作状态时的任务分述如下。

空闲状态:

(1)完成所有的键盘扫描(约需要0.5ms)。
(2)如果有按键被按下,则进入工作状态。
(3)把8051设为空闲状态,同时RTC的唤醒时间设为20ms。
(4)空闲状态循环。

工作状态:

(1)每秒钟扫描键盘500次。
(2)发送所有的按键信息给PC。
(3)如果10秒钟内没有按键被按下,则进入空闲状态。
(4)工作状态循环。

一般来说,按照上述方法考虑电池节能的问题,可以使电池的寿命提高约40倍。所以,在系统软件设计时,进行电池节能的考虑至关重要。

4 结 论

实践证明,nRF24E1非常适合用来实现无线键盘与PC机之间的通信,其优点:

(1)nRF24E1内嵌8051,更易于减小体积。
(2)采用了ShockBurstTM技术,使编程更方便。
(3)更易于实现安全的键盘信息发送。
(4)2.4GHz的收发频段为全球开放频段。
(5)电池监管更方便,并且功耗低。
(6)nRF24E1具有的GPIO使得扩展其他功能,如LED指示等更加容易。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top