新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于FPGA的家居遙控設計

        基于FPGA的家居遙控設計

        作者: 時間:2011-10-27 來源:網絡 收藏
        3 系統的硬件與實現

        本文引用地址:http://www.104case.com/article/150098.htm

          3.1 學習器

          學習器是硬件電路的主要部分,兼有學習與的功能,它以為核心,外圍電路力求簡單,主要由鍵盤、存儲器、接收電路和發射電路組成,考慮到用純硬件來控制LCD顯示的困難較大 ,決定采用微控制器協助來實現。這里的接收電路與后面要講的接收器不同,它專為學習功能設置,負責接收已有器的紅外信號并送至內部進行識別、譯碼以及存儲,發射電路由驅動電路和紅外發光二極管兩部分電路組成,負責將編碼信號以紅外光的形式發射出去。

          總體原理框圖如圖2所示:

        圖2.學習器硬件結構

          3.1.1 FPGA的

          包括鍵盤模塊、發射編碼調制模塊、接收譯碼存儲模塊三個模塊,另外還有一個總控制模塊,其內部結構如圖3所示:

        圖3.FPGA內部結構

          總控制模塊是一個有限狀態機,它負責協調其他各個模塊的工作并提供與顯示電路和存儲器的接口;鍵盤模塊接收用戶的按鍵信息,并編碼輸出給總模塊,這些信息包括按鍵的地址,按鍵的類型和用戶選擇要的器件編碼;接收譯碼存儲模塊由計數器記錄接收信號高低電平的寬度,并將數據存入存儲器相應地址中,存儲時序由狀態機來控制;發射編碼調制模塊負責由存儲器中讀取當前按鍵的數據信息,產生與學習到的信號相似的高低變化的電平,并以38kHz的載波調制輸出。

          3.1.2 單片機實現的LCD顯示電路

          顯示電路采用RT12864M-2型液晶顯示器,由我們較為熟悉的單片機控制液晶來顯示遙控器所處的狀態并提示用戶進行正確的操作。

          3.2 教練器

          教練器的作用是產生種類足夠多的編碼信號供學習器來學習,進而控制不同的接收器。

          SC2262是一種CMOS工藝制造的低功耗低價位通用編碼電路,最多可有12位(A0-A11)三態地址端管腳(懸空,接高電平,接低電平),任意組合可提供531441地址碼, SC2262最多可有6位(D0-D5)數據端管腳,其編碼方式如圖4所示。

        圖4.SC2262的編碼脈沖

          3.3 接收器

          SC2272 是與SC2262 配對使用的一塊遙控解碼專用集成電路。它可支持多達531441個地址的編碼,極大的減少了碼的沖突。SC2272 對從Din(14腳)端子送入的信號進行解碼。解碼出來的地址碼與所設置地址輸入端進行比較。如果所設置的地址與連續2個字碼匹配,則SC2272 做以下動作:

          a)當解碼得到有“1”數據時,驅動相應的數據輸出端為高電平;

          b)驅動VT (17腳)輸出為高電平。

          將SC2272與繼電器結合就可以控制電燈、電扇等用電器的電源開關,再加上小型直流電動機就可控制窗簾等機械裝置。

          3.4 與主機接口

          為了能使此遙控器控制電腦就須將紅外信號送入主機內,有兩種可行的接口,分別為電視卡的紅外接收頭和串口。

          3.4.1電視卡的紅外接收頭

          現在的電視卡很多都帶有紅外遙控器,這樣的遙控器除了可以控制電視的播放外,通過適當的軟件,它還可以控制音頻、視頻播放、圖片瀏覽程序及電腦的關機等,實現真正的電腦遙控功能。這種方法的缺點是需要購買電視卡,成本較高,不予采用。

          3.4.2 串口

          現在流行的有半軟半硬和全軟兩種方案,半軟半硬方案在紅外接收頭與串口間加入了數據預處理電路,使數據符合串口規范,降低了編程難度,減少了CPU占用率;而全軟方案則是直接把紅外接收頭收到的數據送入串口,完全由軟件處理,其編程難度和CPU占用率偏大,但硬件電路非常簡單。圖5是“軟”方案的硬件電路。

        圖5.串行紅外接口電路

          由于目前應用串口的技術比較成熟,網上有很多現成的插件可以借鑒,因此我們決定采用串口的方式實現。

        紅外熱像儀相關文章:紅外熱像儀原理


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 兴安盟| 汽车| 财经| 宁蒗| 滨州市| 新源县| 化隆| 德惠市| 南和县| 静乐县| 本溪| 广宗县| 剑河县| 南漳县| 临海市| 津南区| 布尔津县| 三穗县| 含山县| 宁陕县| 烟台市| 塔城市| 武穴市| 永平县| 兴国县| 丰都县| 灵丘县| 武城县| 昭通市| 固安县| 柳州市| 咸阳市| 锡林郭勒盟| 陆丰市| 乃东县| 龙里县| 潢川县| 鲁山县| 古田县| 宁波市| 白城市|