高振斌,陳 賀,華 中,寇志強
(1.河北工業(yè)大學 信息工程學院,天津 300401;2.天津鉑創(chuàng)國茂電子科技發(fā)展有限公司,天津 300384)
基于HAV1007的觸摸屏紅外控制器設計
高振斌1,陳 賀2,華 中2,寇志強3
(1.河北工業(yè)大學 信息工程學院,天津 300401;2.天津鉑創(chuàng)國茂電子科技發(fā)展有限公司,天津 300384)
主要介紹了觸摸屏紅外控制器的設計方案,該方案主要包括主控制單元HAV1007芯片介紹、主控單元和外圍硬件電路的連接、整體軟件設計和程序流程圖。實現(xiàn)了鼠標操作、數(shù)字手寫輸入和雙擊確認功能。該觸摸屏紅外控制器能夠流暢地控制紅外接收設備,如電視、機頂盒、空調(diào)等,并獲得了良好的用戶體驗。
設計方案;觸摸屏紅外控制器;HAV1007
隨著社會的發(fā)展,人們對生活舒適度提出了更高的要求。機頂盒、電視、空調(diào)大部分使用固定按鍵紅外遙控器,而每種電器都配備有自己獨立的固定按鍵遙控器。人們經(jīng)常將機頂盒和電視的遙控器混淆,使用不便。固定按鍵式的遙控器存在一些缺點,固定按鍵的塑膠材料易老化,印刷電路板易腐蝕,造成遙控器失靈,一個遙控器經(jīng)常需要進行除塵操作,并且淘汰的遙控器會污染環(huán)境。傳統(tǒng)的按鍵遙控器功耗較高,需要經(jīng)常更換電池,廢舊的電池造成污染。
觸摸屏的出現(xiàn)提供了一種新的人機交互方式,觸摸屏代替按鍵進行操作,使得人機交互更為方便[1]。由此產(chǎn)生設計觸摸屏控制器的設計想法。
觸摸屏紅外控制器利用電容式觸摸屏代替固定按鍵來進行操作,避免了傳統(tǒng)遙控器按鍵老化的缺點,通過手指在觸摸屏上滑動進行上下左右操作,比按鍵式更加靈敏、方便。采用鋰電池進行供電,該鋰電池可利用USB接口進行反復充電,同時控制器具有自動休眠功能,使得能耗更低。更新紅外協(xié)議可控制多種紅外接收設備,實現(xiàn)“一機多用”[2]。
1.1 系統(tǒng)硬件設計
整體硬件包括:USB轉(zhuǎn)I2C模塊(USB to I2C)、低功耗喚醒(Low Power Wake-up)、觸摸屏以及連接、電源管理模塊(Power Management)、LED燈顯示、紅外發(fā)射、主控芯片HAV1007。
USB轉(zhuǎn)I2C模塊:該模塊主要用作主控芯片HAV1007和PC之間的通信。首先,通過固定的編碼格式將紅外協(xié)議進行編碼;其次,PC將該編碼后的協(xié)議通過USB to I2C模塊更新到HAV1007中。經(jīng)過上述兩個步驟,完成紅外協(xié)議的更新,以控制多種紅外接收設備。
低功耗喚醒:該模塊主要功能為喚醒低功耗模式下的主控芯片。一定時間內(nèi)沒有對控制器進行操作,主控芯片自動進入休眠模式,再次使用該控制器時,通過該模塊進行喚醒,由休眠模式進入正常模式。
觸摸屏以及連接:該模塊由導電油墨電容式觸摸屏和外圍連接電路組成。主要是采集手指觸摸在觸摸屏中的數(shù)據(jù)信息,并由外圍電路傳遞給芯片進行處理。
電源管理模塊:該模塊由鋰電池和外圍電路組成。
LED燈顯示:該模塊由LED燈和外圍電路組成,主要功能是顯示給用戶當前控制的設備和紅外發(fā)射指示。
紅外發(fā)射:該模塊由三極管和放大電路組成,主要功能是根據(jù)PWM信號,完成紅外信號的發(fā)射。
如圖1所示,硬件的各個模塊以及各模塊之間的連接。
圖1 硬件連接圖
1.2 芯片框圖
本項目使用HAV1007作為主控芯片。芯片HAV1007是針對電容式觸摸屏開發(fā)的一款芯片,其CPU采用蘇州國芯C*Core CPU C306。該CPU采用0.15 μm EFlash生產(chǎn)工藝,4級流水線,完全可綜合的32位嵌入式RISC CPU,低功耗,高性能,高代碼密度,適用于手提設備(PDA、移動電話)、通信設備(無線局域網(wǎng)、路由器)、汽車工業(yè)(ABS、安全氣囊、電噴控制、剎車控制)、家用電器以及眾多的工業(yè)過程控制。具有豐富的外設資源,包括AD,PIT,WDT,SPI,UART,EPORT,I2C等。如圖2所示為芯片HAV1007詳細信息。
圖2 芯片內(nèi)部結構框圖
2.1 整體軟件設計
整體軟件設計方案包括:系統(tǒng)初始化,觸摸數(shù)據(jù)的采集、處理,狀態(tài)轉(zhuǎn)移,紅外協(xié)議更新,紅外數(shù)據(jù)處理和紅外發(fā)射。
首先,按照方案對CPU的外設以及外設的中斷設置進行初始化。電容式觸摸屏由15條X感應線和7條Y感應線組成,需根據(jù)感應線分布情況設置相應的感應參數(shù),同時根據(jù)中斷需求設置各模塊中斷以及各模塊寄存器。
初始化完畢,系統(tǒng)處于等待狀態(tài),手指觸摸時,觸摸信息通過22條感應線傳遞給CPU,采集到的觸摸信息經(jīng)過處理,最終生成觸摸點坐標和手指個數(shù)信息。將生成的數(shù)據(jù)存儲在循環(huán)數(shù)組(觸摸坐標值)中[3],這樣完成了數(shù)據(jù)坐標的存儲,該數(shù)據(jù)信息將作為狀態(tài)轉(zhuǎn)移模塊的數(shù)據(jù)輸入。狀態(tài)轉(zhuǎn)移模塊根據(jù)輸入的數(shù)據(jù)信息和當前狀態(tài),完成狀態(tài)轉(zhuǎn)移和紅外發(fā)射的設置。需要發(fā)射紅外信號時,將待發(fā)射的信號與存儲在Flash中的紅外數(shù)據(jù)匹配,選擇發(fā)射的紅外碼值并編碼,將編碼完畢的數(shù)據(jù)存儲在循環(huán)數(shù)組(紅外編碼數(shù)據(jù))中[4]。紅外發(fā)射模塊讀取紅外編碼數(shù)據(jù),設置PWM引腳,最終由硬件電路對信號進行放大、發(fā)射,這樣就完成從手指觸摸到紅外信號發(fā)射過程。其中,兩個循環(huán)數(shù)組作為兩模塊之間的橋梁,并具有緩沖作用。
更新紅外協(xié)議可控制不同設備,在網(wǎng)頁界面選擇要更新設備的紅外協(xié)議(編碼后),USB to I2C模塊將PC的數(shù)據(jù)傳輸?shù)接|摸屏控制器中,校驗并存儲,完成紅外協(xié)議的更新。如圖3所示,為整體軟件設計方案。
圖3 軟件設計方案
2.2 程序流程圖
在系統(tǒng)中,觸摸信息的產(chǎn)生是周期性的,頻率由WDT控制。系統(tǒng)初始化中設置WDT時間Tw,采點頻率1/Tw。WDT中斷服務函數(shù)中將采點標志位置“1”,主程序中判斷該標志位的值,進行數(shù)據(jù)的采集、存儲,采集完成后,將該標志位清零,控制采點頻率,并將采集到的點存儲在循環(huán)數(shù)組(觸摸坐標)中。
主程序中,將采集到的點進行處理、分析,通過當前狀態(tài)Current_State和處理后的點信息,得出輸出狀態(tài)Output_State和信息。根據(jù)狀態(tài)跳轉(zhuǎn)和輸出信息,判斷紅外信號發(fā)射情況。需發(fā)射紅外數(shù)據(jù)時,將編碼后的紅外數(shù)據(jù)存儲在循環(huán)數(shù)組(紅外編碼)中,由于RAM的限制,循環(huán)數(shù)組不能一次存儲全部的紅外編碼值,需要將發(fā)射完畢后的紅外編碼值清除,在清除后的位置上填充新的紅外編碼值。紅外編碼值的存儲和發(fā)射同步進行,由模塊PIT和PWM共同完成。PIT負責數(shù)據(jù)的填充,PWM負責數(shù)據(jù)的讀取,二者協(xié)同完成紅外編碼數(shù)據(jù)的設置。最終由紅外發(fā)射電路將紅外信號發(fā)射出去。
主程序流程圖和各中斷服務函數(shù)流程如圖4所示。
圖4 程序流程圖
2.3 狀態(tài)轉(zhuǎn)移
參考固定按鍵遙控器的狀態(tài)設置,設計了基于電容式觸摸屏的狀態(tài)機[5]。該狀態(tài)機采用有限狀態(tài)機,有限狀態(tài)機分為Moore型有限狀態(tài)機和Mealy型有限狀態(tài)機。Moore型有限狀態(tài)機,輸出信號僅與當前狀態(tài)有關。Mealy型有限狀態(tài)機,輸出信號與當前狀態(tài)和輸入信號有關[6-7]。因輸出信號與當前狀態(tài)和輸入的數(shù)據(jù)信息有關,固該狀態(tài)機選擇Mealy型有限狀態(tài)機。不同于固定按鍵遙控器的按鍵狀態(tài)種類,觸摸屏控制器需考慮更多狀態(tài)。狀態(tài)及注釋:“1 s”為雙擊操作兩次點擊之間的時間閾值;G_IDLE_STATE表示空閑狀態(tài);G_T_STATE表示觸摸狀態(tài);G_SC_UP_STATE表示點擊提起狀態(tài);G_LP_STATE表示長按狀態(tài);G_DM_STATE表示滑動狀態(tài);G_DS_T_STATE表示雙擊的第二次觸摸狀態(tài)。圖5描述了手指觸摸在觸摸屏上產(chǎn)生的各種狀態(tài),以及狀態(tài)轉(zhuǎn)移路徑和轉(zhuǎn)移條件。
狀態(tài)機的設置,使得觸摸操作更為精準、靈敏,并實現(xiàn)了雙擊和長按動作。
2.4 數(shù)字模式
數(shù)字模式下支持數(shù)字手寫輸入。輸入的數(shù)據(jù)信息經(jīng)過數(shù)字識別算法判斷出紅外信號,該數(shù)字識別算法主要包括3個模塊:數(shù)據(jù)預處理、特征提取、數(shù)字識別。特征提取分為方向特征、首末點輪廓、整體輪廓、斷點的提取。圖6為數(shù)字識別算法結構框圖。
圖5 操作狀態(tài)轉(zhuǎn)移圖
圖6 數(shù)字識別算法結構框圖
數(shù)字識別模塊采用編輯距離公式進行數(shù)據(jù)和模板的比對,判斷編輯距離最小的數(shù)字為輸出數(shù)字。編輯距離是指兩個字串之間,由一個轉(zhuǎn)成另一個所需的最少編輯操作次數(shù)。許可的編輯操作包括將一個字符替換成另一個字符,插入一個字符,刪除一個字符[8-11]。
本文針對數(shù)字模式進行了一些編輯距離算法的改進,改進的編輯距離步驟:
1)定義左上數(shù)據(jù)變量,上、左數(shù)據(jù)變量,以及定義記錄當前數(shù)值的數(shù)組,并賦初值;
2)比較數(shù)字模板和提取的特征向量,若當前位置對應的數(shù)字相等,則臨時變量賦0,否則賦2(臨時變量表示下一步的編輯距離),將左上數(shù)值加臨時變量、上數(shù)值加1、左數(shù)值加1三者的最小值賦給數(shù)組的當前位置(如果出現(xiàn)0,則臨時變量賦0);
3)判定是否遍歷數(shù)字與提取的特征向量,如果是,輸出數(shù)組最后的一個數(shù)值,即數(shù)字與樣本的編輯距離,否則返回執(zhí)行步驟3);
4)判定是否遍歷0~9數(shù)字模板,如果是,則判定與樣本的編輯距離最短的數(shù)字為輸出的數(shù)字;否則,返回執(zhí)行步驟2)。
該數(shù)字識別算法,具有復雜度低、容錯性強、識別率高的優(yōu)點。對大量數(shù)據(jù)進行試驗,結果表明數(shù)字識別率為95.5%。
根據(jù)該方案,經(jīng)過軟硬件測試,最終完成電容式觸摸屏紅外控制器樣機的生產(chǎn)。
該樣機包括3種模式:方向模式、鼠標模式、數(shù)字模式。方向模式采用上下左右滑動代替了傳統(tǒng)遙控器的上下左右鍵,并且可根據(jù)滑動速度和距離判斷發(fā)射紅外次數(shù),操作方便。鼠標模式中,滑動鼠標時,發(fā)射鼠標的紅外鍵值,該功能主要用于機頂盒中。數(shù)字模式時,支持數(shù)字手寫輸入,經(jīng)過處理發(fā)射數(shù)字對應的紅外鍵值[12]。
經(jīng)產(chǎn)品測試,該產(chǎn)品具有較高的數(shù)字識別率,增加了鼠標、雙擊確認、長按等功能,可控制多種設備,具有良好的用戶體驗。圖7所示為該控制器樣機圖片。
圖7 電容式觸摸屏控制器
隨著觸摸屏市場的打開,觸摸屏設備成為人們生活不可分割的一部分。電容式觸摸屏紅外控制器完全有可能作為傳統(tǒng)固定按鍵遙控器的替代品。通過更換紅外協(xié)議的方式來控制多種設備,協(xié)議的獲得只需開發(fā)人員完成,無需用戶進行設置,用戶只需在網(wǎng)上選擇需要更換的設備編號即可完成所控設備的更換,摒棄了學習型遙控器所控設備單一的缺點。同時,觸摸屏控制器操作更為方便,容易被人們所接受。因此,具有研究和生產(chǎn)價值。
[1]許強.面向Android機頂盒的觸摸屏紅外遙控器的設計[J].電視技術,2014,38(1):82-85.
[2] 李晉.學習型遙控器設計[J].電子測量技術,2006,29(1):106-107.
[3] 許淑華.C語言中數(shù)組應用總結[J].科技廣場,2014,38(1):254-256.
[4]徐志.基于模糊模式識別算法的學習型紅外遙控器的編碼壓縮[J].福州大學學報,2008(36):62-64.
[5] 泰國棟.有限狀態(tài)機的嵌入式Linux按鍵驅(qū)動設計[J].單片機與嵌入式系統(tǒng)應用,2012,4(1):1-4.
[6] 劉斌.基于有限狀態(tài)機的Linux多點觸摸屏驅(qū)動設計[J].微計算機信息,2012,28(3):54-56.
[7]孫宏旭.基于有限狀態(tài)機的模型轉(zhuǎn)換方法的研究[J].計算機技術與應用,2012,22(2):10-13.
[8] 肖冰.一種度量圖像相似性和計算圖編輯距離的新方法[J].電子學報,2009,37(10):2206-2210.
[9] 趙作鵬.一種改進的編輯距離算法及其在數(shù)據(jù)處理中的應用[J].計算機應用,2009,29(2):425-426.
[10]刁興春.一種融合多種編輯距離的字符串相似度計算方法[J].計算機應用研究,2010,27(12):4524-4525.
[11] ROBLES K A,HANCOCK E R.Graph edit distance from spec?tral seriation[J].IEEE Trans.Pattern Analysis and Machine Intel? ligence,2005,27(3):365-378.
[12]孫憲奇.紅外遙控發(fā)射器系統(tǒng)碼和鍵值測定儀[J].沈陽工業(yè)大學學報,1998,20(3):50-60.
Design of Touch-screen Infrared Controller Based on HAV1007
GAO Zhenbin1,CHEN He2,HUA Zhong2,KOU Zhiqiang3
(1.Information Engineering College of Hebei University of technology,Tianjin 300401,China;2.Tianjin Botro Electronical Tech Co.,Ltd.,Tianjin 300384,China)
The design of touch screen infrared controller is introduced in this paper.The chip introduction of the main control unit-HAV1007,the connection of main control unit and the peripheral hardware,software design and program flow chart are comprised in this scheme.Mouse operation,digital handwriting input and double click function are realized through this scheme.It is proved that the touch-screen infrared controller can control the infrared receiving device smoothly,such as TV,set-top box,air-conditioning,and get a good user experience.
design scheme;touch-screen infrared controller;HAV1007
TN835
B
10.16280/j.videoe.2015.04.011
高振斌(1973—),副教授,主要研究方向為專用集成電路設計、通信信號處理;
2014-08-19
【本文獻信息】高振斌,陳賀,華中,等.基于HAV1007的觸摸屏紅外控制器設計[J].電視技術,2015,39(4).
陳 賀(1989—),碩士生,主研嵌入式系統(tǒng)及應用。
責任編輯:許 盈