高振斌,陳 賀,華 中,寇志強
(1.河北工業大學 信息工程學院,天津 300401;2.天津鉑創國茂電子科技發展有限公司,天津 300384)
基于HAV1007的觸摸屏紅外控制器設計
高振斌1,陳 賀2,華 中2,寇志強3
(1.河北工業大學 信息工程學院,天津 300401;2.天津鉑創國茂電子科技發展有限公司,天津 300384)
主要介紹了觸摸屏紅外控制器的設計方案,該方案主要包括主控制單元HAV1007芯片介紹、主控單元和外圍硬件電路的連接、整體軟件設計和程序流程圖。實現了鼠標操作、數字手寫輸入和雙擊確認功能。該觸摸屏紅外控制器能夠流暢地控制紅外接收設備,如電視、機頂盒、空調等,并獲得了良好的用戶體驗。
設計方案;觸摸屏紅外控制器;HAV1007
隨著社會的發展,人們對生活舒適度提出了更高的要求。機頂盒、電視、空調大部分使用固定按鍵紅外遙控器,而每種電器都配備有自己獨立的固定按鍵遙控器。人們經常將機頂盒和電視的遙控器混淆,使用不便。固定按鍵式的遙控器存在一些缺點,固定按鍵的塑膠材料易老化,印刷電路板易腐蝕,造成遙控器失靈,一個遙控器經常需要進行除塵操作,并且淘汰的遙控器會污染環境。傳統的按鍵遙控器功耗較高,需要經常更換電池,廢舊的電池造成污染。
觸摸屏的出現提供了一種新的人機交互方式,觸摸屏代替按鍵進行操作,使得人機交互更為方便[1]。由此產生設計觸摸屏控制器的設計想法。
觸摸屏紅外控制器利用電容式觸摸屏代替固定按鍵來進行操作,避免了傳統遙控器按鍵老化的缺點,通過手指在觸摸屏上滑動進行上下左右操作,比按鍵式更加靈敏、方便。采用鋰電池進行供電,該鋰電池可利用USB接口進行反復充電,同時控制器具有自動休眠功能,使得能耗更低。更新紅外協議可控制多種紅外接收設備,實現“一機多用”[2]。
1.1 系統硬件設計
整體硬件包括:USB轉I2C模塊(USB to I2C)、低功耗喚醒(Low Power Wake-up)、觸摸屏以及連接、電源管理模塊(Power Management)、LED燈顯示、紅外發射、主控芯片HAV1007。
USB轉I2C模塊:該模塊主要用作主控芯片HAV1007和PC之間的通信。首先,通過固定的編碼格式將紅外協議進行編碼;其次,PC將該編碼后的協議通過USB to I2C模塊更新到HAV1007中。經過上述兩個步驟,完成紅外協議的更新,以控制多種紅外接收設備。
低功耗喚醒:該模塊主要功能為喚醒低功耗模式下的主控芯片。一定時間內沒有對控制器進行操作,主控芯片自動進入休眠模式,再次使用該控制器時,通過該模塊進行喚醒,由休眠模式進入正常模式。
觸摸屏以及連接:該模塊由導電油墨電容式觸摸屏和外圍連接電路組成。主要是采集手指觸摸在觸摸屏中的數據信息,并由外圍電路傳遞給芯片進行處理。
電源管理模塊:該模塊由鋰電池和外圍電路組成。
LED燈顯示:該模塊由LED燈和外圍電路組成,主要功能是顯示給用戶當前控制的設備和紅外發射指示。
紅外發射:該模塊由三極管和放大電路組成,主要功能是根據PWM信號,完成紅外信號的發射。
如圖1所示,硬件的各個模塊以及各模塊之間的連接。

圖1 硬件連接圖
1.2 芯片框圖
本項目使用HAV1007作為主控芯片。芯片HAV1007是針對電容式觸摸屏開發的一款芯片,其CPU采用蘇州國芯C*Core CPU C306。該CPU采用0.15 μm EFlash生產工藝,4級流水線,完全可綜合的32位嵌入式RISC CPU,低功耗,高性能,高代碼密度,適用于手提設備(PDA、移動電話)、通信設備(無線局域網、路由器)、汽車工業(ABS、安全氣囊、電噴控制、剎車控制)、家用電器以及眾多的工業過程控制。具有豐富的外設資源,包括AD,PIT,WDT,SPI,UART,EPORT,I2C等。如圖2所示為芯片HAV1007詳細信息。

