王振紅 劉杰林 王穎 彭玉璽 魏廣舉 陳浩健
北方工業(yè)大學(xué)
本系統(tǒng)采用復(fù)雜可編程邏輯門陣列EP1K100QC208-3作為控制核心,控制數(shù)字溫度傳感芯片采集溫度并將適時溫度與預(yù)設(shè)的人體最佳感應(yīng)溫度進(jìn)行比較,得出升溫、降溫和保持信號,既實現(xiàn)了溫度控制又實現(xiàn)節(jié)能。將得到的溫度數(shù)據(jù)顯示到數(shù)碼管上,并把升溫、降溫信號編碼后發(fā)射到接收端。接收端對接收的信號解碼后得到加溫還降溫信號,再將此信號驅(qū)動放大后則可以驅(qū)動步進(jìn)電機等(本設(shè)計用發(fā)光二極管點陣代替步進(jìn)電機)。
溫度采集與發(fā)射部分框圖如圖1所示。其中溫度采集,采用的是數(shù)字溫度傳感芯片LM75A。LM75A是普通溫度傳感器件,將溫度信號轉(zhuǎn)換成為電壓信號,然后利用內(nèi)嵌的AD轉(zhuǎn)換器件將模擬溫度信號轉(zhuǎn)換成為數(shù)字溫度信號。LM75A包含多個存儲器,主要是存儲工作模式控制字和存儲溫度數(shù)據(jù)。
圖1 溫度采集與發(fā)射部分框圖
溫度采集與發(fā)射部分的FPGA信號處理及系統(tǒng)控制單元,首先要控制溫度傳感器工作,就是要向數(shù)字溫度傳感芯片LM75A的溫度寄存器寫入工作狀態(tài)控制字,并且將正確的溫度寄存器數(shù)據(jù)讀出。得到正確的溫度數(shù)據(jù)后FPGA需要計算成十進(jìn)制溫度數(shù)據(jù)并顯示到數(shù)碼管上,除了要顯示到數(shù)碼管上以外還得將溫度數(shù)據(jù)與預(yù)設(shè)的數(shù)據(jù)比較判斷得出升溫和降溫信號。
溫度采集與發(fā)射部分的末端是數(shù)碼顯示模塊和發(fā)射模塊,顯示模塊由四位LED數(shù)碼管構(gòu)成。負(fù)責(zé)顯示溫度傳感器采集到的實時溫度數(shù)據(jù)。無線發(fā)射模塊將溫度控制信號發(fā)射到接收端,接收端接收到信號后再去控制控溫設(shè)備來調(diào)節(jié)溫度系統(tǒng)的溫度。
接收端框圖如圖2所示。接收端接收模塊接收升溫和降溫信號,并將信號傳給FPGA處理,由FPGA處理后去控制溫度控制設(shè)備等,本系統(tǒng)采用發(fā)光二極管點陣代替溫度控制設(shè)備。
圖2 接收端框圖
本系統(tǒng)的控制是使用Quartus II軟件和VHDL語言實現(xiàn)。系統(tǒng)軟件框圖如圖3所示。
圖2.系統(tǒng)軟件框圖
系統(tǒng)CLK輸入是為系統(tǒng)工作提供基準(zhǔn)時鐘源24MHz。TIME模塊為LM75A時序控制模塊,負(fù)責(zé)設(shè)定LM75A的工作模式,讓LM75A芯片工作在正常工作模式下,即定期將溫度轉(zhuǎn)換后把數(shù)據(jù)存儲到溫度寄存器中。TIME模塊的另一個功能是負(fù)責(zé)從LM75A中讀取溫度數(shù)據(jù)并存儲到FPGA中。得到溫度數(shù)據(jù)后要將溫度數(shù)據(jù)顯示在數(shù)碼管上,數(shù)據(jù)經(jīng)過MUL模塊實現(xiàn)數(shù)據(jù)的計算(得到的溫度數(shù)據(jù)DATA_OUT[10..0]×0.125℃)將溫度信號轉(zhuǎn)換成十進(jìn)制數(shù)據(jù),再經(jīng)過DISP模塊去實現(xiàn)數(shù)碼管的顯示控制。另一面溫度數(shù)據(jù)還要和預(yù)設(shè)的數(shù)據(jù)比較即經(jīng)過COMPARE比較器模塊,完成溫度的比較,得出需要加溫還是降溫的信號。在將升溫信號和降溫信號經(jīng)過無線發(fā)射模塊發(fā)射到接收端。
溫度傳感器LM75A電路如圖2.4所示。本設(shè)計中將地址A0,A1,A2同時設(shè)置為接地。所以地址控制字寫000即可。配制寄存器寫入正常工作模式,OS為比較輸出模式,模式控制字即“00000000”,讓其工作正常工作模式,從溫度寄存器中讀取溫度控制寄存器temp的數(shù)值,經(jīng)過I2C總線SDA傳入FPGA中。經(jīng)過FPGA計算后輸出到數(shù)碼管上顯示并將判斷是否要加溫或者降溫。系統(tǒng)工作在實時工作方式,并不需要檢測和中斷。所以O(shè)S中斷線懸空處理。
圖4 溫度傳感器LM75A電路
圖5 發(fā)射接收模板
發(fā)射接收模塊如圖2.5所示。發(fā)射模塊FSK-2A帶編碼芯片PT2262具有四路輸入,工作電壓直流3~9V,工作頻率315MHz。工作電流15mA,編碼方式:固定碼,傳輸距離:>500m,輸出功率:15dBm (32mW),傳輸速率:<10Kbps,調(diào)制方式:OOK(調(diào)幅),工作溫度:-10℃~+70℃。用了兩路輸入13和12。接收模塊四路輸出,電源電壓5V,VT 是解碼有效指示輸出腳。ANT 是天線,用24~28cm長的導(dǎo)線。
發(fā)射系統(tǒng)連線如圖6所示。溫度采集芯片LM75A經(jīng)過數(shù)據(jù)線SDA和時鐘線SCL和FPGA連接到一起,SCL是FPGA向LM75A發(fā)出的時鐘信號。SDA是雙向數(shù)據(jù),一是FPGA發(fā)向LM75A的控制信號,另一方面是LM75A傳向FPGA的溫度數(shù)據(jù)。ADD和SUB分別是FPGA產(chǎn)生的升溫和降溫信號,分別連接到發(fā)射模塊的兩個不同的13、12上。FPGA控制數(shù)碼顯示的接口是PC[7..0]與數(shù)碼管的陽極順序為Pd-G-A,而NE[3..0]則需連接到數(shù)碼管的陰極依次是高位到低位。
無線接收模塊接收到信號后傳給FPGA,根據(jù)升降溫信號顯示不同顏色方向的滾動箭頭,com[7..0]為點陣的陰極端,red[7..0],green[7..0]分別連點陣的紅,綠燈的陽極。升溫降溫顯示電路如圖7所示。
圖6 發(fā)射系統(tǒng)連線圖
圖7 升溫降溫顯示電路
基于FPGA控制的無線發(fā)射接收系統(tǒng)應(yīng)用于暖氣的溫度控制,不但可以為用戶提供舒適的環(huán)境,而且能很好地起作節(jié)能環(huán)保的作用。設(shè)計應(yīng)用了FPGA技術(shù),溫度傳感技術(shù),無線發(fā)射和接收技術(shù)。將三者集于一體,具有集成度高,溫度控制精度高、性價比高等特點。具有較強的實用價值和廣闊的市場前景。