許義寶,胡永兵,陳慶然
(安徽大學 計算智能與信號處理教育部重點實驗室,安徽 合肥 230601)
隨著經濟的快速發展,工業在國民經濟中所占的比重大幅增加,對石油的需求量也是與日俱增[1]。由于管道運輸石油具有運輸量大、經濟、安全、可靠等優點[2],因此現代工業運輸石油較多采用管道運輸的方式。然而,早期的輸油管線運行狀態數據采集主要是通過人工巡檢抄表方式完成,效率低下且實時性差,無法達到對管線狀態的實時監測[3],存在一定的局限性。與傳統的以電信號為媒介的傳輸網絡相比,光纖傳輸[4]具有傳輸容量大、傳輸損耗小、重量輕、不怕電磁干擾等優點。相比于單片機[5],FPGA[6]運行速度快,I/O資源豐富;FPGA內部各模塊并行運行,有處理更復雜功能的能力;電路的改動通過修改代碼即可完成,具有很強的靈活性。
文中提出一種基于FPGA的多節點串聯光纖傳輸系統,對輸油管線各監測節點的流量、壓力及溫度等數據信息進行采集、匯總并將數據傳輸至遠程監測中心,從而實現對管線運行狀態的實時監測,克服了早期輸油管線運行狀態數據采集過于依靠人力的弊端,減小了輸油管線運行狀態監測的成本。
輸油管道中流量、壓力及溫度等數據是需要監測的重要信息[7],輸油管線每間隔一段距離便會布置一個監測節點,即數據采集設備。文中通過對每個數據采集設備配套一個對應地址的節點設備用以完成對本節點數據的采集,再通過多個節點設備的串聯,實現了多個節點的數據采集。系統總體方案示意圖如圖1所示。

圖1 系統總體方案示意圖
系統中節點設備的硬件電路設計主要包括FPGA選型、外圍電路設計,外部存儲模塊設計以及光電轉換模塊設計,節點設備的硬件原理框圖如圖2所示。

圖2 節點設備硬件原理框圖
該設計中選用的FPGA芯片型號為EP1C6T144 C8,器件邏輯資源豐富,擁有5 980個邏輯單元(LE),2個PLL,片內存儲器達到92 160 bit,最多104個用戶I/O[8]。FPGA外圍電路設計主要包括:FPGA配置下載電路以及FPGA電源電路。該設計采用了AS和JTAG[9]兩種下載配置方式。FPGA電源電路采用AMS1117-1.5線性穩壓器將外部輸入的3.3 V電壓轉換為1.5 V的FPGA所需內核電壓[10]。由于FPGA的內部RAM資源有限,同時還要存儲編碼數據,因此采用外部RAM進行數據存儲,選用IDT公司芯片IDT70V05,3.3 V、32 k×8 bit異步高速雙端口靜態RAM。光電轉換模塊接口電平標準為CML/LVPECL,最高支持2.5 Gbit/s傳輸速率。光發射部分,單模光纖,中心波長1 550 nm;光接收部分,接收靈敏度高,波長響應范圍1 100~1 650 nm。
FPGA程序設計是系統的核心。該設計中使用Verilog HDL[11]語言采用自上而下[12]的設計方法,頂層模塊包含有上級輸入數據接收緩存模塊、本節點數據源接收緩存模塊和本級數據輸出模塊三大部分,各功能模塊在Altera公司的Quartus II 13.0軟件下采用Verilog HDL語言設計完成,并在Modelsim軟件下編寫Testbentch[13]進行仿真測試。系統程序模塊框圖如圖3所示。

圖3 系統程序模塊框圖
對于節點設備,有兩路數據通信,分別為節點設備與節點設備、節點設備與數據采集設備。單字節的傳輸協議采用的是RS-232C標準[14],兩路數據通信采用的是自定義通信協議,數據校驗[15]采用校驗和[16]算法,數據幀格式定義如圖4所示。

圖4 數據幀格式定義
節點設備與采集設備間通信數據幀的第一個字節為幀頭,接下來是三個字節的數據,即為采集設備需要傳輸給節點設備的數據信息,最后一個字節是數據幀的幀校驗字節。節點設備與節點設備間的通信數據幀長度與系統預期設計的節點數有關,節點數目越多,數據幀長度越長。以三節點系統為例,數據幀的第一個字節為幀頭,接下來每連續三字節分別是采集設備1、采集設備2和采集設備3數據的存放位置,共占九個字節長度,最后一個為幀校驗字節。
節點設備接收兩路數據,FPGA程序中的上級輸入數據接收緩存模塊將來自上級節點設備的數據幀接收緩存于RAM中,本節點數據源接收緩存模塊將自本級數據采集設備的數據幀接收緩存于數據寄存器中。兩個模塊工作原理類似,以上級輸入數據接收緩存模塊為例,其程序流程圖如圖5所示。

