時間:2008-05-09 11:03:00來源:zhangting
 圖1 紅外編碼完整幀格式[/align]
    由于編碼方式的多樣化,若區(qū)分每種碼流的含義進行學習,其復(fù)雜性極高且占用很大的內(nèi)存空間。本系統(tǒng)避開了各種形色碼流的干擾,總結(jié)了紅外遙控器編碼的共性,只需了解脈沖的時間寬度,無需關(guān)心它的實際意義。因此,在系統(tǒng)中沒有引導(dǎo)碼、0碼、1碼、同步幀、反碼等,定義了用0、1、2等數(shù)字表示各種時間寬度不等的脈沖流的算法。
1.2 空調(diào)紅外遙控碼型研究分析
    空調(diào)遙控器開發(fā)的關(guān)鍵是溫度狀態(tài)的轉(zhuǎn)化。對多種類型空調(diào)遙控器紅外編碼進行大量研究分析,找出了其編碼規(guī)律:在空調(diào)的每一個編碼中,其中有4位二進制表示開始溫度(溫度1),另外4位二進制表示按鍵后的末溫度(溫度2),當遙控器進行溫度控制時,前一按鍵的末狀態(tài)跳轉(zhuǎn)到后一按鍵的初狀態(tài),從而可以對空調(diào)的溫度進行連續(xù)控制。對空調(diào)遙控器紅外編碼進行提取,取出有關(guān)表示溫度的部分(各種空調(diào)遙控器的編碼規(guī)律類似),如下表所示:
    空調(diào)溫度部分編碼表
圖1 紅外編碼完整幀格式[/align]
    由于編碼方式的多樣化,若區(qū)分每種碼流的含義進行學習,其復(fù)雜性極高且占用很大的內(nèi)存空間。本系統(tǒng)避開了各種形色碼流的干擾,總結(jié)了紅外遙控器編碼的共性,只需了解脈沖的時間寬度,無需關(guān)心它的實際意義。因此,在系統(tǒng)中沒有引導(dǎo)碼、0碼、1碼、同步幀、反碼等,定義了用0、1、2等數(shù)字表示各種時間寬度不等的脈沖流的算法。
1.2 空調(diào)紅外遙控碼型研究分析
    空調(diào)遙控器開發(fā)的關(guān)鍵是溫度狀態(tài)的轉(zhuǎn)化。對多種類型空調(diào)遙控器紅外編碼進行大量研究分析,找出了其編碼規(guī)律:在空調(diào)的每一個編碼中,其中有4位二進制表示開始溫度(溫度1),另外4位二進制表示按鍵后的末溫度(溫度2),當遙控器進行溫度控制時,前一按鍵的末狀態(tài)跳轉(zhuǎn)到后一按鍵的初狀態(tài),從而可以對空調(diào)的溫度進行連續(xù)控制。對空調(diào)遙控器紅外編碼進行提取,取出有關(guān)表示溫度的部分(各種空調(diào)遙控器的編碼規(guī)律類似),如下表所示:
    空調(diào)溫度部分編碼表

 圖2 空調(diào)溫度編碼狀態(tài)轉(zhuǎn)換圖[/align]
2 遙控器硬件結(jié)構(gòu)
    遙控器由STC系列STC89C51RD+單片機、紅外編碼發(fā)射與接收電路、鍵盤、顯示屏、SD卡接口等外圍器件組成。其中SD卡用來存放和保存學習的遙控器編碼,并能與PC機進行交流;遙控器編碼的識別是通過接收電路和整形電路來實現(xiàn),為了能識別一定范圍內(nèi)的載頻,編碼接收電路中不含解調(diào)電路,載頻的提取是用單片機來實現(xiàn)。
圖2 空調(diào)溫度編碼狀態(tài)轉(zhuǎn)換圖[/align]
2 遙控器硬件結(jié)構(gòu)
    遙控器由STC系列STC89C51RD+單片機、紅外編碼發(fā)射與接收電路、鍵盤、顯示屏、SD卡接口等外圍器件組成。其中SD卡用來存放和保存學習的遙控器編碼,并能與PC機進行交流;遙控器編碼的識別是通過接收電路和整形電路來實現(xiàn),為了能識別一定范圍內(nèi)的載頻,編碼接收電路中不含解調(diào)電路,載頻的提取是用單片機來實現(xiàn)。

 圖4 編碼狀態(tài)轉(zhuǎn)換流程[/align]
3.2載波信號精密檢測
    遙控器載頻通常在36KHz-42KHz范圍之間,如簡單的用38KHz的載頻調(diào)制,對有些遙控設(shè)備不能正確控制。為此,遙控器自學習時,需要精確檢測編碼的載波頻率[1]。
    通常用單片機定時器檢測的最高頻率和遙控器的載波頻率屬同一量級,無法精確測量載波脈沖的頻率。為此,提出了均值算法。將定時器1和定時器2(捕獲功能)配合使用,通過編碼脈沖寬度和載波脈沖數(shù)的測量,通過計算,得到精確的載波頻率。載波信號精確測量流程見圖5:
