摘 要 本文介紹了一種利用51係列單片機實現對紅外遙控信號的自學習(xi) 及還原方法,本方法實現電路簡單、可靠性高,可學習(xi) 及還原多種紅外遙控規程的信號。
關(guan) 鍵詞 單片機 紅外遙控信號 自學習(xi)
1概述
隨著遠程教育體(ti) 係的不斷發展和日趨完善,多媒體(ti) 教學手段在各級各類學校都得到了廣泛應用。近年來,我們(men) 在進行多媒體(ti) 教學係統的開發和研製過程中,經常遇到多種用於(yu) 教學中的紅外遙控設備,如:數字投影機、DVD、VCD、錄像機、電視機等,由於(yu) 各種設備都自帶遙控器,而且不同的設備所遵循的紅外遙控規程也不盡相同,操縱這些設備得使用多種遙控器,給使用者帶來了諸多不便。我們(men) 采用集中控製各設備的方式如圖(1)所示解決(jue) 了該問題。集中控製各設備的方法是首先對各設備的紅外遙控信號進行識別並存儲(chu) (自學習(xi) ),然後在需要時進行還原。圖(1)中由PC或集中控製器發送設備號及控製命令號至紅外遙控信號自學習(xi) 及還原電路,再由自學習(xi) 及還原電路恢複對應的紅外遙控信號,並發射出去控製指定的紅外遙控設備動作。
圖(1)集中控製多種紅外遙控設備示意圖
2紅外遙控信號的自學習(xi) 及還原
2.1紅外遙控信號編碼、發射原理
通常,紅外遙控器是將遙控信號(二進製脈衝(chong) 碼)調製在38KHz的載波上,經緩衝(chong) 放大後送至紅外發光二極管,轉化為(wei) 紅外信號發射出去的。二進製脈衝(chong) 碼的形式有多種,其中最為(wei) 常用的是PWM碼(脈衝(chong) 寬度調製碼)和PPM碼(脈衝(chong) 位置調製碼)。前者以寬脈衝(chong) 表示1,窄脈衝(chong) 表示0,如圖(2)所示。後者脈衝(chong) 寬度一樣,但是碼位的寬度不一樣,碼位寬的代表1,碼位窄的代表0。如圖(3)所示。
圖(2)PWM碼
圖(3)PPM碼
遙控編碼脈衝(chong) 信號(以PPM碼為(wei) 例)通常由引導碼、係統碼、係統反碼、功能碼、功能反碼等信號組成,如圖(4)所示。引導碼也叫起始碼,由寬度為(wei) 9ms的高電平和寬度為(wei) 4.5ms的低電平組成(不同的遙控係統在高低電平的寬度上有一定區別),用來標誌遙控編碼脈衝(chong) 信號的開始。係統碼也叫識別碼,它用來指示遙控係統的種類,以區別其它遙控係統,防止各遙控係統的誤動作。功能碼也叫指令碼,它代表了相應的控製功能,接收機中的微控製器可根據功能碼的數值去完成各種功能操作。係統反碼與(yu) 功能反碼分別是係統碼與(yu) 功能碼的反碼,反碼的加入是為(wei) 了能在接收端校對傳(chuan) 輸過程中是否產(chan) 生差錯。為(wei) 了提高抗幹擾性能和降低電源消耗,將上述的遙控編碼脈衝(chong) 對頻率為(wei) 38KHz(周期為(wei) 26.3us)的載波信號進行脈幅調製(PAM),再經緩衝(chong) 放大後送到紅外發光管,將遙控信號發射出去。
圖(4) 遙控編碼脈衝(chong) 信號的組成
2.2紅外遙控信號自學習(xi) 及還原的硬件實現
根據遙控信號編碼和發射過程,遙控信號的識別——即解碼過程應是去除38KHz載波信號後識別出二進製脈衝(chong) 碼中的0和1。遙控信號識別、存儲(chu) 、還原的硬件電路如圖(5)所示。由MCS—51係列單片機AT89C51、一體(ti) 化紅外接收頭、存儲(chu) 器、還原調製與(yu) 紅外發光管驅動電路組成.。
一體(ti) 化紅外接收頭采用SIEMENS SFH 506-38,它負責紅外遙控信號的解調。將調製在38kHz上的紅外脈衝(chong) 信號解調並反向後再輸入到AT89C51的INT0(P3.2)引腳,由單片機進行高電平與(yu) 低電平寬度的測量。
圖中使用具有I2C總線接口的E2PROM 芯片24C32作為(wei) 存儲(chu) 器,其容量為(wei) 4KB,
圖(5) 紅外遙控信號自學習及還原原理框圖
用來保存識別出來的遙控信號的高電平與低電平寬度數據。通常遙控信號的二進製脈衝碼長為32位,每位由一個高電平與一個低電平組成,應保存的信號寬度數據為64個,再加上引導碼2個數據,共計66個數據,每個數據用一個字節來表示,一個遙控信號命令就需要66個字節來保存。考慮到不同的遙控係統有一定的區別,有些遙控信號命令長度較長,所以存儲空間應適當留有餘量。在實際應用中,可根據紅外遙控設備的數量及每個設備的遙控命令數量等具體情況來決定E2PROM 芯片的容量和型號。
遙控信號的還原和發射是通過P0口(如圖中為P0.1)輸出二進製脈衝碼(高電平與低電平的維持時間為識別時保存的一組寬度數據)與38KHz調製脈衝相與,即P0口輸出高電平允許38KHz調製脈衝通過,P0口輸出低電平關斷38KHz調製脈衝。調製後的信號經驅動後通過紅外發光管,發射紅外遙控信號去控製紅外遙控設備。圖中LED發光管用來指示紅外遙控信號,同時用來指示自學習中的各狀態。
P2口連結一組按鈕,按鈕的數量與需要集中控製的紅外遙控設備數量相同,用來控製單片機進入或退出自學習狀態,按鈕號即為設備號。
單片機同時通過串行口連接上位機PC或集中控製器接收控製命令,上位機或集中控製器通過RS—485總線與單片機通信,從而實現了紅外遙控設備的遠程控製。
2.3 軟件設計
單片機上電複位後,首先對其內(nei) 部定時器、串行口進行初始化,並允許串行口中斷。然後監測P2口,當進入自學習(xi) 狀態(P2口有一引腳輸入為(wei) 低電平並維持1S以上)時,采用定時器定時、軟件計數的方法,測量INT0引腳上輸入脈衝(chong) 的高、低電平的寬度。INT0引腳平時為(wei) 高電平,當接收到紅外遙控信號時,由於(yu) 一體(ti) 化紅外接收頭的反向作用,INT0引腳下跳至低電平,此為(wei) 引導碼。將測得的高低電平的寬度保存在存儲(chu) 器中,並將每次測得的低電平的寬度與(yu) 引導碼低電平寬度比較,若相等則表示一遙控命令碼識別、存儲(chu) (自學習(xi) )結束。再次監測P2口該引腳,若為(wei) 低電平並維持1S以上,則退出自學習(xi) 狀態。否則,進一步自學習(xi) 下一紅外遙控命令碼。
串行口中斷服務程序主要是根據接收到的設備號及命令號查表得到一組事先存儲(chu) 的高、低電平寬度數據,然後在P0口還原出紅外遙控信號去控製紅外遙控設備按指定的命令動作,即紅外遙控信號的還原。
3結束語
我們(men) 用上述紅外遙控信號的自學習(xi) 及還原方法,成功地實現了新科VCD、DVD、金正DVD、鬆下係列錄像機以及多種型號數字投影機、彩色電視機遙控信號的自學習(xi) 和還原,從(cong) 而在多媒體(ti) 遠程教學係統中實現了可紅外遙控設備的遠程控製。