摘要:電視機(jī)遙控器一般采用紅外線來傳送控制信號,它的特點(diǎn)是有方向性、不能有阻擋、距離一般不超過7米、不受電磁干擾、調(diào)試電路簡單等。紅外遙控器根據(jù)編碼方式可以分為兩類:脈沖寬度調(diào)制(NEC碼),脈沖位置調(diào)整(RC5,RC6碼以及未來的RC7碼)。本文主要介紹RC6碼遙控器的編碼方式,總結(jié)了電視端解碼思路,解碼流程及按鍵靈敏度處理的方法,便于在工作中與此相關(guān)的實(shí)際問題的處理。
關(guān)鍵詞:電視 RC6 遙控器解碼
中圖分類號:TN919.8 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9416(2016)10-0103-01
1 前言
每一款電視產(chǎn)品都需要與之對應(yīng)的遙控器,在電視開發(fā)的過程中,適配遙控器是一個(gè)尤為重要的工作,不僅需要電視端可以正確的解析用戶發(fā)出的指令,而且要靈敏的做出響應(yīng)。正確性和靈敏度都會(huì)影響到用戶體驗(yàn),因此研究遙控器解碼具有十分重要的意義。
2 RC6遙控器編碼方式
RC6遙控器是一種典型的以脈沖位置調(diào)制(PPM)的編碼方式,以高低電平跳躍區(qū)分“0”,“1”,由高向低跳變記為1,由低到高跳變記為0,數(shù)據(jù)結(jié)構(gòu)如圖1所示。
RC6遙控器編碼結(jié)構(gòu),引導(dǎo)碼(6位),客戶碼(16位),奇偶碼(8位),鍵值碼(8位),引導(dǎo)碼較特殊。
利用示波器讀取電視端遙控頭接收到的波形,將波形圖旋轉(zhuǎn)180度,分析此波形,從右向左讀?。喝鐖D2所示。
根據(jù)波形圖可清晰的讀出數(shù)據(jù):111100 1000 0000 0110 1000 0010 0110 0001 0110。
3 遙控器解碼思路及流程
RC6遙控器是以脈沖位置編碼,解碼時(shí)也是根據(jù)電平跳躍方式分析,我們需要設(shè)置一個(gè)標(biāo)志位(IR_Flag)來記錄脈沖位置。若是脈沖的開始,通過判斷是高低電平來區(qū)別數(shù)據(jù),若是高電平,則此脈沖為由高向低跳變,記為1,若是低電平,則此數(shù)據(jù)為由低向高跳變,記為0。
3.1 無效脈沖判斷與處理
每一個(gè)脈沖是由高低電平的跳變組成,我們需要分析每一個(gè)高低電平的長度,除第一個(gè)數(shù)據(jù)的高電平為6t之外,其他都為1t-3t區(qū)間,為準(zhǔn)確的判斷脈沖發(fā)射正常與否,可以在第一個(gè)數(shù)據(jù)的低電平開始記錄,將長度1t-3t之間的脈沖認(rèn)定為與遙控器匹配的有效脈沖。解碼過程中若出現(xiàn)無效脈沖,則數(shù)據(jù)清零,重新解碼。
3.2 脈沖數(shù)據(jù)解析完成
一個(gè)完整的遙控波形共有38個(gè)數(shù)據(jù)位,當(dāng)數(shù)據(jù)解碼個(gè)數(shù)為38時(shí),代表解析完成,需設(shè)置一個(gè)標(biāo)志位表示波形解碼結(jié)束,若波形解碼完成,則進(jìn)入取數(shù)據(jù)(getkey)流程,取出客戶碼和鍵值等有效數(shù)據(jù)。
4 按鍵靈敏度處理
客戶碼用來判斷是否與此遙控器匹配,鍵值碼需返回上層,用于識別按鍵,奇偶碼是用來區(qū)分按鍵狀態(tài),是首次按下還是重復(fù)未松開,按鍵一直按住不松開時(shí),遙控器會(huì)連續(xù)不斷的發(fā)出波形,發(fā)出的波形中奇偶碼不變,當(dāng)松開后,下一次按下時(shí),奇偶碼會(huì)發(fā)生變化,以此來區(qū)分,例如一次按鍵中奇偶碼為0010 0110,松開后下一次按下后變化為0101 0110。
4.1 重復(fù)按鍵判斷
遙控器如果按住不松開,會(huì)連續(xù)不斷的發(fā)出波形,需注意重復(fù)按鍵的判斷,介紹一種方法:可以記錄此波形的鍵值和奇偶碼,若下一個(gè)波形鍵值和奇偶碼都未發(fā)生變化,則為重復(fù)按鍵,若有發(fā)生變化,則是首次按下。設(shè)一個(gè)標(biāo)志位flag來表示,重復(fù)按鍵為0,否為1,傳回到上層。
4.2 重復(fù)按鍵處理
有些平臺,會(huì)在上層根據(jù)此返回值,來智能的處理按鍵。如果軟件上層不去處理,就需要在底層返回按鍵的過程中處理重復(fù)按鍵。某些按鍵(比如音量+/-,調(diào)節(jié)進(jìn)度條時(shí)左右按鍵),按下時(shí),用戶肯定是希望不斷響應(yīng),調(diào)到自己期望的效果,因此處理這些按鍵時(shí),需要合理的設(shè)置響應(yīng)時(shí)間,既能快速響應(yīng),又不至于出現(xiàn)按一次,響應(yīng)兩次的情況。方法:記錄按鍵重復(fù)次數(shù),若對于按鍵(音量+/-,導(dǎo)航鍵),若重復(fù)兩次,則響應(yīng)1次,其他按鍵,重復(fù)四次波形,響應(yīng)一次按鍵,大約為0.5s。
5 結(jié)語
本文介紹了RC6遙控器的編碼方式,總結(jié)了解碼思路及靈敏度問題處理,便于今后的電視軟件的開發(fā)與維護(hù)。
收稿日期:2016-08-18
作者簡介:劉麗(1988—),女,山東德州人,碩士,中級職稱,研究方向:電視機(jī)軟件開發(fā)與應(yīng)用。