嚴(yán)豐 陳學(xué)英
摘 要: 設(shè)計(jì)一種基于現(xiàn)場(chǎng)可編程邏輯器件FPGA的紅外遙控彩燈多模式顯示控制系統(tǒng)。具有成本低、性能可靠、擴(kuò)展性好等優(yōu)點(diǎn)。詳細(xì)介紹了系統(tǒng)的電路結(jié)構(gòu),提出一種由SC9148B紅外發(fā)射芯片及外圍電路作為發(fā)送器,HS0038B紅外一體化芯片作為接收器,F(xiàn)PGA作為核心控制器的紅外遙控系統(tǒng)的構(gòu)建方法。該系統(tǒng)通過(guò)時(shí)序仿真與FPGA邏輯驗(yàn)證,結(jié)果表明,該設(shè)計(jì)能很好地實(shí)現(xiàn)彩燈紅外遙控信號(hào)的解碼控制、鍵值信號(hào)存儲(chǔ)及譯碼、彩燈多模式顯示等功能。
關(guān)鍵詞: 紅外遙控; FPGA; 解碼; 顯示
中圖分類(lèi)號(hào): TN929.1?34 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2015)19?0040?03
Abstract: A multi?mode coloured?lantern display control system with infrared remote control based on FPGA was designed, which has the advantages of low?cost, reliable performance and excellent scalability. The circuit structure of the system is introduced in detail. A construction method of infrared remote control system is put forward, which takes the infrared emission chip SC9148B and peripheral circuit as the transmitter, the integrated infrared chip HS0038B as the receiver, and FPGA as the core controller. This system was verified by time sequence simulation and FPGA logic validation. The actual results show that this design can realize the functions of decoding control of infrared remote control signal for the coloured lanterns, storage and decoding of the key value signal, and multi?mode coloured?lantern display.
Keywords: infrared remote control; FPGA; decoding; display
現(xiàn)代電子技術(shù)迅猛發(fā)展,傳統(tǒng)的設(shè)計(jì)方法正逐步退出歷史舞臺(tái),基于可編程[1]邏輯器件FPGA的芯片設(shè)計(jì)技術(shù)逐步成為電子系統(tǒng)設(shè)計(jì)的主流。傳統(tǒng)的紅外遙控彩燈控制系統(tǒng)的信號(hào)解碼多采用單片機(jī)或ARM實(shí)現(xiàn),其編碼器和解碼器的設(shè)計(jì)均為軟件方式,實(shí)際應(yīng)用中容易受到外界干擾而程序跑飛,且軟件解碼為串行運(yùn)算,響應(yīng)速度慢,CPU資源占用多,系統(tǒng)可靠性較低。相比之下,基于并行處理的FPGA具有非常顯著的優(yōu)勢(shì),其速度快、系統(tǒng)集成度高、抗干擾能力強(qiáng)、工作穩(wěn)定可靠、設(shè)計(jì)更改方便。本文采用市場(chǎng)主流的FPGA技術(shù)實(shí)現(xiàn)彩燈的紅外遙控,充分融合了通信技術(shù)、數(shù)字邏輯處理技術(shù)及FPGA技術(shù)[2]在工程實(shí)踐中的一體化應(yīng)用。
1 系統(tǒng)設(shè)計(jì)原理
紅外遙控系統(tǒng)[3]一般主要由紅外發(fā)射器、紅外接收器和核心解碼微控制器及其外圍電路等四部分構(gòu)成。本設(shè)計(jì)中,在數(shù)十米范圍內(nèi),當(dāng)按鍵被按下時(shí),紅外發(fā)射器產(chǎn)生與指令/按鍵對(duì)應(yīng)的控制信號(hào),并對(duì)控制信號(hào)進(jìn)行識(shí)別/編碼,經(jīng)過(guò)調(diào)制后,通過(guò)紅外發(fā)射管將串行數(shù)據(jù)以紅外光的形式發(fā)送出去。接收器接收來(lái)自發(fā)送器的紅外信號(hào),并對(duì)接收到的信號(hào)進(jìn)行檢波、放大、濾波解調(diào)、整形等,最后從載波上恢復(fù)出基帶信號(hào)。還原后的基帶信號(hào)被送入核心解碼控制器FPGA,轉(zhuǎn)換為相應(yīng)的控制信號(hào)完成彩燈控制。
2 紅外發(fā)射電路設(shè)計(jì)
2.1 紅外通信協(xié)議
發(fā)射電路采用SC9148B為主芯片,其調(diào)制方式采用脈位調(diào)制(Pulse Position Modulation,PPM),將遙控指令編碼成脈沖序列[4]。其遙控指令的‘1是以占空比為[34]的正脈沖表示,‘0則用占空比為[14]的正脈沖表示,[a=16(38 kHz)。]
脈位調(diào)制編碼方式如圖1所示。編碼協(xié)議由12位按鍵碼組成,每一位均按照上述編碼規(guī)則所代表的‘0,‘1構(gòu)成,時(shí)間長(zhǎng)度為[12×4a=48a。]當(dāng)按鍵被按下時(shí),發(fā)射電路將以12位碼(48a)為一組發(fā)送兩次編碼,其中60a時(shí)間間隔為從按鍵按下到發(fā)送編碼的延遲時(shí)間,80a為重復(fù)發(fā)送12位碼(48a)的間隔時(shí)間,208a為重復(fù)發(fā)送兩次編碼的間隔時(shí)間。編碼指令如圖2所示格式連續(xù)發(fā)送。
電路工作原理為,當(dāng)檢測(cè)到按鍵按下時(shí),DOUT端口輸出38 kHz高頻調(diào)制信號(hào),經(jīng)紅外發(fā)射驅(qū)動(dòng)電路放大后,通過(guò)紅外發(fā)射管發(fā)送出去。
3 紅外接收電路
采用通用紅外接收頭HS0038B完成對(duì)紅外光信號(hào)的接收、放大、濾波與解調(diào)[5],解調(diào)后的邏輯電平信號(hào)通過(guò)擴(kuò)展I/O口送入FPGA中,由FPGA編程實(shí)現(xiàn)接收信號(hào)的解碼功能及相應(yīng)的彩燈模式控制,從而實(shí)現(xiàn)彩燈多模式顯示的紅外遙控功能。設(shè)計(jì)解碼器時(shí)應(yīng)該注意,HS0038B內(nèi)部集成有反相器以保證接收頭有足夠的靈敏度,從載波上恢復(fù)出來(lái)的基帶信號(hào)與原調(diào)制發(fā)射前的基帶信號(hào)是反相的。
4 FPGA解碼電路與模式控制電路
FPGA解碼控制器的核心思想是: 根據(jù)本設(shè)計(jì)的紅外通信協(xié)議,12位發(fā)送數(shù)據(jù)命令中的位碼‘1或者‘0的時(shí)間長(zhǎng)度為[4a,]本設(shè)計(jì)將在每一個(gè)[4a]時(shí)間里,對(duì)每一位碼元進(jìn)行高電平脈沖采樣[6?7],為方便計(jì)算采樣脈沖個(gè)數(shù),最大限度減少誤差,故使用采樣時(shí)鐘頻率為50 MHz。若采樣后所得的脈沖數(shù)超過(guò)10 000而少于30 000,則判斷為邏輯‘1;若所得脈沖數(shù)超過(guò)30 000而少于80 000,則判斷為邏輯‘0;若脈沖數(shù)不滿足條件,則視為無(wú)效。全局時(shí)鐘脈沖采樣數(shù)計(jì)算過(guò)程如下:endprint
解碼控制器工作流程圖如圖4所示。系統(tǒng)復(fù)位進(jìn)入初始狀態(tài)。首先進(jìn)行輸入上邊沿檢測(cè),若上升沿有效,表示檢測(cè)到紅外基帶信號(hào),進(jìn)而判斷是否接收到完整12位數(shù)據(jù)編碼,接收到則經(jīng)延時(shí)同步(同步時(shí)間大于80a)后回到初始狀態(tài)進(jìn)行下一次12位編碼數(shù)據(jù)檢測(cè),否則進(jìn)入脈沖采樣狀態(tài)。當(dāng)高電平采樣脈沖數(shù)小于10 000,視為無(wú)效,回到初始狀態(tài);脈沖數(shù)大于10 000而小于30 000,視為接收到數(shù)據(jù)編碼1;脈沖數(shù)大于30 000而小于80 000,視為接收到數(shù)據(jù)編碼0;脈沖數(shù)大于80 000,視為無(wú)效,回到初始狀態(tài)。解碼控制器輸出的串行碼逐位進(jìn)入后級(jí)串/并轉(zhuǎn)換器。
解碼核心FPGA控制器采樣頻率為50 MHz。FPGA設(shè)計(jì)部分主要包括三個(gè)模塊,即時(shí)鐘管理電路(Digital Clock Manager,DCM),解碼控制電路,顯示模式控制電路。其中解碼電路包含解碼控制器,信號(hào)同步延時(shí)器,串/并轉(zhuǎn)換器三個(gè)模塊;顯示模式控制電路由譯碼器、彩燈循環(huán)顯示電路組成。FPGA邏輯設(shè)計(jì)系統(tǒng)框圖如圖5所示。
DCM模塊將輸入時(shí)鐘頻率轉(zhuǎn)換為50 MHz頻率的全局時(shí)鐘信號(hào)clk,給后續(xù)所有模塊提供工作時(shí)鐘。解碼控制器對(duì)輸入的基帶信號(hào)進(jìn)行采樣,如圖5所示,采樣后的串行數(shù)據(jù)經(jīng)過(guò)串/并轉(zhuǎn)換器[8?9]后被并行輸出,再由譯碼器轉(zhuǎn)換為與按鍵指令對(duì)應(yīng)的模式控制信號(hào),控制彩燈進(jìn)行多模式顯示。為保證信號(hào)同步[10],移位寄存器的時(shí)鐘周期為[4a,]由50 MHz全局時(shí)鐘分頻得到。
經(jīng)實(shí)際測(cè)試系統(tǒng)工作正常,性能良好,F(xiàn)PGA解碼模塊實(shí)現(xiàn)了對(duì)紅外編碼的實(shí)時(shí)解碼和顯示。收發(fā)距離約為20 m。在Modesim仿真環(huán)境下,F(xiàn)PGA解碼與模式控制電路系統(tǒng)時(shí)序仿真驗(yàn)證,如圖6所示。
下面給出仿真結(jié)果的說(shuō)明,為方便描述,圖6(a)中的信號(hào)從上至下用[a1,][a2,][a3,…]表示;圖6(b)中的信號(hào)從上至下用[b1,][b2,][b3,…]表示。[a1]為50 MHz時(shí)鐘信號(hào),[a3]為仿真選用的12位串行編碼輸入信號(hào)111100100000,[a10]為12位并行碼數(shù)據(jù);[b1]為2位模式控制信號(hào),[b2]為彩燈循環(huán)顯示數(shù)據(jù)碼。由仿真圖可以看到,每一個(gè)[a3]信號(hào)到來(lái)時(shí),解碼控制器準(zhǔn)確無(wú)誤地將其并行輸出,并由譯碼器轉(zhuǎn)換為模式控制信號(hào)11,在[b1]控制模式下,彩燈依次點(diǎn)亮(低電平代表燈亮),對(duì)應(yīng)碼型依次為01110111,10111011,11011101,11101110。
5 結(jié) 語(yǔ)
本文設(shè)計(jì)并實(shí)現(xiàn)了一種基于FPGA紅外遙控彩燈控制電路,可根據(jù)紅外發(fā)射器的編碼格式,利用FPGA可編程特性靈活地對(duì)其進(jìn)行相應(yīng)的解碼。本設(shè)計(jì)很好地實(shí)現(xiàn)了四路紅外遙控彩燈顯示模式的循環(huán)控制,用戶可根據(jù)實(shí)際需求自由改變彩燈的循環(huán)模式。相比專(zhuān)業(yè)芯片或者單片機(jī)軟件設(shè)計(jì)技術(shù),F(xiàn)PGA邏輯器件并行處理方式使得電路響應(yīng)時(shí)間更短,運(yùn)算成本更小,即使在強(qiáng)干擾環(huán)境下也能可靠穩(wěn)定的工作。同時(shí),隨著FPGA技術(shù)的迅猛發(fā)展,其成本的迅速降低,體積的不斷減小,在未來(lái)工業(yè)、照明領(lǐng)域等有著廣泛的應(yīng)用前景。
參考文獻(xiàn)
[1] 譚會(huì)生,張昌凡.EDA技術(shù)及應(yīng)用[M].西安:西安電子科技大學(xué)出版社,2002.
[2] 丁躍華,陳艷峰,龍箏.紅外遙控系統(tǒng)的一種設(shè)計(jì)方法[J].現(xiàn)代電子技術(shù),2007,30(7):50?52.
[3] 牛戴楠.基于FPGA的紅外圖像預(yù)處理系統(tǒng)的研究與設(shè)計(jì)[D].武漢:武漢理工大學(xué),2008.
[4] 侯繼紅.基于CPLD/VHDL語(yǔ)言的紅外遙控解碼器設(shè)計(jì)[J].通信技術(shù),2010(7):193?194.
[5] 程明陽(yáng),陳錦莉,鎖言鵬.一種基于FPGA的實(shí)時(shí)紅外圖像放大模塊[J].現(xiàn)代電子技術(shù),2011,34(16):146?148.
[6] 蔡勇.基于FPGA的多功能紅外遙控器設(shè)計(jì)[D].成都:電子科技大學(xué),2007.
[7] 劉瀟婷.基于FPGA的紅外遙控電子密碼鎖的實(shí)現(xiàn)[D].大連:大連海事大學(xué),2008.
[8] 張亦華,延明.數(shù)字電路EDA入門(mén):VHDL程序?qū)嵗痆M].北京:北京郵電大學(xué)出版社,2003.
[9] 云創(chuàng)工作室.Verilog HDL程序設(shè)計(jì)與實(shí)踐[M].北京:人民郵電出版社,2009.
[10] 林宇航,施隆照.一種基于Verilog HDL的紅外遙控解碼電路的設(shè)計(jì)[J].科技創(chuàng)新導(dǎo)報(bào),2012(32):24?25.endprint