專利名稱::遙控器碼型的通用編碼方法
技術領域:
:本發明涉及遙控器編碼
技術領域:
,尤其是遙控器碼型的編碼
技術領域:
。
背景技術:
:遙控器通過向被控設備發送經過特定編碼的紅外信號來控制被控設備,紅外信號的編碼方式稱為遙控器的碼型。為了更好地理解碼型的概念,以下舉4個常見的碼型為例。本說明書規定附圖中的高電平部分意味著遙控器在這段時間內發送紅外信號,而低電平部分意味著遙控器在這段時間內不發送紅外信號。將電平按時間順序連接在一起稱為電平序列,也稱為波形。所發送的紅外信號可以是持續的紅外信號,也可以是以一定頻率間歇發送的紅外信號,后者稱為帶載波的紅外信號。本說明書的附圖中,疊加(或稱為調制)了載波的高電平用填充的矩形表示。圖1為遙控器專用電路^PD1986C的編碼方式示意圖。當外接455KHz的振蕩時其數據幀的循環發送周期為36ms;每發完1幀檢測按鍵是否釋放,若釋放則停止數據幀的發送;數據幀只有一種,由3位固定碼和5位數據碼構成;5位數據碼的值用于區分不同的按鍵;邏輯"0"用1.13ms的低電平表示,邏輯"1"用1.13ms的高電平表示;所有高電平疊加了頻率為37.917KHz、占空比為1/2的載波。圖2為遙控器專用電路ixPD6122的一種編碼方式示意圖。當外接455KHz的振蕩時其數據幀的循環發送周期為108ms;每發完1幀檢測按鍵是否釋放,若釋放則停止數據幀的發送;首幀數據幀由首幀引導碼、8位用戶碼、8位用戶碼反碼、8位數據碼、8位數據碼反碼和l個結束脈沖構成;8位數據碼的值用于區分不同的按鍵;從第2幀開始,每幀只發送循環幀引導碼和1個結束脈沖;首幀引導碼由9ms的高電平和4.5ms的低電平序列構成;循環幀引導碼由9ms的高電平和2.25ms的低電平序列構成;邏輯"0"用560us的高電平和565us的低電平序列表示,邏輯"1"用560us的高電平和1690ivs的低電平序列表示;結束脈沖為560us的高電平;所有高電平疊加了頻率為37.917KHz、占空比為1/3的載波。圖3為遙控器專用電路M708的一種編碼方式示意圖。當外接500KHz的振蕩時其數據幀的循環發送周期為102ms;每發完1幀檢測按鍵是否釋放,若釋放則間隔43ms(包括按鍵去抖動的25ms和延時的18ms)發送結束幀,之后停止幀的發送;按鍵釋放之前循環發送的數據幀由10ns的高電平、390us的低電平、10us的高電平、90us的低電平、4位地址碼、6位命令碼、1個奇偶校驗位、10ys的高電平、390ys的低電平、10us的高電平序列構成;6位命令碼用于區分不同的按鍵;結束幀由10us的高電平、390us的低電平、lOus的高電平、90ys的低電平、4位地址碼、6位全0碼、1個奇偶校驗位、10us的高電平、390ws的低電平、10ns的高電平序列構成;邏輯"0"用10ns的高電平和90ws的低電平序列表示,奇數位的邏輯"1"用10!is的高電平和190us的低電平序列表示,偶數位的邏輯"1"用10"s的高電平和290ys的低電平序列表示;若前10位中"1"的個數為奇數個,則奇偶校驗位的值為"0",若前10位中"1"的個數為偶數個,則奇偶校驗位的值為"1";高電平沒有再疊加載波。圖4為遙控器專用電路SAA3006的編碼方式(這個碼型常被稱為RC-5碼型)示意圖。當外接432KHz的振蕩時其數據幀的循環發送周期為64個數據位的寬度;每發完1幀檢測按鍵是否釋放,若釋放則停止數據幀的發送;數據幀只有一種,由2位起始碼、控制位、5位系統碼和6位命令碼構成;6位命令碼的值用于區分不同的按鍵;邏輯"0"用889^s的高電平和889ps的低電平序列表示,邏輯"1"用889us的低電平和889ps的高電平序列表示;每次按鍵(一個鍵從按下到釋放的整個過程稱為一次按鍵),控制位的值取反一次;所有高電平疊加了頻率為36KHz、占空比為1/2的載波。早期的遙控器碼型通常由專用芯片進行編碼,比如前面例舉的wPD1986C、yPD6122、M708、SAA3006等。隨著MCU的降價和普及,許多遙控器的碼型都采用MCU進行編碼和發碼(MCU將編碼好的碼型轉成控制紅外發射裝置的電平信號的過程稱為發碼)。由于MCU的可編程功能,各種各樣的傳統碼型都可以用MCU進行重新編碼,并且很容易衍生出一系列類似的碼型。由于業界沒有形成統一的規范,目前存在數百種不同的碼型,并且碼型的數量還在不斷增加。遙控器分為專用遙控器和多功能遙控器。專用遙控器通常只能遙控一種型號或同一廠家同一系列的家電,很多家庭的CRT電視機的原配遙控器就是專用遙控器。隨著各種可遙控的設備類型(如電視、機頂盒、DVD、功放、錄像機等,以下統稱為"被控設備")的增多和家電廠商的大量涌現,專用遙控器的型號增長封驚人的地步。為了解決一只遙控器控制多個被控設備以及一只遙控器兼容多個品牌和型號的被控設備的問題,多功能遙控器便誕生了。多功能遙控器將多個專用遙控器的遙控功能集成到一個遙控器內,通常會集成2~8種設備類型的幾十至幾百個專用遙控器的功能。專用遙控器的所有按鍵通常具有相同的碼型,僅通過鍵數據碼來區分不同的按鍵。而不同的專用遙控器也可能采用相同的碼型,但可通過用戶碼(或稱系統碼、地址碼等)來區分。有些多功能遙控器還具備學習功能,能接收其它遙控器發出的紅外信號,并可發射出碼型與之相同的紅外信號,從而代替被學習遙控器的遙控功能。已經存在的大量碼型和不斷增加的新碼型使得多功能遙控器的開發難度加大、開發周期長、容易出錯。對于學習型遙控器來說,目前的學習能力十分有限,因為它需要學習型遙控器不斷更新學習程序才能適應新出現的碼型。如果有一種通用的編碼方法能夠表達所有己知遙控器的碼型,并規范新碼型的設計規則,那么這些問題都將迎刃而解。
發明內容本發明的目的在于提供一種能夠方便地創造遙控器新碼型和表達所有已知遙控器碼型的通用編碼方法。一種遙控器碼型的通用編碼方法,其特征在于將枚舉幀序列、重復幀序列和結束幀序列按順序緊接在一起構成遙控器碼型所對應的完整的幀序列;所述的幀序列包含幀、幀間隔(幀與幀之間的間隔);所述的完整的幀序列中的所有互不相同的幀組成基本幀集合,基本幀集合中的幀稱為基本幀;對每個基本幀定義唯一的編號,該編號稱為基本幀序號;所述的枚舉幀序列是包含第1幀在內的有限的幀序列,構成枚舉幀序列的幀的數目稱為枚舉幀數目(EFC);所述的重復幀序列緊接在所述的枚舉幀序列之后,由某一小段幀序列的不斷重復構成,所述的一小段幀序列包含RFC個幀(RFC也稱為重復幀數目);所述的結束幀序列是按鍵釋放之后發送的無法延續重復幀規律的有限的幀序列,構成結束幀序列的幀的數目稱為結束幀數目(FFC)。所述的幀間隔包括間隔時間和間隔類型;所述的幀間隔的間隔類型分為兩種(1)首首間隔——幀首與相鄰前一幀幀首的間隔;(2)尾首間隔——幀首與相鄰前一幀幀尾的間隔。所述的基本幀序號可按如下方式編排0,1,2,……。所述的枚舉幀序列的編碼方法包括以下內容(1)記錄所述的枚舉幀數目EFC;(2)記錄枚舉幀序列第l幀的基本幀序號;(3)若枚舉幀數目EFC〉1,則順序記錄枚舉幀序列第i幀的基本幀序號及第i幀與第i-l幀的幀間隔(2《i《EFC)。所述的重復幀序列的編碼方法包括以下內容(1)記錄所述的重復幀數目RFC,若沒有重復幀則RFC=0;(2)若重復幀數目RFC>0,則順序記錄重復幀序列第j幀的基本幀序號及第j幀與第j-l幀的幀間隔(1《j《RFC),重復幀序列的第O幀代表枚舉幀序列的最后一幀。所述的重復幀序列的編碼方法還可以為如果重復幀序列的每個重復周期所包含的幀序列與所述的枚舉幀序列的最后RFC個幀的幀序列相同,則記錄所述的重復幀數目RFC即可。所述的結束幀序列的編碼方法包括以下內容(1)記錄所述的結束幀數目FFC,若沒有結束幀則FFC=0;(2)若結束幀數目FFC〉0,則順序記錄結束幀序列的第k幀的基本幀序號及第k幀與第k-l幀的幀間隔(1《k《FFC),結束幀序列的第O幀代表按鍵釋放之前發送的最后一幀。所述的基本幀集合的編碼方法包括以下內容(1)記錄基本幀集合中包含的基本幀的數目(BFC,又稱為基本幀數目);(2)—一記錄所有基本幀的編碼。所述的基本幀的編碼方法包括以下內容(1)將基本幀按順序劃分成若干波形段;(2)記錄波形段的數目;(3)順序記錄每個波形段的編碼。所述的波形段分為電平波形段和數據波形段。所述的電平波形段分為高電平波形段、低電平波形段。所述的高電平波形段還可以通過載波進行調制。所述的高電平波形段的編碼方法包括以下內容(1)記錄代表高電平波形段的標志信息;(2)記錄高電平波形段的持續時間;所述的低電平波形段的編碼方法包括以下內容(1)記錄代表低電平波形段的標志信息;(2)記錄低電平波形段的持續時間。所述的數據波形段由數據位波形序列構成;將不同的數據位波形組成數據位波形集合;對數據位波形集合中每個數據位波形定義唯一的編號,該編號稱為數據位波形的序號,也稱作數據位的值。所述的數據位波形集合的編碼方法包括以下內容(1)記錄數據位波形集合中包含數據位波形的數目;(2)—一記錄每個數據位波形的編碼。所述的數據位波形的序號可按如下方式編排0,1,2,……。所述的數據位波形由電平波形段序列構成。所述的數據位波形的編碼方法包括以下內容(1)記錄構成數據位波形的電平波形段的數目;(2)順序記錄每個電平波形段的編碼。所述的數據波形段分為固定碼波形段、用戶碼波形段、鍵數據碼波形段,還可以分出搖擺碼波形段;所述的固定碼波形段是基本幀中數據位波形序列固定不變的數據波形段;所述的用戶碼波形段、鍵數據碼波形段所包含的數據位波形序列由遙控器碼型以外的信息提供,用來表示具體的專用遙控器的具體某個按鍵;所述的搖擺碼波形段是基本幀中數據位波形序列可變的數據波形段。所述的固定碼波形段的編碼方法包括以下內容(1)記錄代表固定碼波形段的標志信息;(2)記錄構成固定碼波形段的數據位波形的數目;(3)順序記錄構成固定碼波形段的每個數據位波形的序號。將所述的基本幀集合中所有不同的用戶碼波形段組成用戶碼波形段集合,對用戶碼波形段集合中的每個用戶碼波形段定義唯一的編號,該編號稱為用戶碼波形段的序號。所述的用戶碼波形段的序號可按如下方式編排0,1,2,……。所述的用戶碼波形段的編碼方法包括以下內容(1)記錄代表用戶碼波形段的標志信息;(2)記錄用戶碼波形段的序號;(3)記錄用戶碼波形段所包含數據位波形的數目。所述的數據波形段還可以分出用戶碼反碼波形段,所述的用戶碼反碼波形段必須有一個用戶碼波形段與之對應,兩者所包含的數據位波形數目相同,并且對應位置的數據位波形的序號的最低二進制位具有反碼關系、其余二進制位相同。所述的用戶碼反碼波形段的編碼方法包括以下內容(1)記錄代表用戶碼反碼波形段的標志信息;(2)記錄與該用戶碼反碼波形段相對應的用戶碼波形段的序號。所述的基本幀集合中所有不同的鍵數據碼波形段組成鍵數據碼波形段集合,對鍵數據碼波形段集合中的每個鍵數據碼波形段定義唯一的編號,該編號稱為鍵數據碼波形段的序號。所述的鍵數據碼波形段的序號可按如下方式編排0,1,2,……。所述的鍵數據碼波形段的編碼方法包括以下內容-(1)記錄代表鍵數據碼波形段的標志信息;(2)記錄鍵數據碼波形段的序號;(3)記錄鍵數據碼波形段所包含數據位波形的數目。所述的數據波形段還可以分出鍵數據碼反碼波形段,所述的鍵數據碼反碼波形段必須有一個鍵數據碼波形段與之對應,兩者所包含的數據位波形數目相同,并且對應位置的數據位波形的序號的最低二進制位具有反碼關系、其余二進制位相同。所述的鍵數據碼反碼波形段的編碼方法包括以下內容(1)記錄代表鍵數據碼反碼波形段的標志信息;(2)記錄與該鍵數據碼反碼波形段相對應的鍵數據碼波形段的序號。所述的搖擺碼波形段中包含的數據位波形序列遵循一定的變化規律,這個變化規律的編碼方法包括以下內容(1)記錄構成搖擺碼波形段的數據位波形的數目;(2)記錄搖擺碼波形段的數據位波形序列呈現不同狀態的循環周期;(3)順序記錄循環周期內每個狀態的數據位波形序列的編碼,所述的數據位波形序列的編碼方法為順序記錄每個數據位波形的序號。所述的搖擺碼波形段的編碼方法為記錄代表搖擺碼波形段的標志信息。所述的固定碼波形段也可以用所述的用戶碼波形段或所述的鍵數據碼波形段代替。所述的搖擺碼波形段也可以用所述的用戶碼波形段或所述的鍵數據碼波形段代替。所述的用戶碼波形段也可以用所述的鍵數據碼波形段代替。所述的遙控器碼型的通用編碼方法,還可以包括遙控器按鍵時依據發碼規律發送幀序列,所述發碼規律的編碼方法包括以下內容(1)記錄每次按鍵至少發送的幀數MEC;(2)記錄持續按鍵重復發送的次數RET以及每次重復發送的幀數REC。所述的遙控器碼型的通用編碼方法,還可以將完整的幀序列直接存儲在MCU存儲器中,也可以存儲在計算機內。通過計算機將所述的存儲在計算機內的完整的幀序列轉換成MCU可識別的數據。依據本發明的遙控器碼型的通用編碼方法,可以設計出數據表來表達各種遙控器碼型,這種數據表可以方便地存儲在計算機內進行管理,也可以存儲在MCU存儲器內,通過MCU發碼程序解釋并轉換成紅外信號。本說明書將這種數據表稱為碼型數據表,相應的MCU發碼程序的流程如下(1)當MCU檢測到有鍵按下時,開始以下步驟;(2)根據按下鍵的鍵碼,獲取該按鍵所屬的碼型數據表;(3)根據按下鍵的鍵碼,獲取按鍵對應的用戶碼和鍵數據碼;(4)從碼型數據表中獲取完整的幀序列信息枚舉幀序列、重復幀序列和結束幀序列;(5)從碼型數據表中獲取發碼規律的三個參數每次按鍵至少發送的幀數MEC、持續按鍵重復發送的次數RET以及每次重復發送的幀數REC;(6)發送完整幀序列的前MEC個幀;(7)檢測是否持續按鍵,若是則轉到步驟(8),否則轉到步驟(10);(8)繼續發送完整幀序列的REC個幀;(9)判斷持續按鍵的重復發碼次數是否達到RET,若是則轉到步驟(10),否則轉到步驟(7);(10)發送結束幀序列;(11)結束發碼。本發明的有益效果在于(1)遙控器碼型采用通用的編碼方法,能夠方便地創造遙控器新碼型和表達所有己知遙控器碼型;(2)遙控器碼型采用通用的編碼方法,可以統一碼型數據表的存儲格式,從而可以統一MCU的發碼程序,因此可將發碼程序固化在只讀存儲器內,減少可編程存儲器的容量,降低成本;(3)遙控器碼型采用通用的編碼方法,可以方便地建立碼型數據庫,采用計算機對各種碼型進行統一管理,并可轉化為MCU的發碼程序可識別的碼型數據表,大大簡化了多功能遙控器的開發和維護,降低對開發和維護人員的要求,提高效率;(4)遙控器碼型采用通用的編碼方法,對于新創造的碼型不需要重新開發該碼型的發碼程序,既滿足了各家電廠家自定義碼型的需求,又解決了編解碼混亂的局面;(5)遙控器碼型采用通用的編碼方法,可以統一學習型遙控器的學習算法,提高學習型遙控器的學習覆蓋率和對新碼型的適應性。圖1為遙控器專用電路PPD1986C的編碼方式示意圖。圖2為遙控器專用電路UPD6122的一種編碼方式示意圖。圖3為遙控器專用電路M708的一種編碼方式示意圖。圖4為遙控器專用電路SAA3006的編碼方式示意圖。圖5為采用本發明的通用編碼方法表達的新碼型的波形圖。圖6為波形段的分類圖。圖7為MCU發碼程序的主流程圖。具體實施例方式依據本發明的遙控器碼型的通用編碼方法設計碼型數據表的格式,并設置碼型數據表的內容來表達已有的遙控器碼型和創造新的遙控器碼型。一種典型的碼型數據表的格式如下順序記錄枚舉幀序列的編碼、重復幀序列的編碼、結束幀序列的編碼、基本幀集合的編碼、發碼規律的編碼,如下表所示:<table>tableseeoriginaldocumentpage14</column></row><table>發碼規律的編碼枚舉幀序列、重復幀序列和結束幀序列按順序緊接在一起構成遙控器碼型所對應的完整的幀序列;幀序列既包含幀,也包含幀間隔(幀與幀之間的間隔);幀間隔包括間隔時間和間隔類型,而間隔類型又分為首首間隔(幀首與相鄰前一幀幀首的間隔)和尾首間隔(幀首與相鄰前一幀幀尾的間隔);完整的幀序列中的所有互不相同的幀組成基本幀集合,基本幀集合中的幀稱為基本幀;對每個基本幀定義唯一的編號,該編號稱為基本幀序號;本實施例中,基本幀序號是按0,1,……方式編排。其中1.枚舉幀序列是包含第1幀在內的有限的幀序列,其編碼為:先記錄枚舉幀數目EFC(EFC》1)、枚舉幀序列第1幀的基本幀序號,若EFC〉1,再順序記錄枚舉幀序列第i幀的基本幀序號及第i幀與第i-l幀的幀間隔(2《i《EFC)。2.重復幀序列緊接在所述的枚舉幀序列之后,由某一小段幀序列的不斷重復構成,這一小段幀序列包含RFC個幀,其編碼為先記錄重復幀數目RFC(若沒有重復幀則RFC=0),若RFC〉0,再順序記錄重復幀序列第j幀的基本幀序號及第j幀與第j-1幀的幀間隔(1《j《RFC,重復幀序列的第O幀代表枚舉幀序列的最后一幀)。3.若重復幀序列的每個重復周期所包含的幀序列與枚舉幀序列的最后RFC個幀的幀序列相同,則其編碼為記錄重復幀數目RFC。4.結束幀序列是按鍵釋放之后發送的無法延續重復幀規律的有限的幀序列,其編碼為先記錄結束幀數目FFC(若沒有結束幀則FFCi),若FFC〉0,再順序記錄結束幀序列的第k幀的基本幀序號及第k幀與第k-l幀的幀間隔(0《k《FFC,結束幀序列的第0幀代表按鍵釋放之前發送的最后一幀)。5.基本幀集合的編碼為先記錄基本幀數目BFC,再順序記錄基本幀f的編碼(f是基本幀序號,0《f《BFC-l)。6.遙控器按鍵時還可依據不同的發碼規律發送幀序列,發碼規律的編碼為順序記錄每次按鍵至少發送的幀數MEC、持續按鍵重復發送的次數RET、持續按鍵每次重復發送的幀數REC。關于重復幀序列的編碼,本實施例采用第3點提到的編碼方式,即在枚舉幀序列中就將重復幀序列的每個重復周期所包含的幀序列記錄下來,因此重復幀序列的編碼就只要記錄重復幀數目RFC即可。有些應用場合下,可能所有碼型的發碼規律都相同,那么碼型數據表里可以不包含發碼規律的編碼。對于每一個基本幀,可以采用如下編碼首先將基本幀按順序劃分成若干波形段,然后先記錄波形段的數目WSC,再記錄波形段m的編碼(m是波形段在基本幀中的序號,l《m《WSC),如下表所示<table>tableseeoriginaldocumentpage15</column></row><table>_|波形段WSC的編碼_對于每一個波形段,可以進行分類編碼。本發明將波形段分為電平波形段和數據波形段,其中(1)電平波形段又分為高電平波形段和低電平波形段;(2)數據波形段由數據位波形序列構成;將不同的數據位波形組成數據位波形集合;對數據位波形集合中每個數據位波形定義唯一的編號,該編號稱為數據位波形的序號,也稱作數據位的值(本實施例中,數據位波形的序號按照O,1,2,……的方式編排);數據波形段又分為固定碼波形段、用戶碼波形段、鍵數據碼波形段,還可以分出搖擺碼波形段、用戶碼反碼波形段、鍵數據碼反碼波形段;(a)固定碼波形段是基本幀中數據位波形序列固定不變的數據波形段;(b)用戶碼波形段通常用來區分不同的專用遙控器,它所包含的數據位波形序列由遙控器發碼程序根據具體的按鍵信息提供;將基本幀集合中所有不同的用戶碼波形段組成用戶碼波形段集合,對用戶碼波形段集合中的每個用戶碼波形段定義唯一的編號,該編號稱為用戶碼波形段的序號(本實施例中,用戶碼波形段的序號按照如下方式編排0,1,2,……);用戶碼反碼波形段必須有一個用戶碼波形段與之對應,兩者所包含的數據位波形數目相同,并且對應位置的數據位波形的序號的最低二進制位具有反碼關系、其余二進制位相同(符合這種關系的序號對有0和1,2和3,4和5,等等);(c)鍵數據碼波形段通常用來區分不同的按鍵,它所包含的數據位波形序列也由遙控器發碼程序根據具體的按鍵信息提供;將基本幀集合中所有不同的鍵數據碼波形段組成鍵數據碼波形段集合,對鍵數據碼波形段集合中的每個鍵數據碼波形段定義唯一的編號,該編號稱為鍵數據碼波形段的序號(本實施例中,鍵數據碼波形段的序號按照如下方式編排0,1,2,……);鍵數據碼反碼波形段必須有一個鍵數據碼波形段與之對應,兩者所包含的數據位波形數目相同,并且對應位置的數據位波形的序號的最低二進制位具有反碼關系、其余二進制位相同(符合這種關系的序號對有O禾tU,2和3,4和5,等等);(d)搖擺碼波形段是用來表達按照一定規律變化的數據位波形序列,該數據位波形序列在每一次按鍵都會變化,如RC-5碼型的控制位。圖6是對以上分類的一個總結。高電平波形段的編碼為先記錄代表高電平波形段的標志信息,再記錄高電平波形段的持續時間;低電平波形段的編碼為先記錄代表低電平波形段的標志信息;再記錄低電平波形段的持續時間。固定碼波形段的編碼為先記錄代表固定碼波形段的標志信息、構成固定碼波形段的數據位波形的數目,再順序記錄構成固定碼波形段的每個數據位波形的序號。用戶碼波形段的編碼為先記錄代表用戶碼波形段的標志信息,再記錄用戶碼波形段的序號、用戶碼波形段所包含數據位波形的數目。用戶碼反碼波形段的編碼為先記錄代表用戶碼反碼波形段的標志信息,再記錄與該用戶碼反碼波形段相對應的用戶碼波形段的序號。鍵數據碼波形段的編碼為先記錄代表鍵數據碼波形段的標志信息,再記錄鍵數據碼波形段的序號、鍵數據碼波形段所包含數據位波形的數目。鍵數據碼反碼波形段的編碼為先記錄代表鍵數據碼反碼波形段的標志信息,再記錄與該鍵數據碼反碼波形段相對應的鍵數據碼波形段的序號。搖擺碼波形段的編碼為記錄代表搖擺碼波形段的標志信息。數據位波形集合的編碼為先記錄數據位波形集合中包含的數據位波形的數目DBC,再順序記錄數據位波形n的編碼(n是數據位波形的序號,0《n《DBC-1),如下表所示:<table>tableseeoriginaldocumentpage17</column></row><table>搖擺碼波形段所包含的數據位波形序列遵循的變化規律的編碼為先記錄構成搖擺碼波形段的數據位波形的數目、搖擺碼波形段的數據位波形序列呈現不同狀態的循環周期RVC,再順序記錄數據位波形序列q的編碼(q是數據位波形序列在搖擺碼波形段的一個循環周期<table>tableseeoriginaldocumentpage18</column></row><table>數據位波形序列的編碼為順序記錄每個數據位波形的序號;如果碼型里所有基本幀都沒有搖擺碼波形段,則RVC^,也就沒有數據位波形序列的編碼需要記錄。高電平波形段還可以通過載波進行調制,載波的編碼為記錄載波的頻率CF、載波的占空比CD;如果沒有載波,CF=0。綜上所述,更詳細一些的碼型數據表的格式為:<table>tableseeoriginaldocumentpage18</column></row><table>搖擺碼波形段所包含的數據位波形序列遵循的變化規律的編碼構成搖擺碼波形段的數據位波形的數目搖擺碼波形段的數據位波形序列呈現不同狀態的循環周期RVC數據位波形序列1的編碼數據位波形序列RVC的編碼載波的編碼有些應用場合下,可能所有碼型的載波都相同,那么碼型數據表里可以不包含載波的編以下將介紹碼型數據表格式的一些常見的修改方案(1)數據波形段的分類還可以簡化,如下幾個分類組合(用戶碼波形段、鍵數據碼波形段、搖擺碼波形段),(固定碼波形段、用戶碼波形段、鍵數據碼波形段),(固定碼波形段、鍵數據碼波形段),(用戶碼波形段、鍵數據碼波形段),(鍵數據碼波形段)等;對于上述的分類組合,還可以增加鍵數據碼反碼波形段,若有用戶碼波形段,還可以增加用戶碼反碼波形段;(2)碼型數據表的各部分的排列順序可以更換;(3)為了提高MCU發碼程序對碼型數據表的讀取效率,可以為碼型數據表增加各部分的索引信息;(4)對于某種序列或集合的編碼,可以用記錄結束標志來代替記錄序列元素的數目,因為有了結束標志,完全可以遍歷出序列元素的數目,如枚舉幀序列的編碼還可以是先記錄枚舉幀序列第1幀的基本幀序號,若枚舉幀數目EFOl,則再順序記錄枚舉幀序列第i幀的基本幀序號及第i幀與第i-l幀的幀間隔(2《i《EFC)基本幀集合的編碼,最后記錄枚舉幀序列結束標志;這種方法也適用于重復幀序列、結束幀序列、基本幀集合、基本幀、數據位波形集合、數據位波形、固定碼波形段等。介紹完典型的碼型數據表的格式和它的一些修改方案之后,以下將通過設置碼型數據表的內容來表達一些己有的遙控器碼型,仍以UPD1986C、!iPD6122、M708和RC-5為例。為了突出碼型數據表的各項參數,本說明書對以下文字進行簡化表達-(1)用EFi表示枚舉幀序列第i幀的基本幀序號;(2)用EFIi表示枚舉幀序列第i幀與第i-l幀的幀間隔的間隔時間;(3)用EFITi表示枚舉幀序列第i幀與第i-l幀的幀間隔的間隔類型;(4)用RFi表示重復幀序列第i幀的基本幀序號;(5)用RFIi表示重復幀序列第i幀與第i-l幀的幀間隔的間隔時間;(6)用RFITi表示重復幀序列第i幀與第i-1幀的幀間隔的間隔類型;(7)用FFi表示結束幀序列第i幀的基本幀序號;(8)用FFIi表示結束幀序列第i幀與第i-1幀的幀間隔的間隔時間;(9)用FFITi表示結束幀序列第i幀與第i-l幀的幀間隔的間隔類型;(10)用Ci(n)表示序號為i的用戶碼波形段的編碼,n為該用戶碼波形段所包含數據位波形的數目;(11)用Di(n)表示序號為i的鍵數據碼波形段的編碼,n為該鍵數據碼波形段所包含數據位波形的數目;(12)用NCi表示用戶碼反碼波形段的編碼,i是與之相對應的用戶碼波形段的序號;(13)用NDi表示鍵數據碼反碼波形段的編碼,i是與之相對應的鍵數據碼波形段的序號;(14)用Hx表示持續時間為x的高電平波形段的編碼,如H56(ms表示持續時間為56(^s的高電平波形段;(15)用Lx表示持續時間為x的低電平波形段的編碼,如L560M表示持續時間為56Cms的低電平波形段;(16)用FBn(bl,b2,……)表示固定碼數據段或數據位波形序列的編碼,其中n是構成固定碼波形段或數據位波形序列的數據位波形的數目,括弧里按順序羅列構成固定碼波形段或數據位波形序列的每個數據位波形的序號,如FB4(0,1,1,O)表示該固定碼波形段或數據位波形序列由4個數據位波形構成,且這4個數據位波形的序號依次為O,1,1,0;(17)用RV表示搖擺碼波形段的編碼。另外,還有如下約定(1)FITii表示幀間隔的間隔類型為首首間隔,FITi^表示幀間隔的間隔類型為尾首間隔;(2)RET=0表示發碼規律中持續按鍵重復發送的次數為無限次。根據以上簡化表達方式,如圖1所示的UPD1986C碼型的編碼如下枚舉幀序列的編碼EFC=2;EF1=0;EF2=0,EFI2=36ms,EFIT2=0;重復幀序列的編碼RFC=1;<table>tableseeoriginaldocumentpage21</column></row><table><table>complextableseeoriginaldocumentpage22</column></row><table><table>tableseeoriginaldocumentpage23</column></row><table><table>tableseeoriginaldocumentpage24</column></row><table>段所包含的數據位波形序列遵循的變化規律的編碼搖擺碼波形段的數據位波形序列呈現不同狀態的循環周期RVC:2;數據位波形序列1的編碼FBI(0);數據位波形序列2的編碼FBI(1);載波的編碼CF=36KHz;CD=l/2;前面4張表是對已知遙控器碼型的編碼,而下表的編碼則創造了一個新的碼型:<table>tableseeoriginaldocumentpage25</column></row><table>變化規律的編碼數據位波形序列3的編碼FB2(1'0);載波的編碼CF=40KHz;CD=l/4;假設某一款家電的遙控器采用了上面創造的新碼型,其用戶碼為二進制101,該遙控器某個鍵的鍵數據碼為二進制01100,那么,按下該鍵發出的紅外信號如圖5所示。由于該碼型有一個2位的搖擺碼,并且搖擺碼的循環周期是3,所以圖5中的3個波形都可能是按下該按鍵所發出的紅外信號。只有能夠被還原的編碼才是有效的編碼,因此,以下大致介紹MCU發碼程序將碼型數據表轉換成紅外信號的原理。圖7是MCU發碼程序的主流程圖,在多功能遙控器中,步驟S71和S72通常也是通過査詢數據表實現的,但它們不屬于碼型數據表的內容,因此本說明書不詳細展開說明。步驟S73從碼型數據表中獲得枚舉幀序列、重復幀數目和結束幀序列,從而可以獲得完整的幀序列信息,這個幀序列信息包括每個幀的基本幀序號及幀間隔。步驟S74獲得發碼規律的三個參數每次按鍵至少發送的幀數MEC、持續按鍵重復發送的次數RET及每次重復發送的幀數REC。步驟S75發送完整幀序列中的前MEC個幀并且開始計持續按鍵重復發送次數,MEC不一定等于枚舉幀數目EFC。步驟S76檢測是否持續按鍵,若持續按鍵則執行步驟S77接著發送完整幀序列的REC個幀,否則跳到步驟S79發送結束幀序列。步驟S77之后為步驟S78判斷持續按鍵的重復發碼次數是否達到RET,若達到則執行步驟S79,否則返回步驟S76。舉例來說,若枚舉幀序列為A、B、C,重復幀數目為2,結束幀序列為D、E,則完整的幀序列為A、B、C、B、C、B、C、……、D、E;若MEC-2,RET=3,REC=1,則步驟S75發送A、B兩幀,第1次執行步驟S77時發送C,第2次執行步驟S77時發送B,第3次執行步驟S77時發送C;步驟S79發送D、E。如果步驟S75之后沒有檢測到持續的按鍵,則總共發送4幀A、B、D、E;如果是第2次執行步驟S77之后沒有檢測到持續的按鍵,則總共發送6幀A、B、C、B、D、E。除了A只包含幀以外,B、C、D、E都既包含幀又包含與前一幀的幀間隔。在發送幀的時候MCU的發碼程序可以根據基本幀序號到碼型數據表的基本幀集合中査到構成該幀的波形段數目及每個波形段的編碼,按順序發送每個波形段。如果波形段是電平波形段則直接發送,如果是數據波形段,順序發送構成數據位波形段的數據位波形。MCU發碼程序可以從碼型數據表的數據位波形集合中獲得構成數據位波形的電平波形段發送出去。對于固定碼波形段,每個數據位波形的序號直接在固定碼波形段的編碼中獲得;對于用戶碼波形段和鍵數據碼波形段,每個數據位波形的序號由步驟S72獲得;對于搖擺碼波形段,由MCU發碼程序根據按鍵的次數從碼型數據表的搖擺碼變化規律中獲得其每個數據位波形的序號q綜上所述,本發明提供了一種遙控器碼型的通用編碼方法,依據這個方法,可以設計出一種碼型數據表,通過設置碼型數據表的內容既可表達已知的遙控器碼型,也可以創造出新的遙控器碼型。應該理解到的是上述實施例只是對本發明的說明,而不是對本發明的限制,任何不超出本發明實質精神范圍內的發明創造,均落入本發明的保護范圍之內。權利要求1.一種遙控器碼型的通用編碼方法,其特征在于將枚舉幀序列、重復幀序列和結束幀序列按順序緊接在一起構成遙控器碼型所對應的完整的幀序列;所述的幀序列包含幀、幀間隔(幀與幀之間的間隔);所述的完整的幀序列中的所有互不相同的幀組成基本幀集合,基本幀集合中的幀稱為基本幀;對每個基本幀定義唯一的編號,該編號稱為基本幀序號;所述的枚舉幀序列是包含第1幀在內的有限的幀序列,構成枚舉幀序列的幀的數目稱為枚舉幀數目(EFC);所述的重復幀序列緊接在所述的枚舉幀序列之后,由某一小段幀序列的不斷重復構成,所述的一小段幀序列包含RFC個幀(RFC也稱為重復幀數目);所述的結束幀序列是按鍵釋放之后發送的無法延續重復幀規律的有限的幀序列,構成結束幀序列的幀的數目稱為結束幀數目(FFC)。2.如權利要求1所述的遙控器碼型的通用編碼方法,其特征在于所述的幀間隔包括間隔時間和間隔類型;所述的幀間隔的間隔類型分為兩種(1)首首間隔——幀首與相鄰前一幀幀首的間隔;(2)尾首間隔——幀首與相鄰前一幀幀尾的間隔。3.如權利要求1所述的遙控器碼型的通用編碼方法,其特征在于所述的枚舉幀序列的編碼方法包括以下內容(1)記錄所述的枚舉幀數目EFC;(2)記錄枚舉幀序列第1幀的基本幀序號;(3)若枚舉幀數目EFCM,則順序記錄枚舉幀序列第i幀的基本幀序號及第i幀與第i-l幀的幀間隔(2《i《EFC)。4.如權利要求1所述的遙控器碼型的通用編碼方法,其特征在于所述的重復幀序列的編碼方法包括以下內容(1)記錄所述的重復幀數目RFC,若沒有重復幀則RFC=0;(2)若重復幀數目RFC〉0,則順序記錄重復幀序列第j幀的基本幀序號及第j幀與第j-l幀的幀間隔(1《j《RFC),重復幀序列的第O幀代表枚舉幀序列的最后一幀。5.如權利要求1所述的遙控器碼型的通用編碼方法,其特征在于所述的重復幀序列的編碼方法還可以為如果重復幀序列的每個重復周期所包含的幀序列與所述的枚舉幀序列的最后RFC個幀的幀序列相同,則記錄所述的重復幀數目RFC即可。6.如權利要求1所述的遙控器碼型的通用編碼方法,其特征在于所述的結束幀序列的編碼方法包括以下內容-(1)記錄所述的結束幀數目FFC,若沒有結束幀則FFC=0;(2)若結束幀數目FFOO,則順序記錄結束幀序列的第k幀的基本幀序號及第k幀與第k-l幀的幀間隔(1《k《FFC),結束幀序列的第0幀代表按鍵釋放之前發送的最后一幀。7.如權利要求1所述的遙控器碼型的通用編碼方法,其特征在于所述的基本幀集合的編碼方法包括以下內容-(1)記錄基本幀集合中包含的基本幀的數目(BFC,又稱為基本幀數目);(2)—一記錄所有基本幀的編碼。8.如權利要求7所述的遙控器碼型的通用編碼方法,其特征在于所述的基本幀的編碼方法包括以下內容(1)將基本幀按順序劃分成若干波形段;(2)記錄波形段的數目;(3)順序記錄每個波形段的編碼。9.如權利要求8所述的遙控器碼型的通用編碼方法,其特征在于所述的波形段分為電平波形段和數據波形段。10.如權利要求9所述的遙控器碼型的通用編碼方法,其特征在于所述的電平波形段分為高電平波形段、低電平波形段。11.如權利要求10所述的遙控器碼型的通用編碼方法,其特征在于所述的高電平波形段還可以通過載波進行調制。12.如權利要求10所述的遙控器碼型的通用編碼方法,其特征在于所述的高電平波形段的編碼方法包括以下內容(1)記錄代表高電平波形段的標志信息;(2)記錄高電平波形段的持續時間;所述的低電平波形段的編碼方法包括以下內容(1)記錄代表低電平波形段的標志信息;(2)記錄低電平波形段的持續時間。13.如權利要求9所述的遙控器碼型的通用編碼方法,其特征在于所述的數據波形段由數據位波形序列構成;將不同的數據位波形組成數據位波形集合;對數據位波形集合中每個數據位波形定義唯一的編號,該編號稱為數據位波形的序號,也稱作數據位的值。14.如權利要求13所述的遙控器碼型的通用編碼方法,其特征在于所述的數據位波形集合的編碼方法包括以下內容(1)記錄數據位波形集合中包含數據位波形的數目;(2)—一記錄每個數據位波形的編碼。15.如權利要求13所述的遙控器碼型的通用編碼方法,其特征在于所述的數據位波形由電平波形段序列構成。16.如權利要求15所述的遙控器碼型的通用編碼方法,其特征在于所述的數據位波形的編碼方法包括以下內容(1)記錄構成數據位波形的電平波形段的數目;(2)順序記錄每個電平波形段的編碼。17.如權利要求9所述的遙控器碼型的通用編碼方法,其特征在于所述的數據波形段分為固定碼波形段、用戶碼波形段、鍵數據碼波形段,還可以分出搖擺碼波形段;所述的固定碼波形段是基本幀中數據位波形序列固定不變的數據波形段;所述的用戶碼波形段、鍵數據碼波形段所包含的數據位波形序列由遙控器碼型以外的信息提供,用來表示具體的專用遙控器的具體某個按鍵;所述的搖擺碼波形段是基本幀中數據位波形序列可變的數據波形段。18.如權利要求17所述的遙控器碼型的通用編碼方法,其特征在于所述的固定碼波形段的編碼方法包括以下內容(1)記錄代表固定碼波形段的標志信息;(2)記錄構成固定碼波形段的數據位波形的數目;(3)順序記錄構成固定碼波形段的每個數據位波形的序號。19.如權利要求17所述的遙控器碼型的通用編碼方法,其特征在于將所述的基本幀集合中所有不同的用戶碼波形段組成用戶碼波形段集合,對用戶碼波形段集合中的每個用戶碼波形段定義唯一的編號,該編號稱為用戶碼波形段的序號。20.權利要求19所述的遙控器碼型的通用編碼方法,其特征在于所述的用戶碼波形段的編碼方法包括以下內容(1)記錄代表用戶碼波形段的標志信息;(2)記錄用戶碼波形段的序號;(3)記錄用戶碼波形段所包含數據位波形的數目。21.如權利要求17所述的遙控器碼型的通用編碼方法,其特征在于所述的數據波形段還可以分出用戶碼反碼波形段,所述的用戶碼反碼波形段必須有一個用戶碼波形段與之對應,兩者所包含的數據位波形數目相同,并且對應位置的數據位波形的序號的最低二進制位具有反碼關系、其余二進制位相同。22.如權利要求21所述的遙控器碼型的通用編碼方法,其特征在于所述的用戶碼反碼波形段的編碼方法包括以下內容-(1)記錄代表用戶碼反碼波形段的標志信息;(2)記錄與該用戶碼反碼波形段相對應的用戶碼波形段的序號。23.如權利要求17所述的遙控器碼型的通用編碼方法,其特征在于將所述的基本幀集合中所有不同的鍵數據碼波形段組成鍵數據碼波形段集合,對鍵數據碼波形段集合中的每個鍵數據碼波形段定義唯一的編號,該編號稱為鍵數據碼波形段的序號。24.如權利要求23所述的遙控器碼型的通用編碼方法,其特征在于所述的鍵數據碼波形段的編碼方法包括以下內容(1)記錄代表鍵數據碼波形段的標志信息;(2)記錄鍵數據碼波形段的序號;(3)記錄鍵數據碼波形段所包含數據位波形的數目。25.如權利要求17所述的遙控器碼型的通用編碼方法,其特征在于所述的數據波形段還可以分出鍵數據碼反碼波形段,所述的鍵數據碼反碼波形段必須有一個鍵數據碼波形段與之對應,兩者所包含的數據位波形數目相同,并且對應位置的數據位波形的序號的最低二進制位具有反碼關系、其余二進制位相同。26.如權利要求25所述的遙控器碼型的通用編碼方法,其特征在于所述的鍵數據碼反碼波形段的編碼方法包括以下內容(1)記錄代表鍵數據碼反碼波形段的標志信息;(2)記錄與該鍵數據碼反碼波形段相對應的鍵數據碼波形段的序號。27.如權利要求17所述的遙控器碼型的通用編碼方法,其特征在于所述的搖擺碼波形段中包含的數據位波形序列遵循一定的變化規律,這個變化規律的編碼方法包括以下內容(1)記錄構成搖擺碼波形段的數據位波形的數目;(2)記錄搖擺碼波形段的數據位波形序列呈現不同狀態的循環周期;(3)順序記錄循環周期內每個狀態的數據位波形序列的編碼,所述的數據位波形序列的編碼方法為順序記錄每個數據位波形的序號。28.如權利要求17所述的遙控器碼型的通用編碼方法,其特征在于所述的搖擺碼波形段的編碼方法為記錄代表搖擺碼波形段的標志信息。29.如權利要求17所述的遙控器碼型的通用編碼方法,其特征在于所述的固定碼波形段也可以用所述的用戶碼波形段或所述的鍵數據碼波形段代替。30.如權利要求17所述的遙控器碼型的通用編碼方法,其特征在于所述的搖擺碼波形段也可以用所述的用戶碼波形段或所述的鍵數據碼波形段代替。31.如權利要求17所述的遙控器碼型的通用編碼方法,其特征在于所述的用戶碼波形段也可以用所述的鍵數據碼波形段代替。32.如權利要求1所述的遙控器碼型的通用編碼方法,其特征在于還可以包括遙控器按鍵時依據發碼規律發送幀序列,所述發碼規律的編碼方法包括以下內容-(1)記錄每次按鍵至少發送的幀數MEC;(2)記錄持續按鍵重復發送的次數RET以及每次重復發送的幀數REC。33.如權利要求1所述的遙控器碼型的通用編碼方法,其特征在于所述的完整的幀序列直接存儲在MCU存儲器中。34.如權利要求1所述的遙控器碼型的通用編碼方法,其特征在于所述的完整的幀序列還可以存儲在計算機內。35.如權利要求35所述的遙控器碼型的通用編碼方法,其特征在于通過計算機將所述的存儲在計算機內的完整的幀序列轉換成MCU可識別的數據。全文摘要本發明揭示了一種遙控器碼型的通用編碼方法,該編碼方法將枚舉幀序列、重復幀序列和結束幀序列按順序緊接在一起構成遙控器碼型所對應的完整的幀序列;幀序列包含幀和幀間隔;完整的幀序列中的所有互不相同的幀組成基本幀集合,基本幀集合中的幀稱為基本幀;枚舉幀序列是包含第1幀在內的有限的幀序列;重復幀序列緊接在枚舉幀序列之后、由某一小段幀序列的不斷重復構成;結束幀序列是按鍵釋放之后發送的無法延續重復幀規律的有限的幀序列。采用本發明的遙控器碼型的通用編碼方法,可以設計出一種碼型數據表,通過設置碼型數據表的內容既可表達已知的遙控器碼型,也可以創造出新的遙控器碼型。文檔編號H03M13/09GK101354830SQ20071007017公開日2009年1月28日申請日期2007年7月25日優先權日2007年7月25日發明者勇孫,鄭尊標申請人:杭州士蘭微電子股份有限公司