紅外數(shù)據(jù)的編解碼方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明適用于紅外遙控技術(shù)領(lǐng)域,尤其涉及一種紅外數(shù)據(jù)的編解碼方法及裝置。
【背景技術(shù)】
[0002]現(xiàn)有的紅外遙控系統(tǒng)采用編/解碼專用集成電路芯片來對(duì)紅外數(shù)據(jù)進(jìn)行編碼和解碼,編碼格式主要有NEC和RC5。其中NEC格式的數(shù)據(jù)幀長度最短為50ms,RC5格式的數(shù)據(jù)幀長度為25ms,一幀數(shù)據(jù)周期長,不利于遠(yuǎn)距離通訊;且地址碼設(shè)置不靈活,需要設(shè)置紅外遙控系統(tǒng)中的發(fā)射端和接收端芯片地址引腳相同時(shí)才能夠配套使用,僅適用于家用電器等同一環(huán)境中只有一個(gè)設(shè)備在工作的情況,無法應(yīng)用于多套設(shè)備同時(shí)工作的情況。
【發(fā)明內(nèi)容】
[0003]鑒于此,本發(fā)明實(shí)施例提供一種紅外數(shù)據(jù)的編解碼方法及裝置,以解決現(xiàn)有編解碼技術(shù)中硬編碼幀周期長、地址碼設(shè)置不靈活的問題,提高紅外遙控設(shè)備的遠(yuǎn)距離通訊能力和抗干擾能力。
[0004]第一方面,提供了一種紅外數(shù)據(jù)的編解碼方法,所述編解碼方法包括:
[0005]在發(fā)送紅外數(shù)據(jù)時(shí),獲取待發(fā)送的數(shù)據(jù)幀,將所述數(shù)據(jù)幀轉(zhuǎn)換為對(duì)應(yīng)的軟編碼幀后發(fā)射出去,所述軟編碼幀由引導(dǎo)碼、8位PWM數(shù)據(jù)碼以及奇偶校驗(yàn)碼組成;
[0006]在接收紅外數(shù)據(jù)時(shí),按照預(yù)設(shè)的仲裁機(jī)制將待接收的軟編碼幀中的PWM數(shù)據(jù)碼轉(zhuǎn)換為對(duì)應(yīng)的數(shù)據(jù)位值,得到與所述待接收的軟編碼幀對(duì)應(yīng)的數(shù)據(jù)幀。
[0007]第二方面,提供了一種紅外數(shù)據(jù)的編解碼裝置,所述編解碼裝置包括:
[0008]編碼模塊,用于在發(fā)送紅外數(shù)據(jù)時(shí),獲取待發(fā)送的數(shù)據(jù)幀,將所述數(shù)據(jù)幀轉(zhuǎn)換為對(duì)應(yīng)的軟編碼幀后發(fā)射出去,所述軟編碼幀由引導(dǎo)碼、8位PWM數(shù)據(jù)碼以及奇偶校驗(yàn)碼組成;
[0009]解碼模塊,用于在接收紅外數(shù)據(jù)時(shí),按照預(yù)設(shè)的仲裁機(jī)制將待接收的軟編碼幀中的PWM數(shù)據(jù)碼轉(zhuǎn)換為對(duì)應(yīng)的數(shù)據(jù)位值,得到與所述待接收的軟編碼幀對(duì)應(yīng)的數(shù)據(jù)幀。
[0010]與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例采用微控制器來對(duì)紅外數(shù)據(jù)進(jìn)行軟編解碼;在發(fā)送紅外數(shù)據(jù)時(shí),獲取待發(fā)送的數(shù)據(jù)幀,將所述數(shù)據(jù)幀轉(zhuǎn)換為對(duì)應(yīng)的軟編碼幀后發(fā)射出去,所述軟編碼幀由引導(dǎo)碼、8位PWM數(shù)據(jù)碼以及奇偶校驗(yàn)碼組成;在接收紅外數(shù)據(jù)時(shí),則按照預(yù)設(shè)的仲裁機(jī)制將待接收的軟編碼幀中的PWM數(shù)據(jù)碼轉(zhuǎn)換為對(duì)應(yīng)的數(shù)據(jù)位值,得到與所述待接收的軟編碼幀對(duì)應(yīng)的數(shù)據(jù)幀;從而實(shí)現(xiàn)了通過軟件對(duì)紅外數(shù)據(jù)進(jìn)行編解碼,所述軟編碼幀的周期比現(xiàn)有的硬編碼幀短,有助于提高了紅外遙控設(shè)備的遠(yuǎn)距離通訊能力以及抗干擾能力。
【附圖說明】
[0011]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他附圖。
[0012]圖1是本發(fā)明實(shí)施例提供的紅外數(shù)據(jù)的編解碼方法的實(shí)現(xiàn)流程圖;
[0013]圖2給出了本發(fā)明實(shí)施例提供的軟編碼幀的組成架構(gòu)示意圖;
[0014]圖3是本發(fā)明實(shí)施例提供的紅外數(shù)據(jù)的編解碼方法中步驟S101的實(shí)現(xiàn)流程圖;
[0015]圖4是本發(fā)明實(shí)施例提供的紅外數(shù)據(jù)的編解碼方法中步驟S102的實(shí)現(xiàn)流程圖;
[0016]圖5是本發(fā)明實(shí)施例提供的紅外數(shù)據(jù)的編解碼裝置的組成結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0017]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0018]本發(fā)明實(shí)施例采用微控制器來對(duì)紅外數(shù)據(jù)進(jìn)行軟編解碼;在發(fā)送紅外數(shù)據(jù)時(shí),獲取待發(fā)送的數(shù)據(jù)幀,將所述數(shù)據(jù)幀轉(zhuǎn)換為對(duì)應(yīng)的軟編碼幀后發(fā)射出去,所述軟編碼幀由引導(dǎo)碼、8位PWM數(shù)據(jù)碼以及奇偶校驗(yàn)碼組成;在接收紅外數(shù)據(jù)時(shí),則按照預(yù)設(shè)的仲裁機(jī)制將待接收的軟編碼幀中的PWM數(shù)據(jù)碼轉(zhuǎn)換為對(duì)應(yīng)的數(shù)據(jù)位值,得到與所述待接收的軟編碼幀對(duì)應(yīng)的數(shù)據(jù)幀;從而實(shí)現(xiàn)了通過軟件對(duì)紅外數(shù)據(jù)進(jìn)行編解碼,所述軟編碼幀的周期比現(xiàn)有的硬編碼幀短,有助于提高了紅外遙控設(shè)備的遠(yuǎn)距離通訊能力以及抗干擾能力。本發(fā)明實(shí)施例還提供了相應(yīng)的裝置,以下分別進(jìn)行詳細(xì)的說明。
[0019]圖1示出了本發(fā)明實(shí)施例提供的紅外數(shù)據(jù)的編解碼方法的實(shí)現(xiàn)流程。
[0020]在本發(fā)明實(shí)施例中,所述方法的執(zhí)行主體為微控制器,應(yīng)用于紅外遙控系統(tǒng)中,比如紅外線對(duì)戰(zhàn)游戲系統(tǒng)等,可以是紅外遙控器或者紅外遙控設(shè)備。參閱圖1,所述方法包括:
[0021]在步驟S101中,在發(fā)送紅外數(shù)據(jù)時(shí),獲取待發(fā)送的數(shù)據(jù)幀,將所述數(shù)據(jù)幀轉(zhuǎn)換為對(duì)應(yīng)的軟編碼幀后發(fā)射出去,所述軟編碼幀由引導(dǎo)碼、8位PWM數(shù)據(jù)碼以及奇偶校驗(yàn)碼組成。
[0022]在本發(fā)明實(shí)施例中,根據(jù)所述待發(fā)送的數(shù)據(jù)幀中的每一個(gè)數(shù)據(jù)位值,使用微控制器中的定時(shí)器輸出與所述數(shù)據(jù)位值對(duì)應(yīng)的載波信號(hào),以將所述待發(fā)送的數(shù)據(jù)幀通過對(duì)應(yīng)的軟編碼幀發(fā)射出去。其中,所述待發(fā)送的數(shù)據(jù)幀為二進(jìn)制數(shù)據(jù)幀,8位PWM數(shù)據(jù)碼中的每一個(gè)PWM數(shù)據(jù)碼與待發(fā)送數(shù)據(jù)幀中的每一個(gè)數(shù)據(jù)位一一對(duì)應(yīng),最左邊的PWM數(shù)據(jù)碼為最高有效位,最右邊的PWM數(shù)據(jù)碼為最低有效位。示例性地,圖2給出了本發(fā)明實(shí)施例提供的軟編碼幀的組成架構(gòu)示意圖。
[0023]可選地,當(dāng)所述數(shù)據(jù)位值為1時(shí),對(duì)應(yīng)的PWM數(shù)據(jù)碼為0.6ms的38KHz載波信號(hào)和0.5ms的無載波信號(hào)時(shí)間間隔;所述數(shù)據(jù)位值為0時(shí),對(duì)應(yīng)的PWM數(shù)據(jù)碼為0.4ms的38KHz載波信號(hào)和0.6ms的無載波信號(hào)時(shí)間間隔。所述引導(dǎo)碼為1ms的38KHz載波信號(hào)和0.4ms的無載波信號(hào)時(shí)間間隔。從而使得所述軟編碼幀的周期為10ms,有效地縮短了編碼數(shù)據(jù)幀的長度,有助于增加紅外線的遠(yuǎn)距離通信能力。
[0024]在步驟S102中,在接收紅外數(shù)據(jù)時(shí),按照預(yù)設(shè)的仲裁機(jī)制將待接收的軟編碼幀中的PWM數(shù)據(jù)碼轉(zhuǎn)換為對(duì)應(yīng)的數(shù)據(jù)位值,得到與所述待接收的軟編碼幀對(duì)應(yīng)的數(shù)據(jù)幀。
[0025]在這里,所述仲裁機(jī)制為根據(jù)待接收的軟編碼幀中每一個(gè)PWM數(shù)據(jù)碼中的載波信號(hào)持續(xù)時(shí)長和無載波信號(hào)時(shí)間間隔來確定所述PWM數(shù)據(jù)碼對(duì)應(yīng)的數(shù)據(jù)位值,即確定所述PWM數(shù)據(jù)碼對(duì)應(yīng)的數(shù)據(jù)位值為1或者0,從而得到所述待接收的軟編碼幀對(duì)應(yīng)的數(shù)據(jù)幀,有效地提高了數(shù)據(jù)解碼的能力,在有干擾的環(huán)境下也能夠進(jìn)行正確的解碼,提高了紅外遙控設(shè)備的抗干擾能力。
[0026]本發(fā)明實(shí)施例采用微控制器來對(duì)紅外數(shù)據(jù)進(jìn)行軟編解碼;在發(fā)送紅外數(shù)據(jù)時(shí),獲取待發(fā)送的數(shù)據(jù)幀,將所述數(shù)據(jù)幀轉(zhuǎn)換為對(duì)應(yīng)的軟編碼幀后發(fā)射出去,所述軟編碼幀由引導(dǎo)碼、8位PWM數(shù)據(jù)碼以及奇偶校驗(yàn)碼組成;在接收紅外數(shù)據(jù)時(shí),則按照預(yù)設(shè)的仲裁機(jī)制將待接收的軟編碼幀中的PWM數(shù)據(jù)碼轉(zhuǎn)換為對(duì)應(yīng)的數(shù)據(jù)位值,得到與所述待接收的軟編碼幀對(duì)應(yīng)的數(shù)據(jù)幀;從而實(shí)現(xiàn)了通過軟件對(duì)紅外數(shù)據(jù)進(jìn)行編解碼,縮短了編碼數(shù)據(jù)幀的長度,所述軟編碼幀的周期比現(xiàn)有的硬編碼幀短,有助于提高了紅外遙控系統(tǒng)的遠(yuǎn)距離通訊能力以及抗干擾能力。
[0027]在本發(fā)明實(shí)施例中,所述方法的執(zhí)行主體為微控制器??蛇x地,所述微控制器為32位高性能ARM Cortex-M3內(nèi)核芯片STM32F103,主頻率為72MHz,使用IAR EmbeddedWorkbench集成開發(fā)環(huán)境。所述STM32F103芯片內(nèi)部包括三個(gè)定時(shí)器,分別為定時(shí)器1、定時(shí)器2、定時(shí)器3??蛇x地,本發(fā)明實(shí)施例以所述三個(gè)定時(shí)器中的定時(shí)器2輸出載波信號(hào),以所述定時(shí)器3作為計(jì)數(shù)器。作為本發(fā)明的一個(gè)優(yōu)選示例,圖3示出了本發(fā)明實(shí)施例提供的紅外數(shù)據(jù)的編解碼方法中步驟S101的具體實(shí)現(xiàn)流程。
[0028]參閱圖3,所述步驟S101包括:
[0029]在步驟S301中,初始化第一定時(shí)器用于輸出38KHz PWM載波信號(hào),配置第二定時(shí)器用作計(jì)數(shù)器。
[0030]在這里,所述第一定時(shí)器為微控制器STM32F103芯片中的定時(shí)器2,所述第二定時(shí)器為STM32F103芯片中的定時(shí)器3。在這里,所述第二定時(shí)器的每個(gè)滴答為10微秒,用于計(jì)算8位PWM載波信號(hào)的輸出持續(xù)時(shí)間和無載波信號(hào)的時(shí)間間隔。
[0031]在步驟S302中,在發(fā)送紅外數(shù)據(jù)幀時(shí),觸發(fā)所述第一定時(shí)器輸出PWM載波信號(hào),以發(fā)射引導(dǎo)碼。
[0032]在步驟S303中,當(dāng)所述PWM載波信號(hào)的輸出持續(xù)時(shí)間達(dá)到第一閾值時(shí),停止輸出PWM載波信號(hào),并觸發(fā)第二定時(shí)器開始計(jì)算無載波信號(hào)的持續(xù)時(shí)間。
[0033]在本發(fā)明實(shí)施例中,所述引導(dǎo)碼包括1ms的38KHz載波信號(hào)和0.4ms的無載波信號(hào)時(shí)間間隔。所述第一時(shí)間閾值可以為lms。當(dāng)所述引導(dǎo)碼的PWM載波信號(hào)的輸出持續(xù)時(shí)間達(dá)到lms時(shí),則停止輸出所述引導(dǎo)碼的PWM載波信號(hào),并繼續(xù)計(jì)算所述引導(dǎo)碼的無載波信號(hào)持續(xù)時(shí)間。
[0034]在步驟S304中,當(dāng)所述無載波信號(hào)的持續(xù)時(shí)間到達(dá)第二閾值時(shí),獲取所述待發(fā)送