葉仁春,張 莉,陸云龍
(1.華中科技大學 現代教育技術中心,湖北 武漢 430074;2.武漢第二輕工業學校 計算機中心,湖北 武漢 430080)
不少學校的多媒體教室,配置了投影機、電動屏幕、影碟機、展示臺等教學設備。這些教學設備都有紅外控制功能,但與多媒體教室設備中央控制系統(簡稱中控)集成時無法實現最佳搭配。因紅外線只能在視距10m內無遮擋范圍內有效[1],要么牽拉密密麻麻的長線來為紅外控制提供條件,要么干脆廢掉紅外控制功能了事,使得教學設備的紅外功能受到了極大的限制。
顯然,需要借助無線通信技術[2]來解決紅外通信的技術瓶頸。在中控端設置無線發射電路功能模塊,而在需要被控的教學設備端設置無線轉紅外電路功能模塊,通過無線編碼到紅外編碼的轉化,完成教學設備無視距限制的控制,從而實現教學設備與中控的無縫集成。
因各個廠家生產的教學設備的紅外編碼不一樣,要實現無線轉紅外技術,就必須解決能發送大多數教學設備的紅外遙控編碼,即要解決紅外編碼的“自學習”功能[3]。為了敘述方便,介紹常見的紅外遙控編碼格式(見圖1)。紅外遙控編碼是由特殊時間的高低電平引導碼(引導碼9ms和4.5ms),以及連續的32位二進制串行碼組成,其中前16位的高8位是用戶碼及其低8位的反碼,后16位為8位控制操作的數據碼及其反碼[4]。用戶碼由制作紅外遙控設備廠家來確定,是區別不同的被控電子設備,以防止不同的被控電子設備紅外遙控編碼相互形成干擾,數據碼是遙控被控設備動作的指令碼。用戶碼和數據碼都有其對應的反碼,是一種簡單的識錯機制,在被控接收端單片機可以識別當前紅外編碼是否有誤,從而增加紅外編碼的可靠性。當紅外遙控器的按鍵有用戶按下時,周期性地發出同一種32位2進制串行碼,周期為108ms。

圖1 紅外編碼格式
每位碼由8個發射寬度調制的串行碼脈沖組成,用載波發射脈沖時間是0.5 6ms、載波不發射脈沖時間是0.565ms、周期為1.125ms的組合形式來表示低電平“0”。用載波發射脈沖時間是0.56ms、載波不發射脈沖時間是1.685ms、周期為2.25ms的組合形式來表示高電平“1”。而一般普通單片機處理速度已達1μs以下,有足夠時間來處理紅外編碼的高低脈沖電平,所以適合于“自學習”常見遙控的紅外編碼[5]。對于其他類型的紅外編碼也可以如此類似解決。
在被控教學設備的無線接收端,可采用集光電轉換、解碼和放大于一體的紅外接收頭HS0038B[6]。其外圍電路只需要很少元器件就能完成紅外接收和整形放大,然后輸出TTL電平串行信號,接到單片機的普通IO口;使用單片機內部定時器,來分別計時脈沖的高低電平寬度,同時判斷計時值是否超過范圍,也可以判斷是否接收完畢。
一般記錄1個遙控器的紅外編碼至少需要1個字節用戶碼和相對應字節的按鍵數,而單片機(例如PIC16F系列單片機)內置的EEPROM寫一個字節最少需要4ms,所以單片機一邊接收數據,同時判斷和分析數據,再存儲,在單片機時序和EEPROM時序上是無法做到。故只能將接收到的計時數值暫時存放在單片機的RAM中,待接收完畢后再轉存寫入到EEPROM中,就此完成紅外編碼的“自學習”。本文研究設計的采用PIC16F636單片機,紅外編碼“自學習”的流程方法如圖2所示[7]。

圖2 “自學習”紅外編碼系統設計流程圖
本文中將EEPROM劃分為若干個不同的空間,這樣相同遙控器的按鍵碼可以存放在同一區域中。因相同遙控器的用戶碼是相同的,可以將用戶碼作為本遙控編碼的索引。常用的遙控器一般最多有32個鍵,一共需要33個字節(1個用戶碼,32個按鍵數據碼)。而單片機PIC16F636內置EEPROM有256個字節,那么最多可以存儲7個遙控器的按鍵碼(256/33=7.757 6),完全適合實際情況的應用。
在中控的無線發射端,可以使用比較常用的PT2262編碼芯片[8],后接無線發射模塊。在被控設備的無線接收端,使用同通信頻率的無線接收模塊,只要無線接收端單片機解讀出無線發射端發來的地址碼,與本接收端設置的地址碼一致,就認為是發給自己的無線編碼,就把無線編碼內的遙控端按鍵編碼解讀出來,轉化為相對應的紅外編碼,由紅外編碼完成對教學設備的控制任務。圖3為無線轉紅外智能中央控制系統。無線發射接收原理,有許多文獻講述,這里不再贅述。

