壹伴編輯器 發表於 2020-10-25 09:38:11
《 紅外線遙控系統 》設計
本文由「壹伴編輯器」提供技術支持
設計背景:
紅外線(Infrared)是波長介乎微波與可見光之間的電磁波,波長在 760 納米(nm)至 1 毫米(mm)之間,比紅光長的非可見光。 紅外線遙控是目前使用最廣泛的一種通信和遙控手段。由於紅外線遙控裝置具有體積小、功耗低、功能強、成本低等特點,因而,繼彩電、錄像機之後,在錄音機、音響設備、空凋機以及玩具等其它小型電器裝置上也紛紛採用紅外線遙控。現在工業設備中,也已經廣泛在使用。。。。。
設計原理
紅外遙控系統主要由紅外的發送裝置和接收裝置組成,發送裝置可由按鍵,編碼模塊,發射電路等組成,接收裝置由紅外接收電路,遙控,解碼模塊等組成,此次設計我們用到的硬體平臺式是 Altera 的DE1_SOC,晶振為 50MHZ。在紅外的編碼中,我們對 1 和 0的編碼是通過 38KHZ 的脈衝來定義的,在紅外的的編碼中每個脈衝的為256.25us長的38KHZ載波頻率(26.3us),對 0,1 的脈衝的定義的時間如下圖
紅外的數據格式為包括引導碼,用戶碼,數據碼和數據糾錯碼,停止位編碼總為 32位。數據反碼是數據碼反相後的編碼,可用於對數據的糾錯。此外第二段的用戶碼可以在遙控應用電路中設置為第一段用戶碼的反碼。
數據格式如下圖:
一幀數據在發送時先發送9MS的高電平,然後發送4.5MS的低電平的起始位,然後發送用戶碼,數據碼,數據反碼。然後再發送一位的停止位。不發送數據時數據線一直為低。
發送的時序圖如下:
接受的時,接收到的時序和發送的時序恰恰相反,如發送時先發送 9ms的高,4.5ms 的低,接收為接收 9ms 的低電平,4.5ms 低電平。接收的控制器我們用的時紅外遙控裝置,按鍵發送的數據如下圖
所示
設計架構圖
設計的總框架如下圖:
在我們的設計中分頻模塊提供所需要的 38KHZ 的時鐘,當按鍵按下時發送我們的發送模塊發送一個給定的數值,我的設計中用戶碼為8』b0 第二段用戶碼為 8』hff,然後發送給定的數據碼,和數據反碼。上電後我們的設計會發一次我們給定的數據碼,然後在接受模塊會接受到其發送的數據並在數碼管上顯示出來,之後我們可以用我們我的遙控鍵盤來發送數據,接收模塊接收顯示出來,通過驗證我們接收和發送的正確。
設計代碼
頂層代碼
發送模塊
接收模塊
數碼管模塊
分頻模塊
測試模塊
仿真圖
仿真中我們可以把數碼管模塊的計數器的值改小一點,便於仿真
如圖中所示的我們發的是 32』h00ffa25d,那麼數據為是8』b1010_0010,那麼先發送時就時就按下面的序列開始 0100_0101接收到的為 45,所以工程正確。
原文標題:FPGA入門課程《 紅外線遙控系統 》設計
文章出處:【微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請註明出處。
責任編輯:haq
打開APP閱讀更多精彩內容聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