时间:2024-07-28
苏靖枫,贺靖康
(河南城建学院计算机科学与工程系,河南平顶山467036)
随着电子信息技术的发展和人们对便携体验更高的要求,笔记本电脑、平板电脑、智能手机等数码产品如洪水般涌进人们的生活,这些产品逐渐放弃传统的物理键盘,转而用精简的小键盘、窄小的QWERTY键盘甚至虚拟键盘。但是当文字录入等操作用时较长时,这些键盘设计就会显得力不从心,影响工作效率[1]。这时人们更希望有一部标准的实体键盘进行操作,这样的键盘要轻便、易于携带并能够摆脱线缆的束缚,与数码产品组合使用时要实用、灵活和美观。
本文以键盘的三段式折叠和数字键盘区可分离作为基本的外观设计,采用BCM2042芯片作为键盘主控芯片,设计了蓝牙键盘的主要电路、布局结构以及特殊的使用功能,实现了键盘的三段可折叠功能和无线传输功能,并探索了蓝牙键盘可以拓展的功能。
键盘的主控芯片采用的是Broadcom公司生产的一款适用于蓝牙键盘与鼠标的BCM2042芯片。该芯片主要由连接键盘按键扫描阵列的直接接口、光学鼠标逻辑、板上稳压器以及低功率模块等构成,采用了单芯片配置和符合蓝牙人性化接口设备(HID)规范的内置固件,具有降低干扰的可调跳频技术、高性能蓝牙与基带技术和可有效延长电池寿命的快速连接技术。BCM2042的主要功能模块如图1所示。
传统键盘的最右端是5排的数字键盘区,可方便地进行大量数字的录入和计算作业,然而主键盘区上的数字键,完全可以满足大部分人的日常使用[3]。本文采用分离式键盘的设计思想,即主键盘区和数字键盘区相分离,分离后的数字键盘区可以通过端口与主键盘区连接,既能缩短键盘的长度,又能满足有大量数字录入的需求。
为了进一步减小键盘的体积,主键盘区省去传统键盘顶端的“ESC”和“F1-F12”等功能键,可使宽度减少约1/6。主键盘区增加了一个Fn键,此键可与主键盘区的“0-9”、“-”和“=”等12个键组合,实现传统键盘上“F1-F12”键的按键功能。键盘的整体布局如图2所示。
图1 BCM2042功能模块
图2 键盘的整体布局
图3 “POWER/ESC”键的位置设计
为了实现键盘外形的小巧、轻便,满足便携式产品的需求,将主键盘区分为三段,采用三段式折叠设计方案。为了降低折叠后的厚度同时兼顾使用感受,主键盘区采用“X架构”,各侧面三维图如图4所示。“X架构”运用两组平衡四连杆机构,以强迫运动方式运动,让使用者无论是按触键帽中心还是四个角落时,都能感受到顺畅的手感[4]。“X架构”独有“三段式”触感,提高了敲击的舒适性。
图4 主键盘区各侧面的三维图
为了使折叠后的键盘整体厚度尽可能小,在制作电路板时,将键盘折叠处的电路连线集成束,并可伸缩10 mm左右。与传统的使用转轴的折叠方案相比,这种方案不但简单易行,而且可以使键盘折叠后几乎不增加额外的厚度,其厚度大约为33 mm(仅主键盘区)。
键盘主控芯片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++;
}
BCM2042芯片集成了键盘扫描接口,负责处理与按键有关的阵列信息,但芯片需要外接晶振、天线等电子元件才可以正常工作。ZBA公司的BT22K-2042蓝牙模块基于BCM2042芯片设计,容易实现该芯片的所有功能,便于直接对键盘电路和功能进行设计,省去了焊接和微带天线设计的麻烦。按照BT22K-2042蓝牙模块的管脚图,设计了蓝牙模块与键盘矩阵的连接(见图5)。数字键盘分离后,通过将主键盘区(A区)行列线与数字键盘区(B区)行列线对应连接,实现主键盘与数字键盘的连接,再加入电源控制、主控开关、LED指示灯等电路模块即实现了传统键盘的一般功能。
图5 键盘矩阵与按键的功能对应
为了进一步增强键盘的功能,提出以下拓展方案:
选用BCM2042芯片虽然可以降低使用功率,延长电池使用寿命,但是频繁更换电池仍然不方便。如果键盘使用锂电池并且在电路设计部分加入锂电池的充电模块,便可以长时间使用键盘,免去频繁更换电池的麻烦。
目前智能手机均有蓝牙模块,一般支持外接蓝牙HID设备,因此实现键盘的跨平台功能将会使当前主流的手机操作更加方便[5]。研究主流的计算机操作系统和移动手机的智能操作系统,自主研发蓝牙驱动或支持软件,实现键盘的跨平台功能,满足各种移动设备的需要,使键盘的应用领域更广泛。
本文以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.
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!