基于Murphypinyin的嵌入式鍵盤(pán)設計
引 言
隨著(zhù)嵌入式系統的飛速發(fā)展,在嵌入式手持設備中,人機交互設備是與用戶(hù)接觸最多的部分,最能夠直接快速地體現出該設備的性能。所以,是否有一個(gè)友好的、快速的、可靠的人機交互設備已經(jīng)成為衡量一款手持設備的重要指標。在嵌入式人機交互設備中,鍵盤(pán)由于其具有很高的準確性和可靠性,能夠適應各種惡劣的工作環(huán)境,并且具有很長(cháng)的使用壽命,而得到廣泛應用。
本文根據手持終端的特點(diǎn),設計出一款矩陣鍵盤(pán),并在Linux平臺下開(kāi)發(fā)出鍵盤(pán)的驅動(dòng)程序。采用Qt/Embedded構建圖形界面,通過(guò)對 Qt/Embedded自帶輸入法的分析,結合Murphpinyin中文輸入法軟件包,構建了一款可輸入數字、中/英文的嵌入式鍵盤(pán)。
1 硬件設計
本系統的硬件部分主要是一個(gè)4列5行的矩陣鍵盤(pán),如圖1所示。其中列線(xiàn)COL0~COL3使用了S3C2440的4個(gè)中斷引腳――EINT10、ENIT13、EINT15、EINT20,并且每根列線(xiàn)都有一個(gè)4.7 kΩ的上拉電路,把中斷引腳電平拉高,確保按鍵空閑時(shí)不會(huì )觸發(fā)中斷;行線(xiàn)ROW0~ROW4使用的是S3C2440的5個(gè)普通I/O口――GPE11、GPE13、GPG3、GPG6、GPG11。這里需要注意的問(wèn)題是,一定要確保列線(xiàn)所用的中斷在Linux的各個(gè)設備中尚未使用到,否則在后面的驅動(dòng)程序中將會(huì )造成驅動(dòng)程序初始化失敗。
考慮到手持終端操作的方便性,將所有的按鍵進(jìn)行重新布局,如圖2所示。為了延長(cháng)手持設備的使用壽命、提高可靠性,增加了電源按鍵Power。另外,考慮到手持設備的低功耗要求,增加了背光控制按鈕Back-Light,通過(guò)控制LCD_PWREN引腳的高低電平,控制LCD背光的開(kāi)關(guān)。其中電源按鍵Power、背光控制按鍵BackLight為單獨按鍵,直接與S3C2440的中斷引腳相連。本文重點(diǎn)對矩陣鍵盤(pán)做詳細介紹,電源按鍵和背光控制按鍵的處理機制與矩陣鍵盤(pán)類(lèi)似,這里不再做介紹。
評論