紅外編解碼協(xié)議(上)
紅外編解碼協(xié)議是紅外遙控技術(shù)的“語言規(guī)范”,它定義了控制指令的數(shù)字編碼規(guī)則、幀結(jié)構(gòu)格式、信號調(diào)制方式及校驗機制,是實現(xiàn)發(fā)射端與接收端準(zhǔn)確通信的核心。沒有統(tǒng)一的編解碼協(xié)議,不同設(shè)備的紅外遙控信號會相互干擾,同一品牌的不同產(chǎn)品也無法區(qū)分指令目標(biāo),因此,編解碼協(xié)議本質(zhì)上是紅外通信的“身份標(biāo)識”與“語法規(guī)則”,確?!罢l在發(fā)、發(fā)什么、發(fā)給誰”的信息被精準(zhǔn)傳遞。從家用電視的開關(guān)機指令到空調(diào)的溫度調(diào)節(jié)信號,每一次紅外遙控的成功交互,都依賴于編解碼協(xié)議的嚴(yán)格執(zhí)行,其設(shè)計的嚴(yán)謹(jǐn)性直接決定了遙控的可靠性與兼容性。
理解紅外編解碼協(xié)議,需從“編碼”與“解碼”的雙向過程切入。編碼是發(fā)射端的工作:當(dāng)用戶按下遙控器按鍵時,微控制器(MCU)會將按鍵對應(yīng)的功能指令(如“音量+”“頻道-”)按照協(xié)議規(guī)則轉(zhuǎn)換為一串特定的二進制數(shù)字信號,再通過載波調(diào)制(通常為38kHz)轉(zhuǎn)化為紅外光脈沖序列;解碼則是接收端的任務(wù):紅外接收頭捕獲光脈沖后,濾除載波并還原為電信號,接收端MCU再按照相同的協(xié)議規(guī)則解析這串?dāng)?shù)字信號,提取出設(shè)備地址(確保指令針對自身)和功能指令(明確執(zhí)行動作)。這一過程的關(guān)鍵在于“規(guī)則共識”——發(fā)射端與接收端必須采用相同的協(xié)議,否則接收端會將信號視為無效干擾,這也是不同品牌遙控器通常不能通用的核心原因。
主流的紅外編解碼協(xié)議各有設(shè)計側(cè)重,適配不同場景的需求,其中NEC協(xié)議因結(jié)構(gòu)簡潔、可靠性高,成為應(yīng)用最廣泛的協(xié)議之一。NEC協(xié)議的幀結(jié)構(gòu)清晰且包含多重校驗機制,完整幀由引導(dǎo)碼、地址碼、地址反碼、數(shù)據(jù)碼、數(shù)據(jù)反碼五部分組成:引導(dǎo)碼是一段“9ms高電平+4.5ms低電平”的脈沖序列,作用是喚醒接收端并同步時序——接收端檢測到符合長度的引導(dǎo)碼后,才會啟動后續(xù)信號的接收,避免誤觸發(fā);地址碼為8位二進制數(shù),用于區(qū)分不同設(shè)備(如同一品牌的電視與空調(diào)),確保指令不會跨設(shè)備執(zhí)行;地址反碼是地址碼的邏輯非(0變1,1變0),接收端會通過對比地址碼與地址反碼是否互補,判斷地址傳輸是否出錯;數(shù)據(jù)碼同樣為8位,代表具體的控制指令(如“26℃”“靜音”);數(shù)據(jù)反碼是數(shù)據(jù)碼的邏輯非,用于校驗數(shù)據(jù)傳輸?shù)臏?zhǔn)確性。當(dāng)按鍵被長按(如持續(xù)調(diào)節(jié)音量)時,NEC協(xié)議會發(fā)送重復(fù)碼,結(jié)構(gòu)為“9ms高電平+2.25ms低電平+560μs高電平”,以簡化持續(xù)指令的傳輸,避免重復(fù)發(fā)送完整幀造成的資源浪費。NEC協(xié)議的位定義采用脈沖寬度調(diào)制(PWM):邏輯“0”表示為“560μs高電平+560μs低電平”,總時長1.12ms;邏輯“1”表示為“560μs高電平+1.68ms低電平”,總時長2.24ms,接收端通過測量低電平的持續(xù)時間來區(qū)分0和1,這種設(shè)計簡單且抗干擾能力強,廣泛用于電視、空調(diào)、機頂盒等家用設(shè)備。
與NEC協(xié)議不同,RC5協(xié)議由飛利浦公司推出,采用曼徹斯特編碼方式,更注重抗干擾性與指令擴展性。RC5協(xié)議沒有單獨的引導(dǎo)碼,而是通過位周期內(nèi)的電平跳變來同步時序并表示邏輯值:每個位周期固定為1.778ms(對應(yīng)載波頻率36kHz),邏輯“0”定義為“位周期前半段低電平、后半段高電平”(中間跳變);邏輯“1”定義為“位周期前半段高電平、后半段低電平”(中間跳變)。這種編碼方式的優(yōu)勢在于“自同步”——接收端無需依賴固定長度的引導(dǎo)碼,通過檢測每個位周期內(nèi)的跳變即可實現(xiàn)時序同步,即使信號存在輕微的頻率偏移,也能準(zhǔn)確解碼。RC5協(xié)議的幀結(jié)構(gòu)包括起始位、控制位、地址碼和數(shù)據(jù)碼:起始位為2個邏輯“1”,用于標(biāo)記幀的開始;控制位中的“toggle位”是RC5協(xié)議的特色設(shè)計——每次按鍵按下,toggle位會翻轉(zhuǎn)(0變1或1變0),接收端通過檢測toggle位的變化來區(qū)分“單次按鍵”和“長按重復(fù)”,避免因信號重復(fù)傳輸導(dǎo)致的誤操作;地址碼和數(shù)據(jù)碼均為7位,支持128個設(shè)備地址和128種功能指令,適配早期歐洲市場的家電設(shè)備(如老式電視機、錄像機)。





