【摘要】本文介紹了一種基于XILINX公司 FPGA芯片XC2S50的設備控制診斷系統,由于應用所需,作者將其設計為一種從機接口卡,可以接收主控機的控制命令,并向主控機發送診斷數據。該接口板成功運用在高速磁浮列車懸浮控制系統中。
【關鍵字】FPGA;懸浮接口卡;診斷邏輯;中央控制邏輯
【Abstract】The paper introduces a device control and diagnosis system ,with the FPGA chip of XC2S50 produced by XILINX. According to application need, author designed the system as a slave interface board ,which can receive control commands from host device and transmit diagnosis data to it.The board was applied to maglev suspending control system of high maglev train successfully .
【Key words 】FPGA ; suspending interface board;diagnosis logic;center control logic
0 引言
一般工業控制中,主控設備除對從設備發送控制指令外,還要對從設備進行故障診斷,并對診斷結果做出響應。隨著DSP和FPGA技術的發展,工業控制方面開始使用DSP和FPGA進行工業設備控制和診斷。用FPGA技術可以將各種設備的控制邏輯和診斷邏輯在FPGA芯片中實現,替代原來為實現相應邏輯功能的控制和診斷電路,大大節省了系統空間,降低了系統功耗,并縮短了設計周期,減少了設計費用。
本文為解決實際需求提出一種基于DSP和FPGA設備控制診斷系統。采用主從結構,DSP為主機,FPGA為從機。DSP實現主控部分,實現各種復雜控制算法、向從機發送控制指令、從從機讀取診斷數據。FPGA實現設備控制邏輯、從被控設備讀取診斷數據并發送給主機。系統框圖如圖1.
圖1 設備控制診斷框圖
1 硬件電路實現
本系統主以XILINX公司XC2S50芯片實現FPGA從機功能,TI公司TMS320F2812實現DSP主機。本設計是高速磁浮列車(以下簡稱列車)懸浮控制中的一部分—懸浮接口卡,懸浮接口卡主要完成列車空氣彈簧控制裝置、懸浮設備位置識別裝置的控制邏輯,以及以上兩種被控裝置工作狀態診斷檢測。
圖2 懸浮接口卡硬件電路框圖
圖2中接口卡的控制設備有兩個:空氣彈簧、懸浮機箱。并配有診斷兩設備運行狀態的診斷邏輯。硬件結構上主要分為空氣彈簧控制裝置、安裝位置識別裝置、中央控制邏輯三個硬件模塊。各模塊分別描述如下:
1.1 空氣彈簧控制裝置
這一模塊主要功能是采集空氣彈簧中的氣壓狀態,并將其轉換成空氣彈簧控制邏輯(中央控制邏輯模塊之一)能接收的電信號。另外,還要接收空氣彈簧控制邏輯發來的充放氣指令,利用繼電器通斷實現空氣彈簧充氣、放氣電子閥的開關,從而實現空氣彈簧的充放氣操作。而空氣彈簧控制算法則在中央控制邏輯中實現。
1.2 安裝位置識別裝置
由于磁浮列車上有很多設備,這些設備在列車運行過程中發揮著不同的作用,為了維護和診斷這些設備,列車上每一個設備都唯一的設備編碼。對于懸浮機箱,主要功能是實現列車懸浮運行,每節車上兩側裝有20個懸浮機箱,為了有效管理維護這些機箱,每個安裝在列車上的機箱都有唯一的設備安裝位置識別碼。
安裝位置識別裝置主要功能是采集懸浮機箱安裝位置識別碼,將其電氣隔離后,轉化成識別安裝位置移位寄存器(中央控制邏輯模塊之一)可接收的電平數據信號。
1.3 中央控制邏輯
這一模塊是懸浮接口卡的核心單元,利用FPGA技術實現的,芯片采用XINLINX公司XC2S50。工作晶振采用10M。
如圖2中,中央控制邏輯FPGA模塊,主要實現三個邏輯模塊:空氣彈簧控制邏輯、識別安裝位置的移位寄存器、設備診斷邏輯。考慮到這一模塊功能較多,故單獨分為一部分進行說明,見2部分,中央控制邏輯設計實現。
2 中央控制邏輯設計實現
2.1 空氣彈簧控制邏輯
空氣彈簧控制邏輯根據懸浮控制器發來的懸浮狀態以及空氣彈簧控制裝置發來的空氣彈簧工作狀態作為依據,并等待主控DSP發來的EL(排氣信號)、BL(充氣信號),產生合理的空氣彈簧控制邏輯。
2.2 識別安裝位置的移位寄存器
通過識別安裝位置的移位寄存器,經過同步串行數據接口(MISO,CS_Sn,SCK)將從安裝位置識別裝置傳來的16位位置碼傳送到主控DSP。 通過信號CS_Sn,由主控DSP命令讀出安裝位置,此時SCK作為同步脈沖用于從寄存器中讀出數據,數據從MISO傳送到主控DSP,第15位首先被傳送,然后進行移位操作并作好第14位的傳送準備工作,依次傳完一個數據字,如圖3。在傳送完一個數據字后,信號SCK被關斷。傳送時序如圖4 。
圖3 移位寄存讀取圖
圖4 安裝位置移位寄存器數據傳輸時序
有一點要說明的是由于位置識別碼只是在懸浮列車上電開始運行準備階段只需成功讀取一次,列車正常運行時不再讀取,因而,位置碼的讀取速度不是設計考慮的主要因素,因而采用串行方式實現這一功能。
2.3 設備診斷邏輯
診斷邏輯主要采集來自如下數據:來自空氣彈簧控制裝置的空簧狀態數據、來自空氣彈簧控制邏輯的中間數據、來自安裝位置識別裝置的位置識別碼,共42位診斷數據。為滿足42位診斷數據的存儲,診斷邏輯設計了6個8位寬寄存器,診斷數據都通過8位寬的診斷總線D(0:7)被傳送到主控DSP ,主控DSP通過地址A(1:3)給5個寄存器分配地址,并且在CS_P_1n的幫助下命令寄存器讀出,見圖2。如果讀數據結束,寄存器的內容被不斷更新。6 個寄存器地址映射表如表1。
3 軟件設計
所在邏輯功能都在FPGA中實現,程序語言采用VerilogHDL語言完成。軟件設計安照2部分中描述的三個模塊自頂向下進行編寫,各模塊調用關系如圖5。
圖5 接口板FPGA綜合邏輯系統調用結構圖
各模塊名解釋如表2 。
表2 軟件設計參考表
4 結語
本文利用FPGA成功實現了磁浮列車懸浮接口卡中所需邏輯,利用FPGA實現空氣彈簧、懸浮機箱安裝識別裝置兩個設備的控制,并設計了這兩個設備工作運行狀態診斷邏輯。這種將周邊設備控制診斷集中在底層來設計的思想大大減輕了主控機的負擔,從而大大提高的主控機控制響應頻率。本設計成功運用在高速磁浮列車懸浮系統中,大大減輕了主控DSP的負擔,使得主控DSP能把主要運算集中在懸浮有關的算法上。
參考文獻
[1]夏宇聞,數字系統設計教程,北京航空航天大學出版社,2003年7月
[2]王靈芝,林培杰,黃春暉,FPGA的配置及其接口電路的設計,電子測量與儀器學報,2007.2:109-112
[3]XILINX Inc.,XC2S50 datasheet,http://www.xilinx.com,2003
[4]IEEE Computer Society, IEEE Standard Verilog® Hardware Description Language, The Institute of Electrical and Electronics Engineers, Inc. 28 September 2001
作者簡介
黃 兵 男,生于1983年8月,西南交通大學電氣工程學院05級電磁懸浮與超導工程專業研究生,研究方向為電力電子與懸浮控制。
通信地址:四川省成都市二環路北二段111號西南交通大學242信箱 郵編:610031
電話:13550289157
Eamil:huangbingxp@163.com