汪春暢,徐科軍,許 偉,梁利平,吳建平
(合肥工業大學電氣與自動化工程學院,安徽 合肥 230009)
基于DSP的高性能電磁流量變送器研制
汪春暢,徐科軍,許 偉,梁利平,吳建平
(合肥工業大學電氣與自動化工程學院,安徽 合肥 230009)
為了實時實現適用于水流量和漿液流量測量的高頻勵磁控制和數字信號處理算法,同時,使變送器具有較為完備的人機接口和通信功能,采用梳狀帶通濾波算法處理水流量信號,并基于信號重構算法處理漿液流量信號。充分、合理地利用DSP的資源,設計硬件系統,實現儀表的各種功能。巧妙、靈活地安排勵磁控制、信號處理、人機接口、數據通信之間的時序,研制DSP軟件。通過配置20 ms的定時器中斷,并在其中斷服務程序中采用中斷嵌套的方式,確保勵磁控制和信號處理的實時性。將執行時間較長的液晶刷新顯示子程序和按鍵操作子程序放置在主循環中,以便其他模塊的正常執行。所研制的DSP軟件系統適用于矩形勵磁或三值勵磁下的水流量和漿液流量的測量。對研制的高性能電磁流量變送器進行算法實時性測試和水流量標定試驗,取得了較好的試驗結果。
電磁流量計; 變送器; 數字信號處理器; 實時性; 人機界面; 通信模塊; PWM
電磁流量計由于流量管內無阻擋物、性能可靠等優點,被廣泛用于水流量和紙漿、水煤漿等漿液流量的測量。但是,國內大多數電磁流量變送器均采用低頻勵磁方式[1-4],且僅僅采用簡單的濾波算法[5-7],既無法有效地消除漿液噪聲,也無法提高單相流量的處理精度。為此,提出了高低壓切換勵磁控制方法和基于脈沖寬度調制(pulse width modulation,PWM)的勵磁控制算法,以實現高頻勵磁[8-10];提出梳狀帶通濾波和基于統計分析及信號重構的信號處理方法[11-13],以提高測量單相流量的精度和實現漿液流量的測量。為了實現這些先進和復雜的勵磁控制和信號處理算法,采用數字信號處理(digital signal process,DSP)芯片為核心來研制電磁流量變送器。但是,作為高性能電磁流量變送器,不僅要實時實現先進的勵磁控制和信號處理算法,而且要具備參數設置靈活、顯示內容豐富的人機接口以及功能強大的通信模塊。然而,目前基于DSP的電磁流量變送器沒有能夠同時完成這三方面的能力[14-16]。究其原因是,雖然DSP具有高速運算的能力,但是,勵磁控制和信號處理算法復雜、運算量大,而電磁流量計有實時測量和刷新的要求,所以,對DSP軟件的實時性提出了挑戰。其次,為了豐富顯示內容,需要采用點陣式液晶顯示器(liquid crystal display,LCD)。與以往基于DSP的電磁流量變送器所用的段碼式LCD相比,點陣式LCD的刷新時間和占用DSP的時間長。另外,為了實現與其他設備的數據傳輸與信息交換,需要具備各種通信功能,例如,Hart和Modbus等,這又將占用DSP較多的運算時間。所以,在設計DSP硬件系統時,如何合理地配置其資源;在開發DSP軟件程序時,如何保證其控制和處理算法的實時性,就成為變送器研制中必須解決的關鍵技術問題。
為此,本文根據高性能電磁流量變送器的要求,充分、合理地利用DSP的資源,巧妙、靈活地安排勵磁控制、信號處理、人機接口、數據通信之間的時序,成功研制實時實現勵磁控制和信號處理的DSP軟硬件,并取得較好的試驗效果。
1.1 資源配置
為了實現高性能電磁流量變送器的全部功能,必須選擇合適的DSP芯片,并合理地配置其資源。選擇TMS320F28335 DSP芯片作為高性能電磁流量變送器的控制和處理的核心芯片。該芯片的運算速度為150 MHz,單指令周期僅為6.67 ns,具有很快的運算速度;片上集成了豐富的外設,具有很強的控制能力。根據變送器功能要求,對系統資源進行配置。
①利用DSP的增強型脈沖寬度調制模塊ePWM3A/3B和ePWM5A/5B,實現準確、實時的勵磁控制,產生矩形波或三值波磁場;同時,產生空管勵磁信號,實現空管偵測的功能。
②利用DSP的多通道緩沖器McBSPA和McBSPB與外擴的兩片模數轉換器(analog to digital converter,ADC)連接,實現傳感器輸出信號和勵磁電流信號的同步采集,節省傳輸時間。
③利用DSP的增強型脈沖寬度調制模塊ePWM2B,實現脈沖頻率輸出;利用外擴的數模轉換器(digital to analog converter,DAC),完成4~20 mA電流輸出;利用DSP的通用輸入輸出(GPIO)口,實現液晶數據顯示以及按鍵的控制。
④利用DSP的串行通信接口SCIC、SCIB模塊,實現Hart、Modbus和RS-485通信。
1.2 硬件組成
根據資源配置,高性能電磁流量變送器的硬件框圖如圖1所示。

