一種識別多種遙控器的方法、設備的制作方法
【專利摘要】本發(fā)明實施例公開了一種識別多種遙控器的方法、設備。本發(fā)明涉及通信領域,采用按幀匹配紅外遙控器協(xié)議的方法,使得一個機頂盒可以識別多種紅外遙控器協(xié)議,進而降低了機頂盒廠商的機頂盒軟件維護成本。本發(fā)明實施例提供的方法包括:接收遙控器發(fā)送的紅外波形;將所述遙控器發(fā)送的紅外波形轉(zhuǎn)換為對應的高低電平對;將所述高低電平對依次儲存于裸電平隊列,形成所述紅外波形對應的紅外幀;將所述紅外幀與已注冊的紅外遙控器協(xié)議進行匹配;根據(jù)與所述紅外幀匹配成功的所述紅外遙控器協(xié)議解析所述紅外幀對應的鍵值。
【專利說明】一種識別多種遙控器的方法、設備
【技術(shù)領域】
[0001]本發(fā)明涉及通信領域,尤其涉及一種識別多種遙控器的方法、設備。
【背景技術(shù)】
[0002]機頂盒應用領域不同,地方服務供應商所采用的紅外遙控器及其協(xié)議并不相同,機頂盒芯片供應商所提供的軟件包需要支持所有被采用的機頂盒遙控器以及需要具備一定的擴展性才能應對市場需求及市場變化。遙控器協(xié)議大致可以分為兩類,一類是由有明顯引導碼頭+固定位(bit)個數(shù)+結(jié)束碼組成,例如:NEC簡化重復碼紅外協(xié)議(NEC withsimple repeat code,簡稱NEC simple)、NEC完全重復碼紅外協(xié)議(NEC with full repeatcode,簡稱 NEC full)和 Philips RC-6 紅外協(xié)議(Philips RC-6,簡稱 RC-6)等;另一類是由沒有引導碼+固定bit個數(shù)+結(jié)束碼組成,例如:Philips RC-5紅外協(xié)議(Philips RC-5,簡稱RC-5)、刷卡型遙控器協(xié)議等。
[0003]在現(xiàn)有技術(shù)中,遙控器發(fā)出的紅外波形經(jīng)單板紅外接收頭轉(zhuǎn)換成高低電平信號后,由主芯片的輸入腳輸入主芯片,由主芯片中的中央處理器(Central Processing Unit,簡稱CPU)轉(zhuǎn)發(fā)給Linux紅外線遙控(Linux Infrared Remote Control,簡稱LIRC)的驅(qū)動緩存,用戶態(tài)守護進程(decoder daemon)從驅(qū)動緩存中讀出電平信號再結(jié)合配置文件(lircd.conf)解析成鍵值,然后通過套接字(socket)發(fā)送給應用程序。
[0004]發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在以下問題:每款遙控器對應的紅外遙控器協(xié)議不同,由于一個機頂盒只能識別一種紅外遙控器協(xié)議,從而使機頂盒廠商增加了機頂盒中的軟件維護成本。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實施例提供一種識別多種遙控器的方法、設備,采用按幀匹配紅外遙控器協(xié)議的方法,使得一個機頂盒可以識別多種紅外遙控器協(xié)議,進而降低了機頂盒廠商的機頂盒軟件維護成本。
[0006]為達到上述目的,本發(fā)明實施例采用的技術(shù)方案是,
[0007]第一方面,提供了一種識別多種遙控器的方法,所述方法包括:
[0008]接收遙控器發(fā)送的紅外波形;
[0009]將所述遙控器發(fā)送的紅外波形轉(zhuǎn)換為對應的高低電平對;
[0010]將所述高低電平對依次儲存于裸電平隊列,形成所述紅外波形對應的紅外幀;
[0011]將所述紅外幀與已注冊的紅外遙控器協(xié)議進行匹配;
[0012]根據(jù)與所述紅外幀匹配成功的所述紅外遙控器協(xié)議解析所述紅外幀對應的鍵值。
[0013]在第一種可能的實現(xiàn)方式中,根據(jù)第一方面,
[0014]所述紅外遙控器協(xié)議包括第一類紅外遙控器協(xié)議和第二類紅外遙控器協(xié)議,其中,所述第一類紅外遙控器協(xié)議包含固定位bit個數(shù)、結(jié)束碼、明顯引導碼,所述第二類紅外遙控器協(xié)議包含固定位bit個數(shù)、結(jié)束碼、無明顯引導碼;[0015]相應的,所述將所述紅外幀與已注冊的紅外遙控器協(xié)議進行匹配,可以包括:
[0016]將所述紅外幀與所述第一類紅外遙控器協(xié)議進行匹配;
[0017]若所述紅外幀與任意所述第一類紅外遙控器協(xié)議均不能匹配成功,則將所述紅外幀與所述第二類紅外遙控器協(xié)議進行匹配;
[0018]或者,
[0019]將所述紅外幀與所述第二類紅外遙控器協(xié)議進行匹配;
[0020]若所述紅外幀與任意所述第二類紅外遙控器協(xié)議均不能匹配成功,則將所述紅外幀與所述第一類紅外遙控器協(xié)議進行匹配。
[0021]在第二種可能的實現(xiàn)方式中,結(jié)合第一種可能的實現(xiàn)方式,所述將所述紅外幀與所述第一類紅外遙控器協(xié)議進行匹配,包括:
[0022]將所述紅外幀的前M個bit與第一紅外遙控器協(xié)議的引導碼進行匹配,其中,所述M與所述第一紅外遙控器協(xié)議引導碼bit數(shù)相同;
[0023]若確定所述紅外幀的前M個bit與所述第一紅外遙控器協(xié)議的引導碼匹配,將所述紅外幀再偏移N個bit后與所述第一紅外遙控器協(xié)議的結(jié)束碼進行匹配,其中,所述N與所述第一紅外遙控器協(xié)議的固定bit數(shù)相同;
[0024]若確定所述紅外幀再偏移N個bit后與所述第一紅外遙控器協(xié)議的結(jié)束碼匹配,則確定所述紅外幀與所述第一紅外遙控器協(xié)議匹配成功。
[0025]在第三種可能的實現(xiàn)方式中,結(jié)合第二種可能的實現(xiàn)方式,所述將所述紅外幀與所述第一類紅外遙控器協(xié)議進行匹配,還可以包括:
[0026]若確定所述紅外幀的前M個bit與所述第一紅外遙控器協(xié)議的引導碼不能匹配成功,將所述紅外幀與第二紅外遙控器協(xié)議進行匹配;
[0027]或者,
[0028]若確定所述紅外幀再偏移N個bit后與所述第一紅外遙控器協(xié)議的結(jié)束碼不能匹配成功,將所述紅外幀與所述第二紅外遙控器協(xié)議進行匹配。
[0029]在第四種可能的實現(xiàn)方式中,結(jié)合第一種可能的實現(xiàn)方式,所述將所述紅外幀與所述第二類紅外遙控器協(xié)議進行匹配,包括:
[0030]將所述紅外幀偏移(J-1)個bit后與第三紅外遙控器協(xié)議的結(jié)束碼進行匹配,其中,所述J與所述第三紅外遙控器協(xié)議的固定bit數(shù)相同;
[0031]若確定所述紅外幀偏移(J-1)個bit后與所述第三紅外遙控器協(xié)議的結(jié)束碼匹配,則確定所述紅外幀與所述第三紅外遙控器協(xié)議匹配成功。
[0032]在第五種可能的實現(xiàn)方式中,結(jié)合第四種可能的實現(xiàn)方式,所述將所述紅外幀與所述第二類紅外遙控器協(xié)議進行匹配,還包括:
[0033]若確定所述紅外幀偏移(J-1)個bit后與所述第三紅外遙控器協(xié)議的結(jié)束碼不能匹配成功,將所述紅外幀與第四紅外遙控器協(xié)議進行匹配。
[0034]在第六種可能的實現(xiàn)方式中,結(jié)合第一方面或第一種可能的實現(xiàn)方式,所述將所述紅外幀與已注冊的紅外遙控器協(xié)議進行匹配,還可以包括:
[0035]若所述紅外幀與已注冊的全部紅外遙控器協(xié)議均不能匹配成功,將所述紅外幀向前偏移P個bit后與所述紅外遙控器協(xié)議的結(jié)束碼進行匹配,其中,所述P根據(jù)所述已注冊的全部紅外遙控器協(xié)議的類型確定;[0036]若確定所述紅外幀向前偏移P個bit后與所述紅外遙控器協(xié)議的結(jié)束碼匹配,則確定所述紅外幀與所述紅外遙控器協(xié)議匹配成功。
[0037]在第七種可能的實現(xiàn)方式中,結(jié)合第六種可能的實現(xiàn)方式,所述方法還包括:
[0038]若確定所述紅外幀向前偏移P個bit后與所述紅外遙控器協(xié)議的結(jié)束碼不能匹配成功,則丟棄所述紅外幀最前面的高低電平對,并將所述裸電平隊列中與所述紅外幀尾部相鄰的電平對與所述紅外幀剩余的電平對組成新的紅外幀,再將所述新的紅外幀與所述紅外遙控器協(xié)議進行匹配,直到所述新的紅外幀與所述紅外遙控器協(xié)議匹配成功或者所述裸電平隊列為空為止。
[0039]在第八種可能的實現(xiàn)方式中,結(jié)合第一方面或第一種可能的實現(xiàn)方式或第二種可能的實現(xiàn)方式或第三種可能的實現(xiàn)方式或第四種可能的實現(xiàn)方式或第五種可能的實現(xiàn)方式或第六種可能的實現(xiàn)方式或第七種可能的實現(xiàn)方式,所述方法還可以包括:
[0040]更新所述已注冊的紅外遙控器協(xié)議。
[0041]第二方面,提供了一種多種遙控器的設備,所述設備包括:
[0042]接收單元,用于接收遙控器發(fā)送的紅外波形;
[0043]轉(zhuǎn)換單元,用于將所述遙控器發(fā)送的紅外波形轉(zhuǎn)換為對應的高低電平對;
[0044]儲存單元,用于將所述高低電平對依次儲存于裸電平隊列,形成所述紅外波形對應的紅外幀;
[0045]匹配單元,用于將所述紅外幀與已注冊的紅外遙控器協(xié)議進行匹配;
[0046]解析單元,用于根據(jù)與所述紅外幀匹配成功的所述紅外遙控器協(xié)議解析所述紅外幀對應的鍵值。
[0047]在第一種可能的實現(xiàn)方式中,結(jié)合第二方面,所述紅外遙控器協(xié)議包括第一類紅外遙控器協(xié)議和第二類紅外遙控器協(xié)議,其中,所述第一類紅外遙控器協(xié)議包含固定位bit個數(shù)、結(jié)束碼、明顯引導碼,所述第二類紅外遙控器協(xié)議包含固定位bit個數(shù)、結(jié)束碼、無明顯引導碼;
[0048]相應的,
[0049]所述匹配單元還用于:將所述紅外幀與所述第一類紅外遙控器協(xié)議進行匹配;若所述紅外幀與任意所述第一類紅外遙控器協(xié)議均不能匹配成功,則將所述紅外幀與所述第二類紅外遙控器協(xié)議進行匹配;
[0050]或者,
[0051]所述匹配單元還用于:將所述紅外幀與所述第二類紅外遙控器協(xié)議進行匹配;若所述紅外幀與任意所述第二類紅外遙控器協(xié)議均不能匹配成功,則將所述紅外幀與所述第一類紅外遙控器協(xié)議進行匹配。
[0052]在第二種可能的實現(xiàn)方式中,結(jié)合第一種可能的實現(xiàn)方式,
[0053]所述匹配單元還用于:將所述紅外幀的前M個bit與第一紅外遙控器協(xié)議的引導碼進行匹配,其中,所述M與所述第一紅外遙控器協(xié)議引導碼bit數(shù)相同;若確定所述紅外幀的前M個bit與所述第一紅外遙控器協(xié)議的引導碼匹配,將所述紅外幀再偏移N個bit后與所述第一紅外遙控器協(xié)議的結(jié)束碼進行匹配,其中,所述N與所述第一紅外遙控器協(xié)議的固定bit數(shù)相同;若確定所述紅外幀再偏移N個bit后與所述第一紅外遙控器協(xié)議的結(jié)束碼匹配,則確定所述紅外幀與所述第一紅外遙控器協(xié)議匹配成功。[0054]在第三種可能的實現(xiàn)方式中,結(jié)合第二種可能的實現(xiàn)方式,所述匹配單元還用于:若確定所述紅外幀的前M個bit與所述第一紅外遙控器協(xié)議的引導碼不能匹配成功,將所述紅外幀與第二紅外遙控器協(xié)議進行匹配;
[0055]或者,
[0056]所述匹配單元還用于:若確定所述紅外幀再偏移N個bit后與所述第一紅外遙控器協(xié)議的結(jié)束碼不能匹配成功,將所述紅外幀與所述第二紅外遙控器協(xié)議進行匹配。
[0057]在第四種可能的實現(xiàn)方式中,結(jié)合第一種可能的實現(xiàn)方式,
[0058]所述匹配單元還用于:將所述紅外幀偏移(J-1)個bit后與第三紅外遙控器協(xié)議的結(jié)束碼進行匹配,其中,所述J與所述第三紅外遙控器協(xié)議的固定bit數(shù)相同;若確定所述紅外幀偏移(J-1)個bit后與所述第三紅外遙控器協(xié)議的結(jié)束碼匹配,則確定所述紅外幀與所述第三紅外遙控器協(xié)議匹配成功。
[0059]在第五種可能的實現(xiàn)方式中,結(jié)合第四種可能的實現(xiàn)方式,
[0060]所述匹配單元還用于:若確定所述紅外幀偏移(J-1)個bit后與所述第三紅外遙控器協(xié)議的結(jié)束碼不能匹配成功,將所述紅外幀與第四紅外遙控器協(xié)議進行匹配。
[0061 ] 在第六種可能的實現(xiàn)方式中,結(jié)合第二方面或第一種可能的實現(xiàn)方式,
[0062]所述匹配單元還用于:若所述紅外幀與已注冊的全部紅外遙控器協(xié)議均不能匹配成功,將所述紅外幀向前偏移P個bit后與所述紅外遙控器協(xié)議的結(jié)束碼進行匹配,其中,所述P根據(jù)所述已注冊的全部紅外遙控器協(xié)議的類型確定;若確定所述紅外幀向前偏移P個bit后與所述紅外遙控器協(xié)議的結(jié)束碼匹配,則確定所述紅外幀與所述紅外遙控器協(xié)議匹配成功。
[0063]在第七種可能的實現(xiàn)方式中,結(jié)合第六種可能的實現(xiàn)方式,
[0064]所述匹配單元還用于:若確定所述紅外幀向前偏移P個bit后與所述紅外遙控器協(xié)議的結(jié)束碼不能匹配成功,則丟棄所述紅外幀最前面的高低電平對,并將所述裸電平隊列中與所述紅外幀尾部相鄰的電平對與所述紅外幀剩余的電平對組成新的紅外幀,再將所述新的紅外幀與所述紅外遙控器協(xié)議進行匹配,直到所述新的紅外幀與所述紅外遙控器協(xié)議匹配成功或者所述裸電平隊列為空為止。
[0065]在第八種可能的實現(xiàn)方式中,結(jié)合第二方面或第一種可能的實現(xiàn)方式或第二種可能的實現(xiàn)方式或第三種可能的實現(xiàn)方式或第四種可能的實現(xiàn)方式或第五種可能的實現(xiàn)方式或第六種可能的實現(xiàn)方式或第七種可能的實現(xiàn)方式,所述設備還包括:
[0066]更新單元,用于更新所述已注冊的紅外遙控器協(xié)議。
[0067]第三方面,提供了一種識別多種遙控的設備,所述設備包括:
[0068]紅外接收頭,用于接收遙控器發(fā)送的紅外波形;將所述遙控器發(fā)送的紅外波形轉(zhuǎn)換為對應的高低電平對;
[0069]處理器,用于將所述高低電平對依次儲存于裸電平隊列,形成所述紅外波形對應的紅外幀;將所述紅外幀與已注冊的紅外遙控器協(xié)議進行匹配;根據(jù)與所述紅外幀匹配成功的所述紅外遙控器協(xié)議解析所述紅外幀對應的鍵值;
[0070]存儲器,用于存儲所述已注冊的紅外遙控器協(xié)議。
[0071]在第一種可能的實現(xiàn)方式中,根據(jù)第三方面,
[0072]所述紅外遙控器協(xié)議包括第一類紅外遙控器協(xié)議和第二類紅外遙控器協(xié)議,其中,所述第一類紅外遙控器協(xié)議包含固定位bit個數(shù)、結(jié)束碼、明顯引導碼,所述第二類紅外遙控器協(xié)議包含固定位bit個數(shù)、結(jié)束碼、無明顯引導碼;
[0073]相應的,所述處理器具體用于:
[0074]將所述紅外幀與所述第一類紅外遙控器協(xié)議進行匹配;
[0075]若所述紅外幀與任意所述第一類紅外遙控器協(xié)議均不能匹配成功,則將所述紅外幀與所述第二類紅外遙控器協(xié)議進行匹配;
[0076]或者,
[0077]將所述紅外幀與所述第二類紅外遙控器協(xié)議進行匹配;
[0078]若所述紅外幀與任意所述第二類紅外遙控器協(xié)議均不能匹配成功,則將所述紅外幀與所述第一類紅外遙控器協(xié)議進行匹配。
[0079]在第二種可能的實現(xiàn)方式中,結(jié)合第一種可能的實現(xiàn)方式,所述處理器具體用于:
[0080]將所述紅外幀的前M個bit與第一紅外遙控器協(xié)議的引導碼進行匹配,其中,所述M與所述第一紅外遙控器協(xié)議引導碼bit數(shù)相同;
[0081]若確定所述紅外幀的前M個bit與所述第一紅外遙控器協(xié)議的引導碼匹配,將所述紅外幀再偏移N個bit后與所述第一紅外遙控器協(xié)議的結(jié)束碼進行匹配,其中,所述N與所述第一紅外遙控器協(xié)議的固定bit數(shù)相同;
[0082]若確定所述紅外幀再偏移N個bit后與所述第一紅外遙控器協(xié)議的結(jié)束碼匹配,則確定所述紅外幀與所述第一紅外遙控器協(xié)議匹配成功。
[0083]在第三種可能的實現(xiàn)方式中,結(jié)合第二種可能的實現(xiàn)方式,所述所述處理器具體用于:
[0084]若確定所述紅外幀的前M個bit與所述第一紅外遙控器協(xié)議的引導碼不能匹配成功,將所述紅外幀與第二紅外遙控器協(xié)議進行匹配;
[0085]或者,
[0086]若確定所述紅外幀再偏移N個bit后與所述第一紅外遙控器協(xié)議的結(jié)束碼不能匹配成功,將所述紅外幀與所述第二紅外遙控器協(xié)議進行匹配。
[0087]在第四種可能的實現(xiàn)方式中,結(jié)合第一種可能的實現(xiàn)方式,所述處理器具體用于:
[0088]將所述紅外幀偏移(J-1)個bit后與第三紅外遙控器協(xié)議的結(jié)束碼進行匹配,其中,所述J與所述第三紅外遙控器協(xié)議的固定bit數(shù)相同;
[0089]若確定所述紅外幀偏移(J-1)個bit后與所述第三紅外遙控器協(xié)議的結(jié)束碼匹配,則確定所述紅外幀與所述第三紅外遙控器協(xié)議匹配成功。
[0090]在第五種可能的實現(xiàn)方式中,結(jié)合第四種可能的實現(xiàn)方式,所述處理器還用于:
[0091]若確定所述紅外幀偏移(J-1)個bit后與所述第三紅外遙控器協(xié)議的結(jié)束碼不能匹配成功,將所述紅外幀與第四紅外遙控器協(xié)議進行匹配。
[0092]在第六種可能的實現(xiàn)方式中,結(jié)合第三方面或第一種可能的實現(xiàn)方式,所述處理器還用于:
[0093]若所述紅外幀與已注冊的全部紅外遙控器協(xié)議均不能匹配成功,將所述紅外幀向前偏移P個bit后與所述紅外遙控器協(xié)議的結(jié)束碼進行匹配,其中,所述P根據(jù)所述已注冊的全部紅外遙控器協(xié)議的類型確定;
[0094]若確定所述紅外幀向前偏移P個bit后與所述紅外遙控器協(xié)議的結(jié)束碼匹配,則確定所述紅外幀與所述紅外遙控器協(xié)議匹配成功。
[0095]在第七種可能的實現(xiàn)方式中,結(jié)合第六種可能的實現(xiàn)方式,所述處理器還用于:
[0096]若確定所述紅外幀向前偏移P個bit后與所述紅外遙控器協(xié)議的結(jié)束碼不能匹配成功,則丟棄所述紅外幀最前面的高低電平對,并將所述裸電平隊列中與所述紅外幀尾部相鄰的電平對與所述紅外幀剩余的電平對組成新的紅外幀,再將所述新的紅外幀與所述紅外遙控器協(xié)議進行匹配,直到所述新的紅外幀與所述紅外遙控器協(xié)議匹配成功或者所述裸電平隊列為空為止。
[0097]在第八種可能的實現(xiàn)方式中,結(jié)合第三方面或第一種可能的實現(xiàn)方式或第二種可能的實現(xiàn)方式或第三種可能的實現(xiàn)方式或第四種可能的實現(xiàn)方式或第五種可能的實現(xiàn)方式或第六種可能的實現(xiàn)方式或第七種可能的實現(xiàn)方式,所述處理器還用于:
[0098]更新所述已注冊的紅外遙控器協(xié)議。
[0099]本發(fā)明實施例提供的一種識別多種遙控器的方法、設備,通過接收遙控器發(fā)送的紅外波形;將所述遙控器發(fā)送的紅外波形轉(zhuǎn)換為對應的高低電平對;將所述高低電平對依次儲存于裸電平隊列,形成所述紅外波形對應的紅外幀;將所述紅外幀與已注冊的紅外遙控器協(xié)議進行匹配;根據(jù)與所述紅外幀匹配成功的所述紅外遙控器協(xié)議解析所述紅外幀對應的鍵值;實現(xiàn)識別多種紅外遙控器協(xié)議,進而降低了機頂盒廠商的機頂盒軟件維護成本??朔爽F(xiàn)有技術(shù)中每款遙控器對應的紅外遙控器協(xié)議不同,由于一個機頂盒只能識別一種紅外遙控器協(xié)議,從而使機頂盒廠商增加了機頂盒中的軟件維護成本的缺陷。
【專利附圖】
【附圖說明】
[0100]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0101]圖1為本發(fā)明實施例提供的一種識別多種遙控器的方法的流程圖;
[0102]圖2為本發(fā)明實施例提供的另一種識別多種遙控器的方法的流程示意圖;
[0103]圖3為本發(fā)明實施例提供的一種中斷處理流程示意圖;
[0104]圖4為本發(fā)明實施例提供的一種底半步處理流程示意圖;
[0105]圖5為本發(fā)明實施例提供的一種裸電平隊列處理流程示意圖;
[0106]圖6為本發(fā)明實施例提供的一種飛利浦無線電碼5紅外遙控器協(xié)議(PhilipsRadio Code-5簡稱RC5)的完整幀格式示意圖;
[0107]圖7為本發(fā)明實施例提供的一種RC5協(xié)議的調(diào)制方式示意圖;
[0108]圖8為本發(fā)明實施例提供的一種容錯處理流程示意圖;
[0109]圖9為本發(fā)明實施例提供的一種多種遙控器的設備示意圖;
[0110]圖10為本發(fā)明實施例提供的另一種多種遙控器的設備示意圖,
[0111]圖11為本發(fā)明實施例提供的再一種多種遙控器的設備示意圖?!揪唧w實施方式】
[0112]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0113]一方面,本發(fā)明實施例提供一種識別多種遙控器的方法的流程圖,參見圖1,所述方法包括:
[0114]101:多種遙控器的設備接收遙控器發(fā)送的紅外波形;
[0115]示例性的,本發(fā)明實施例提供的識別多種遙控器的方法可以應用于多種設備對紅外波遙控器的識別,例如,可以應用于機頂盒對多種機頂盒遙控器的識別,空調(diào)對多種空調(diào)遙控器的識別等等。本發(fā)明實施例對此不進行限制。
[0116]102:多種遙控器的設備將所述遙控器發(fā)送的紅外波形轉(zhuǎn)換為對應的高低電平對;
[0117]103:多種遙控器的設備將所述高低電平對依次儲存于裸電平隊列,形成所述紅外波形對應的紅外幀;
[0118]104:多種遙控器的設備將所述紅外幀與已注冊的紅外遙控器協(xié)議進行匹配;
[0119]示例性的,已注冊的紅外遙控器協(xié)議可以為用戶在多種遙控器的設備已登記的紅外遙控器協(xié)議。
[0120]示例性的,紅外遙控器協(xié)議包括第一類紅外遙控器協(xié)議和第二類紅外遙控器協(xié)議,其中,第一類紅外遙控器協(xié)議包含固定位bit個數(shù)、結(jié)束碼、明顯引導碼,第二類紅外遙控器協(xié)議包含固定位bit個數(shù)、結(jié)束碼、無明顯引導碼;
[0121]相應的,所述將所述紅外幀與已注冊的紅外遙控器協(xié)議進行匹配,可以包括:
[0122]將紅外幀與第一類紅外遙控器協(xié)議進行匹配;
[0123]若紅外幀與任意第一類紅外遙控器協(xié)議均不能匹配成功,則將紅外幀與第二類紅外遙控器協(xié)議進行匹配;
[0124]或者,
[0125]將紅外幀與第二類紅外遙控器協(xié)議進行匹配;
[0126]若紅外幀與任意第二類紅外遙控器協(xié)議均不能匹配成功,則將紅外幀與第一類紅外遙控器協(xié)議進行匹配。
[0127]示例性的,所述將所述紅外幀與所述第一類紅外遙控器協(xié)議進行匹配,可以包括:
[0128]將紅外幀的前M個bit與第一紅外遙控器協(xié)議的引導碼進行匹配,其中,M與第一紅外遙控器協(xié)議引導碼bit數(shù)相同;
[0129]若確定紅外幀的前M個bit與第一紅外遙控器協(xié)議的引導碼匹配,將紅外幀再偏移N個bit后與第一紅外遙控器協(xié)議的結(jié)束碼進行匹配,其中,N與第一紅外遙控器協(xié)議的固定bit數(shù)相同;
[0130]若確定紅外幀再偏移N個bit后與第一紅外遙控器協(xié)議的結(jié)束碼匹配,則確定紅外幀與第一紅外遙控器協(xié)議匹配成功。
[0131]示例性的,所述將所述紅外幀與所述第一類紅外遙控器協(xié)議進行匹配,還可以包括:
[0132]若確定紅外幀的前M個bit與第一紅外遙控器協(xié)議的引導碼不能匹配成功,將紅外幀與第二紅外遙控器協(xié)議進行匹配;
[0133]或者,
[0134]若確定紅外幀再偏移N個bit后與第一紅外遙控器協(xié)議的結(jié)束碼不能匹配成功,將紅外幀與第二紅外遙控器協(xié)議進行匹配。
[0135]示例性的,所述將所述紅外幀與所述第二類紅外遙控器協(xié)議進行匹配,可以包括:
[0136]將紅外幀偏移(J-1)個bit后與第三紅外遙控器協(xié)議的結(jié)束碼進行匹配,其中,J與第三紅外遙控器協(xié)議的固定bit數(shù)相同;
[0137]若確定紅外幀偏移(J-1)個bit后與第三紅外遙控器協(xié)議的結(jié)束碼匹配,則確定紅外幀與第三紅外遙控器協(xié)議匹配成功。
[0138]示例性的,所述將所述紅外幀與所述第二類紅外遙控器協(xié)議進行匹配,還包括:
[0139]若確定紅外幀偏移(J-1)個bit后與第三紅外遙控器協(xié)議的結(jié)束碼不能匹配成功,將紅外幀與第四紅外遙控器協(xié)議進行匹配。
[0140]示例性的,所述將所述紅外幀與已注冊的紅外遙控器協(xié)議進行匹配,還可以包括:
[0141]若紅外幀與已注冊的全部紅外遙控器協(xié)議均不能匹配成功,將紅外幀向前偏移P個bit后與紅外遙控器協(xié)議的結(jié)束碼進行匹配,其中,P根據(jù)已注冊的全部紅外遙控器協(xié)議的類型確定;
[0142]若確定紅外幀向前偏移P個bit后與紅外遙控器協(xié)議的結(jié)束碼匹配,則確定紅外幀與紅外遙控器協(xié)議匹配成功。
[0143]示例性的,所述方法還可以包括:
[0144]若確定紅外幀向前偏移P個bit后與紅外遙控器協(xié)議的結(jié)束碼不能匹配成功,則丟棄紅外幀最前面的高低電平對,并將裸電平隊列中與紅外幀尾部相鄰的電平對與紅外幀剩余的電平對組成新的紅外幀,再將新的紅外幀與紅外遙控器協(xié)議進行匹配,直到新的紅外幀與紅外遙控器協(xié)議匹配成功或者裸電平隊列為空為止。
[0145]當然,在某些情況,終端設備(比如機頂盒、智能電視等)中的紅外遙控器協(xié)議可以在銷售給用戶后,由用戶進行注冊。在這種情況下,終端設備在某些時刻可能只裝載了一種紅外遙控器協(xié)議,這時候就可以將紅外幀與所述裝載了的紅外遙控器協(xié)議進行比對,如果匹配,則識別鍵值,如果匹配失敗則忽視,發(fā)送無法識別的信息,或者通過顯示器顯示無法識別的息。
[0146]105:多種遙控器的設備根據(jù)與所述紅外幀匹配成功的所述紅外遙控器協(xié)議解析所述紅外幀對應的鍵值。
[0147]示例性的,所述方法還可以包括:
[0148]更新所述已注冊的紅外遙控器協(xié)議。
[0149]本發(fā)明實施例提供的一種識別多種遙控器的方法,可以應用于機頂盒,通過接收遙控器發(fā)送的紅外波形;將所述遙控器發(fā)送的紅外波形轉(zhuǎn)換為對應的高低電平對;將所述高低電平對依次儲存于裸電平隊列,形成所述紅外波形對應的紅外幀;將所述紅外幀與已注冊的紅外遙控器協(xié)議進行匹配;根據(jù)與所述紅外幀匹配成功的所述紅外遙控器協(xié)議解析所述紅外幀對應的鍵值;實現(xiàn)識別多種紅外遙控器協(xié)議,進而降低了機頂盒廠商的機頂盒軟件維護成本??朔爽F(xiàn)有技術(shù)中每款遙控器對應的紅外遙控器協(xié)議不同,由于一個機頂盒只能識別一種紅外遙控器協(xié)議,從而使機頂盒廠商增加了機頂盒中的軟件維護成本的缺陷。
[0150]下面通過具體實施例對上述方法實施例進行說明。參見圖2,可以包括以下步驟:
[0151]201:接收遙控器發(fā)送的紅外波形;
[0152]示例性的,本發(fā)明實施例以應用于識別機頂盒的多種遙控器為例進行說明,多種遙控器的設備可以配置在機頂盒內(nèi),機頂盒可以包含單板紅外接收頭和主芯片,主芯片上加載有應用程序和驅(qū)動軟件,驅(qū)動軟件可以包含驅(qū)動層、協(xié)議適配層、協(xié)議處理層??梢杂蓡伟寮t外接收頭接收遙控器發(fā)送的紅外波形。
[0153]202:將遙控器發(fā)送的紅外波形轉(zhuǎn)換為對應的高低電平對;
[0154]示例性的,單板紅外接收頭將接收的紅外波形轉(zhuǎn)換為對應的高低電平對。
[0155]203:將高低電平對依次儲存于裸電平隊列,形成紅外波形對應的紅外幀;
[0156]示例性的,單板紅外接收頭將高低電平對發(fā)送給機頂盒中的主芯片并產(chǎn)生中斷,并由中央處理器(Central Processing Unit,簡稱CPU)上報給驅(qū)動軟件指示有高低電平對到達。
[0157]示例性的,驅(qū)動層在中斷處理過程將高低電平對儲存到裸電平隊列中,并激活底半步處理,以及當先入先出隊列(First Input First Output,簡稱FIFO)出錯時,進行錯誤處理。優(yōu)選的,中斷處理過程需要快速完成并退出,以便CPU能處理其他任務。
[0158]示例性的,本發(fā)明實施例中的主芯片上包含定時器,用于檢查是否溢出中斷,當定時器超過一定的數(shù)值時,該數(shù)值由定時器的具體類型來決定,產(chǎn)生溢出中斷;當定時器沒有超過該數(shù)值時,沒有產(chǎn)生溢出中斷。
[0159]示例性的,如圖3所示,為本發(fā)明實施例提供的一種中斷處理流程示意圖,如圖所示,當有中斷發(fā)生時,首先判斷是否有溢出中斷,若沒有溢出中斷,再判斷是否接高低電平收或接收超時中斷,若接收到高低電平或接收到超時中斷,則讀取電平對,再判斷應用程序是獲取鍵值還是獲取高低電平對,若獲取的是高低電平對,則不需要驅(qū)動軟件解析協(xié)議及遙控器按鍵值的方式,將接收到的高低電平對加入到裸電平隊列中,再激活底半步,再清除中斷;若獲取的是鍵值,則將接收到的電平隊列加入到鍵值隊列,再喚醒讀操作,再清除中斷,中斷處理結(jié)束;當有中斷發(fā)生時,若溢出中斷,則清空硬件FIFO清除中斷,再判斷當前高低電平隊中斷水線是否大于1,若當前高低電平隊中斷水線大于1,則判斷是否接收高低電平對或接收超時中斷;若當前高低電平隊列中斷水線不大于1,則降低高低電平隊中斷水線,再判斷是否接收高低電平對或接收超時中斷。
[0160]204:將紅外幀進行底半步處理;
[0161]示例性的,底半步處理用于當中斷處理不能快速完成任務時,在底半步處理中完成中斷處理不能快速完成的任務。在本發(fā)明實施例中,底半步處理中需要完成的任務包含發(fā)起裸電平隊列處理以及在裸電平處理出錯時完成最終的容錯處理。
[0162]示例性的,如圖4所示,為本發(fā)明實施例提供的一種底半步處理流程示意圖,如圖所示,當中斷激活底半步時,先判斷裸電平隊列是否處理失敗,若裸電平隊列處理失敗,再啟動容錯定時器,底半步處理結(jié)束;若裸電平隊列沒有處理失敗,則底半步處理結(jié)束。
[0163]205:將所述紅外幀與已注冊的紅外遙控器協(xié)議進行匹配;
[0164]示例性的,已注冊的紅外遙控器協(xié)議可以注冊在協(xié)議適配層中,也可以注冊在其它任意一個可以儲存紅外遙控器協(xié)議的儲存單元,本發(fā)明實施例對此不進行限制。
[0165]示例性的,若紅外遙控器協(xié)議注冊在協(xié)議適配層中,則已注冊的紅外遙控器協(xié)議可以為用戶在協(xié)議適配層中已登記的紅外協(xié)議描述符,本發(fā)明實施例對此不進行限制。
[0166]示例性的,協(xié)議適配層用于向驅(qū)動層提供遍歷紅外遙控器協(xié)議的接口,向協(xié)議處理層提供容納紅外遙控器協(xié)議的內(nèi)置能支持的紅外協(xié)議描述符的存儲空間。
[0167]示例性的,協(xié)議處理層主要完成從裸電平隊列中識別紅外遙控器協(xié)議和解析鍵值,其中,紅外遙控器協(xié)議包括兩類協(xié)議,一類是有明顯引導碼+固定位(bit)個數(shù)+結(jié)束碼,另一類是沒有明顯引導碼+固定位(bit)個數(shù)+結(jié)束碼。
[0168]示例性的,本發(fā)明實施例中采用協(xié)議描述符的方法來描述紅外遙控器協(xié)議的組成,也可以采用其它方式來描述紅外遙控器的組成,但本發(fā)明實施例對此不進行限制。協(xié)議描述符可以為“ ir_pr0t0C0l ”,本發(fā)明實施例中描述紅外遙控器協(xié)議的方法可以為鏈表節(jié)點、具體協(xié)議名稱、協(xié)議類別、標志位、幀格式描述、協(xié)議識別鉤子、協(xié)議識別、解析時所需要的私有數(shù)據(jù)、協(xié)議解析鉤子、協(xié)議識別出錯時的處理鉤子、協(xié)議解析時出錯時的處理鉤子和協(xié)議使能位,但本發(fā)明實施例對此不進行限制。
[0169]示例性的,描述紅外遙控器協(xié)議的方法可以為:
[0170]
【權(quán)利要求】
1.一種識別多種遙控器的方法,其特征在于,所述方法包括: 接收遙控器發(fā)送的紅外波形; 將所述遙控器發(fā)送的紅外波形轉(zhuǎn)換為對應的高低電平對; 將所述高低電平對依次儲存于裸電平隊列,形成所述紅外波形對應的紅外幀; 將所述紅外幀與已注冊的紅外遙控器協(xié)議進行匹配; 根據(jù)與所述紅外幀匹配成功的所述紅外遙控器協(xié)議解析所述紅外幀對應的鍵值。
2.根據(jù)權(quán)利要求1所述的識別多種遙控器的方法,其特征在于, 所述紅外遙控器協(xié)議包括第一類紅外遙控器協(xié)議和第二類紅外遙控器協(xié)議,其中,所述第一類紅外遙控器協(xié)議包含固定位bit個數(shù)、結(jié)束碼、明顯引導碼,所述第二類紅外遙控器協(xié)議包含固定位bit個數(shù)、結(jié)束碼、無明顯引導碼; 相應的,所述將所述紅外幀與已注冊的紅外遙控器協(xié)議進行匹配,包括: 將所述紅外幀與所述第一類紅外遙控器協(xié)議進行匹配; 若所述紅外幀與任意所述第一類紅外遙控器協(xié)議均不能匹配成功,則將所述紅外幀與所述第二類紅外遙控器協(xié)議進行匹配; 或者, 將所述紅外幀與所述第二類紅外遙控器協(xié)議進行匹配; 若所述紅外幀與任意所述第二類紅外遙控器協(xié)議均不能匹配成功,則將所述紅外幀與所述第一類紅外遙控器協(xié)議進行匹配。
3.根據(jù)權(quán)利要求2所述的識別多種遙控器的方法,其特征在于,所述將所述紅外幀與所述第一類紅外遙控器協(xié)議進行匹配,包括: 將所述紅外幀的前M個bit與第一紅外遙控器協(xié)議的引導碼進行匹配,其中,所述M與所述第一紅外遙控器協(xié)議引導碼bit數(shù)相同; 若確定所述紅外幀的前M個bit與所述第一紅外遙控器協(xié)議的引導碼匹配,將所述紅外幀再偏移N個bit后與所述第一紅外遙控器協(xié)議的結(jié)束碼進行匹配,其中,所述N與所述第一紅外遙控器協(xié)議的固定bit數(shù)相同; 若確定所述紅外幀再偏移N個bit后與所述第一紅外遙控器協(xié)議的結(jié)束碼匹配,則確定所述紅外幀與所述第一紅外遙控器協(xié)議匹配成功。
4.根據(jù)權(quán)利要求3所述的識別多種遙控器的方法,其特征在于,所述將所述紅外幀與所述第一類紅外遙控器協(xié)議進行匹配,還包括: 若確定所述紅外幀的前M個bit與所述第一紅外遙控器協(xié)議的引導碼不能匹配成功,將所述紅外幀與第二紅外遙控器協(xié)議進行匹配; 或者, 若確定所述紅外幀再偏移N個bit后與所述第一紅外遙控器協(xié)議的結(jié)束碼不能匹配成功,將所述紅外幀與所述第二紅外遙控器協(xié)議進行匹配。
5.根據(jù)權(quán)利要求2所述的識別多種遙控器的方法,其特征在于,所述將所述紅外幀與所述第二類紅外遙控器協(xié)議進行匹配,包括: 將所述紅外幀偏移(J-1)個bit后與第三紅外遙控器協(xié)議的結(jié)束碼進行匹配,其中,所述J與所述第三紅外遙控器協(xié)議的固定bit數(shù)相同; 若確定所述紅外幀偏移(J-1)個bit后與所述第三紅外遙控器協(xié)議的結(jié)束碼匹配,則確定所述紅外幀與所述第三紅外遙控器協(xié)議匹配成功。
6.根據(jù)權(quán)利要求5所述的識別多種遙控器的方法,其特征在于,所述將所述紅外幀與所述第二類紅外遙控器協(xié)議進行匹配,還包括: 若確定所述紅外幀偏移(J-1)個bit后與所述第三紅外遙控器協(xié)議的結(jié)束碼不能匹配成功,將所述紅外幀與第四紅外遙控器協(xié)議進行匹配。
7.根據(jù)權(quán)利要求1或2所述的識別多遙控器的方法,其特征在于,所述將所述紅外幀與已注冊的紅外遙控器協(xié)議進行匹配,還包括: 若所述紅外幀與已注冊的全部紅外遙控器協(xié)議均不能匹配成功,將所述紅外幀向前偏移P個bit后與所述紅外遙控器協(xié)議的結(jié)束碼進行匹配,其中,所述P根據(jù)所述已注冊的全部紅外遙控器協(xié)議的類型確定; 若確定所述紅外幀向前偏移P個bit后與所述紅外遙控器協(xié)議的結(jié)束碼匹配,則確定所述紅外幀與所述紅外遙控器協(xié)議匹配成功。
8.根據(jù)權(quán)利要求7所述的識別多種遙控器的方法,其特征在于,所述方法還包括: 若確定所述紅外幀向前偏移P個bit后與所述紅外遙控器協(xié)議的結(jié)束碼不能匹配成功,則丟棄所述紅外幀最前面的高低電平對,并將所述裸電平隊列中與所述紅外幀尾部相鄰的電平對與所述紅外幀剩余的電平對組成新的紅外幀,再將所述新的紅外幀與所述紅外遙控器協(xié)議進行匹配,直到所述新的紅外幀與所述紅外遙控器協(xié)議匹配成功或者所述裸電平隊列為空為止。
9.根據(jù)權(quán)利要求1-8任一項所述的識別多種遙控器的方法,其特征在于, 所述方法還包括:更新所述已注冊的紅外遙控器協(xié)議。
10.一種多種遙控器的設備,其特征在于,所述設備包括: 接收單元,用于接收遙控器發(fā)送的紅外波形; 轉(zhuǎn)換單元,用于將所述遙控器發(fā)送的紅外波形轉(zhuǎn)換為對應的高低電平對; 儲存單元,用于將所述高低電平對依次儲存于裸電平隊列,形成所述紅外波形對應的紅外幀; 匹配單元,用于將所述紅外幀與已注冊的紅外遙控器協(xié)議進行匹配; 解析單元,用于根據(jù)與所述紅外幀匹配成功的所述紅外遙控器協(xié)議解析所述紅外幀對應的鍵值。
11.根據(jù)權(quán)利要求10所述的多種遙控器的設備,其特征在于, 所述紅外遙控器協(xié)議包括第一類紅外遙控器協(xié)議和第二類紅外遙控器協(xié)議,其中,所述第一類紅外遙控器協(xié)議包含固定位bit個數(shù)、結(jié)束碼、明顯引導碼,所述第二類紅外遙控器協(xié)議包含固定位bit個數(shù)、結(jié)束碼、無明顯引導碼; 相應的, 所述匹配單元還用于:將所述紅外幀與所述第一類紅外遙控器協(xié)議進行匹配;若所述紅外幀與任意所述第一類紅外遙控器協(xié)議均不能匹配成功,則將所述紅外幀與所述第二類紅外遙控器協(xié)議進行匹配; 或者, 所述匹配單元還用于:將所述紅外幀與所述第二類紅外遙控器協(xié)議進行匹配;若所述紅外幀與任意所述第二類紅外遙控器協(xié)議均不能匹配成功,則將所述紅外幀與所述第一類紅外遙控器協(xié)議進行匹配。
12.根據(jù)權(quán)利要求11所述的多種遙控器的設備,其特征在于, 所述匹配單元還用于:將所述紅外幀的前M個bit與第一紅外遙控器協(xié)議的引導碼進行匹配,其中,所述M與所述第一紅外遙控器協(xié)議引導碼bit數(shù)相同;若確定所述紅外幀的前M個bit與所述第一紅外遙控器協(xié)議的引導碼匹配,將所述紅外幀再偏移N個bit后與所述第一紅外遙控器協(xié)議的結(jié)束碼進行匹配,其中,所述N與所述第一紅外遙控器協(xié)議的固定bit數(shù)相同;若確定所述紅外幀再偏移N個bit后與所述第一紅外遙控器協(xié)議的結(jié)束碼匹配,則確定所述紅外幀與所述第一紅外遙控器協(xié)議匹配成功。
13.根據(jù)權(quán)利要求12所述的多種遙控器的設備,其特征在于, 所述匹配單元還用于:若確定所述紅外幀的前M個bit與所述第一紅外遙控器協(xié)議的引導碼不能匹配成功,將所述紅外幀與第二紅外遙控器協(xié)議進行匹配; 或者, 所述匹配單元還用于:若確定所述紅外幀再偏移N個bit后與所述第一紅外遙控器協(xié)議的結(jié)束碼不能匹配成功,將所述紅外幀與所述第二紅外遙控器協(xié)議進行匹配。
14.根據(jù)權(quán)利要求11所述的多種遙控器的設備,其特征在于, 所述匹配單元還用于 :將所述紅外幀偏移(J-1)個bit后與第三紅外遙控器協(xié)議的結(jié)束碼進行匹配,其中,所述J與所述第三紅外遙控器協(xié)議的固定bit數(shù)相同;若確定所述紅外幀偏移(J-1)個bit后與所述第三紅外遙控器協(xié)議的結(jié)束碼匹配,則確定所述紅外幀與所述第三紅外遙控器協(xié)議匹配成功。
15.根據(jù)權(quán)利要求14所述的多種遙控器的設備,其特征在于, 所述匹配單元還用于:若確定所述紅外幀偏移(J-1)個bit后與所述第三紅外遙控器協(xié)議的結(jié)束碼不能匹配成功,將所述紅外幀與第四紅外遙控器協(xié)議進行匹配。
16.根據(jù)權(quán)利要求10或11所述的多種遙控器的設備,其特征在于, 所述匹配單元還用于:若所述紅外幀與已注冊的全部紅外遙控器協(xié)議均不能匹配成功,將所述紅外幀向前偏移P個bit后與所述紅外遙控器協(xié)議的結(jié)束碼進行匹配,其中,所述P根據(jù)所述已注冊的全部紅外遙控器協(xié)議的類型確定;若確定所述紅外幀向前偏移P個bit后與所述紅外遙控器協(xié)議的結(jié)束碼匹配,則確定所述紅外幀與所述紅外遙控器協(xié)議匹配成功。
17.根據(jù)權(quán)利要求16所述的多種遙控器的設備,其特征在于, 所述匹配單元還用于:若確定所述紅外幀向前偏移P個bit后與所述紅外遙控器協(xié)議的結(jié)束碼不能匹配成功,則丟棄所述紅外幀最前面的高低電平對,并將所述裸電平隊列中與所述紅外幀尾部相鄰的電平對與所述紅外幀剩余的電平對組成新的紅外幀,再將所述新的紅外幀與所述紅外遙控器協(xié)議進行匹配,直到所述新的紅外幀與所述紅外遙控器協(xié)議匹配成功或者所述裸電平隊列為空為止。
18.根據(jù)權(quán)利要求10-17任一項所述的多種遙控器的設備,其特征在于,所述設備還包括: 更新單元,用于更新所述已注冊的紅外遙控器協(xié)議。
【文檔編號】G08C23/04GK103546791SQ201310481565
【公開日】2014年1月29日 申請日期:2013年10月15日 優(yōu)先權(quán)日:2013年10月15日
【發(fā)明者】劉倫佐, 李寧, 廖開福 申請人:華為技術(shù)有限公司