龔瑞昆,王 蕊,孟凡偉
(華北理工大學電氣工程學院,河北唐山 063000)
?
基于PCI總線的爐溫數據采集控制系統(tǒng)的設計
龔瑞昆,王 蕊,孟凡偉
(華北理工大學電氣工程學院,河北唐山 063000)
爐溫控制廣泛應用于工業(yè)生產中,尤其是在鋼鐵的實驗測試中。因此針對試驗對爐溫的控制需求,設計了一種精度高、數據采集速度快、智能化的基于PCI總線的爐溫數據采集控制系統(tǒng)。系統(tǒng)利用FPGA 數據處理快和 PCI 總線傳輸速率高的特點,通過相應的算法進行數據分析與處理;將相應的數據信號通過 PCI 總線接口高速上傳給上位機進行處理和控制;最后采用模糊PID控制算法對爐溫進行了控制仿真測試,改善了現場儀表常規(guī)PID控制方式存在的振蕩現象,最終滿足控制精度要求。
PCI總線;FPGA;溫度控制;數據采集
爐溫控制廣泛應用于鋼鐵行業(yè),尤其是在鐵礦石的冶金性能測試過程中。傳統(tǒng)的爐溫測定系統(tǒng)以現場儀表為控制器,其特點是采集的信號通道數單一、無法并行采集多通道信號、數據傳輸速率較低,不能滿足高速、實時、多通道并行檢測的需求。并且在設計硬件電路過程中比較復雜、測試困難且成本較高,難以滿足設計需求。
基于PCI總線的爐溫數據采集控制系統(tǒng)以FPGA 作為邏輯控制的核心,利用PCI總線數據采集技術[1],為用戶構建了一種快速、穩(wěn)定的數據采集控制系統(tǒng)。使用者可以通過計算機對爐溫進行實時監(jiān)測和控制。
該系統(tǒng)主要以計算機為控制核心,外圍電路主要有電源模塊、PCI高速數據采集傳輸模塊、串口通信電路和控制加熱電路。系統(tǒng)的總體結構如圖1所示。
系統(tǒng)通過溫度調理轉換模塊將溫度傳感器采集的數據轉換成實際溫度值傳送給PCI數據采集模塊,并將其傳輸給計算機控制器。主控計算機通過VC++編寫驅動接口程序等控制指令來控制系統(tǒng)控制過程,控制過程中采用模糊PID算法,輸出相應的控制信號通過信號轉換模塊送給周波控制器,實現對固態(tài)繼電器的切換控制,進而對試樣進行合理的加熱,實現爐溫的閉環(huán)控制。
圖1 系統(tǒng)控制結構框圖
系統(tǒng)的硬件設計主要包括爐溫控制電路計和PCI數據采集系統(tǒng)硬件設計。
2.1 爐溫控制電路
在工業(yè)加熱領域中,一般采用可控硅(SCR)移相調壓方式改變加熱主回路的電壓,但這種方式的電壓輸出波形不是正弦波,對電網產生干擾。因而圖2中采用固態(tài)繼電器(SSR)與周波控制器結合的控溫方式。周波控制器接受控制器輸出的0~5V電壓信號作為輸入,輸出PWM波調整一系列脈沖的寬度來獲得所需要的波形,進而通過可控硅控制加熱主回路電路的導通,從而改變硅碳棒上的平均功率,實現控溫的目的。
圖2 爐溫控制硬件連接圖
2.2 PCI數據采集系統(tǒng)硬件設計
數據采集系統(tǒng)的硬件設計主要包括信號調理電路、FPGA控制電路、AD/DA轉換模塊和PCI接口電路[2]。硬件電路如圖3所示。
圖3 PCI數據采集系統(tǒng)硬件設計框圖
FPGA作為采集模塊的核心部件,附有多個功能部件,主要由信號接受發(fā)送單元、PCI接口模塊和數據緩沖模塊[2]。除了FPGA芯片之外,還有A/D、D/A轉換模塊、配置FPGA用的EPCSI芯片以及用來存儲數據的SDRM、PCI9054接口芯片、配置芯片EEPROM。
2.2.1 數據采集轉換電路
熱電偶溫度傳感器輸出的mV級熱電勢信號必須在經過放大、冷端補償、線性化處理后將其轉換到A/D芯片變化范圍內才能進行模數轉換[4]。熱電偶信號調理采用AD595,它帶有冷端補償的熱電偶專用放大器,同時具有數據信號放大及線性化的功能,低阻抗電壓輸出,且為10 mV/℃。芯片采用+5 V供電,如圖4所示。K型熱電偶采集溫度,輸出mV級熱電動勢,經AD595[5]線性化并放大后在其引腳9輸出0~3V的電壓信號,且成10 mV/℃的線性比例關系,這一信號再送入ADS7825進行轉換。
圖4 信號調理硬件設計
2.2.2 FPGA和PCI接口控制模塊
本設計的FPGA采用Altera Cyclone系列,具有5 980個邏輯單元,內嵌20個M4K RAM塊(128×36bit),最大支持185個I/O接口管腳[4]。PCI9054芯片是32位的頻率為33 MHz的主I/O加速器,具有穩(wěn)定性強和兼容性好的優(yōu)點,滿足設計的要求。
3.1 應用程度和驅動程序的整體設計
在進行 PCI 總線與上位控制機傳輸控制命令和數據之前,需要開發(fā)基于 Windows操作系統(tǒng)的驅動程序交互的中心環(huán)節(jié),其中驅動程序是硬件設備與上層用戶應用程序溝通的中心橋梁,而應用程序是系統(tǒng)實現功能的關鍵環(huán)節(jié),主要有兩方面的任務[5]。首先,用于設計PCI9054的DMA傳輸模式下的數據讀寫操作環(huán)節(jié);其次,用于實現對多通道信號采集的控制以及采集數據的實時顯示,從而實現對溫度控制系統(tǒng)的檢測控制功能。
設備驅動程序是由許多操作系統(tǒng)可調用例程構成的,基于PCI總線的數據采集系統(tǒng)要和上位機進行數據通信交換,就必須通過編寫驅動程序和應用界面來完成,編寫驅動程序的常用開發(fā)工具有幾種,而PLX 公司為了方便用戶的開發(fā)提供了相應的開發(fā)工具包,為設計人員提供了與系統(tǒng)相兼容的設備驅動程序和 API 函數庫,用戶可以借助Visual C++ 6.0輔助開發(fā)環(huán)境在應用程序中調用 API函數庫實現功能。 驅動程序的總體設計如圖5所示。
圖5 驅動程序的總體設計
硬件連接成功后,安裝運行SDK軟件開發(fā)包以及驅動程序PLX9054.sys。驅動層直接利用PCI SDK 軟件提供的驅動源代碼,用戶層應用程序在基于對話框的Visual C++6.0 環(huán)境下開發(fā),通過創(chuàng)建工程進而加載相應的頭文件和源文件實現[6]。
3.2 FPGA實現對PCI9054芯片的邏輯控制
PCI接口的邏輯控制模塊,可以實現對數據采集過程的控制,主要包含對I/O讀寫操作控制、PCI 接口讀數控制、緩存的切換控制、時鐘控制以及32位加法器時序控制等[7]。除此之外,可以對采集的數據進行預處理,并通過PCI 接口芯片實時快速傳輸到上位機中[6]。它的設計采用 VHDL 硬件描述語言進行并編寫測試代碼。上電后,此信號源連續(xù)發(fā)出數據包,數據包的大小為7 168比特,包括32比特的包頭以及7 136比特的包體。系統(tǒng)通過采樣任務對爐體的溫度進行實時檢測,形成“采樣數據包”供給算法任務和應用程序調用,也可通過串口發(fā)送給上位機進行數據存儲和控制。
3.3 PCI溫度數據采集控制系統(tǒng)程序實現
驅動程序的功能模塊包括:數據地址空間的初始化、緩存讀寫模塊、A/D轉換模塊和中斷模塊以及數據算法處理模塊等。驅動程序的設計流程如圖6所示。應用程序開始調用API函數后[8],開始進行模塊初始化,通過初始化進行空間配置,然后根據PCI數據傳輸模式選擇內存的讀寫模式或者外部A/D轉換數據的讀寫模式,接下來調用中斷模塊,處理相應的中斷任務。接著主控計算機根據相應的算法對采集的數據進行處理,并調用驅動模塊將控制量發(fā)送至終端,最后輸出給執(zhí)行機構實現爐溫控制。
圖6 驅動程序設計流程圖
采集信號窗口設計如圖7所示?;趯υ捒騇FC的部分程序如下:
class CNO_FPGA_DAQApp:public CWinApp
{
public:
CNO_FPGA_DAQApp();
DECLARE_MESSAGE_MAP()
};
void CNO_FPGA_DAQDlg::OnStartSave()
{
GetDlgItem(IDC_Start_Save)->EnableWindow(FALSE);
b_write = 1;
m_status.Format(“開始保存”);
}
void CNO_SDRAM_DAQDlg::OnStopSave()
{
GetDlgItem(IDC_Stop_Save)->EnableWindow(FALSE);
b_write = 0;
if(FIFODATA)
FIFODATA.Close();
m_status.Format(“停止保存”);
}
圖7 信號采集窗口設計
數據采集控制系統(tǒng)實時監(jiān)測控制溫度的變化,然后通過串口通信將數據發(fā)送至上位機,上位機軟件由Visual C++6.0編寫,通過編寫相應算法程序對常規(guī)PID和模糊PID對爐溫進行控制,從第三路溫度控制為例,其界面控制響應曲線如圖8所示。
圖8 溫度控制仿真圖
由圖8可以看出,相對于常規(guī)PID,模糊PID算法溫度響應曲線上升時間和調節(jié)時間都相對較短,超調較小,滿足溫度控制的要求。
為了克服傳統(tǒng)測試設備信號通道單一、數據傳輸速率慢、檢測信息實時性差等不足,滿足多通道并行測試、高速傳輸與實時顯示檢測數據的需求,采用集 PCI 總線與 FPGA 技術于一體的的多通道信號實時采集處理系統(tǒng)設計方法,實現多通道信號并行、實時、快速數據處理,進而使控制過程具有更高的控制精度和更好的動態(tài)性能。
[1] 何朝陽,高金萍.基于PCI總線的高速高精度實時數據采集系統(tǒng).計算機測量與控制,2003(5):371-374.
[2] 賈良真.基于FPGA的下肢磯電位號數據采集與傳輸研究:[學位論文].武漢:武漢理工大學,2012.
[3] 王曉林.集散控制系統(tǒng)數據采集模塊設計:[學位論文].哈爾濱:哈爾濱工業(yè)大學,2009.
[4] 儲成君,任勇峰,劉東海,等.基于FPGA的多通道信號采集電路設計.科學技術與工程,2013(19):120-123.
[5] 梁秀滿,唐穎,李慶哲,等.基于嵌入式系統(tǒng)的保護渣熔點熔連測定儀的設計.計算機測量與控制,2015(03):1058-1010,1064
[6] 陳玨利,曾成志,鄭海榮,等.基于ADS6122和FPGA的多通道信號采集系統(tǒng)的設計.電子器件,2012(4):12-14.
[7] 田壯.基于PCI總線的數據采集系統(tǒng)設計:[學位論文].太原:中北大學,2013.
[8] 熊松.基于PCI總線的數據采集卡的實現:[學位論文].南京:東南大學,2006.
Design of Temperature Data Acquisition Control System Based on PCI Bus
GONG Rui-kun,WANG Rui,MENG Fan-wei
(College of Electrical Engineering,North China University of Technology,Tangshan 063000,China)
Furnace temperature control is widely used in industrial production,especially in the experimental test of steel.Therefore,according with the need of test for furnace temperature control,a high precision,intelligent temperature data acquisition control system based on PCI bus was designed.The system made use of the fast data processing FPGA and PCI bus,through the corresponding algorithm for data to analysis and process,the corresponding data signal was detected through the PCI bus high-speed transmission to master computer for processing and control.At last fuzzy PID control algorithm simulation experiment was performed to the furnace temperature,which improved the conventional PID control oscillation phenomena existing in the field instruments,ultimately meeting the requirements of accuracy.
PCI bus;FPGA;temperature control;data collection
國家自然基金項目(61171058)
2015-03-10 收修改稿日期:2015-07-16
TP273
A
1002-1841(2015)12-0053-04
龔瑞昆(1962—),教授,碩士研究生導師,研究方向為檢測技術及智能裝置。E-mail:grk@heut.edu.cn
王蕊(1989—),碩士研究生,主要從事檢測技術及智能裝置方向的研究。E-mail:906546525@qq.com