基于FPGA控制的溫度檢測(cè)無(wú)線發(fā)射接收系統(tǒng)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:本文介紹基于FPGA控制的溫度檢測(cè)無(wú)線發(fā)射接收系統(tǒng)。本系統(tǒng)采甩EPlKl000C208-3作為控制核心,系統(tǒng)比較溫度是否超出人體最佳溫度范圍,如果過高則發(fā)出降溫信號(hào),如果過低則發(fā)出升溫信號(hào);得出需要加溫還是降溫的信號(hào)后通過無(wú)線將信號(hào)發(fā)射到接收電路,接收電路接收到編碼過的信號(hào)后對(duì)信號(hào)解碼,最終再得到加溫還是降溫信號(hào),再將此信號(hào)加上驅(qū)動(dòng)放大后則可以驅(qū)動(dòng)步進(jìn)電機(jī)等(本設(shè)計(jì)用發(fā)光二極管代替步進(jìn)電機(jī))。本設(shè)計(jì)應(yīng)用了FPGA技術(shù)、溫度傳感技術(shù)、無(wú)線發(fā)射和接收技術(shù),具有集成度高,測(cè)量數(shù)據(jù)精度高、性價(jià)比高等特點(diǎn)。具有較強(qiáng)的實(shí)用價(jià)值和廣闊的市場(chǎng)前景。
O 前言
隨著社會(huì)節(jié)能環(huán)保意識(shí)的增強(qiáng),人們?cè)絹碓街匾暷茉吹睦眯省鹘y(tǒng)的暖氣控制都是利用鍋爐燒出蒸汽或熱水,通過管道輸送到建筑物內(nèi)的散熱器中,散出熱量,使室溫增高。但是這種設(shè)備控制中心和客戶端不在同一個(gè)地方,這樣就存在著一種控制中心不了解客戶的情況。存在著暖氣開得過大或者過小,從而導(dǎo)致客戶溫度過低或過高而浪費(fèi)了能源!
以前大多溫度控制系統(tǒng)都是用單片機(jī)控制的,但是隨著FPGA的迅速發(fā)展,應(yīng)用也越來越廣。本人將設(shè)計(jì)出一套由FPGA獨(dú)立控制的、智能化的遠(yuǎn)程溫度控制系統(tǒng)。由一個(gè)放置于客戶端的溫度采集系統(tǒng)采集到客戶端溫度(可排除工程中熱損失),當(dāng)大于或小于人體最佳溫度區(qū)時(shí)發(fā)出報(bào)警信號(hào),由控制端去控制是應(yīng)該加溫還是降溫,從而達(dá)到節(jié)能的作用。
1 數(shù)字溫度傳感技術(shù)
1.1 數(shù)字溫度傳感器原理
數(shù)字溫度傳感器LM75A是一個(gè)使用了內(nèi)置帶隙溫度傳感器和∑-△模數(shù)轉(zhuǎn)換技術(shù)的溫度-數(shù)字轉(zhuǎn)換器。簡(jiǎn)化框圖如圖1所示。
它也是一個(gè)溫度檢測(cè)器,可提供一個(gè)過熱檢測(cè)輸出。LM75A包含許多數(shù)據(jù)寄存器:配置寄存器(Conf),用來存儲(chǔ)器件的某些配置,如器件的工作模式、OS工作模式、OS極性和0S故障隊(duì)列等;溫度寄存器(Temp),用來存儲(chǔ)讀取的數(shù)字溫度,器件通過2線的串行I2C總線接口與控制器通信。 LM75A還包含一個(gè)開漏輸出(OS),當(dāng)溫度超過編程限制的值時(shí)該輸出有效。LM75A有3個(gè)可選的邏輯地址管腳,使得同一總線上可同時(shí)連接8個(gè)器件而不發(fā)生地址沖突。
LM75A可配置成不同的工作條件。它可設(shè)置成在正常工作模式下周期性地對(duì)環(huán)境溫度進(jìn)行監(jiān)控或進(jìn)入關(guān)斷模式來將器件功耗降至最低。OS輸出有2 種可選的工作模式:OS比較器模式和OS中斷模式。OS輸出可選擇高電平或低電平有效。故障隊(duì)列和設(shè)定點(diǎn)限制可編程,為了激活OS輸出,故障隊(duì)列定義了許多連續(xù)的故障。
溫度寄存器通常存放著一個(gè)11位的二進(jìn)制數(shù)的補(bǔ)碼,用來實(shí)現(xiàn)0.125℃的精度。這個(gè)高精度在需要精確地測(cè)量溫度偏移或超出限制范圍的應(yīng)用中非常有用。
正常工作模式下,當(dāng)器件上電時(shí),OS工作在比較器模式,溫度閾值為80℃,滯后75℃,這時(shí),LM75A就可用作一個(gè)具有以上預(yù)定義溫度設(shè)定點(diǎn)的獨(dú)立的溫度控制器。
1.2 溫度傳感器控制原理
如果將溫度傳感器設(shè)定為正常工作模式,那么首先要向配置寄存器寫入控制字告訴器件的工作模式。寫配置寄存器時(shí)序如圖2所示。
寫配置寄存器首先要選擇器件的地址,即A0-A2設(shè)置與硬件地址A0-A2一樣。然后是寫入配置寄存器地址指針,配置寄存器指針為”0000-000l”。等待器件應(yīng)答一個(gè)SCL周期,再寫入工作模式控制字。如果設(shè)置在正常工作模式下,OS設(shè)置為比較輸出,那么配置數(shù)據(jù)字應(yīng)寫入”00000000”。
寫入配置寄存器控制字”00000000”后溫度傳感器工作在正常工作模式下,即每一段時(shí)間溫度傳感器將溫度轉(zhuǎn)換成數(shù)字信號(hào)存放在溫度寄存器里,所以只需要將溫度寄存器的數(shù)據(jù)讀出再加以計(jì)算即可以得到溫度數(shù)據(jù)。讀取溫度寄存器的時(shí)序如圖3所示。
讀取溫度寄存器時(shí)首先是選中器件,地址信號(hào)應(yīng)該與硬件設(shè)置地址一致。第二段是選擇溫度寄存器,溫度寄存器指針地址P1-P0寫入”0-0”,表示下次操作的默認(rèn)寄存器為器件的溫度寄存器。重新起始后再次選中器件并讀取溫度寄存器的十六位的溫度數(shù)據(jù),并將十六位的數(shù)據(jù)的有效數(shù)據(jù)前十一位提取出,即可得到有效的溫度數(shù)據(jù)。將溫度數(shù)據(jù)與預(yù)設(shè)的溫度比較后得出升溫或降溫信號(hào),連接到無(wú)線發(fā)射模塊的KEYl、KEY2上發(fā)射到接收端。接收端接收到信號(hào)后再經(jīng)過放大后便可驅(qū)動(dòng)步進(jìn)電機(jī)等。