基于FPGA的遠距離測溫器數控系統設計
FPGA的核心控制系統是由1 400~1 800 LE構成的,運行起來可以到達86DMIPSD的f型NiosⅡCPU。除了CPU外,數控系統主要還包括一個標志NiosⅡ系統的系統ID核;一個提供JTAG串行異步收發器的IP核,用于在線調試FPGA的程序;一個可以實現任何標準RS 232標準波特率的UART核,用在控制電路調試成功后在單機工作狀態下與外接計算機通信;兩組并行輸入、輸出PIO核,分別對A/D采樣電路進行控制和讀取A/D采樣后得到的數據;兩個LCD控制器IP核;一個用于運行程序的片內ROM;一個提供系統時鐘的pll;一個EPCS串行配置器件控制器IP核。如圖5所示。
系統生成的原理圖如圖6所示。
3 系統開發測試
系統構建好之后,需要進一步的測試才能確保其正常測溫。系統的開發測試流程如圖7所示。
上電后首先觀測系統的主要硬件是否正常工作,將在NiosⅡIDE中生成的SOF文件下載到FPGA中,完成NiosⅡ系統的下載和初始化。然后將NiosⅡ軟件通過JTAG口下載到目標系統中。系統正常工作后,由遠端計算機通過串口對A/D進行初始化,采集數據。計算機接收到A/D采樣數據后,就可以對測溫器進行標定,通過數據處理計算出用于標定各臺測溫器的校準方程。
標定過程如下,將測溫器紅外接收探測頭對準熱源,熱源產生準確的溫度。為了測量準確,對于同一個溫度點,采用多次測量取平均值的方法。由計算機通過串口通信記錄下多次A/D采樣的值與對應的溫度值。從低溫開始到較高的溫度,由計算機通過串口通信記錄下A/D采樣值。當記錄下的數值達到可以反映各溫度段變化的情況時,就可以讓計算機采用合適的數據擬合方法生成反映該測溫器測量特性的曲線方程。計算機將方程系數傳送給NiosⅡ系統,完成對整個測溫器的校準。
最后檢查FPGA中NiosⅡ處理器能否通過LCD控制器與LCD正常通信、LCD能否正常顯示字符;NiosⅡ軟處理器可否與PROM實現正常的讀寫。調試成功后為了節約資源可將JTAG調試去掉,然后將正確的程序燒錄到EPCS4中。這時所設計的程序即可脫離計算機及NiosⅡIDE獨立運行。
完成了整個開發過程的測溫器即可正常使用,對標定溫度范圍內的溫度進行測量。脫機測量時,由定時器產生對A/D采樣時所需的時鐘脈沖,NiosⅡ系統的兩組PIO,分別控制A/D的控制信號和將A/D采樣值讀入NiosⅡ系統。在使用時,仍然采用多次測量取平均值的方法來得到A/D采樣值,然后根據擬合方程,即可得到對應的溫度值,然后NiosⅡ系統控制LCD控制器的R/W,RS和DB0~DB7,將對應的溫度值顯示在
LCD上。而當需要聯機使用時,NiosⅡ系統通過串口將存儲在內部的A/D采樣值和對應的溫度值發送到計算機中,形成文件供分析用。
4 結語
本文設計的測溫器的數控電路以Altera公司的CycloneⅡ系列的FPGA為核心,完成了從總體方案設計到系統調試等一系列過程。整個數控系統共計占用3 700多個LE,99 200個存儲器比特。為整個測溫器提供了穩定可靠的數據處理平臺,可為更高級別的功能擴展提供一定的參考,具有很廣的應用前景。
評論