葉仁春,張 莉,陸云龍
(1.華中科技大學 現(xiàn)代教育技術中心,湖北 武漢 430074;2.武漢第二輕工業(yè)學校 計算機中心,湖北 武漢 430080)
不少學校的多媒體教室,配置了投影機、電動屏幕、影碟機、展示臺等教學設備。這些教學設備都有紅外控制功能,但與多媒體教室設備中央控制系統(tǒng)(簡稱中控)集成時無法實現(xiàn)最佳搭配。因紅外線只能在視距10m內無遮擋范圍內有效[1],要么牽拉密密麻麻的長線來為紅外控制提供條件,要么干脆廢掉紅外控制功能了事,使得教學設備的紅外功能受到了極大的限制。
顯然,需要借助無線通信技術[2]來解決紅外通信的技術瓶頸。在中控端設置無線發(fā)射電路功能模塊,而在需要被控的教學設備端設置無線轉紅外電路功能模塊,通過無線編碼到紅外編碼的轉化,完成教學設備無視距限制的控制,從而實現(xiàn)教學設備與中控的無縫集成。
因各個廠家生產的教學設備的紅外編碼不一樣,要實現(xiàn)無線轉紅外技術,就必須解決能發(fā)送大多數(shù)教學設備的紅外遙控編碼,即要解決紅外編碼的“自學習”功能[3]。為了敘述方便,介紹常見的紅外遙控編碼格式(見圖1)。紅外遙控編碼是由特殊時間的高低電平引導碼(引導碼9ms和4.5ms),以及連續(xù)的32位二進制串行碼組成,其中前16位的高8位是用戶碼及其低8位的反碼,后16位為8位控制操作的數(shù)據(jù)碼及其反碼[4]。用戶碼由制作紅外遙控設備廠家來確定,是區(qū)別不同的被控電子設備,以防止不同的被控電子設備紅外遙控編碼相互形成干擾,數(shù)據(jù)碼是遙控被控設備動作的指令碼。用戶碼和數(shù)據(jù)碼都有其對應的反碼,是一種簡單的識錯機制,在被控接收端單片機可以識別當前紅外編碼是否有誤,從而增加紅外編碼的可靠性。當紅外遙控器的按鍵有用戶按下時,周期性地發(fā)出同一種32位2進制串行碼,周期為108ms。
圖1 紅外編碼格式
每位碼由8個發(fā)射寬度調制的串行碼脈沖組成,用載波發(fā)射脈沖時間是0.5 6ms、載波不發(fā)射脈沖時間是0.565ms、周期為1.125ms的組合形式來表示低電平“0”。用載波發(fā)射脈沖時間是0.56ms、載波不發(fā)射脈沖時間是1.685ms、周期為2.25ms的組合形式來表示高電平“1”。而一般普通單片機處理速度已達1μs以下,有足夠時間來處理紅外編碼的高低脈沖電平,所以適合于“自學習”常見遙控的紅外編碼[5]。對于其他類型的紅外編碼也可以如此類似解決。
在被控教學設備的無線接收端,可采用集光電轉換、解碼和放大于一體的紅外接收頭HS0038B[6]。其外圍電路只需要很少元器件就能完成紅外接收和整形放大,然后輸出TTL電平串行信號,接到單片機的普通IO口;使用單片機內部定時器,來分別計時脈沖的高低電平寬度,同時判斷計時值是否超過范圍,也可以判斷是否接收完畢。
一般記錄1個遙控器的紅外編碼至少需要1個字節(jié)用戶碼和相對應字節(jié)的按鍵數(shù),而單片機(例如PIC16F系列單片機)內置的EEPROM寫一個字節(jié)最少需要4ms,所以單片機一邊接收數(shù)據(jù),同時判斷和分析數(shù)據(jù),再存儲,在單片機時序和EEPROM時序上是無法做到。故只能將接收到的計時數(shù)值暫時存放在單片機的RAM中,待接收完畢后再轉存寫入到EEPROM中,就此完成紅外編碼的“自學習”。本文研究設計的采用PIC16F636單片機,紅外編碼“自學習”的流程方法如圖2所示[7]。
圖2 “自學習”紅外編碼系統(tǒng)設計流程圖
本文中將EEPROM劃分為若干個不同的空間,這樣相同遙控器的按鍵碼可以存放在同一區(qū)域中。因相同遙控器的用戶碼是相同的,可以將用戶碼作為本遙控編碼的索引。常用的遙控器一般最多有32個鍵,一共需要33個字節(jié)(1個用戶碼,32個按鍵數(shù)據(jù)碼)。而單片機PIC16F636內置EEPROM有256個字節(jié),那么最多可以存儲7個遙控器的按鍵碼(256/33=7.757 6),完全適合實際情況的應用。
在中控的無線發(fā)射端,可以使用比較常用的PT2262編碼芯片[8],后接無線發(fā)射模塊。在被控設備的無線接收端,使用同通信頻率的無線接收模塊,只要無線接收端單片機解讀出無線發(fā)射端發(fā)來的地址碼,與本接收端設置的地址碼一致,就認為是發(fā)給自己的無線編碼,就把無線編碼內的遙控端按鍵編碼解讀出來,轉化為相對應的紅外編碼,由紅外編碼完成對教學設備的控制任務。圖3為無線轉紅外智能中央控制系統(tǒng)。無線發(fā)射接收原理,有許多文獻講述,這里不再贅述。
圖3 無線轉紅外智能中央控制系統(tǒng)
圖4 EEPROM區(qū)域數(shù)據(jù)存儲
由無線接收端來完成無線編碼到紅外編碼的轉化,那么無線接收端的單片機內置的EEPROM必須先存儲與無線發(fā)射端對應的無線編碼,如圖4的EEPROM區(qū)域數(shù)據(jù)的無線編碼區(qū)。紅外編碼通過“自學習”后,生成一個用戶碼和與按鍵相對應的數(shù)據(jù)碼,一一寫到單片機內置的EEPROM區(qū)。因設備測試有限,這里只學習2種用戶碼0x08和0x0F。這2個用戶碼各自組成與按鍵對應的數(shù)據(jù)區(qū),存儲在EEPROM區(qū)域數(shù)據(jù)的紅外編碼區(qū)[9]。
在中控無線發(fā)射端,其控制面板除了常規(guī)按鍵外,不可能設置與紅外遙控器那么多的控制按鍵,按鍵數(shù)量必然少于紅外遙控器的按鍵數(shù)量。為了使中控面板按鍵能完成紅外遙控器面板那么多的按鍵任務,可通過軟件設計方式設置為功能復合鍵。
被控設備里PIC系列單片機EEPROM存儲區(qū),存儲著無線編碼和多種紅外遙控器的紅外編碼。為了使中控無線發(fā)射端可以控制不同的設備,被控設備開機后首先必須識別中控無線端發(fā)給自己的地址碼,才能實現(xiàn)無線編碼到紅外編碼的轉化,并完成相應的控制動作[10],如圖5所示的被控設備的接收端無線轉紅外控制所示的工作流程。
圖5 無線轉紅外控制工作流程
被控設備與中控通過無線收發(fā)通信對碼識別后,就進入主循環(huán)等待監(jiān)聽發(fā)射機信號,或者進入睡眠狀態(tài)。如果被控設備有用戶自己操作,就會發(fā)送被控設備已經更新工作狀態(tài)。如果被控設備接收中控發(fā)來的無線編碼信號,經過地址碼識別確認是發(fā)給自己的,讀入最新的8421編碼的二進制按鍵數(shù)據(jù)編碼,根據(jù)開機識別到被控設備的用戶碼,檢索對應被控設備的紅外編碼數(shù)據(jù)[11]。單片機把讀到的紅外編碼數(shù)據(jù),按紅外控制格式組成串行碼輸出,來控制被控設備的工作狀態(tài),同時發(fā)送被控設備已經更新了工作狀態(tài)的信息。
由上面論述可知,在中控端設置無線發(fā)送模塊,各個被控教學設備端設置無線轉紅外接收模塊,采用能夠穿透障礙物的無線收發(fā)通信技術,并且以“自學習”方式解讀教學設備的紅外控制編碼,完成無線編碼到紅外編碼的轉化[12],實現(xiàn)多媒體教室設備無障礙、遠距離的集成控制。同時也為教學設備生產廠家提供了教學設備研發(fā)上的技術參考。研究實踐表明,無線轉紅外技術是中央控制系統(tǒng)與教學設備無縫集成的有效解決途徑。
(
)
[1]李海峰,周革,井文才等.基于以太網的紅外無線通信系統(tǒng)[J].紅外與激光工程,2003,32(4):339-342.
[2]李東陽,姚凱學.基于單片機實現(xiàn)PT2262通用編碼器的軟件解碼[J].微電子學與計算機,2011,28(8):77-79,82.
[3]李楠,鄭建立.基于單片機的紅外遙控自學習系統(tǒng)的設計[J].自動化與儀器儀表,2008(6):43-45,75.
[4]黃海陽,吳錘紅.一種基于單片機的紅外遙控信號解碼新方法[J].單片機與嵌入式系統(tǒng)應用,2012(7):30-33.
[5]王健.基于單片機的紅外自學習設計[J].中國儀器儀表,2006(4):95-96.
[6]劉萬斌,于群.紅外遙控器解碼軟件設計及應用[J].微型機與應用,2011,30(2):14-16.
[7]朱高中.基于單片機的紅外遙控解碼電路的設計[J].計算技術與自動化,2011(6):68-71.
[8]安穎,王研.遙控編碼芯片PT2262的單片機譯碼模塊[J].計算機與數(shù)字工程,2005,33(8):121-123.
[9]陳祖爵,王建毅.智能型紅外遙控器的設計[J].微計算機信息,2008,24(1/2):305-307.
[10]徐偉恒,趙璠,蘇志芳,等.具有自學習功能的編碼集成電路PT2262解碼器設計[J].電子設計工程,2011,19(7):100-102,106.
[11]蒼利民,王獻會,楊柯,等.無線射頻中軟件解碼功能的實現(xiàn)[J].現(xiàn)代電子技術,2011,34(14):31-34.
[12]張毅,李晉.基于射頻的學習型紅外線遙控器設計[J].計算機時代,2011(2):193-194.