圖2 芯片內部結構框圖
2.1 整體軟件設計
整體軟件設計方案包括:系統初始化,觸摸數據的采集、處理,狀態轉移,紅外協議更新,紅外數據處理和紅外發射。
首先,按照方案對CPU的外設以及外設的中斷設置進行初始化。電容式觸摸屏由15條X感應線和7條Y感應線組成,需根據感應線分布情況設置相應的感應參數,同時根據中斷需求設置各模塊中斷以及各模塊寄存器。
初始化完畢,系統處于等待狀態,手指觸摸時,觸摸信息通過22條感應線傳遞給CPU,采集到的觸摸信息經過處理,最終生成觸摸點坐標和手指個數信息。將生成的數據存儲在循環數組(觸摸坐標值)中[3],這樣完成了數據坐標的存儲,該數據信息將作為狀態轉移模塊的數據輸入。狀態轉移模塊根據輸入的數據信息和當前狀態,完成狀態轉移和紅外發射的設置。需要發射紅外信號時,將待發射的信號與存儲在Flash中的紅外數據匹配,選擇發射的紅外碼值并編碼,將編碼完畢的數據存儲在循環數組(紅外編碼數據)中[4]。紅外發射模塊讀取紅外編碼數據,設置PWM引腳,最終由硬件電路對信號進行放大、發射,這樣就完成從手指觸摸到紅外信號發射過程。其中,兩個循環數組作為兩模塊之間的橋梁,并具有緩沖作用。
更新紅外協議可控制不同設備,在網頁界面選擇要更新設備的紅外協議(編碼后),USB to I2C模塊將PC的數據傳輸到觸摸屏控制器中,校驗并存儲,完成紅外協議的更新。如圖3所示,為整體軟件設計方案。

圖3 軟件設計方案
2.2 程序流程圖
在系統中,觸摸信息的產生是周期性的,頻率由WDT控制。系統初始化中設置WDT時間Tw,采點頻率1/Tw。WDT中斷服務函數中將采點標志位置“1”,主程序中判斷該標志位的值,進行數據的采集、存儲,采集完成后,將該標志位清零,控制采點頻率,并將采集到的點存儲在循環數組(觸摸坐標)中。
主程序中,將采集到的點進行處理、分析,通過當前狀態Current_State和處理后的點信息,得出輸出狀態Output_State和信息。根據狀態跳轉和輸出信息,判斷紅外信號發射情況。需發射紅外數據時,將編碼后的紅外數據存儲在循環數組(紅外編碼)中,由于RAM的限制,循環數組不能一次存儲全部的紅外編碼值,需要將發射完畢后的紅外編碼值清除,在清除后的位置上填充新的紅外編碼值。紅外編碼值的存儲和發射同步進行,由模塊PIT和PWM共同完成。PIT負責數據的填充,PWM負責數據的讀取,二者協同完成紅外編碼數據的設置。最終由紅外發射電路將紅外信號發射出去。
主程序流程圖和各中斷服務函數流程如圖4所示。


圖4 程序流程圖
2.3 狀態轉移
參考固定按鍵遙控器的狀態設置,設計了基于電容式觸摸屏的狀態機[5]。該狀態機采用有限狀態機,有限狀態機分為Moore型有限狀態機和Mealy型有限狀態機。Moore型有限狀態機,輸出信號僅與當前狀態有關。Mealy型有限狀態機,輸出信號與當前狀態和輸入信號有關[6-7]。因輸出信號與當前狀態和輸入的數據信息有關,固該狀態機選擇Mealy型有限狀態機。不同于固定按鍵遙控器的按鍵狀態種類,觸摸屏控制器需考慮更多狀態。狀態及注釋:“1 s”為雙擊操作兩次點擊之間的時間閾值;G_IDLE_STATE表示空閑狀態;G_T_STATE表示觸摸狀態;G_SC_UP_STATE表示點擊提起狀態;G_LP_STATE表示長按狀態;G_DM_STATE表示滑動狀態;G_DS_T_STATE表示雙擊的第二次觸摸狀態。圖5描述了手指觸摸在觸摸屏上產生的各種狀態,以及狀態轉移路徑和轉移條件。
狀態機的設置,使得觸摸操作更為精準、靈敏,并實現了雙擊和長按動作。
2.4 數字模式
數字模式下支持數字手寫輸入。輸入的數據信息經過數字識別算法判斷出紅外信號,該數字識別算法主要包括3個模塊:數據預處理、特征提取、數字識別。特征提取分為方向特征、首末點輪廓、整體輪廓、斷點的提取。圖6為數字識別算法結構框圖。