圖1 變送器硬件框圖
①勵磁驅動模塊。通過ePWM模塊產生兩路互補的PWM波來控制H橋點路對臂的通斷,從而在傳感器內形成周期性波形的磁場。空管脈沖和正常勵磁交替進行,每進行10個周期的正常勵磁,停1個周期,進行空管偵測。
②信號調理采集模塊。通過兩片ADC同時采集經過信號調理電路的傳感器輸出信號和勵磁電流,并通過McBSP模塊來傳輸轉換后的數據。同時,對采集到的傳感器輸出信號幅值進行實時監測。若超過某一閾值,利用外擴的DAC模塊對其進行偏置調整。
③存儲模塊。利用SPI模塊將關鍵的儀表參數存儲到鐵電存儲器中。利用外部接口Xintf7模塊外擴SARAM,存儲較長的程序代碼和數據。
④人機接口模塊。利用GPIO模擬SPI將數據串行傳輸到液晶,實現數據的顯示。通過判斷與按鍵相連的GPIO的電平高低來判斷按鍵是否按下。
⑤通信模塊。通過SCI模塊接收上位機發送的命令,并組建相應的發送數據幀,再發送給上位機。
⑥輸出模塊包括脈沖輸出和4~20 mA電流輸出。將每秒內的累積流量轉化為脈沖頻率量,再通過ePWM模塊輸出相應頻率的脈沖。將瞬時流量轉換為電流,通過GPIO模擬SPI將數字量傳送給DAC,實現電流量輸出。
2.1 處理方法
針對水流量信號幅值微弱易受干擾信號影響的特點,提出梳狀帶通濾波算法,有效抑制干擾信號,完整地提取出有效的水流量信號。具體方法為:先對傳感器輸出信號進行梳狀帶通濾波;再對濾波后的流量信號進行幅值解調;然后對解調結果進行滑動平均濾波;最后,對結果進行轉換,得到流量值。
針對漿液流量信號存在隨機大跳變的特點,提出基于統計模型的信號重構算法。具體方法為:先對流量信號幅值解調;然后,對解調結果進行中位值濾波以去除隨機的漿液干擾;再重構不含漿液干擾的流量信號,對重構后的信號進行梳狀帶通濾波、幅值解調和滑動平均濾波;最后,對結果進行轉換,得到流量值。
在上述算法中,只對采集到的每半個勵磁周期后的四分之一點進行處理,以避免微分干擾的影響和減少運算量。當ADC采集的數據為有用段數據時,立即對其進行濾波和解調處理,以保證算法的實時性。對解調結果進行滑動濾波和勵磁電流補償,以保證算法的精度,也加快算法的響應速度。
2.2 工作流程
在設計工作流程時,考慮以下關鍵因素,以保證DSP軟件控制和處理的實時性。
主監控流程圖如圖2所示。

