摘要:介紹了遠距離測溫器的結(jié)構(gòu)組成和工作原理,,設(shè)計了基于FPGA的遠距離測溫器數(shù)控系統(tǒng)的數(shù)據(jù)采集與控制系統(tǒng),,使用Altera公司的Cyclonell系列的FPGA實現(xiàn)了包括數(shù)據(jù)采集、數(shù)據(jù)通信等控制功能,,著重敘述了硬件與軟件的實現(xiàn)方法,。該數(shù)控系統(tǒng)具有測量精度高,低功耗等特點,。
關(guān)鍵詞:遠距離測溫,;FPGA;數(shù)據(jù)采集與控制系統(tǒng),;NiosⅡ
0 引言
在一些特殊的科研場所和工業(yè)生產(chǎn)單位,,出于各種條件限制,儀表往往不能就近測量物體實際溫度,;而以往所使用的一些傳感器在使用時受到各種環(huán)境因素的影響,,使得傳感器測量得到的溫度不能精確地反映被測物體的溫度。因此,,人們需要找尋一種遠距離測溫器,能夠精確測量物體溫度,,并能實時監(jiān)控溫度數(shù)據(jù),。
遠距離測溫器是一種被動式的溫度遙感器,可用于遠距離探測物體的溫度,,在科學(xué)研究和工業(yè)生產(chǎn)中發(fā)揮了重要作用,。由于在使用時人們對測溫器的測量范圍、靈敏度要求很高,同時由于當今遙感儀器的設(shè)計越來越趨于低功耗高密度及小型化,,因此,,要求測溫器的數(shù)據(jù)處理與控制系統(tǒng)具有高可靠性、高分辨率,、實時性,、體積小等特點。由于FPGA的功能強大,,邏輯速度快,,可以用多種接口電平與外界通信,可以方便的更新程序以實現(xiàn)多種功能,,所以本文采用Altera公司的CycloneⅡ系列的FPGA為核心進行遠距離測溫器的數(shù)控系統(tǒng)設(shè)計,,實現(xiàn)了系統(tǒng)的多功能和小型化。
1 系統(tǒng)結(jié)構(gòu)
遠距離測溫器的結(jié)構(gòu)框圖如圖1所示,。由紅外線探測頭,、光電轉(zhuǎn)換單元、放大電路,、數(shù)據(jù)采集電路和數(shù)據(jù)處理與控制系統(tǒng)等功能模塊組成,。紅外探測頭用于搜集物體發(fā)射出的紅外光線,將有用信號傳輸至較遠且適合人操作的地方,,最后使用數(shù)據(jù)處理和控制系統(tǒng)進行控制,。
數(shù)據(jù)處理與控制系統(tǒng)接收計算機傳輸?shù)闹噶睿刂葡到y(tǒng)運行,。系統(tǒng)通電后,,紅外接收天線接收的光信號模擬量經(jīng)過遠距離傳輸,信號放大后經(jīng)過A/D模數(shù)轉(zhuǎn)換后再送入數(shù)據(jù)處理和控制系統(tǒng),,由數(shù)據(jù)處理與控制系統(tǒng)進行數(shù)據(jù)采集和存儲,、與計算機的數(shù)據(jù)通信、工作狀態(tài)控制,。數(shù)據(jù)處理與控制系統(tǒng)在遠距離測溫器中處于重要的位置,。
數(shù)據(jù)采集、數(shù)據(jù)處理與控制系統(tǒng)電路由FPGA及其外圍電路,、數(shù)據(jù)采集系統(tǒng),、電平轉(zhuǎn)換電路、總線接口電路等部分組成,,如圖2所示,。
FPGA根據(jù)系統(tǒng)本身的時序和計算機送入的控制指令,控制數(shù)據(jù)采集電路完成數(shù)據(jù)的采集,。同時,,F(xiàn)PGA內(nèi)部的可配置軟處理核NiosⅡ系統(tǒng)將根據(jù)計算機中提供的校準值來修正由前端模擬電路引起的偏差,,并由此生成實際誤差很小的曲線方程。校準工作完畢后,,整個系統(tǒng)既可脫離計算機方便地用于遠距離的溫度測量,,也可以用于聯(lián)機對物體溫度的實時檢測,采集到的大量數(shù)據(jù)提供給計算機作分析用,。
數(shù)控系統(tǒng)采用Altera公司的CycloneⅡ系列FPGA中的EP2C8為核心進行設(shè)計,。CycloneⅡ器件采用90 nm、低K值電介質(zhì)工藝,,通過使硅片面積最小化,,可以在單芯片上支持復(fù)雜的數(shù)字系統(tǒng)。眾多可由用戶自行定義的I/O管腳有利于系統(tǒng)進行外部擴展,。其配置PROM采用Altera公司提供的16 MB的EPCS4串行配置PROM,,該配置器件具備在系統(tǒng)編程(ISP)能力和多次編程能力,具有包括ISP和FLASH存儲器訪問接口等特性,。
數(shù)據(jù)采集電路采用AD公司的模數(shù)轉(zhuǎn)換器AD7675,,該芯片只需要提供+5 V工作電源,典型功耗為15 mW,,芯片轉(zhuǎn)換速度為100 KSPS,,可選并行或串行采樣數(shù)據(jù)輸出,對外可選+5 V或+3.3 V接口電平,。被測模擬信號電壓輸入范圍為-2.5~+2.5 V,,可以做到最高16位不失碼。
2 硬件電路設(shè)計
2.1 電源控制電路
由于整個電路系統(tǒng)涉及模擬和數(shù)字部分多種芯片的運作,,A/D采樣芯片和FPGA芯片均需要兩種以上的電源供電,,所以選取合適的電壓轉(zhuǎn)換器非常重要。電源控制電路選用Linear公司的線形電源模塊來提供A/D芯片所需要的+3.3V,,+2.5V電壓和FPGA所需要的+3.3V和+1.2V電壓,,為了提高信號質(zhì)量,模擬和數(shù)字部分的+3.3 V電壓分別由不同的電源轉(zhuǎn)換模塊提供,。
2.2 數(shù)據(jù)采集電路
數(shù)據(jù)采集電路主要由AD7675組成,,由于其輸出I/O部分采用+3.3 V供電,故其所有的數(shù)據(jù)輸出管腳和輸入控制信號不需要進行電平轉(zhuǎn)換,,可以直接與FPGA的I/O管腳相連,。A/D芯片的轉(zhuǎn)換速率為100KSPS,選擇16 b雙極性補碼輸出,,最高位表示符號位,。硬件電路如圖3所示。采集到的數(shù)據(jù)送入FPGA的寄存器,,再傳送到計算機中,,供數(shù)據(jù)分析用。
AD7675的模擬信號輸入部分選用AD公司的AD8021運算放大器實現(xiàn)模擬輸入信號的單端到差分信號的轉(zhuǎn)換,。電源進入電源管腳前應(yīng)就近安裝鉭電容進行濾波,,以減小電源上的雜波干擾,提高信號質(zhì)量,。AD7675支持并行和串行兩種數(shù)據(jù)輸出方式,,本系統(tǒng)選擇并行16 b補碼采樣數(shù)據(jù)輸出,與此相關(guān)的一些控制信號,,如BYTESWAP,,OB,SER/PAR需要被置為低電平,。而其它RESET和數(shù)據(jù)輸出I/O管腳接入FPGA,,由FPGA控制。
2.3 FPGA與計算機接口電路
FPGA通過串行通信接口與外接計算機實現(xiàn)通信,。本文選用MAX232實現(xiàn)LVTTL與EIA的電平轉(zhuǎn)換,,可方便的完成FPGA與計算機之間的RS 232通信。
2.4 數(shù)字控制單元設(shè)計
該測溫器的軟件設(shè)計主要分為兩個部分,,一是FPGA的相關(guān)程序設(shè)計,,其主要功能包括:A/D數(shù)據(jù)采集控制、串口數(shù)據(jù)通信控制,、LCD的讀寫控制以及PROM的燒錄等,;二是計算機中的相關(guān)程序,主要功能包括數(shù)值運算,、標定FPGA和將采集到的數(shù)據(jù)存儲以供分析等,。在整個FPGA的設(shè)計上,由Altera公司開發(fā)的基于SoPC的NiosⅡ處理器及其軟件開發(fā)包SoPC Builder可以方便地將所需要的IP核,、存儲器,、接口控制器等簡單而又快速的集成到FPGA中去,從而縮短設(shè)計周期,。FPGA內(nèi)部功能模塊如圖4所示,。
FPGA的核心控制系統(tǒng)是由1 400~1 800 LE構(gòu)成的,運行起來可以到達86DMIPSD的f型NiosⅡCPU,。除了CPU外,,數(shù)控系統(tǒng)主要還包括一個標志NiosⅡ系統(tǒng)的系統(tǒng)ID核;一個提供JTAG串行異步收發(fā)器的IP核,,用于在線調(diào)試FPGA的程序,;一個可以實現(xiàn)任何標準RS 232標準波特率的UART核,用在控制電路調(diào)試成功后在單機工作狀態(tài)下與外接計算機通信,;兩組并行輸入,、輸出PIO核,,分別對A/D采樣電路進行控制和讀取A/D采樣后得到的數(shù)據(jù);兩個LCD控制器IP核,;一個用于運行程序的片內(nèi)ROM,;一個提供系統(tǒng)時鐘的pll;一個EPCS串行配置器件控制器IP核,。如圖5所示,。
系統(tǒng)生成的原理圖如圖6所示。
3 系統(tǒng)開發(fā)測試
系統(tǒng)構(gòu)建好之后,,需要進一步的測試才能確保其正常測溫,。系統(tǒng)的開發(fā)測試流程如圖7所示。
上電后首先觀測系統(tǒng)的主要硬件是否正常工作,,將在NiosⅡIDE中生成的SOF文件下載到FPGA中,,完成NiosⅡ系統(tǒng)的下載和初始化。然后將NiosⅡ軟件通過JTAG口下載到目標系統(tǒng)中,。系統(tǒng)正常工作后,,由遠端計算機通過串口對A/D進行初始化,采集數(shù)據(jù),。計算機接收到A/D采樣數(shù)據(jù)后,,就可以對測溫器進行標定,通過數(shù)據(jù)處理計算出用于標定各臺測溫器的校準方程,。
標定過程如下,,將測溫器紅外接收探測頭對準熱源,熱源產(chǎn)生準確的溫度,。為了測量準確,,對于同一個溫度點,采用多次測量取平均值的方法,。由計算機通過串口通信記錄下多次A/D采樣的值與對應(yīng)的溫度值,。從低溫開始到較高的溫度,由計算機通過串口通信記錄下A/D采樣值,。當記錄下的數(shù)值達到可以反映各溫度段變化的情況時,,就可以讓計算機采用合適的數(shù)據(jù)擬合方法生成反映該測溫器測量特性的曲線方程。計算機將方程系數(shù)傳送給NiosⅡ系統(tǒng),,完成對整個測溫器的校準,。
最后檢查FPGA中NiosⅡ處理器能否通過LCD控制器與LCD正常通信、LCD能否正常顯示字符,;NiosⅡ軟處理器可否與PROM實現(xiàn)正常的讀寫,。調(diào)試成功后為了節(jié)約資源可將JTAG調(diào)試去掉,然后將正確的程序燒錄到EPCS4中。這時所設(shè)計的程序即可脫離計算機及NiosⅡIDE獨立運行,。
完成了整個開發(fā)過程的測溫器即可正常使用,,對標定溫度范圍內(nèi)的溫度進行測量。脫機測量時,,由定時器產(chǎn)生對A/D采樣時所需的時鐘脈沖,,NiosⅡ系統(tǒng)的兩組PIO,,分別控制A/D的控制信號和將A/D采樣值讀入NiosⅡ系統(tǒng),。在使用時,仍然采用多次測量取平均值的方法來得到A/D采樣值,,然后根據(jù)擬合方程,,即可得到對應(yīng)的溫度值,然后NiosⅡ系統(tǒng)控制LCD控制器的R/W,,RS和DB0~DB7,,將對應(yīng)的溫度值顯示在
LCD上。而當需要聯(lián)機使用時,,NiosⅡ系統(tǒng)通過串口將存儲在內(nèi)部的A/D采樣值和對應(yīng)的溫度值發(fā)送到計算機中,,形成文件供分析用。
4 結(jié)語
本文設(shè)計的測溫器的數(shù)控電路以Altera公司的CycloneⅡ系列的FPGA為核心,,完成了從總體方案設(shè)計到系統(tǒng)調(diào)試等一系列過程,。整個數(shù)控系統(tǒng)共計占用3 700多個LE,99 200個存儲器比特,。為整個測溫器提供了穩(wěn)定可靠的數(shù)據(jù)處理平臺,,可為更高級別的功能擴展提供一定的參考,具有很廣的應(yīng)用前景,。