【关键字】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 硬件电路实现
本系统主以XILINX公司XC2S50芯片实现FPGA从机功能,TI公司TMS320F2812实现DSP主机。本设计是高速磁浮列车(以下简称列车)悬浮控制中的一部分—悬浮接口卡,悬浮接口卡主要完成列车空气弹簧控制装置、悬浮设备位置识别装置的控制逻辑,以及以上两种被控装置工作状态诊断检测。
图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 。
有一点要说明的是由于位置识别码只是在悬浮列车上电开始运行准备阶段只需成功读取一次,列车正常运行时不再读取,因而,位置码的读取速度不是设计考虑的主要因素,因而采用串行方式实现这一功能。
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。
各模块名解释如表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