蘇靖楓,賀靖康
(河南城建學(xué)院計算機科學(xué)與工程系,河南平頂山467036)
隨著電子信息技術(shù)的發(fā)展和人們對便攜體驗更高的要求,筆記本電腦、平板電腦、智能手機等數(shù)碼產(chǎn)品如洪水般涌進(jìn)人們的生活,這些產(chǎn)品逐漸放棄傳統(tǒng)的物理鍵盤,轉(zhuǎn)而用精簡的小鍵盤、窄小的QWERTY鍵盤甚至虛擬鍵盤。但是當(dāng)文字錄入等操作用時較長時,這些鍵盤設(shè)計就會顯得力不從心,影響工作效率[1]。這時人們更希望有一部標(biāo)準(zhǔn)的實體鍵盤進(jìn)行操作,這樣的鍵盤要輕便、易于攜帶并能夠擺脫線纜的束縛,與數(shù)碼產(chǎn)品組合使用時要實用、靈活和美觀。
本文以鍵盤的三段式折疊和數(shù)字鍵盤區(qū)可分離作為基本的外觀設(shè)計,采用BCM2042芯片作為鍵盤主控芯片,設(shè)計了藍(lán)牙鍵盤的主要電路、布局結(jié)構(gòu)以及特殊的使用功能,實現(xiàn)了鍵盤的三段可折疊功能和無線傳輸功能,并探索了藍(lán)牙鍵盤可以拓展的功能。
鍵盤的主控芯片采用的是Broadcom公司生產(chǎn)的一款適用于藍(lán)牙鍵盤與鼠標(biāo)的BCM2042芯片。該芯片主要由連接鍵盤按鍵掃描陣列的直接接口、光學(xué)鼠標(biāo)邏輯、板上穩(wěn)壓器以及低功率模塊等構(gòu)成,采用了單芯片配置和符合藍(lán)牙人性化接口設(shè)備(HID)規(guī)范的內(nèi)置固件,具有降低干擾的可調(diào)跳頻技術(shù)、高性能藍(lán)牙與基帶技術(shù)和可有效延長電池壽命的快速連接技術(shù)。BCM2042的主要功能模塊如圖1所示。
傳統(tǒng)鍵盤的最右端是5排的數(shù)字鍵盤區(qū),可方便地進(jìn)行大量數(shù)字的錄入和計算作業(yè),然而主鍵盤區(qū)上的數(shù)字鍵,完全可以滿足大部分人的日常使用[3]。本文采用分離式鍵盤的設(shè)計思想,即主鍵盤區(qū)和數(shù)字鍵盤區(qū)相分離,分離后的數(shù)字鍵盤區(qū)可以通過端口與主鍵盤區(qū)連接,既能縮短鍵盤的長度,又能滿足有大量數(shù)字錄入的需求。
為了進(jìn)一步減小鍵盤的體積,主鍵盤區(qū)省去傳統(tǒng)鍵盤頂端的“ESC”和“F1-F12”等功能鍵,可使寬度減少約1/6。主鍵盤區(qū)增加了一個Fn鍵,此鍵可與主鍵盤區(qū)的“0-9”、“-”和“=”等12個鍵組合,實現(xiàn)傳統(tǒng)鍵盤上“F1-F12”鍵的按鍵功能。鍵盤的整體布局如圖2所示。
圖1 BCM2042功能模塊
圖2 鍵盤的整體布局
圖3 “POWER/ESC”鍵的位置設(shè)計
為了實現(xiàn)鍵盤外形的小巧、輕便,滿足便攜式產(chǎn)品的需求,將主鍵盤區(qū)分為三段,采用三段式折疊設(shè)計方案。為了降低折疊后的厚度同時兼顧使用感受,主鍵盤區(qū)采用“X架構(gòu)”,各側(cè)面三維圖如圖4所示?!癤架構(gòu)”運用兩組平衡四連桿機構(gòu),以強迫運動方式運動,讓使用者無論是按觸鍵帽中心還是四個角落時,都能感受到順暢的手感[4]。“X架構(gòu)”獨有“三段式”觸感,提高了敲擊的舒適性。
圖4 主鍵盤區(qū)各側(cè)面的三維圖
為了使折疊后的鍵盤整體厚度盡可能小,在制作電路板時,將鍵盤折疊處的電路連線集成束,并可伸縮10 mm左右。與傳統(tǒng)的使用轉(zhuǎn)軸的折疊方案相比,這種方案不但簡單易行,而且可以使鍵盤折疊后幾乎不增加額外的厚度,其厚度大約為33 mm(僅主鍵盤區(qū))。
鍵盤主控芯片BCM2042集成了8051微處理器,根據(jù)8051微處理器的功能特性,可以實現(xiàn)如下基本功能:初始化藍(lán)牙芯片、鍵盤掃描、識別鼠標(biāo)運動方向、鼠標(biāo)脈沖計數(shù)、去抖動、鍵盤鼠標(biāo)數(shù)據(jù)編碼、鍵盤鼠標(biāo)數(shù)據(jù)發(fā)送等。這些基本的功能可由C51編譯器開發(fā),程序流程如圖4所示。
圖4 鍵盤基本功能程序流程
對無線設(shè)備來講,電池的續(xù)航能力是一項非常重要的性能指標(biāo),為了降低電能損耗,在電路設(shè)計中只用一個LED燈來實現(xiàn)鍵盤不同狀態(tài)的顯示。根據(jù)設(shè)計的要求,實現(xiàn)了如下功能:
(1)“POWER/ESC”鍵的開關(guān)功能,開機長按2 s左右,LED燈閃爍3次,每次間隔約0.5 s。關(guān)機長按3 s左右,LED燈閃爍2次每次間隔約1 s,其中的主要代碼如下。
sbit P10=P1^0;//LED
sbit key=P1^2;//開關(guān),外部I/O接口
uchar time_count=0;//間隔時間計數(shù)變量
uchar times=0;//LED燈閃爍次數(shù)
//定時器0中斷處理子程序
void Time0()//interrupt 1 using 0
{
TH0=0xdc;
TL0=0x00;//設(shè)定時值為10 ms
time_count++;//計數(shù)加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;}
}
//關(guān)機判斷
bool key_off()
{
if(key==0)
{uint i;
for(i=1;i<=300;i++)time_count++;//關(guān)機長按3 s
if(key==0)return true;else return false;}
}
//關(guān)機判斷主循環(huán)程序
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())//關(guān)機情況
{if(times>=2)p1=0x00;//LED長滅
if(time_count==100)//1 s時間間隔
{P10=!P10;//IO口取反,即LED燈閃爍變化
times++;}
}
}
(2)數(shù)字鍵盤區(qū)連上主鍵盤后,LED燈常亮約半分鐘,斷開后LED燈不反應(yīng),主要代碼如下。
while(key==0)
{
if(times>=3000)//LED亮半分鐘
{p1=0x00;}//LED長滅
p1=0xff;
time_count++;
}
BCM2042芯片集成了鍵盤掃描接口,負(fù)責(zé)處理與按鍵有關(guān)的陣列信息,但芯片需要外接晶振、天線等電子元件才可以正常工作。ZBA公司的BT22K-2042藍(lán)牙模塊基于BCM2042芯片設(shè)計,容易實現(xiàn)該芯片的所有功能,便于直接對鍵盤電路和功能進(jìn)行設(shè)計,省去了焊接和微帶天線設(shè)計的麻煩。按照BT22K-2042藍(lán)牙模塊的管腳圖,設(shè)計了藍(lán)牙模塊與鍵盤矩陣的連接(見圖5)。數(shù)字鍵盤分離后,通過將主鍵盤區(qū)(A區(qū))行列線與數(shù)字鍵盤區(qū)(B區(qū))行列線對應(yīng)連接,實現(xiàn)主鍵盤與數(shù)字鍵盤的連接,再加入電源控制、主控開關(guān)、LED指示燈等電路模塊即實現(xiàn)了傳統(tǒng)鍵盤的一般功能。
圖5 鍵盤矩陣與按鍵的功能對應(yīng)
為了進(jìn)一步增強鍵盤的功能,提出以下拓展方案:
選用BCM2042芯片雖然可以降低使用功率,延長電池使用壽命,但是頻繁更換電池仍然不方便。如果鍵盤使用鋰電池并且在電路設(shè)計部分加入鋰電池的充電模塊,便可以長時間使用鍵盤,免去頻繁更換電池的麻煩。
目前智能手機均有藍(lán)牙模塊,一般支持外接藍(lán)牙HID設(shè)備,因此實現(xiàn)鍵盤的跨平臺功能將會使當(dāng)前主流的手機操作更加方便[5]。研究主流的計算機操作系統(tǒng)和移動手機的智能操作系統(tǒng),自主研發(fā)藍(lán)牙驅(qū)動或支持軟件,實現(xiàn)鍵盤的跨平臺功能,滿足各種移動設(shè)備的需要,使鍵盤的應(yīng)用領(lǐng)域更廣泛。
本文以BCM2042芯片作為鍵盤主控芯片,對鍵盤的電路和軟件功能進(jìn)行了基本設(shè)計,采用可分離數(shù)字鍵和三段可折疊設(shè)計方案,滿足了移動設(shè)備的需求。
[1] 鄭郁正,楊明欣,馮新華.一種PC鍵盤的革命性設(shè)計[J].微計算機信息,2007,23(72):276-278.
[2] 劉樂善,葉濟(jì)忠.微型計算機接口技術(shù)及應(yīng)用[M].北京:電子工業(yè)出版社,1996.
[3] 沈浩,楊君順,唐波.數(shù)字鍵盤布局人機工程學(xué)的研究[J].包裝工程,2005,26(4):129-130.
[4] 趙英新,陳淑,景璟.人機工程鍵盤的設(shè)計與研究[J].山東工業(yè)大學(xué)學(xué)報,2001,31(5):433-440.
[5] 楊明朗,袁桃.基于人機工程學(xué)的鍵盤設(shè)計[J].包裝工程,2005,26(5):168-170.