王秀蓮 葉 偉, 呂 巖
(1.沈陽理工大學信息科學與工程學院,沈陽 110159;2.中國科學院沈陽自動化研究所,沈陽 110016)
隨著電子工業和計算機工業的飛速發展,數據采集系統在網絡、通信及工業控制等領域得到了廣泛的應用。同時對數據采集系統的設計要求越來越高,不僅要求接口簡單靈活、實時性高,而且要求有較高的傳輸率[1]。在具有Profibus-DP總線運行監測、故障診斷、協議分析,更高級的協議認證測試功能的總線分析器中就需要對總線上的狀態數據進行實時采集。面向工業現場總線Profibus-DP分析器主要用于Profibus-DP現場總線的診斷分析與維護。Profibus-DP總線分析器用于連接PC終端到Profibus-DP總線,其主要功能是完成Profibus-DP總線通信數據傳輸、通信服務映射、通信協議映射和行規映射[2]。Profibus-DP總線分析器具有主站的功能,DP主站側重控制和通信,總線分析器側重主站監測和配置。
筆者設計了一種基于FPGA和USB2.0的高速數據采集系統,采用FPGA作主控制器,通過AD控制模塊接收來自現場總線上工作狀態的信息數據,并根據需要對這些數據進行處理,然后通過USB接口模塊將采集的數據經USB總線送入計算機顯示,通過采集的數據波形分析總線上的運行狀態,為Profibus-DP總線分析器實現高級功能提供可靠的基礎。FPGA具有高時鐘頻率、運行速度快、效率高及組成形式靈活等優點,因此利用FPGA作主控制器對現場總線上的數據進行采集具有重要的價值。
目前具有類似功能的Profibus-DP主站設備中的控制器、緩存和通信控制器基本都是采用ARM+ASPC2協議芯片[3,4]和ARM+赫優通信模塊[5,6]的解決方案。采用上述方案不能實現總線分析器的功能,因為采用協議芯片會屏蔽掉總線的部分信息,不能完全獲取總線的工作信息和狀態,必須采用FPGA定制化的通信控制器來實現分析器的功能需求和實時性要求[7]。筆者設計的系統采用FPGA硬件電路實現,使通信數據延遲最小,提高了處理性能,降低PC機的處理器負荷。Profibus-DP總線分析器應用模式如圖1所示。

圖1 Profibus-DP總線分析器應用模式
Profibus-DP現場總線分析器包括4部分:USB 2.0控制器用于實現計算機的通信功能;FPGA模塊用于實現計算機的通信服務到Profibus-DP現場總線的映射,同時實現Profibus-DP通信編/解碼處理;信號隔離實現PC端到Profibus-DP現場總線的數據信號隔離;高速信號采集和Profibus物理通用異步收發器用于實現信號的采集和Profibus-DP物理層通信。
整個系統以高速數據采集模塊為核心,配備符合物理層標準的接口電路、滿足標準要求的信號隔離模塊、USB 2.0全速通信模塊和FPGA的信號處理模塊。整個系統存在3條數據通路:
a. 高速數據采集→FPGA→USB 2.0→PC;
b. DP RS-485→FPGA→USB 2.0→PC;
c. PC→USB 2.0→FPGA→DP RS-485。
高速數據采集板用到的芯片有:FPGA芯片、高速AD芯片、SDRAM芯片、USB2.0芯片及RS-485驅動器芯片等。高速數據采集板的結構框圖如圖2所示。

圖2 高速數據采集板結構框圖
硬件電路有模擬信號調理電路、AD接口電路、SDRAM接口電路、Profibus-DP通信電路及USB接口電路等。
模擬信號調理電路設計。模擬信號調理電路的主要芯片是LMH6702。LMH6702是雙電源供電,設計電源時就要設計出-5V電源,通過電路負載能力的計算采用CRZ0505NC能滿足-5V的負載要求。整個調理電路的目的是將總線上采集的-9~9V電壓信號調理到ADC08200能轉換的0.0~2.1V范圍內。調理電路如圖3所示,利用分壓電阻得到0.9V基準電壓,在分壓電路中使用2.5V的穩壓器,使其輸入到運放正相輸入端的電壓更穩定,同時在AD轉換電壓范圍的電路中也使用同樣的2.5V穩壓器保證電壓一致、穩定。分壓之后利用運放LMH6702來構成電壓跟隨器提供直流偏置[8]。B-line的調理電路采用同樣的設計。
AD接口電路設計。AD芯片使用TI公司的ADC08200,ADC08200是單通道、低功耗、高速8位模數轉換器,它具有成本低、體積小及易于使用等優點,最高采樣率達200MS/s。為了滿足高速采集的要求,采用A-line、B-line兩路同時采集。AD接口電路如圖4所示。
兩路AD同時采集A-line、B-line模擬信號,通過FIFO存儲到SDRAM,然后對數據進行必要的處理。AD1_CLK、AD2_CLK是兩個AD轉換器的時鐘,AD1_PD、AD2_PD是兩個AD轉換器的PD(PD為掉電保護),當PD為低時D0~D7正常輸出,當PD為高時D0~D7輸出保持,AD1_DATA[0:7]、AD2_DATA[0:7]是兩個AD轉換器的數據線。
Profibus-DP通信電路設計。RS-485的驅動器采用集成芯片SN65HVD1176。Profibus-DP通信電路如圖5所示。電隔離模塊采用NVE公司的IL614,該芯片內部集成三通道線性GMR傳感器隔離通道,輸入采用線圈結構,只要提供5mA電流即可使輸入電平通過隔離柵。IL614具有高速、低延遲、低功耗、長壽命、小體積及高可靠性等特點,非常適合Profibus-DP的隔離應用,滿足設計要求。