圖2 主監控流程圖
①當采用段式LCD時,可以將算法模塊放在主循環中。但是,當采用點陣式LCD時,由于顯示的內容較多、且數據采用串行傳輸方式,液晶顯示程序執行時間較長(約為80 ms)。若勵磁頻率為25 Hz,算法模塊每20 ms就要調用一次,這樣就不能實時更新數據。所以,算法模塊不能放在主循環中,而是放在定時時間為20 ms的定時器中斷服務程序中。
②由于算法模塊的程序執行時間較長(約為8 ms),將導致定時器中斷服務程序執行時間較長,會阻礙勵磁中斷和ADC數據采集中斷的正確執行。而勵磁中斷和數據采集中斷的正確執行是算法正確執行的前提,因此,在定時器中斷服務程序的一開始要開中斷嵌套來保證勵磁中斷、數據采集中斷的正確、實時執行。
③為了保證按鍵操作的靈敏性,采用查詢的方式,并將按鍵查詢子程序放在定時器的中斷服務程序中,由于按鍵操作子程序也涉及到液晶顯示,時間較長,故按鍵查詢子程序采用標志位置位方式,將按鍵操作子程序放在主循環中。
設計的高性能電磁流量變送器的工作流程如下。
①系統上電后,DSP完成各種初始化工作,包括系統初始化、GPIO口初始化、中斷向量表初始化、儀表參數初始化等。開啟勵磁控制、啟動定時器以及A/D采樣轉換模塊。
②A/D轉換結束后,通過多通道緩沖器McBSP傳輸到DSP,實時存儲到外擴SARAM中的數據緩沖數組中,并對采集到的流量信號進行預處理。
③通過20 ms的CPU定時器0產生中斷。在定時器中斷服務程序中,為了保證勵磁中斷和信號采集中斷的正確執行,先開中斷嵌套;然后,查詢每半個勵磁周期信號的預處理是否完成。若完成,則進行算法處理,得到流速、瞬時流量等,并累加瞬時流量得到累積流量;同時,完成4~20 mA電流及PWM脈沖輸出;最后,進入按鍵掃描程序,查詢按鍵是否按下。
④將測量得到的結果通過LCD顯示,并判斷是否有按鍵標志位置位。若有,則執行相應的按鍵操作子程序。重復步驟②~④,對流量進行實時測量。
2.3 重要模塊
采用模塊化方式設計軟件,整個軟件由主監控模塊、初始化模塊、驅動模塊、人機接口模塊、中斷模塊和看門狗模塊組成。
2.3.1 中斷模塊
中斷模塊包括信號采集模塊、通信中斷模塊和定時器中斷模塊。這里主要介紹定時器中斷模塊。
定時器中斷服務程序流程圖如圖3所示。

圖3 定時器中斷服務流程圖
在定時器中斷中,有算法模塊、輸出模塊以及按鍵查詢模塊。先開中斷嵌套,調用信號處理算法模塊,對預濾波后的流量信號和勵磁電流進行處理,再依據所設置的儀表參數得出流速和瞬時流量,并計算累積流量;然后調用輸出模塊,根據計算出的瞬時流量,轉換為脈沖量和4~20 mA電流值;最后,執行按鍵查詢模塊。
2.3.2 人機接口模塊
人機接口模塊由按鍵和LCD組成,用于設置儀表參數、顯示儀表測量結果和修改儀表參數。其軟件程序包括處理鍵盤的子程序和LCD操作子程序。
①LCD顯示。
LCD有兩個工作狀態,分別是自動測量狀態和儀表參數設置狀態。
自動測量狀態下,LCD用于顯示儀表的測量結果。顯示內容分四屏顯示,通過按鍵可以切換顯示屏。具體形式內容為:第一屏顯示實時流量和正向累計流量;第二屏顯示實時流速和流量百分比;第三屏顯示反向累計流量和凈累計流量;第四屏顯示報警信息,包括是否空管、勵磁是否斷線以及流量是否超限。
儀表參數設置狀態下,LCD用于顯示儀表參數變量,與鍵盤配合,實現儀表參數的修改。由于需要設置的儀表參數較多,系統配置了三級LCD設置菜單,分別為密碼輸入、菜單號選擇和各儀表參數。
②鍵盤操作子程序。
通過返回鍵、移位鍵、遞增鍵和確認鍵這四個按鍵來實現LCD顯示狀態的切換和儀表參數的修改。用于處理鍵盤操作的子程序主要包括鍵盤掃描子程序和按鍵操作子程序。鍵盤掃描程序在20 ms定時器中斷服務程序調用,定時掃描按鍵是否有按下。由于功能較為復雜,每個按鍵都設有長按和短按功能。若按鍵時間超過0.1 s,則視為短按;若按鍵時間超過2 s,則視為長按。根據按鍵時間長短不同將相應按鍵的標志位置位,在主循環中根據標志位調用相應的按鍵操作子程序。
2.3.3 通信模塊
通信模塊包括Hart通信、Modbus通信和RS-485通信。
①Hart通信模塊。
Hart通信原理如圖4所示。上位機發送數字型Hart幀,經過調制解調器調制成模擬信號,疊加到4~20 mA電流環傳輸,然后經由下位機Hart電路解調成數字信號,觸發SCIB接收中斷接收該Hart幀;下位機根據接收到的Hart命令發送對應的響應Hart幀,經下位機Hart電路調制成模擬信號,疊加到4~20 mA電流環傳輸,由調制解調器解調成數字信號,發送給上位機串口。

