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