當(dāng)前位置:首頁 > 通信技術(shù) > 通信技術(shù)
[導(dǎo)讀]通過對紅外遙控器各按鍵發(fā)送沖波形的分析可以識別碼型,從而為軟件解碼提供依據(jù)。

  摘要:通過對紅外遙控器各按鍵發(fā)送沖波形的分析可以識別碼型,從而為軟件解碼提供依據(jù)。本文以實例介紹紅外遙控器與單片機的硬件接口,并從原理出發(fā)給出軟件解碼的方法。這是一個可以直接引用的成功例子,同時也為各類紅外遙控器在單片機控制產(chǎn)品中的開發(fā)應(yīng)用提供了一個非常實用的參考。

    關(guān)鍵詞:遙控器 軟件解碼 單片機

在單片機控制產(chǎn)品的開發(fā)應(yīng)用中,為了向控制系統(tǒng)軟件控制命令,鍵盤往往是不可缺少的。傳統(tǒng)方法是利用并行輸入/輸出接口芯片擴展一個鍵盤接口,或者直接利用單片機的并行端口進行擴展。在某些應(yīng)用環(huán)境下,這種方式2個弊端:①鍵盤和控制系統(tǒng)連在一起,不靈活,環(huán)境適應(yīng)性差;②浪費單片機的端口,且硬件成本較高。

使用紅外遙控器作為控制系統(tǒng)的輸入設(shè)備,具有成本低、靈活方便的特點。本文目的就在于介紹軟件解碼研究的一般方法和紅外遙控器進行二次開發(fā)的應(yīng)用技術(shù)。該方法已在多個應(yīng)用系統(tǒng)設(shè)計中成功地實現(xiàn),效果良好。

紅外遙控器是一種非常容易買到,且價格便宜的產(chǎn)品,種類很多,但它們都是配合某種特定電子產(chǎn)品的(如各種電視機、VCD、空調(diào)器等),由專用CPU解碼,作為一般的單片機控制系統(tǒng)能直接使用。使用現(xiàn)成遙控器作為控制系統(tǒng)的輸入,需要解決如下幾個問題:如何接收紅外遙控信號;如何識別紅外遙控信號;解碼軟件的設(shè)計。其它的問題都是非本質(zhì)的,例如遙控器面板功能鍵標(biāo)注的問題,可自行設(shè)計、重印即可。

1 紅外遙控信號的接收

接收電路可以使用集成紅外接收器成品。接收器包括紅外接收管和信號處理IC。接收器對外只有3個引腳:Vcc、GND和1個脈沖信號輸出PO。與單片機接口非常方便,如圖1所示。

①Vcc接系統(tǒng)的電源正極(+5V);

②GND接系統(tǒng)的地線(0V);

③脈沖信號輸出接CPU的中斷輸入引腳(例如8031的13腳INT1)。采取這種連接方法,軟件解既可工作于查詢方式,也可工作于中斷方式。

2 脈沖流分析

要了解一個未知的遙控器,首先要分析其脈沖流,從而了解其脈沖波形特征(以何種方式攜帶“0”、“1”信息),進而了解其編碼規(guī)律。脈沖流的分析應(yīng)從分析脈沖的高、低電平寬度入手。筆者用軟件的方法實現(xiàn)了對脈沖流的分析。以圖1所示的接口為例,如果沒有紅外遙控信號到來,接收器的輸出端口PO保持高電平;當(dāng)接收到紅外遙控信號時,接收器件信號轉(zhuǎn)換成脈沖序列加到CPU的中斷輸入引腳。用軟件測試引腳的邏輯電平,同時啟動TC計時器,測量該引腳分別為邏輯“0”和邏輯“1”情況下的時間值,存儲起來,然后打印、分析。下面用8051匯編語言給出對脈沖流進行采集、存儲的程序段:

MOV R0,#00H

MOV R1,#28H

MOV TMOD,#01H

TK:JB P3.3,TK ;等待低電平到來

;測低電平寬度

TK1:MOV TH0,#00H

MOV TL0,#00H

SETB TR0

TK0:JB TF0,TKE ;超時無效返回

JNB P3.3,TK2

CLR TR0

MOV A,TH0

MOVX @R0,A

INC R0

MOV A,TL0

MOVX @R0,A

INC R0

;測高電平寬度

MOV TH0,#00H

MOV TL0,#00H

SETB TR0

TK3:JB TF0,TKE ;超時無效返回