[align=center]
圖4 編碼狀態(tài)轉(zhuǎn)換流程[/align]
3.2載波信號精密檢測
    遙控器載頻通常在36KHz-42KHz范圍之間,如簡單的用38KHz的載頻調(diào)制,對有些遙控設(shè)備不能正確控制。為此,遙控器自學習時,需要精確檢測編碼的載波頻率[1]。
    通常用單片機定時器檢測的最高頻率和遙控器的載波頻率屬同一量級,無法精確測量載波脈沖的頻率。為此,提出了均值算法。將定時器1和定時器2(捕獲功能)配合使用,通過編碼脈沖寬度和載波脈沖數(shù)的測量,通過計算,得到精確的載波頻率。載波信號精確測量流程見圖5:
[align=center] 圖5 載波信號精確測量流程圖[/align]
3.3 信號識別、編碼分類與發(fā)送
    遙控器編碼長度為幾十位到上百位,而且,每個編碼的信息量較大。遙控器自學習時,所有的編碼狀態(tài)都要按照脈沖寬度方式存儲,要求較大的存儲空間。為此,提出了一種編碼壓縮技術(shù)[2][3]。遙控器編碼內(nèi)容包括:幀頭、機器碼、操作碼、同步碼、幀間隔和尾幀等類型,自學習時,對識別的遙控器編碼進行分類,并按類型號進行存儲,見圖6所示:
[align=center]
圖5 載波信號精確測量流程圖[/align]
3.3 信號識別、編碼分類與發(fā)送
    遙控器編碼長度為幾十位到上百位,而且,每個編碼的信息量較大。遙控器自學習時,所有的編碼狀態(tài)都要按照脈沖寬度方式存儲,要求較大的存儲空間。為此,提出了一種編碼壓縮技術(shù)[2][3]。遙控器編碼內(nèi)容包括:幀頭、機器碼、操作碼、同步碼、幀間隔和尾幀等類型,自學習時,對識別的遙控器編碼進行分類,并按類型號進行存儲,見圖6所示:
[align=center] 圖6 信號識別、編碼分類示意圖[/align]
遙控器自學習編碼識別和分類過程:
(1) 紅外編碼和載波識別
  紅外編碼和載波周期相差較大,先設(shè)定一個脈沖周期的門限值THRESHOLD1。每當有脈沖下降沿到時,啟動定時器開始定時,在下一個下降沿時定時為t。當0THRESHOLD1時,為紅外編碼脈沖。此時記錄T1的值為t,同理可檢測到T2,T3,T4…編碼脈沖的值。
(2) 數(shù)組建立
  char sigdata[i];                
  typedef struct {
         union intchar    bith;  
         union intchar    bitl; 
  uchar    bitl1;             
  } timer[m];  
  其中:sigdata[i]存放編碼中順序出現(xiàn)幀的類別;
  timer[m]存放 sigdata[i] 中幀的不同類別的時間值。           
(3) 編碼幀類別識別
    將T(i+1)的t1、t2與T(i)的t1、t2分別進行比較,若相等,timer[m]數(shù)組中不寫入新的內(nèi)容,此時,sigdata[i+1]=sigdata[i];否則,timer[m]中寫入T(i+1)的時間值,且sigdata[i+1]中寫入新的類別號。例如學習一個按鍵編碼后:timer[m]={9000,4500,540,0,540,540,540,540,1650,0,……};sigdata[i]={1,2,3,3,4,……}。
(4) 紅外編碼完整幀格式確定
    兩個完整幀之間有較長的時間間隔,且這段時間間隔大于編碼中任何低電平的時間。為此,可定義THRESHOLD2為兩完整幀之間的間隔值;可定義THRESHOLD3為編碼脈沖結(jié)束后停止幀長度。當THRESHOLD3> t2 >THRESHOLD2時,判斷為第二幀的開始。再比較T(i+1)中t1,t2與T2中t1,t2的值,若相等,為一次發(fā)送兩個完整幀。否則,一次發(fā)一幀加幀頭和一個脈沖;當t2 >THRESHOLD3,編碼接收完成,為一次只發(fā)送一個完整幀的情況。
(5)  發(fā)送載波頻率初始值計算
    載波頻率=  ,6分頻時n=2;12分頻時n=4。得(RCAP2H,RCAP2L)=3*freq(freq為學習時檢測出的載波脈沖寬度)。