圖5 操作狀態轉移圖

圖6 數字識別算法結構框圖
數字識別模塊采用編輯距離公式進行數據和模板的比對,判斷編輯距離最小的數字為輸出數字。編輯距離是指兩個字串之間,由一個轉成另一個所需的最少編輯操作次數。許可的編輯操作包括將一個字符替換成另一個字符,插入一個字符,刪除一個字符[8-11]。
本文針對數字模式進行了一些編輯距離算法的改進,改進的編輯距離步驟:
1)定義左上數據變量,上、左數據變量,以及定義記錄當前數值的數組,并賦初值;
2)比較數字模板和提取的特征向量,若當前位置對應的數字相等,則臨時變量賦0,否則賦2(臨時變量表示下一步的編輯距離),將左上數值加臨時變量、上數值加1、左數值加1三者的最小值賦給數組的當前位置(如果出現0,則臨時變量賦0);
3)判定是否遍歷數字與提取的特征向量,如果是,輸出數組最后的一個數值,即數字與樣本的編輯距離,否則返回執行步驟3);
4)判定是否遍歷0~9數字模板,如果是,則判定與樣本的編輯距離最短的數字為輸出的數字;否則,返回執行步驟2)。
該數字識別算法,具有復雜度低、容錯性強、識別率高的優點。對大量數據進行試驗,結果表明數字識別率為95.5%。
根據該方案,經過軟硬件測試,最終完成電容式觸摸屏紅外控制器樣機的生產。
該樣機包括3種模式:方向模式、鼠標模式、數字模式。方向模式采用上下左右滑動代替了傳統遙控器的上下左右鍵,并且可根據滑動速度和距離判斷發射紅外次數,操作方便。鼠標模式中,滑動鼠標時,發射鼠標的紅外鍵值,該功能主要用于機頂盒中。數字模式時,支持數字手寫輸入,經過處理發射數字對應的紅外鍵值[12]。
經產品測試,該產品具有較高的數字識別率,增加了鼠標、雙擊確認、長按等功能,可控制多種設備,具有良好的用戶體驗。圖7所示為該控制器樣機圖片。

圖7 電容式觸摸屏控制器
隨著觸摸屏市場的打開,觸摸屏設備成為人們生活不可分割的一部分。電容式觸摸屏紅外控制器完全有可能作為傳統固定按鍵遙控器的替代品。通過更換紅外協議的方式來控制多種設備,協議的獲得只需開發人員完成,無需用戶進行設置,用戶只需在網上選擇需要更換的設備編號即可完成所控設備的更換,摒棄了學習型遙控器所控設備單一的缺點。同時,觸摸屏控制器操作更為方便,容易被人們所接受。因此,具有研究和生產價值。
[1]許強.面向Android機頂盒的觸摸屏紅外遙控器的設計[J].電視技術,2014,38(1):82-85.
[2] 李晉.學習型遙控器設計[J].電子測量技術,2006,29(1):106-107.
[3] 許淑華.C語言中數組應用總結[J].科技廣場,2014,38(1):254-256.
[4]徐志.基于模糊模式識別算法的學習型紅外遙控器的編碼壓縮[J].福州大學學報,2008(36):62-64.
[5] 泰國棟.有限狀態機的嵌入式Linux按鍵驅動設計[J].單片機與嵌入式系統應用,2012,4(1):1-4.
[6] 劉斌.基于有限狀態機的Linux多點觸摸屏驅動設計[J].微計算機信息,2012,28(3):54-56.
[7]孫宏旭.基于有限狀態機的模型轉換方法的研究[J].計算機技術與應用,2012,22(2):10-13.
[8] 肖冰.一種度量圖像相似性和計算圖編輯距離的新方法[J].電子學報,2009,37(10):2206-2210.
[9] 趙作鵬.一種改進的編輯距離算法及其在數據處理中的應用[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]孫憲奇.紅外遙控發射器系統碼和鍵值測定儀[J].沈陽工業大學學報,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—),碩士生,主研嵌入式系統及應用。
責任編輯:許 盈