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