圖5 上級輸入數據接收緩存模塊程序流程
圖5中的data表示UART模塊收到的字節數據;n表示從幀頭開始接緩存的字節個數;L表示數據幀的長度;check表示幀校驗字節,隨著接收字節的增加而更新,一幀字節接收完成后,通過其值判斷緩存的數據幀是否有效;address表示數據存儲于RAM中的地址,其數值會隨著接收字節個數對應自增;Data_WR_Done是數據幀緩存完成且有效的指示信號,下級數據協議合并處理模塊通過檢測其上升沿來觸發工作。
節點設備接收兩路數據,上級輸入數據接收緩存模塊將來自上級節點設備的數據幀接收緩存于RAM中,若一幀有效數據幀接收緩存完成,則數據有效指示信號2變為高電平并保持一個時鐘周期;本節點數據源接收緩存模塊將自本級數據采集設備的數據幀接收緩存于數據寄存器中,若一幀有效數據幀接收緩存完成,則數據有效指示信號1變為高電平并保持一個時鐘周期。
當檢測到數據有效指示信號2產生上升沿時,觸發本級數據輸出模塊工作,首先發送幀頭字節,接著逐個地址讀取緩存于RAM中的數據并發送,當到達本節點號對應地址位置時,不讀取RAM中數據,而是判斷數據有效指示信號1是否為高電平,若為高電平,則將寄存器中緩存的數據放于對應位置發送出去,若為低電平,則對應位置發送三個字節00H,代表為空,最后發送幀校驗字節,幀校驗字節是由幀頭和數據字節計算出的和校驗字節;若系統長時間未檢測到數據有效指示信號2產生上升沿,則系統設備為啟動自動發送數據全為00H的空數據幀,同時檢測數據有效指示信號1,若為高電平,則將寄存器中緩存的數據放于數據幀中節點地址對應數據位置,為低電平,則對應位置數據不變,均為00H,代表為空。如此保證了串聯的數據傳輸系統不會因某兩個節點間通信的斷開而停止工作。
系統運行測試如圖6所示。搭建一個三節點的系統進行功能測試,用三個AVR-Mega16A最小系統板來模擬數據采集設備0、1和2,數據采集設備發送數據的波特率為9 600 bit/s,節點設備與節點設備間波特率設置為115 200 bit/s,將節點設備2的輸出用RS232模塊連接至PC觀察具體數值。測試結果表明,系統運行正常,節點設備與節點設備間通信正常,數據經光纖傳輸準確無誤。

圖6 系統運行測試圖
設計實現了一種多節點的數據采集傳輸系統。系統能夠完成輸油管線各監測節點流量、壓力及溫度等數據信息采集的自動化和信息化,進而實現對輸油管線運行狀態的實時監測,克服了早期數據采集過于依靠人力的弊端,減小了輸油管線運行狀態監測的成本,提高了數據采集的穩定性和安全性。系統測試運行工作穩定,能夠實現預期設計的功能。
[1] 劉朝全,姜學峰.2016年國內外油氣行業發展報告[M].北京:石油工業出版社,2016.
[2] 張其莘,趙 靜.油氣管道運輸發展現狀及問題分析[J].石化技術,2016,23(10):252-253.
[3] ANGIONI A,SHANG J,PONCI F,et al.Real-time monitoring of distribution system based on state estimation[J].IEEE Transactions on Instrumentation and Measurement,2016,65(10):2234-2243.
[4] DAVIS C C,MURPHY T E.Fiber-optic communications [in the spotlight][J].IEEE Signal Processing Magazine,2011,28(4):150-152.
[5] 呂俊亞.一種基于單片機的溫度控制系統設計與實現[J].計算機仿真,2012,29(7):230-233.
[6] 王占領,張登福,李云杰.基于ARM和FPGA的1553B總線設備檢測系統的設計[J].計算機工程與科學,2014,36(6):1005-1010.
[7] XIA Changqing,LIU Wei,DENG Qingxu.Cost minimization of wireless sensor networks with unlimited-lifetime energy for monitoring oil pipelines[J].IEEE/CAA Journal of Automatica Sinica,2015,2(3):290-295.
[8] LUPON E,BUSQUETS-MONGE S,NICOLAS-APRUZZESE J.FPGA implementation of a PWM for a three-phase DC-AC multilevel active-clamped converter[J].IEEE Transactions on Industrial Informatics,2014,10(2):1296-1306.
[9] 姜宏旭,劉亭杉,李輝勇,等.FPGA+DSP異構視頻處理系統中基于SRIO的數據高效傳輸方法[J].計算機學報,2015,38(6):1119-1130.
[10] 袁俊杰,胡天宇.基于FPGA的多傳感器集成光纖傳輸系統[J].儀表技術與傳感器,2015(3):43-46.
[11] 朱永華,朱 聰,鄭衍衡.基于FPGA的高性能計算中全局流水的研究[J].計算機工程與設計,2011,32(10):3382-3385.
[12] 嵇曉強,戴 明,孫麗娜,等.機載多路視頻圖像采集與傳輸系統[J].計算機工程,2012,38(6):16-18.
[13] PEDRONIV A.Circuit design with VHDL[M].[s.l.]:MIT Press,2004.
[14] VIJAYA V,VALUPADASU R,CHUNDURI R R,et al.FPGA implementation of RS232 to universal serial bus converter[C]//2011 IEEE symposium on computers & informatics.[s.l.]:IEEE,2011:237-242.
[15] 張樹剛,張遂南,黃士坦.CRC校驗碼并行計算的FPGA實現[J].計算機技術與發展,2007,17(2):56-58.
[16] 陳金平,王生澤,吳文英.基于LabVIEW的串口通信數據校驗和的實現方法[J].自動化儀表,2008,29(3):32-34.