圖4 Hart通信原理框圖
Hart數據幀分為主從幀和從主幀。主從幀數據格式沒有通信狀態和設備狀態,其他和從主幀數據格式一樣。從主幀數據格式由前導碼、定界符、地址、命令、字節數、通信狀態、設備狀態、數據和校驗位組成。
Hart通信中斷程序流程圖如圖5所示。

圖5 Hart通信中斷程序流程圖
由上位機發送相應格式的數據,DSP通過SCI接收中斷服務程序來接收數據,并判斷接收的數據是否正確。若接收數據正確,則根據相應命令組建相應的應答數據幀,當所有發送數據準備完畢后,發送給上位機;若接收數據不正確,則將錯誤標志位置位或返回相應的通信錯誤信息。由于發送數據的時間較長,為了不阻礙其他中斷的正常進行,也為了保證正確接收上位機發送的命令,當所有數據接收完畢后,開中斷嵌套。
②Modbus和RS-485通信。
Modbus通信與RS-485通信的硬件相同,它們共同使用SCIC模塊的接收中斷來接收上位機發送的命令。因此,在液晶菜單中設置了通信方式選擇,在進入SCIC中斷服務程序時,先判斷是哪種通信方式,再進入相應通信方式的接收數據子程序。
Modbus協議中主設備發送的數據幀包括設備地址、功能碼、數據和校驗碼,從設備接收到上位機發送的命令后先判斷接收的數據是否正確,若正確則返回相應的功能碼、數據和校驗碼;若錯誤,則返回相應的出錯信息。本文采用Modbus通信協議完成儀表數據的讀取和參數的設置。采用RS-485通信協議實現上位機采集傳感器的輸出信號以及設置儀表參數。
為了驗證所研制的基于DSP的高性能電磁流量變送器的有效性,對DSP算法進行了實時性的測試,對電磁流量計進行了水流量的標定試驗。
3.1 算法的實時性測試
DSP算法的實時性包括兩個方面:一是指變送器計算得到的流速能否及時跟隨實際流速的變化,這與滑動平均濾波參數有關;二是指計算出的流速信號幅值的更新速度。對于25 Hz的勵磁頻率,數據更新速度是20 ms。由于濾波參數不變,跟隨流速變化的延遲時間也是不變的。為了測試DSP算法的數據更新速度是否為半個勵磁周期,利用DSP芯片的一個空閑GPIO口,在算法模塊中進行判斷。若該GPIO口輸出為1,則將其置0;若輸出為0,則置1。通過數字存儲示波器測試該GPIO的輸出波形是周期為40 ms的矩形波,說明算法模塊的流速信號幅值計算結果更新速度為半個勵磁周期。因此,算法是實時執行的。同理,測試出勵磁中斷的執行周期為一個勵磁周期,信號采集中斷頻率為7 500 Hz,說明軟件的整個工作過程不發生沖突。
3.2 水流量標定試驗
將基于DSP的高性能的電磁流量變送器匹配國內某大型企業研制的50 mm口徑的夾持式一次儀表,形成完整的電磁流量計,進行容積法水流量標定試驗,試驗結果如表1所示。當勵磁頻率為25 Hz、流量范圍為3.5~25 m3/h時,電磁流量計的測量精度優于0.3%。
由于高低壓切換勵磁和PWM勵磁只是硬件上實現恒流的方式不同,二值方波勵磁和三值波勵磁只是軟件中ePWM模塊比較輸出值不同,漿液測量和水流量測量只是算法模塊的不同,而整個軟件框架都是一樣的。因此,本文所研制的電磁流量變送器軟件適用于基于高低壓勵磁控制和基于PWM勵磁控制下的矩形勵磁方式或三值波勵磁方式。該軟件既能用于水流量測量,也能用于漿液流量的測量。

