基于FPGA的家居遙控設計
引言
本文引用地址:http://cafeforensic.com/article/150098.htm人們生活中的家用電器種類日益增多,遙控器的種類也隨之增加,不同種類的遙控器之間一般不能相互替代,這給人們的生活帶來諸多不便。
各類遙控器功能大致相同,大多都有數字鍵、啟動停止鍵、前進鍵、快進鍵、后退鍵,復雜的也就是增加幾個功能鍵,現實生活中,由于用戶的個體差異,特殊功能鍵的使用頻率很低,甚至部分用戶自始至終就從未使用過這類鍵,因此,這些鍵完全可以簡化和歸類使用,對于那些不易簡化和歸類的少量特殊功能鍵,可以通過開辟自定義按鍵區(qū)的方法予以解決。
鑒于此,本文以單片機和大規(guī)??删幊涕T陣列FPGA為基礎,以記錄波形的思想設計了一款自學習式通用家居遙控器,又為原本無遙控功能的電燈、電扇、窗簾等設施追加了教練+學習+控制的遙控模型,在電腦上安裝了Girder軟件后還可實現對電腦的遙控。
1 紅外遙控簡介
1.1 關于紅外線
紅外線是波長在0. 75μm 至100μm 之間的電磁波,它的頻率高于微波而低于可見光,是一種人的眼睛看不到的光線。紅外通訊一般采用紅外波段內的近紅外線,波長在0. 75μm 至25μm 之間。紅外數據協會( IRDA) 成立后,為了保證不同廠商的紅外產品能夠獲得最佳的通訊效果,紅外通訊協議將紅外數據通訊所采用的光波波長的范圍限定在850nm 至900 nm 之內。
由于紅外線的波長較短,對障礙物的衍射能力差,所以適合應用在需要短距離無線通訊的場合,進行點對點的直線數據傳輸。
1.2 紅外遙控編碼格式
用于遙控的控制代碼大都以不同的編碼標準調制在38 kHz 左右的載波頻率之上,再以串行格式通過紅外載波的通斷被發(fā)送。下面簡單介紹一下常見的編碼標準:
1) Pulse 編碼(Pulse Coded)
脈沖的長度根據表示的數據‘0’、‘1’而不同,Sony 的遙控用此種編碼。
2) Space 編碼(Space Coded)
與脈沖編碼正好相反,它是以脈沖之間space 的長度不同來表示數據, Panasonic 的遙控用的就是這種編碼。
3) Shift 編碼(Shift Coded)
此種編碼是用電平轉換的方向表示數據的,因此所有的位都有著連續(xù)的時段,Philips 就用該編碼方式。
2 系統(tǒng)的軟硬件劃分
該系統(tǒng)采用“電腦主機+單片機+FPGA”的結構,系統(tǒng)軟件分為兩部分:一部分是在主機上運行的Girder程序,用于解碼接收到的信號并控制電腦執(zhí)行指定的動作,另一部分運行在單片機上,用于驅動遙控器的液晶(LCD)顯示。系統(tǒng)的硬件分為四部分:學習器,教練器,接收器以及與主機的接口電路,其中學習器兼有學習與遙控的功能,通過學習原有遙控器的編碼可以遙控任何擁有遙控功能的電器,它包括單片機和FPGA兩部分,由FPGA執(zhí)行主要的學習與遙控功能以提高運行速度和集成度,單片機用來驅動液晶顯示;教練器與接收器負責對原本無遙控功能的設備追加遙控功能,具體來說就是教練器產生種類足夠多的編碼地址供學習器來學習,接收器則在電器端負責解碼對應的地址并產生相應的動作;為實現對電腦的遙控功能而設計的主機接口電路負責把紅外信號轉換為數字信號傳入主機。硬件電路實現的總體框圖如圖1所示:
圖1 硬件系統(tǒng)總體框圖
紅外熱像儀相關文章:紅外熱像儀原理
評論