一款通用紅外遙控系統(tǒng)的設(shè)計方案
0 引言
本文引用地址:http://butianyuan.cn/article/234916.htm人們生活中的家用電器種類日益增多,遙控器的種類也隨之增加,不同種類的遙控器之間一般不能相互替代,這給人們的生活帶來諸多不便。
各類遙控器功能大致相同,大多都有數(shù)字鍵、啟動停止鍵、前進(jìn)鍵、快進(jìn)鍵、后退鍵,復(fù)雜的也就是增加幾個功能鍵,現(xiàn)實生活中,由于用戶的個體差異,特殊功能鍵的使用頻率很低,甚至部分用戶自始至終就從未使用過這類鍵,因此,這些鍵完全可以簡化和歸類使用,對于那些不易簡化和歸類的少量特殊功能鍵,可以通過開辟自定義按鍵區(qū)的方法予以解決。鑒于此,本文以單片機和大規(guī)模可編程門陣列FPGA為基礎(chǔ),以記錄波形的思想設(shè)計了一款自學(xué)習(xí)式通用紅外遙控系統(tǒng),又為原本無遙控功能的電燈、電扇、窗簾等設(shè)施追加了教練+學(xué)習(xí)+控制的遙控模型,在電腦上安裝了Girder軟件后還可實現(xiàn)對電腦的遙控。
1 紅外遙控簡介
1.1 關(guān)于紅外線
紅外線是波長在0. 75μm 至100μm 之間的電磁波,它的頻率高于微波而低于可見光,是一種人的眼睛看不到的光線。紅外通訊一般采用紅外波段內(nèi)的近紅外線,波長在0. 75μm 至25μm 之間。紅外數(shù)據(jù)協(xié)會( IRDA) 成立后,為了保證不同廠商的紅外產(chǎn)品能夠獲得最佳的通訊效果,紅外通訊協(xié)議將紅外數(shù)據(jù)通訊所采用的光波波長的范圍限定在850nm 至900 nm 之內(nèi)。
由于紅外線的波長較短,對障礙物的衍射能力差,所以適合應(yīng)用在需要短距離無線通訊的場合,進(jìn)行點對點的直線數(shù)據(jù)傳輸。
1.2 紅外遙控編碼格式
用于遙控的控制代碼大都以不同的編碼標(biāo)準(zhǔn)調(diào)制在38 kHz 左右的載波頻率之上,再以串行格式通過紅外載波的通斷被發(fā)送。下面簡單介紹一下常見的編碼標(biāo)準(zhǔn):
1) Pulse 編碼(Pulse Coded)
脈沖的長度根據(jù)表示的數(shù)據(jù)‘0’、‘1’而不同,Sony 的遙控用此種編碼。
2) Space 編碼(Space Coded)
與脈沖編碼正好相反,它是以脈沖之間space 的長度不同來表示數(shù)據(jù), Panasonic 的遙控用的就是這種編碼。
3) Shift 編碼(Shift Coded)
此種編碼是用電平轉(zhuǎn)換的方向表示數(shù)據(jù)的,因此所有的位都有著連續(xù)的時段,Philips 就用該編碼方式。
2 系統(tǒng)的軟硬件構(gòu)成
該系統(tǒng)采用“電腦主機+單片機+FPGA”的結(jié)構(gòu),系統(tǒng)軟件分為兩部分:一部分是在主機上運行的Girder程序,用于解碼接收到的信號并控制電腦執(zhí)行指定的動作,另一部分運行在單片機上,用于驅(qū)動遙控器的液晶(LCD)顯示。系統(tǒng)的硬件分為四部分:學(xué)習(xí)器,教練器,接收器以及與主機的接口電路,其中學(xué)習(xí)器兼有學(xué)習(xí)與遙控的功能,通過學(xué)習(xí)原有遙控器的編碼可以遙控任何擁有遙控功能的電器,它包括單片機和FPGA兩部分,由FPGA執(zhí)行主要的學(xué)習(xí)與遙控功能以提高運行速度和集成度,單片機用來驅(qū)動液晶顯示;教練器與接收器負(fù)責(zé)對原本無遙控功能的設(shè)備追加遙控功能,具體來說就是教練器產(chǎn)生種類足夠多的編碼地址供學(xué)習(xí)器來學(xué)習(xí),接收器則在電器端負(fù)責(zé)解碼對應(yīng)的地址并產(chǎn)生相應(yīng)的動作;為實現(xiàn)對電腦的遙控功能而設(shè)計的主機接口電路負(fù)責(zé)把紅外信號轉(zhuǎn)換為數(shù)字信號傳入主機。硬件電路實現(xiàn)的總體框圖如圖1所示。
圖1 硬件系統(tǒng)總體框圖
3 系統(tǒng)的硬件設(shè)計與實現(xiàn)
3.1 學(xué)習(xí)器
學(xué)習(xí)器是硬件電路的主要部分,兼有學(xué)習(xí)與遙控的功能,它以FPGA為核心,外圍電路力求簡單,主要由鍵盤、存儲器、接收電路和發(fā)射電路組成,考慮到用純硬件來控制LCD顯示的困難較大 ,決定采用微控制器協(xié)助FPGA來實現(xiàn)。這里的接收電路與后面要講的接收器不同,它專為學(xué)習(xí)功能設(shè)置,負(fù)責(zé)接收已有遙控器的紅外信號并送至FPGA內(nèi)部進(jìn)行識別、譯碼以及存儲,發(fā)射電路由驅(qū)動電路和紅外發(fā)光二極管兩部分電路組成,負(fù)責(zé)將編碼信號以紅外光的形式發(fā)射出去。系統(tǒng)總體原理框圖如圖2所示。
圖2 學(xué)習(xí)器硬件結(jié)構(gòu)
3.1.1 FPGA的設(shè)計
包括鍵盤模塊、發(fā)射編碼調(diào)制模塊、接收譯碼存儲模塊三個模塊,另外還有一個總控制模塊,其內(nèi)部結(jié)構(gòu)如圖3所示。
圖3 FPGA內(nèi)部結(jié)構(gòu)
總控制模塊是一個有限狀態(tài)機,它負(fù)責(zé)協(xié)調(diào)其他各個模塊的工作并提供與顯示電路和存儲器的接口;鍵盤模塊接收用戶的按鍵信息,并編碼輸出給總模塊,這些信息包括按鍵的地址,按鍵的類型和用戶選擇要遙控的器件編碼;接收譯碼存儲模塊由計數(shù)器記錄接收信號高低電平的寬度,并將數(shù)據(jù)存入存儲器相應(yīng)地址中,存儲時序由狀態(tài)機來控制;發(fā)射編碼調(diào)制模塊負(fù)責(zé)由存儲器中讀取當(dāng)前按鍵的數(shù)據(jù)信息,產(chǎn)生與學(xué)習(xí)到的信號相似的高低變化的電平,并以38kHz的載波調(diào)制輸出。
3.1.2 單片機實現(xiàn)的LCD顯示電路
顯示電路采用RT12864M-2型液晶顯示器,由我們較為熟悉的單片機控制液晶來顯示遙控器所處的狀態(tài)并提示用戶進(jìn)行正確的操作。
3.2 教練器
教練器的作用是產(chǎn)生種類足夠多的編碼信號供學(xué)習(xí)器來學(xué)習(xí),進(jìn)而控制不同的接收器。
SC2262是一種CMOS工藝制造的低功耗低價位通用編碼電路,最多可有12位(A0-A11)三態(tài)地址端管腳(懸空,接高電平,接低電平),任意組合可提供531441地址碼, SC2262最多可有6位(D0-D5)數(shù)據(jù)端管腳,其編碼方式如圖4所示。
圖4 SC2262的編碼脈沖
3.3 接收器
SC2272 是與SC2262 配對使用的一塊遙控解碼專用集成電路。它可支持多達(dá)531441個地址的編碼,極大的減少了碼的沖突。SC2272 對從Din(14腳)端子送入的信號進(jìn)行解碼。解碼出來的地址碼與所設(shè)置地址輸入端進(jìn)行比較。如果所設(shè)置的地址與連續(xù)2個字碼匹配,則SC2272 做以下動作:
a)當(dāng)解碼得到有“1”數(shù)據(jù)時,驅(qū)動相應(yīng)的數(shù)據(jù)輸出端為高電平;
b)驅(qū)動VT (17腳)輸出為高電平。
將SC2272與繼電器結(jié)合就可以控制電燈、電扇等用電器的電源開關(guān),再加上小型直流電動機就可控制窗簾等機械裝置。
紅外遙控器相關(guān)文章:紅外遙控器原理波段開關(guān)相關(guān)文章:波段開關(guān)原理
評論