《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA的紅外遙控信號接收模塊的設計
基于FPGA的紅外遙控信號接收模塊的設計
電子元器件應用
常 濤,雪 琦 北京航天航空大學
摘要: 用HDL和可編程邏輯器件(FPGA/CPLD)設計數字系統有傳統方法無可比擬的優越性,它已經成為大規模集成電路設計最有效的一種手段。本文采用VerilogHDL設計了紅外遙控信號接收模塊電路。為簡單起見,本設計中只對遙控傳輸的數據部分進行解碼,不失一般性。本文提出的基于FPGA的紅外遙控信號接收模塊的設計方案經過電路仿真、FPGA實現及應用測試驗證該模塊完全符合紅外遙控通信協議的要求。
Abstract:
Key words :

摘要:文中分析了紅外線遙控器系統的數據編碼和傳輸機制,并用VerilogHDL" title="VerilogHDL">VerilogHDL語言設計了基于FPGA" title="FPGA">FPGA的紅外接收模塊硬件電路,在VCS和VirSim仿真工具中進行了仿真測試;用Xilinx ISE" title="ISE">ISE 10.1軟件進行了綜合、適配和FPGA器件下栽測試,結果表明該電路實現了數據接收和顯示的目的,符合紅外遙控" title="紅外遙控">紅外遙控數據傳輸協議。
關鍵詞:紅外通信協議;Verilog;FPGA

    紅外遙控技術已經在日常家用電器中得到了廣泛應用,其使用方便、功耗低、抗干擾能力強的優點也越來越在智能儀器系統中受到重視。市場上的各種家電紅外遙控系統技術成熟、成本低廉,但都是針對各自的遙控對象(彩電、冰箱、空調等),不能直接用于智能儀器。本文探討了如何借鑒家電紅外遙控系統的原理,自行設計解碼電路,使智能儀器具有遙控功能。該模塊是建立在遙控器內部使用的芯片為HS622 1的基礎上的。紅外接收頭型號為IRM3638,輸出為IR管腳。而該模塊則是對IR的輸出信號進行譯碼處理,并從中提取紅外發射包中的有效數據,然后并行輸出8位數據以及8位遙控器用戶碼(地址碼)供別的模塊調用。

1 紅外接收控制模塊設計原理
    遙控器發射的信號由一串0和1的二進制代碼組成。不同的芯片對0和1的編碼有所不同,通常有曼徹斯特編碼和脈沖寬度編碼。HS6221的0和1采用PWM方法編碼,即脈沖寬度調制,0碼由0.56ms低電平和0.565ms高電平組合而成,脈沖寬度為1.125ms。1碼由0.56ms低電平和1.69ms高電平組合而成,脈沖寬度為2.25ms。在編寫解碼程序時,通過判斷脈沖的寬度,即可得到0或1。HS6221以及同類的芯片的數據格式包括引導碼(起始碼),用戶碼(地址碼),用戶反碼(地址反碼),數據碼,數據反碼,編碼總共32位,數據反碼是數據碼取反后的編碼,用戶反碼原理一樣,可以用來對數據的糾錯。具體格式見圖1。

b.JPG


    當按下遙控器的按鍵時。遙控器將發出如圖1的一串二進制代碼,稱它為一幀數據。根據各部分的功能,可將它們分為5部分,分別為引導碼、用戶碼、用戶反碼、數據碼、數據反碼。遙控器發射代碼時,均是低位在前,高位在后。紅外接收頭會將高低電平變反,所以實際從IR端出來的電平是上述格式圖中的波形取反,即停止狀態時IR為高電平,然后接收到9ms左右的低電平后進入準備狀態。由圖中分析可以得到,引導碼高電平為9ms,低電平為4.5ms,當接收到此碼時,表示一幀數據的開始,FPGA可以準備接收下面的數據。用戶碼(地址碼)由8位二進制組成,共256種,圖中用戶反碼(地址反碼)主要是加強遙控器的可靠性,不同的設備可以擁有不同的用戶碼(地址碼)。因此,同種編碼的遙控器只要設置用戶碼(地址碼)不同,也不會相互干擾。在同一個遙控器中,所有按鍵發出的地址碼都是相同的。數據碼為8位,可編碼256種狀態,代表實際所按下的鍵。數據反碼是數據碼的各位求反,通過比較數據碼與數據反碼,可判斷接收到的數據是否正確。如果數據碼與數據反碼之間的關系不滿足相反的關系,則本次遙控接收有誤,數據應丟棄。在同一個遙控器上,所有按鍵的數據碼均不相同。
