基于DSP的數字式科氏質量流量變送器
脈沖輸出4~20mA輸出
工業標定時,要求變送器能夠輸出代表流量的脈沖信號,并且實際工業現場要對儀表進行遠程測量,要求變送器有標準的模擬輸出,一般是4~20mA電流信號。
系統軟件方案
系統軟件采用模塊化設計,主要包括初始化、算法、中斷、人機接口、測量結果輸出、FRAM、看門狗等模塊,這些模塊由主監控程序統一調用,如圖2所示。
主監控程序
主監控程序負責整個軟件系統各模塊子程序的調度。系統上電后,主監控程序調用各模塊初始化子程序,初始化完畢后,開啟AD轉換,采集傳感器信號,確定濾波器參數;之后便進入不斷調用算法、計算流量、控制驅動信號的循環中,其中還包含調用LCD顯示、鍵盤處理子程序、SCI上傳數據以及輸出相應電流和脈沖信號。
初始化模塊
系統初始化負責對整個系統時鐘、片內外設時鐘的配置,以及對看門狗模塊和中斷向量表的初始化;外設初始化包含對片內、片外各設備模塊的初始化,片內設備主要包含McSBP、DMA、XINTF、CPU定時器、ePWM、GPIO、SCI等,片外器件主要包含ADC、LCD、FRAM、等;算法初始化主要負責對全局變量、算法相關參數的初始化。
驅動模塊
DSP內部采用正負階躍交替激勵啟振法,結合非線性幅值控制算法[4],實現對傳感器幅值的靈活控制,可以使傳感器快速啟振。非線性幅值控制算法能在傳感器信號很小時提供更大的增益控制信號,在兩相流/批料流情況下維持流量管的振動。
中斷模塊
系統中斷主要包括AD、DMA、cputimer0、掉電保護中斷,其中AD、DMA中斷用于對AD采樣數據的讀取,cputimer0中斷用來實現對流量的累加,而掉電保護中斷則是用于掉電時對相關參數的保存。
算法模塊
算法模塊主要包含帶通濾波、格型自適應算法、計及負頻率的DTFT算法。
數字帶通濾波器用來濾除工業現場的多種噪聲,如隨機噪聲、工頻干擾、電機和管道振動等引起的某一固定頻率干擾等。
采用格型自適應算法估計信號的頻率。與直接型自適應陷波濾波器相比,格型計算量大大降低,且參數少,通過調整相應參數就能方便地跟蹤頻率的變化,且跟蹤速度快,跟蹤精度高[5]。
采用計及負頻率影響的DTFT算法計算信號相位差,DTFT算法可以在每個采樣點計算出傅立葉系數,且收斂速度快,滿足科氏信號處理的實時性;同時,因為考慮了負頻率的影響,所以提高了相位差的計算精度[2]。
評論