圖3 模擬信號調理電路

圖4 高速AD接口電路

圖5 Profibus-DP通信電路
USB接口電路設計。該電路采用Cypress公司推出的EZ-USBFX2系列芯片CY7C68013A[9]。EZ-USB FX2系列芯片是世界上第一款集成USB2.0協議的微處理器,它集成了USB2.0收發器、串行接口引擎(SIE)、增強的8051微控制器和可編程的外圍接口,并且提供了完善的固件和主機程序開發包。該微處理器的CPU采用的是增強型805l內核,比標準的8051速度快,硬件資源也更為豐富,功能更強大。它支持12Mbit/s的全速傳輸模式和480Mbit/s的高速傳輸模式。USB接口電路的主要功能是把處理后的數據送到USB2.0芯片中,通過USB總線送到上位機中。USB2.0芯片通過I2C總線外擴一片128KByte的EEPROM,用來存儲USB固件程序及重要的數據等。
系統的主控制芯片采用Xilinx公司Spartan-6系列的FPGA,型號為XC6SLX25。在Xilinx ISE 開發環境下,用Verilog HDL硬件語言開發,完成數據采集控制、數據存儲控制及USB控制等模塊的設計。整個數據采集系統的工作流程如圖6所示。

圖6 數據采集系統的工作流程
采集過程:
a. 初始化FPGA——FPGA邏輯控制AD采集開啟和SDRAM數據存儲。其中包括AD及SDRAM等時鐘的產生。在Xilinx Spartan-6系列的FPGA芯片中,不再使用分立的DCM或者PLL核來調用底層資源,而是通過統一的“Clock Wizard” IP核來完成各個控制模塊的時鐘,使設計更加方便。
b. 將儲存的數據進行必要的處理后,通過USB總線進行數據傳輸,由上位機發出傳輸命令,通過FPGA內部的邏輯控制將數據傳輸到上位機。FPGA只需要利用FX2做一個USB 2.0接口而實現與主機的高速通信,而它本身又能夠提供滿足Slave FIFO要求的傳輸時序,可以做Slave FIFO主控制器。Slave FIFO模式是FX2最常用的模式。在這種方式下,FX2內嵌的8051固件的功能只是配置Slave FIFO相關的寄存器和控制FX2工作在Slave FIFO模式下的時間。一旦8051固件將相關的寄存器配置完畢,且使自身工作在Slave FIFO模式下后,FPGA可按照Slave FIFO的傳輸時序,與主機進行高速通信,而在通信過程中不需要8051固件的參與。
搭建了一個小型測試驗證系統,系統由西門子PLC作為主站,采用已有的模塊設計了8個測試節點,用以模擬總線工作狀態和故障現象。實驗系統如圖7所示。
為了實現Profibus-DP總線分析工具對Profibus-DP總線運行監測、故障診斷和協議分析,提供更高級的協議認證測試功能,筆者設計了一個基于Profibus-DP總線分析器的高速數據采集系統。給出了高速硬件電路及FPGA程序設計等,同時在搭建的實驗測試環境下進行測試,該系統能很好地完成數據采集任務。與傳統的高速數據采集系統相比,該系統具有特殊定制性和更強的抗干擾能力。

圖7 Profibus-DP現場總線實驗系統
[1] 孫東輝,胡輝,郭云波.基于FPGA的高速多路數據采集系統的設計[J].微計算機信息,2009,25(8):209~210,258.
[2] 周侗,胡靜濤,楊志家.Profibus協議分析軟件的設計與實現[J].化工自動化及儀表,2012,39(10):1300~1301,1364.
[3] 黃治文.基于ARM的Profibus-DP主站設計與研究[D].南京:南京理工大學,2009.
[4] 胡建中,李開成.基于ASPC2的Profibus-DP主站的研究[J].計算機測量與控制,2004,(12):1185~1187,1194.
[5] 張曉剛,鄧梧鵬.基于赫優訊嵌入式模塊的Profibus-DP主站系統的設計[C]. 中國儀器儀表學會2008學術年會第二屆智能檢測控制技術及儀表裝置發展研討會論文集.北京:中國儀器儀表學會過程檢測控制儀表分會,2008:22~29.
[6] 高娣.Profibus-DP主站模塊的開發[D].北京:北方工業大學,2012.
[7] 孫倩華,滿慶豐,夏繼強.FPGA和ARM的Profibus-DP主站通信平臺設計[J].單片機與嵌入式系統應用,2010,(2):65~67.
[8] 康華光,陳大欽,張林.電子技術基礎:模擬部分[M].北京:高等教育出版社,2006.
[9] 熊俊俏,劉崢.基于CY7C68013的高速數據傳輸系統的設計[J].電子技術應用,2010,(7):73~75.