APP下载

一种新型多功能蓝牙键盘设计方法

2012-02-08苏靖枫贺靖康

河南城建学院学报 2012年3期
关键词:鼠标键盘蓝牙

苏靖枫,贺靖康

(河南城建学院计算机科学与工程系,河南平顶山467036)

随着电子信息技术的发展和人们对便携体验更高的要求,笔记本电脑、平板电脑、智能手机等数码产品如洪水般涌进人们的生活,这些产品逐渐放弃传统的物理键盘,转而用精简的小键盘、窄小的QWERTY键盘甚至虚拟键盘。但是当文字录入等操作用时较长时,这些键盘设计就会显得力不从心,影响工作效率[1]。这时人们更希望有一部标准的实体键盘进行操作,这样的键盘要轻便、易于携带并能够摆脱线缆的束缚,与数码产品组合使用时要实用、灵活和美观。

本文以键盘的三段式折叠和数字键盘区可分离作为基本的外观设计,采用BCM2042芯片作为键盘主控芯片,设计了蓝牙键盘的主要电路、布局结构以及特殊的使用功能,实现了键盘的三段可折叠功能和无线传输功能,并探索了蓝牙键盘可以拓展的功能。

1 键盘的主控芯片

键盘的主控芯片采用的是Broadcom公司生产的一款适用于蓝牙键盘与鼠标的BCM2042芯片。该芯片主要由连接键盘按键扫描阵列的直接接口、光学鼠标逻辑、板上稳压器以及低功率模块等构成,采用了单芯片配置和符合蓝牙人性化接口设备(HID)规范的内置固件,具有降低干扰的可调跳频技术、高性能蓝牙与基带技术和可有效延长电池寿命的快速连接技术。BCM2042的主要功能模块如图1所示。

2 键盘的整体设计

2.1 外观设计

传统键盘的最右端是5排的数字键盘区,可方便地进行大量数字的录入和计算作业,然而主键盘区上的数字键,完全可以满足大部分人的日常使用[3]。本文采用分离式键盘的设计思想,即主键盘区和数字键盘区相分离,分离后的数字键盘区可以通过端口与主键盘区连接,既能缩短键盘的长度,又能满足有大量数字录入的需求。

为了进一步减小键盘的体积,主键盘区省去传统键盘顶端的“ESC”和“F1-F12”等功能键,可使宽度减少约1/6。主键盘区增加了一个Fn键,此键可与主键盘区的“0-9”、“-”和“=”等12个键组合,实现传统键盘上“F1-F12”键的按键功能。键盘的整体布局如图2所示。

图1 BCM2042功能模块

图2 键盘的整体布局

图3 “POWER/ESC”键的位置设计

2.2 主键盘区三段式折叠设计

为了实现键盘外形的小巧、轻便,满足便携式产品的需求,将主键盘区分为三段,采用三段式折叠设计方案。为了降低折叠后的厚度同时兼顾使用感受,主键盘区采用“X架构”,各侧面三维图如图4所示。“X架构”运用两组平衡四连杆机构,以强迫运动方式运动,让使用者无论是按触键帽中心还是四个角落时,都能感受到顺畅的手感[4]。“X架构”独有“三段式”触感,提高了敲击的舒适性。

图4 主键盘区各侧面的三维图

为了使折叠后的键盘整体厚度尽可能小,在制作电路板时,将键盘折叠处的电路连线集成束,并可伸缩10 mm左右。与传统的使用转轴的折叠方案相比,这种方案不但简单易行,而且可以使键盘折叠后几乎不增加额外的厚度,其厚度大约为33 mm(仅主键盘区)。

2.3 软件设计

键盘主控芯片BCM2042集成了8051微处理器,根据8051微处理器的功能特性,可以实现如下基本功能:初始化蓝牙芯片、键盘扫描、识别鼠标运动方向、鼠标脉冲计数、去抖动、键盘鼠标数据编码、键盘鼠标数据发送等。这些基本的功能可由C51编译器开发,程序流程如图4所示。

图4 键盘基本功能程序流程

对无线设备来讲,电池的续航能力是一项非常重要的性能指标,为了降低电能损耗,在电路设计中只用一个LED灯来实现键盘不同状态的显示。根据设计的要求,实现了如下功能:

(1)“POWER/ESC”键的开关功能,开机长按2 s左右,LED灯闪烁3次,每次间隔约0.5 s。关机长按3 s左右,LED灯闪烁2次每次间隔约1 s,其中的主要代码如下。

sbit P10=P1^0;//LED

