<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > EDA/PCB > 設計應用 > 基于FPGA的紅外遙控信號接收模塊的設計

基于FPGA的紅外遙控信號接收模塊的設計

作者: 時(shí)間:2011-06-30 來(lái)源:網(wǎng)絡(luò ) 收藏

摘要:文中分析了紅外線(xiàn)遙控器系統的數據編碼和傳輸機制,并用VerilogHDL語(yǔ)言設計了基于的紅外接收硬件電路,在VCS和VirSim仿真工具中進(jìn)行了仿真測試;用XilinxISE 10.1軟件進(jìn)行了綜合、適配和器件下栽測試,結果表明該電路實(shí)現了數據接收和顯
示的目的,符合數據傳輸協(xié)議。
關(guān)鍵詞:紅外通信協(xié)議;Verilog;

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

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

本文引用地址:http://dyxdggzs.com/article/191115.htm

b.JPG


當按下遙控器的按鍵時(shí)。遙控器將發(fā)出如圖1的一串二進(jìn)制代碼,稱(chēng)它為一幀數據。根據各部分的功能,可將它們分為5部分,分別為引導碼、用戶(hù)碼、用戶(hù)反碼、數據碼、數據反碼。遙控器發(fā)射代碼時(shí),均是低位在前,高位在后。紅外接收頭會(huì )將高低電平變反,所以實(shí)際從IR端出來(lái)的電平是上述格式圖中的波形取反,即停止狀態(tài)時(shí)IR為高電平,然后接收到9ms左右的低電平后進(jìn)入準備狀態(tài)。由圖中分析可以得到,引導碼高電平為9ms,低電平為4.5ms,當接收到此碼時(shí),表示一幀數據的開(kāi)始,FPGA可以準備接收下面的數據。用戶(hù)碼(地址碼)由8位二進(jìn)制組成,共256種,圖中用戶(hù)反碼(地址反碼)主要是加強遙控器的可靠性,不同的設備可以擁有不同的用戶(hù)碼(地址碼)。因此,同種編碼的遙控器只要設置用戶(hù)碼(地址碼)不同,也不會(huì )相互干擾。在同一個(gè)遙控器中,所有按鍵發(fā)出的地址碼都是相同的。數據碼為8位,可編碼256種狀態(tài),代表實(shí)際所按下的鍵。數據反碼是數據碼的各位求反,通過(guò)比較數據碼與數據反碼,可判斷接收到的數據是否正確。如果數據碼與數據反碼之間的關(guān)系不滿(mǎn)足相反的關(guān)系,則本次遙控接收有誤,數據應丟棄。在同一個(gè)遙控器上,所有按鍵的數據碼均不相同。
2 紅外接收控制模塊的HDL設計
2.1 紅外接收控制模塊功能簡(jiǎn)介
紅外接收控制模塊是基于遙控器內部使用的芯片為HS6221。在紅外接收控制方面,抗干擾能力強、使用靈活。紅外接收控制模塊的功能包括消除時(shí)鐘的延時(shí)、頻率的合成、時(shí)鐘相位的調整等系統方面的需求。紅外接收控制模塊的主要優(yōu)點(diǎn)在于以下四點(diǎn):
(1)實(shí)現紅外數據譯碼功能,提取數據包中有效內容并并行輸出;
(2)由于紅外收發(fā)協(xié)議中利用了PWM協(xié)議,更加增強了數據的抗干擾能力;
(3)可以通過(guò)改變地址參數實(shí)現對不同地址發(fā)射器的接收;
(4)將數據包中的數據與數據包中的數據反碼進(jìn)行比較從而確保接收過(guò)程中沒(méi)有出錯。
對于紅外接收控制模塊來(lái)說(shuō),其關(guān)鍵參數為起始碼、數據1、數據0的各自高低電平的脈寬以及本地地址等。


上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: FPGA 紅外遙控 信號接收 模塊

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>