【摘要】本文介紹了一種基于XILINX公司 FPGA芯片XC2S50的設(shè)備控制診斷系統(tǒng),由于應(yīng)用所需,作者將其設(shè)計(jì)為一種從機(jī)接口卡,可以接收主控機(jī)的控制命令,并向主控機(jī)發(fā)送診斷數(shù)據(jù)。該接口板成功運(yùn)用在高速磁浮列車懸浮控制系統(tǒng)中。
【關(guān)鍵字】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 引言
一般工業(yè)控制中,主控設(shè)備除對(duì)從設(shè)備發(fā)送控制指令外,還要對(duì)從設(shè)備進(jìn)行故障診斷,并對(duì)診斷結(jié)果做出響應(yīng)。隨著DSP和FPGA技術(shù)的發(fā)展,工業(yè)控制方面開始使用DSP和FPGA進(jìn)行工業(yè)設(shè)備控制和診斷。用FPGA技術(shù)可以將各種設(shè)備的控制邏輯和診斷邏輯在FPGA芯片中實(shí)現(xiàn),替代原來(lái)為實(shí)現(xiàn)相應(yīng)邏輯功能的控制和診斷電路,大大節(jié)省了系統(tǒng)空間,降低了系統(tǒng)功耗,并縮短了設(shè)計(jì)周期,減少了設(shè)計(jì)費(fèi)用。
本文為解決實(shí)際需求提出一種基于DSP和FPGA設(shè)備控制診斷系統(tǒng)。采用主從結(jié)構(gòu),DSP為主機(jī),F(xiàn)PGA為從機(jī)。DSP實(shí)現(xiàn)主控部分,實(shí)現(xiàn)各種復(fù)雜控制算法、向從機(jī)發(fā)送控制指令、從從機(jī)讀取診斷數(shù)據(jù)。FPGA實(shí)現(xiàn)設(shè)備控制邏輯、從被控設(shè)備讀取診斷數(shù)據(jù)并發(fā)送給主機(jī)。系統(tǒng)框圖如圖1.
圖1 設(shè)備控制診斷框圖
1 硬件電路實(shí)現(xiàn)
本系統(tǒng)主以XILINX公司XC2S50芯片實(shí)現(xiàn)FPGA從機(jī)功能,TI公司TMS320F2812實(shí)現(xiàn)DSP主機(jī)。本設(shè)計(jì)是高速磁浮列車(以下簡(jiǎn)稱列車)懸浮控制中的一部分—懸浮接口卡,懸浮接口卡主要完成列車空氣彈簧控制裝置、懸浮設(shè)備位置識(shí)別裝置的控制邏輯,以及以上兩種被控裝置工作狀態(tài)診斷檢測(cè)。
圖2 懸浮接口卡硬件電路框圖
圖2中接口卡的控制設(shè)備有兩個(gè):空氣彈簧、懸浮機(jī)箱。并配有診斷兩設(shè)備運(yùn)行狀態(tài)的診斷邏輯。硬件結(jié)構(gòu)上主要分為空氣彈簧控制裝置、安裝位置識(shí)別裝置、中央控制邏輯三個(gè)硬件模塊。各模塊分別描述如下:
1.1 空氣彈簧控制裝置
這一模塊主要功能是采集空氣彈簧中的氣壓狀態(tài),并將其轉(zhuǎn)換成空氣彈簧控制邏輯(中央控制邏輯模塊之一)能接收的電信號(hào)。另外,還要接收空氣彈簧控制邏輯發(fā)來(lái)的充放氣指令,利用繼電器通斷實(shí)現(xiàn)空氣彈簧充氣、放氣電子閥的開關(guān),從而實(shí)現(xiàn)空氣彈簧的充放氣操作。而空氣彈簧控制算法則在中央控制邏輯中實(shí)現(xiàn)。
1.2 安裝位置識(shí)別裝置
由于磁浮列車上有很多設(shè)備,這些設(shè)備在列車運(yùn)行過(guò)程中發(fā)揮著不同的作用,為了維護(hù)和診斷這些設(shè)備,列車上每一個(gè)設(shè)備都唯一的設(shè)備編碼。對(duì)于懸浮機(jī)箱,主要功能是實(shí)現(xiàn)列車懸浮運(yùn)行,每節(jié)車上兩側(cè)裝有20個(gè)懸浮機(jī)箱,為了有效管理維護(hù)這些機(jī)箱,每個(gè)安裝在列車上的機(jī)箱都有唯一的設(shè)備安裝位置識(shí)別碼。
安裝位置識(shí)別裝置主要功能是采集懸浮機(jī)箱安裝位置識(shí)別碼,將其電氣隔離后,轉(zhuǎn)化成識(shí)別安裝位置移位寄存器(中央控制邏輯模塊之一)可接收的電平數(shù)據(jù)信號(hào)。
1.3 中央控制邏輯
這一模塊是懸浮接口卡的核心單元,利用FPGA技術(shù)實(shí)現(xiàn)的,芯片采用XINLINX公司XC2S50。工作晶振采用10M。
如圖2中,中央控制邏輯FPGA模塊,主要實(shí)現(xiàn)三個(gè)邏輯模塊:空氣彈簧控制邏輯、識(shí)別安裝位置的移位寄存器、設(shè)備診斷邏輯??紤]到這一模塊功能較多,故單獨(dú)分為一部分進(jìn)行說(shuō)明,見2部分,中央控制邏輯設(shè)計(jì)實(shí)現(xiàn)。
2 中央控制邏輯設(shè)計(jì)實(shí)現(xiàn)
2.1 空氣彈簧控制邏輯
空氣彈簧控制邏輯根據(jù)懸浮控制器發(fā)來(lái)的懸浮狀態(tài)以及空氣彈簧控制裝置發(fā)來(lái)的空氣彈簧工作狀態(tài)作為依據(jù),并等待主控DSP發(fā)來(lái)的EL(排氣信號(hào))、BL(充氣信號(hào)),產(chǎn)生合理的空氣彈簧控制邏輯。
2.2 識(shí)別安裝位置的移位寄存器
通過(guò)識(shí)別安裝位置的移位寄存器,經(jīng)過(guò)同步串行數(shù)據(jù)接口(MISO,CS_Sn,SCK)將從安裝位置識(shí)別裝置傳來(lái)的16位位置碼傳送到主控DSP。 通過(guò)信號(hào)CS_Sn,由主控DSP命令讀出安裝位置,此時(shí)SCK作為同步脈沖用于從寄存器中讀出數(shù)據(jù),數(shù)據(jù)從MISO傳送到主控DSP,第15位首先被傳送,然后進(jìn)行移位操作并作好第14位的傳送準(zhǔn)備工作,依次傳完一個(gè)數(shù)據(jù)字,如圖3。在傳送完一個(gè)數(shù)據(jù)字后,信號(hào)SCK被關(guān)斷。傳送時(shí)序如圖4 。
圖3 移位寄存讀取圖
圖4 安裝位置移位寄存器數(shù)據(jù)傳輸時(shí)序
有一點(diǎn)要說(shuō)明的是由于位置識(shí)別碼只是在懸浮列車上電開始運(yùn)行準(zhǔn)備階段只需成功讀取一次,列車正常運(yùn)行時(shí)不再讀取,因而,位置碼的讀取速度不是設(shè)計(jì)考慮的主要因素,因而采用串行方式實(shí)現(xiàn)這一功能。
2.3 設(shè)備診斷邏輯
診斷邏輯主要采集來(lái)自如下數(shù)據(jù):來(lái)自空氣彈簧控制裝置的空簧狀態(tài)數(shù)據(jù)、來(lái)自空氣彈簧控制邏輯的中間數(shù)據(jù)、來(lái)自安裝位置識(shí)別裝置的位置識(shí)別碼,共42位診斷數(shù)據(jù)。為滿足42位診斷數(shù)據(jù)的存儲(chǔ),診斷邏輯設(shè)計(jì)了6個(gè)8位寬寄存器,診斷數(shù)據(jù)都通過(guò)8位寬的診斷總線D(0:7)被傳送到主控DSP ,主控DSP通過(guò)地址A(1:3)給5個(gè)寄存器分配地址,并且在CS_P_1n的幫助下命令寄存器讀出,見圖2。如果讀數(shù)據(jù)結(jié)束,寄存器的內(nèi)容被不斷更新。6 個(gè)寄存器地址映射表如表1。
3 軟件設(shè)計(jì)
所在邏輯功能都在FPGA中實(shí)現(xiàn),程序語(yǔ)言采用VerilogHDL語(yǔ)言完成。軟件設(shè)計(jì)安照2部分中描述的三個(gè)模塊自頂向下進(jìn)行編寫,各模塊調(diào)用關(guān)系如圖5。
圖5 接口板FPGA綜合邏輯系統(tǒng)調(diào)用結(jié)構(gòu)圖
各模塊名解釋如表2 。
表2 軟件設(shè)計(jì)參考表
4 結(jié)語(yǔ)
本文利用FPGA成功實(shí)現(xiàn)了磁浮列車懸浮接口卡中所需邏輯,利用FPGA實(shí)現(xiàn)空氣彈簧、懸浮機(jī)箱安裝識(shí)別裝置兩個(gè)設(shè)備的控制,并設(shè)計(jì)了這兩個(gè)設(shè)備工作運(yùn)行狀態(tài)診斷邏輯。這種將周邊設(shè)備控制診斷集中在底層來(lái)設(shè)計(jì)的思想大大減輕了主控機(jī)的負(fù)擔(dān),從而大大提高的主控機(jī)控制響應(yīng)頻率。本設(shè)計(jì)成功運(yùn)用在高速磁浮列車懸浮系統(tǒng)中,大大減輕了主控DSP的負(fù)擔(dān),使得主控DSP能把主要運(yùn)算集中在懸浮有關(guān)的算法上。
參考文獻(xiàn)
[1]夏宇聞,數(shù)字系統(tǒng)設(shè)計(jì)教程,北京航空航天大學(xué)出版社,2003年7月
[2]王靈芝,林培杰,黃春暉,FPGA的配置及其接口電路的設(shè)計(jì),電子測(cè)量與儀器學(xué)報(bào),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
作者簡(jiǎn)介
黃 兵 男,生于1983年8月,西南交通大學(xué)電氣工程學(xué)院05級(jí)電磁懸浮與超導(dǎo)工程專業(yè)研究生,研究方向?yàn)殡娏﹄娮优c懸浮控制。
通信地址:四川省成都市二環(huán)路北二段111號(hào)西南交通大學(xué)242信箱 郵編:610031
電話:13550289157
Eamil:huangbingxp@163.com