表1 水流量標定試驗結果
本文研制了基于DSP的高性能電磁流量變送器硬件、軟硬件系統。合理分配DSP資源,實時實現了勵磁驅動控制、信號采集、偏置調整、人機交互和輸出等功能。設計了較為完整的人機接口界面,增加Hart、Modbus和RS-485通信功能,滿足了工業應用需求,便于對現場儀表控制。測試表明,DSP軟件系統的實時性較強。對電磁流量計進行了水流量標定,結果表明,電磁流量計的測量精度優于0.3級,且該系統適用于基于高低壓勵磁控制和基于PWM勵磁控制的矩形勵磁方式和三值波勵磁方式。
[1] CHA J E,AHN Y C,KIM M H.Flow measurement with an electromagnetic flowmeter in two-phase bubbly and slug flow regimes[J].Flow Measurement & Instrumentation,2002,12(5-6):329-339.
[2] XU K J,WANG X F.Signal modeling of electromagnetic flowmeter under sine wave excitation using two-stage fitting method[J].Sensors & Actuators A Physical,2007,136(1):137-143.
[3] 李飛,王保良,黃志堯.對電磁流量計中干擾問題的討論[J].儀器儀表學報,2005,26(S2):727-729.
[4] 陳英華,胡國清,鄒崇,等.一種用于電容式電磁流量計的勵磁系統研制[J].儀器儀表學報,2013,34(7):1659-1666.
[5] WADA I.Electromagnetic flowmeter utilizing magnetic fields of a plurality of frequencies,USA:5090250[P] .1992-05-21.
[6] TOMITA T.Electromagnetic flowmeter and method for electromagnetically measuring flow rate,USA:5443552 [P].1995-11-09.
[7] 小林保,黑森健一,俊藤茂,等.電磁流量計,日本:87101677[P].1989-09-14.
[8] 楊雙龍,王剛,徐科軍,等.基于線性電源的單/雙頻電磁流量計勵磁控制系統[J].電子測量與儀器學報,2010,24(2):147-152.
[9] 許偉,徐科軍,楊雙龍,等.一種降低高低壓電源切換勵磁電路功耗的方案[J].自動化儀表,2015,36(8):85-88.
[10]許偉,徐科軍,楊雙龍,等.高低壓電源切換勵磁控制系統的參數計算和方案改進[J].電子測量與儀器學報,2015(6):887-894.
[11]張然,徐科軍,楊雙龍,等.采用梳狀帶通濾波的電磁流量計信號處理系統[J].電子測量與儀器學報,2012,26(2):177-183.
[12]梁利平,徐科軍,楊雙龍,等.電磁流量計漿液信號的統計模型和信號處理方法[J].計量學報,2012,33(3):215-220.
[13]LIANG L P,XU K J,WANG X F,et al.Statistical modeling and signal reconstruction processing method of EMF for slurry flow measurement[J].Measurement,2014,54(6):1-13.
[14]梁利平,徐科軍,張然,等.閾值控制的電磁流量計偏置調節方法[J].電子測量與儀器學報,2013,27(1):89-96.
[15]楊雙龍,徐科軍,梁利平,等.基于DSP的漿液型電磁流量計的研制[J].儀器儀表學報,2011,32(9):2101-2107.
[16]張然,電磁流量計數字信號處理軟件系統研究與實現[D].合肥:合肥工業大學,2012.
Research and Development of the DSP-Based Electromagnetic
Flow Transmitter with High Performance
WANG Chunchang,XU Kejun,XU Wei,LIANG Liping,WU Jianping
(School of Electrical and Automation Engineering,Hefei University of Technology,Hefei 230009,China)
In order to implement the high frequency excitation control and the digital signal processing algorithm in real time for the flow measurement of water and slurry; and to make the transmitter have a more complete man-machine interface and communication functions,the comb bandpass filtering algorithm is adopted to process the signal of water flow,and based on the signal reconstruction algorithm,the signal of slurry flow is processed.The resources of the DSP are reasonably and fully utilized,and the hardware system is designed to realize various functions of the instrument.The time sequence among excitation control,signal processing,man-machine interface,and data communication is skillfully and flexibly arranged,and the software of DSP is developed.A 20 ms timer interrupt is configured,and interrupt nesting is applied in interrupt service program,so as to ensure the real time performance of both excitation control and signal processing.The liquid crystal refresh display subroutine and the key operation subroutine which requires longer execution time are put in the main loop,so other modules can be executed normally.The DSP software developed is suitable for measuring water and slurry flow under rectangular excitation or three-value excitation.The real time performance test of algorithm,and water flow calibration test are conducted for the developed high performance electromagnetic flow transmitter,and good experimental results are obtained.
Electromagnetic flow meter; Transmitter; DSP; Real time performance; Man-machine interface; Communication module; Pulse width modulation
汪春暢(1992—),女,在讀碩士研究生,主要研究方向為嵌入式系統及其應用。E-mail:15856380353@163.com。 徐科軍(通信作者),男,博士,教授,主要研究方向為傳感器技術、自動化儀表和數字信號處理。E-mail:dsplab@hfut.edu.cn。
TH814;TP216
A
10.16086/j.cnki.issn1000-0380.201707020
修改稿收到日期:2017-03-17