JB P3.3,TK3

CLR TR0

MOV A,TH0

MOVX @R0,A

INC R0

MOV A,TL0

MOVX @R0,A

INC R0

DJNZ R1,TK1 ;循環(huán)

TKE:RET

這段程序首先將TC0設(shè)置成16位定時器方式,初始化RAM地址指針R0和循環(huán)計數(shù)指針R1,每當(dāng)引腳的邏輯電平發(fā)生跳變時,停止計時,將計時值保存到連續(xù)的RAM中。這段程序可以連續(xù)測量40個脈沖的時間值(包括40個低電平脈寬)。筆者以TC9012芯片的遙控器為對象,采集了所有按鍵的編程脈沖波形,并且對同一按鍵進行了重復(fù)實驗。限于篇幅,采樣數(shù)據(jù)不能給出,僅給出脈沖流的規(guī)律(仿真機CPU晶振為6MHz):

①引導(dǎo)脈沖是一個時間值為0937H~0957H的低電平和時間值為084FH~086FH的高電平;

②數(shù)據(jù)脈沖的低電平時間值約為0.127H~0177H;

③高電平時間值有2種情況:00BBH~00FFH(窄)、02EFH~0333H(寬)。

由大量數(shù)據(jù)總結(jié)分析,按鍵編碼有如下規(guī)律:

①除引導(dǎo)脈沖外的脈沖是數(shù)據(jù)編碼脈沖,數(shù)據(jù)“位”信息由高電平脈寬決定:窄脈寬表示“0”、寬脈寬表示“1”;

②每個按鍵的脈沖流譯碼后,包含4個字節(jié)的信息:

*所有按鍵的前2個字節(jié)編碼都一樣,都是2個字節(jié)的“0EH”;

*第3字節(jié)是鍵碼;

*第4字節(jié)是鍵碼的反碼。

經(jīng)過對相同按鍵脈沖進行多次采樣發(fā)現(xiàn),相同按鍵脈沖序列的對應(yīng)位置脈寬時間值是在一個小范圍內(nèi)波動的(不是一個確定值),因此,對模式的識別不能采取精確比較法。對此,本人采取模糊的辦法進行了抽象處理。根據(jù)上述實驗規(guī)律,將軟件譯碼時對脈沖的分析判斷依據(jù)及算法設(shè)計思想總結(jié)如下:

①引導(dǎo)脈沖的低電平和高電平寬度的判斷依據(jù)是時間值的“高字節(jié)大于08H”,低字節(jié)忽略;

②數(shù)據(jù)脈沖流的低電平脈寬相同,忽略不判斷;

③高電平脈寬是判斷數(shù)據(jù)流每位是“0”還是“1”的依據(jù)。本人抽取的判斷是脈寬的高字節(jié)若小于2表示“0”,否則表示“1”,脈寬的低字節(jié)忽略。

實踐證明,上述判據(jù)是有效可行的。這樣處理不僅使解碼軟件的設(shè)計簡單化,而且大大提高了解碼的速度。使用上述判據(jù)編寫軟件解碼程序時,要注意脈沖流采樣數(shù)據(jù)存儲地址與脈沖的對應(yīng)關(guān)系。軟件主要有如下幾部分:

①判斷遙控信號的到來(在解碼前調(diào)用1個獨立的子程序);

②采樣并存儲脈沖流;

③判斷引導(dǎo)脈沖是否有效;

④解碼前2個字節(jié)并判斷是否為“0EH”;

⑤解碼第3個字節(jié),該字節(jié)即為有效鍵碼;

⑥鍵碼的查表映射(如果使用原鍵碼,可省略這一步)。

3 解碼軟件的設(shè)計

基于上述思路設(shè)計的軟件解碼系統(tǒng)成功地應(yīng)用于多個控制系統(tǒng)。下面給出一個實例(用MCS-51系列MC交通規(guī)則TC9012紅外遙控器進行軟件解碼)的匯編語言程序。程序中使用的參數(shù)是針對MCU使用6MHz晶振的情況,使用其它頻率的晶振,只需修改脈寬判據(jù)即可。為便于理解,盡量保持與原理敘述中的致性,程序中給出了較詳細(xì)的注翻譯,詳見網(wǎng)絡(luò)補充版(http://www.dpj.com.cn)。

本文雖然是用MCS-51系列MCU對TC9012紅外遙控器軟件解碼的研究,但其方法具有一般性。具體的應(yīng)用,可自行變通。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