sbit key=P1^2;//开关,外部I/O接口

uchar time_count=0;//间隔时间计数变量

uchar times=0;//LED灯闪烁次数

//定时器0中断处理子程序

void Time0()//interrupt 1 using 0

{

TH0=0xdc;

TL0=0x00;//设定时值为10 ms

time_count++;//计数加1

}

//开机判断

bool key_on()

{

if(key==0)//0表示“POWER/ESC“键

{uint i;

for(i=1;i<=200;i++)time_count++;//开机长按2 s

if(key==0)return true;else return false;}

}

//关机判断

bool key_off()

{

if(key==0)

{uint i;

for(i=1;i<=300;i++)time_count++;//关机长按3 s

if(key==0)return true;else return false;}

}

//关机判断主循环程序

while(1)

{

if(key_on())//开机情况

{if(times>=3)p1=0x00;//LED长灭

if(time_count==50)//0.5 s时间间隔

{P10=!P10;//IO口取反,即LED闪烁灯变化

times++;}

}

if(key_off())//关机情况

{if(times>=2)p1=0x00;//LED长灭

if(time_count==100)//1 s时间间隔

{P10=!P10;//IO口取反,即LED灯闪烁变化

times++;}

}

}

(2)数字键盘区连上主键盘后,LED灯常亮约半分钟,断开后LED灯不反应,主要代码如下。

while(key==0)

{

if(times>=3000)//LED亮半分钟

{p1=0x00;}//LED长灭

p1=0xff;

time_count++;

}

2.4 矩阵电路设计

BCM2042芯片集成了键盘扫描接口,负责处理与按键有关的阵列信息,但芯片需要外接晶振、天线等电子元件才可以正常工作。ZBA公司的BT22K-2042蓝牙模块基于BCM2042芯片设计,容易实现该芯片的所有功能,便于直接对键盘电路和功能进行设计,省去了焊接和微带天线设计的麻烦。按照BT22K-2042蓝牙模块的管脚图,设计了蓝牙模块与键盘矩阵的连接(见图5)。数字键盘分离后,通过将主键盘区(A区)行列线与数字键盘区(B区)行列线对应连接,实现主键盘与数字键盘的连接,再加入电源控制、主控开关、LED指示灯等电路模块即实现了传统键盘的一般功能。

图5 键盘矩阵与按键的功能对应

3 拓展功能探索

为了进一步增强键盘的功能,提出以下拓展方案:

(1)充电模块设计

选用BCM2042芯片虽然可以降低使用功率,延长电池使用寿命,但是频繁更换电池仍然不方便。如果键盘使用锂电池并且在电路设计部分加入锂电池的充电模块,便可以长时间使用键盘,免去频繁更换电池的麻烦。

(2)跨平台设计

目前智能手机均有蓝牙模块,一般支持外接蓝牙HID设备,因此实现键盘的跨平台功能将会使当前主流的手机操作更加方便[5]。研究主流的计算机操作系统和移动手机的智能操作系统,自主研发蓝牙驱动或支持软件,实现键盘的跨平台功能,满足各种移动设备的需要,使键盘的应用领域更广泛。

4 结论

本文以BCM2042芯片作为键盘主控芯片,对键盘的电路和软件功能进行了基本设计,采用可分离数字键和三段可折叠设计方案,满足了移动设备的需求。

[1] 郑郁正,杨明欣,冯新华.一种PC键盘的革命性设计[J].微计算机信息,2007,23(72):276-278.

[2] 刘乐善,叶济忠.微型计算机接口技术及应用[M].北京:电子工业出版社,1996.

[3] 沈浩,杨君顺,唐波.数字键盘布局人机工程学的研究[J].包装工程,2005,26(4):129-130.

[4] 赵英新,陈淑,景璟.人机工程键盘的设计与研究[J].山东工业大学学报,2001,31(5):433-440.

[5] 杨明朗,袁桃.基于人机工程学的键盘设计[J].包装工程,2005,26(5):168-170.

猜你喜欢

鼠标键盘蓝牙
你知道手机拨号键盘上为什么要有*和#吗?
蓝牙音箱的直线之美
键盘猫
Progress in Neural NLP: Modeling, Learning, and Reasoning
Cлово месяца
ikbc R300机械键盘
简单、易用,可玩性强Q AcousticsBT3蓝牙音箱
适合自己的才是最好的 德生(TECSUN) BT-50蓝牙耳机放大器
紧急:蓝牙指尖陀螺自燃!安全隐患频出
45岁的鼠标