2 紅外接收控制模塊的HDL設計
2.1 紅外接收控制模塊功能簡介

    紅外接收控制模塊是基于遙控器內部使用的芯片為HS6221。在紅外接收控制方面,抗干擾能力強、使用靈活。紅外接收控制模塊的功能包括消除時鐘的延時、頻率的合成、時鐘相位的調整等系統方面的需求。紅外接收控制模塊的主要優點在于以下四點:
    (1)實現紅外數據譯碼功能,提取數據包中有效內容并并行輸出;
    (2)由于紅外收發協議中利用了PWM協議,更加增強了數據的抗干擾能力;
    (3)可以通過改變地址參數實現對不同地址發射器的接收;
    (4)將數據包中的數據與數據包中的數據反碼進行比較從而確保接收過程中沒有出錯。
    對于紅外接收控制模塊來說,其關鍵參數為起始碼、數據1、數據0的各自高低電平的脈寬以及本地地址等。
2.2 紅外接收控制模塊組成
    紅外接收控制模塊共由2部分組成,如圖2所示。主要由時鐘分頻器和紅外接收控制模塊組成。圖中的[15:0] Data是由8位數據以及8位地址組成。

c.JPG


2.3 紅外接收控制模塊各組成部分說明
    時鐘分頻器:主要是將系統時鐘(50MHz)分頻成0.01MHz的時鐘以驅動紅外接收控制模塊正常工作。PERIOD時鐘分頻模塊的分頻周期,當為15’d2500時分頻得到周期為0.1ms的irda_clk時鐘信號;仿真時候取15’d2是為了縮短仿真周期,減少工作量,產生周期為80ns的irda_clk時鐘信號[2,3]。

    注意:同時只能取一個值,仿真用15’d2,下到FPGA時用15’d2500數據處理模塊:該模塊是紅外接收控制模塊的核心部分主要由狀態機構成(FSM),如圖3所示。

d.JPG

e.JPG


    FSM各個狀態說明如表1所列。

3 電路仿真、FPGA實現及應用測試
    編寫測試向量文件,在VCS和VirSim仿真工具中進行功能仿真,經檢驗完全符合設計要求。仿真結果圖如圖4所示。本設計的實現平臺采用Xilinx公司的SPARTANIII OFP封裝的XC3S400" title="XC3S400">XC3S400-4PQ208C,總邏輯門為400k門。經綜合、適配、仿真、布局布線后僅占用比較少的器件資源。整個系統下載到FPGA后在50MHz時鐘頻率下能正常工作,在RM-139C超級版萬能電視機遙控器遙控下,按下不同的按鍵,LED七段四位數碼管經過譯碼后顯示不同的按鍵遙控碼。

a.JPG



4 結束語
    用HDL和可編程邏輯器件(FPGA/CPLD)設計數字系統有傳統方法無可比擬的優越性,它已經成為大規模集成電路設計最有效的一種手段。本文采用VerilogHDL設計了紅外遙控信號接收模塊電路。為簡單起見,本設計中只對遙控傳輸的數據部分進行解碼,不失一般性。本文提出的基于FPGA的紅外遙控信號接收模塊的設計方案經過電路仿真、FPGA實現及應用測試驗證該模塊完全符合紅外遙控通信協議的要求。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 国产在线视频你懂的| 中文字幕一区二区三区精华液| 白白国产永久免费视频| 国产成人免费a在线视频app| a毛片免费全部在线播放**| 日本边添边摸边做边爱边 | 国产一区亚洲欧美成人| 4444亚洲国产成人精品| 性欧美video在线播放| 久草视频资源在线观看| 欧美高清色视频在线播放| 可以看的毛片网站| 高清色本在线www| 国产精品日本一区二区在线看| xxxxx日韩| 无人高清视频免费观看在线动漫 | 国产精品无码av一区二区三区| 一本色道久久88综合日韩精品| 日韩三级免费观看| 亚洲国产精品福利片在线观看 | 精品国产人成亚洲区| 国产另ts另类人妖| 亚洲va久久久噜噜噜久久男同| 第一福利在线观看| 国产亚洲精品bt天堂精选| jizz国产视频| 在线日韩日本国产亚洲| 中文字幕三级久久久久久| 日韩国产成人精品视频| 可以免费看黄的网站| 999国产精品| 国产精品观看在线亚洲人成网| 一定要抓住电影在线观看完整版| 日本爽爽爽爽爽爽在线观看免 | 亚洲欧美日韩在线不卡| 精品一区二区三人妻视频| 国产主播福利在线| 国产成人yy精品1024在线| 国产精品美女久久久久| A级毛片无码久久精品免费| 年轻帅主玩奴30min视频|