圖3 無線轉紅外智能中央控制系統

圖4 EEPROM區域數據存儲
由無線接收端來完成無線編碼到紅外編碼的轉化,那么無線接收端的單片機內置的EEPROM必須先存儲與無線發射端對應的無線編碼,如圖4的EEPROM區域數據的無線編碼區。紅外編碼通過“自學習”后,生成一個用戶碼和與按鍵相對應的數據碼,一一寫到單片機內置的EEPROM區。因設備測試有限,這里只學習2種用戶碼0x08和0x0F。這2個用戶碼各自組成與按鍵對應的數據區,存儲在EEPROM區域數據的紅外編碼區[9]。
在中控無線發射端,其控制面板除了常規按鍵外,不可能設置與紅外遙控器那么多的控制按鍵,按鍵數量必然少于紅外遙控器的按鍵數量。為了使中控面板按鍵能完成紅外遙控器面板那么多的按鍵任務,可通過軟件設計方式設置為功能復合鍵。
被控設備里PIC系列單片機EEPROM存儲區,存儲著無線編碼和多種紅外遙控器的紅外編碼。為了使中控無線發射端可以控制不同的設備,被控設備開機后首先必須識別中控無線端發給自己的地址碼,才能實現無線編碼到紅外編碼的轉化,并完成相應的控制動作[10],如圖5所示的被控設備的接收端無線轉紅外控制所示的工作流程。

圖5 無線轉紅外控制工作流程
被控設備與中控通過無線收發通信對碼識別后,就進入主循環等待監聽發射機信號,或者進入睡眠狀態。如果被控設備有用戶自己操作,就會發送被控設備已經更新工作狀態。如果被控設備接收中控發來的無線編碼信號,經過地址碼識別確認是發給自己的,讀入最新的8421編碼的二進制按鍵數據編碼,根據開機識別到被控設備的用戶碼,檢索對應被控設備的紅外編碼數據[11]。單片機把讀到的紅外編碼數據,按紅外控制格式組成串行碼輸出,來控制被控設備的工作狀態,同時發送被控設備已經更新了工作狀態的信息。
由上面論述可知,在中控端設置無線發送模塊,各個被控教學設備端設置無線轉紅外接收模塊,采用能夠穿透障礙物的無線收發通信技術,并且以“自學習”方式解讀教學設備的紅外控制編碼,完成無線編碼到紅外編碼的轉化[12],實現多媒體教室設備無障礙、遠距離的集成控制。同時也為教學設備生產廠家提供了教學設備研發上的技術參考。研究實踐表明,無線轉紅外技術是中央控制系統與教學設備無縫集成的有效解決途徑。
(
)
[1]李海峰,周革,井文才等.基于以太網的紅外無線通信系統[J].紅外與激光工程,2003,32(4):339-342.
[2]李東陽,姚凱學.基于單片機實現PT2262通用編碼器的軟件解碼[J].微電子學與計算機,2011,28(8):77-79,82.
[3]李楠,鄭建立.基于單片機的紅外遙控自學習系統的設計[J].自動化與儀器儀表,2008(6):43-45,75.
[4]黃海陽,吳錘紅.一種基于單片機的紅外遙控信號解碼新方法[J].單片機與嵌入式系統應用,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].計算機與數字工程,2005,33(8):121-123.
[9]陳祖爵,王建毅.智能型紅外遙控器的設計[J].微計算機信息,2008,24(1/2):305-307.
[10]徐偉恒,趙璠,蘇志芳,等.具有自學習功能的編碼集成電路PT2262解碼器設計[J].電子設計工程,2011,19(7):100-102,106.
[11]蒼利民,王獻會,楊柯,等.無線射頻中軟件解碼功能的實現[J].現代電子技術,2011,34(14):31-34.
[12]張毅,李晉.基于射頻的學習型紅外線遙控器設計[J].計算機時代,2011(2):193-194.