4 結(jié)論
    通過對空調(diào)遙控器編碼的精簡,創(chuàng)建了狀態(tài)信息轉(zhuǎn)換表,當每進入一種模式時,只需發(fā)射與溫度狀態(tài)信息相關(guān)的編碼,簡化了發(fā)射編碼、提高了傳輸效率。開發(fā)的遙控器自學習功能,通過編碼學習與原機進行對比,每種脈沖流的時間僅差1個時鐘周期;采用均值算法,使發(fā)送的載波頻率誤差小于0.5KHz;設(shè)計的遙控器編碼矢量壓縮算法,存儲一個鍵碼(200個編碼)僅需134個存貯單元,壓縮比達8:1。上述技術(shù)為采用單片機實現(xiàn)智能空調(diào)遙控器創(chuàng)建了基礎(chǔ),其中,“狀態(tài)信息轉(zhuǎn)換表的創(chuàng)建”和“高精度載波頻率測量”是本文的主要創(chuàng)新。
圖6 信號識別、編碼分類示意圖[/align]
遙控器自學習編碼識別和分類過程:
(1) 紅外編碼和載波識別
  紅外編碼和載波周期相差較大,先設(shè)定一個脈沖周期的門限值THRESHOLD1。每當有脈沖下降沿到時,啟動定時器開始定時,在下一個下降沿時定時為t。當0THRESHOLD1時,為紅外編碼脈沖。此時記錄T1的值為t,同理可檢測到T2,T3,T4…編碼脈沖的值。
(2) 數(shù)組建立
  char sigdata[i];                
  typedef struct {
         union intchar    bith;  
         union intchar    bitl; 
  uchar    bitl1;             
  } timer[m];  
  其中:sigdata[i]存放編碼中順序出現(xiàn)幀的類別;
  timer[m]存放 sigdata[i] 中幀的不同類別的時間值。           
(3) 編碼幀類別識別
    將T(i+1)的t1、t2與T(i)的t1、t2分別進行比較,若相等,timer[m]數(shù)組中不寫入新的內(nèi)容,此時,sigdata[i+1]=sigdata[i];否則,timer[m]中寫入T(i+1)的時間值,且sigdata[i+1]中寫入新的類別號。例如學習一個按鍵編碼后:timer[m]={9000,4500,540,0,540,540,540,540,1650,0,……};sigdata[i]={1,2,3,3,4,……}。
(4) 紅外編碼完整幀格式確定
    兩個完整幀之間有較長的時間間隔,且這段時間間隔大于編碼中任何低電平的時間。為此,可定義THRESHOLD2為兩完整幀之間的間隔值;可定義THRESHOLD3為編碼脈沖結(jié)束后停止幀長度。當THRESHOLD3> t2 >THRESHOLD2時,判斷為第二幀的開始。再比較T(i+1)中t1,t2與T2中t1,t2的值,若相等,為一次發(fā)送兩個完整幀。否則,一次發(fā)一幀加幀頭和一個脈沖;當t2 >THRESHOLD3,編碼接收完成,為一次只發(fā)送一個完整幀的情況。
(5)  發(fā)送載波頻率初始值計算
    載波頻率=  ,6分頻時n=2;12分頻時n=4。得(RCAP2H,RCAP2L)=3*freq(freq為學習時檢測出的載波脈沖寬度)。
4 結(jié)論
    通過對空調(diào)遙控器編碼的精簡,創(chuàng)建了狀態(tài)信息轉(zhuǎn)換表,當每進入一種模式時,只需發(fā)射與溫度狀態(tài)信息相關(guān)的編碼,簡化了發(fā)射編碼、提高了傳輸效率。開發(fā)的遙控器自學習功能,通過編碼學習與原機進行對比,每種脈沖流的時間僅差1個時鐘周期;采用均值算法,使發(fā)送的載波頻率誤差小于0.5KHz;設(shè)計的遙控器編碼矢量壓縮算法,存儲一個鍵碼(200個編碼)僅需134個存貯單元,壓縮比達8:1。上述技術(shù)為采用單片機實現(xiàn)智能空調(diào)遙控器創(chuàng)建了基礎(chǔ),其中,“狀態(tài)信息轉(zhuǎn)換表的創(chuàng)建”和“高精度載波頻率測量”是本文的主要創(chuàng)新。標簽:
                                 
                            
傳動網(wǎng)版權(quán)與免責聲明:凡本網(wǎng)注明[來源:傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為傳動網(wǎng)(www.cdcst56.com)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責任。
本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負版權(quán)法律責任。
產(chǎn)品新聞
更多>2025-09-08
華為昇騰Atlas800iA2 910B服務(wù)器Deepsee...
2025-09-04
2025-08-06
2025-07-08
調(diào)機師傅的"外掛神器"!維宏「一鍵調(diào)機...
2025-06-30
顛覆傳統(tǒng)加工!維宏VHTube一鍵實現(xiàn)變徑...
2025-06-16