董文潤,黃書成
(天信儀表集團有限公司,浙江 蒼南 325800)
近年來,超聲波流量計以其非接觸測量、無可動部件、無壓力損失、超低始動流量、超高計量精度和智能化應用等優勢,成為燃氣企業追捧的對象。目前,城市燃氣計量預付費計量儀表主要以渦輪流量計與腰輪流量計為主,燃氣企業在用的超聲波流量計不具有預付費的功能,需另外配預付費控制器才能實現預付費功能。基于上述原因,研制了一款CPU 卡預付費多聲道超聲波流量計。
CPU 卡預付費超聲波流量計系統框圖如圖1 所示,主要由基表、超聲波計量模組和CPU 卡補償控制器3 部分組成。超聲波計量模組定時對超聲波信號進行處理,計算工況流量,同時采集溫度、壓力并將采集結果傳輸給修正儀。控制器集CPU 卡操作、體積修正計算、閥門控制于一體,內嵌ESAM 安全芯片,對CPU 卡的每一步操作都要安全認證,安全性高,并采用EEPROM 數據存儲技術,具備歷史數據查詢和存儲功能。修正儀帶RS485 通信接口,可與其他二次儀表或計算機聯網,進行數據傳輸。

圖1 CPU卡預付費超聲波流量計系統框圖Fig.1 CPU Card prepaid ultrasonic flowmeter system block diagram
超聲波流量計以測量聲波在流動介質中傳播的時間與流量的關系為原理,通常認為聲波在流體中的實際傳播速度是由介質靜止狀態下聲波的傳播速度和流體軸向平均流速在聲波傳播方向上的分量組成[1]。
本文研究的CPU 卡預付費多聲道超聲波流量計采用“時差法”測量流速。首先,使用探頭A 發射信號,信號穿過流體后被另一側的探頭B 接收到,測得傳輸時間tAB;在探頭A 發射信號的同時,探頭B 也發出同樣的信號,經過流體后被探頭A 接收到,測得傳輸時間tBA。由于流速的存在使得tAB和tBA存在時間差,根據此時間差便可求得流速,進而得到流量值。
按圖2 所示,順流和逆流傳播時間與各量之間的關系是:

本文研究的CPU 卡預付費多聲道超聲波流量計采用多聲道設計,能夠對渦流和不對稱流進行檢測,消除傳感器和處理電路的不確定固有延時,具有高抗噪性、測量精確等特點。同時,多聲道可以作為冗余備份,即使個別傳感器損壞,氣體超聲波流量計仍能正常工作,極大提高了檢測的可靠性。

圖2 聲速測量示意圖Fig.2 Schematic diagram of sound velocity measurement

圖3 多聲道示意圖Fig.3 Schematic diagram of multi-channel

圖4 超聲波信號采集原理框圖Fig.4 Block diagram of ultrasonic signal acquisition principle
選擇超聲換能器A 作為發送源,MCU 觸發升壓電路使能,產生10V 交流電壓給超聲換能器A 供電,超聲換能器A 通過聲道將電能轉換為聲能;相對應超聲換能器B 將接收到的聲波信號轉換為電信號,超聲換能器B 作為接收源,接收到的信號電壓范圍在-20mV ~+20mV,經過二級放大,電壓范圍在-2V ~+2V,再經過比較電路將正弦波轉換為方波。時間計算芯片采集到方波信號,計算三組時間值,通過三組時間可計算出超聲換能器的信號頻率以及飛行時間。信號頻率為超聲換能器發出的聲波頻率,如果采樣的頻率不在超聲換能器聲波頻率范圍,則可作為干擾信號處理。當超聲換能器B 作為發射源時,超聲波信號采集流程與超聲換能器A 作為發射源時的流程相同。

圖5 開閥控制原理框圖Fig.5 Block diagram of valve opening control
MCU 采集兩次飛行時間用于計算氣體流速,超聲波飛行時間計算采用時間數字轉換器實現超聲波發射、接收和計時。
閥門接口電路主要由限位開關、閥電池、電機控制電路組成,MCU 通過檢測限位開關來判斷閥門狀態[2]。圖5為開閥控制原理框圖。開閥時,MCU 給電機控制電路發送正向打開信號,電機經過齒輪傳動開閥;當檢測到限位開關到位時,停止供電,完成開閥。
流量補償控制器采用的是超低功耗的MSP430 單片機,在休眠狀態下,工作電流在100uA 以下。正常工作情況下,17A*h 鋰電池可保證控制器工作5 年。圖6 為控制器程序總體框架,MCU 平時處于休眠或待機模式,當有外部按鍵中斷、流量信號采集中斷和串口通訊中斷時MCU 退出低功耗狀態,做出響應。軟件設計采用前后臺結構、模塊化設計,各個功能模塊均為獨立模塊。當有事件觸發時,由主程序調用執行相應的功能模塊。
卡操作程序是流量計預付費功能得以實現的最重要部分,CPU 卡操作部分均在此程序基礎上完成。CPU 卡操作過程是由卡命令發送與接收操作組成,在接收與操作命令時嚴格遵守ISO7816 標準[3]。圖7 為插卡操作流程圖,CPU卡的每一步操作都需要進行安全認證。

圖6 控制器程序總體框架Fig.6 Overall framework of the controller program

圖7 插卡操作流程圖Fig.7 Card operation flowchart

圖8 CBC模式加密過程Fig.8 CBC Mode encryption process
CPU 卡預付費超聲波流量計中超聲波計量模塊作為獨立模塊,自帶MCU,主要實現溫度、壓力和超聲波信號采集,計算工況流量,并將采集信息傳輸到控制器。流量補償控制器與超聲波計量模塊通訊采用加密傳輸,保證了傳輸數據安全可靠。
加密算法采用分組密碼模式CBC(Cipher Block Chaining),即密文分組鏈接模式。CBC 模式是將前一密文分組與當前明文分組的內容進行XOR 運算,然后再進行加密。CBC 模式每一次加密都需要前一個密文塊參與,明文中微小的改變都會使后續所有密文改變。無法從密文看出明文的規律,安全性得以提高。
初始化向量IV:初始化向量IV 總共10 組。
明文片段:將需要加密的明文片段分成若干個明文片段,每個明文片段8 字節。

圖9 CBC模式解密過程Fig.9 CBC Mode decryption process
加密算法:加密算法也采用異或算法,使用明文異或IV 的結果與密鑰進行異或計算。密鑰:密鑰長度為8 字節,共10 組,每次加解密時選擇其中一組。
本文設計了一種CPU 卡預付費多聲道超聲波流量計,采用多聲道設計,該流量計各聲道可以進行聲速比對,如果差值過大,可以給出報警信息。同時,集CPU 卡操作、體積修正計算和閥門控制于一體,結構緊湊,可靠性高。