APP下载

分段供电开关的状态监测系统设计*

2010-04-26胡练武江汉红芮万智

舰船电子工程 2010年10期
关键词:主程序监测器驱动程序

胡练武 江汉红 芮万智 王 洁

(海军工程大学电气与信息工程学院 武汉 430033)

1 引言

在高速磁悬浮列车和其他高速直线推进系统中,动力冲程一般较长。为提高电机效率、降低输入容量,需采用分段供电网络形式,通过分段供电开关控制直线电机各段初级(定子)串连分段运行。此类高速直线推进系统一般工作于高电压和强电流下,且分段供电的切换开关需频繁通断,故工程上通常采用无触点的双向可控硅交流开关(即晶闸管组件,包含正反2个晶闸管)作为各段初级绕组的开关器件。高速直线推进系统中,直线电机有三相绕组,每相的长初级被分成多段,这样,会存在大量的晶闸管开关组件。而它们的性能状态将直接影响到高速直线推进系统运行的可靠性。因此,对分段供电开关的故障状态进行在线监测显得尤为重要。

2 分段供电开关工作状态分析

高速直线推进系统中,直线电机有三相绕组,每相的长初级绕组被分成N段,采用双向可控硅(晶闸管)交流开关对各段绕组进行通、断电控制。如图1所示。

无故障情况下,给晶闸管的控制极加适当的触发电压,可以使晶闸管正常导通。但是如果晶闸管极间发生短路或者超温,那么将导致晶闸管的损坏,不能正常导通。

图1 直线电机分段供电开关

3 系统总体设计

基于集散测控的设计思想,这里将监测系统设计为两级:第一级直接面向直线电机的分段供电开关,由若干个分布监测器组成,基于ARM9设计,用于分散监测;第二级通过计算机网络对第一级采集的直线电机分段供电开关数据进行提取汇集,由一个主监测器组成,基于PC104设计,用作监测数据中心。

图2 直线电机分段供电开关状态监测系统总体结构

4 系统硬件设计

4.1 分布监测器设计

4.1.1 分布监测器主体电路设计

在本系统中,分布监测器主要由ARM9微处理器、电源及复位电路、FPGA采集电路、SDRAM/FLASH存储电路、三线调试串口电路、RS485串口电路、CAN串口电路、实时工业以太网接口电路等功能模块组成,如图3所示。

分布监测器以工业级ARM9微处理器为核心进行设计,用FPGA芯片作为ARM9微处理器的协处理器,给系统扩展了105个并行I/O口,直线电机分段供电开关的多路T TL状态量通过FPGA的并行I/O口进入监测器。ARM9微处理器读取FPGA上I/O寄存器的状态数据,暂存在SDRAM中,并对状态数据进行分析处理,然后打包成实时工业以太网数据帧发送给监测数据中心。

图3 分布监测器主体电路结构

1)SDRAM/FLASH存储电路设计

SDRAM是掉电易失性RAM存储器,主要用来存放程序运行过程中产生的指令和数据[1]。本系统采用两片SDRAM 芯片对ARM9微处理器的SRAM进行扩展。单片SDRAM 芯片是16位的,容量32MB,采用两片则可以扩展到32位,64MB。连接电路,如图4所示。

图4 SDRAM存储电路

闪存是掉电非易失性ROM存储器,可用来固化嵌入式操作系统的引导程序、芯片驱动程序以及存储用户编写的应用软件和其他在系统掉电后需要保存的数据(如每个I/O所对应的分段供电开关序列号)。在系统设计时,我们为ARM9微处理器扩展了NOR FLASH。连接电路,如图5所示。

2)TT L状态量信号采集电路设计

故障状态检测与识别:检测通道的故障(正常)信号以高(低)电平方式指示,其一旦有故障产生就会保持高电平不变直到故障排除。直线电机分段供电开关的状态信号输出如表1所示。

图5 NOR FLASH存储电路

表1 分段供电开关的状态信号识别与输出

图6 FPGA与ARM9的接口电路

每个分布监测器监测36个分段供电开关,即 72个 T TL状态量。分布监测器通过可编程I/O口对这些TT L状态量信号进行采集。由于 ARM9上的可编程I/O端口数量有限,不能满足大量T TL状态量信号的同步采集需求。本系统采用工业级FPGA芯片作为ARM9微处理器的协处理器,给系统扩展了105个可用于 T TL状态量信号采集的 I/O。FPGA与ARM9主要通过配置线、数据总线、地址总线、控制信号线相连,如图6所示。

4.1.2 分布监测器组网电路设计

1)三线调试串口电路设计

图7 三线调试串口(RS232)电路

三线调试串口主要是作为ARM9微处理器与用于嵌入式开发的宿主机PC进行数据交换的接口。连接电路,如图7所示。

2)实时工业以太网接口电路设计

图8 实时工业以太网接口电路

工业以太网EtherNet/IP,是一种适用于工业环境的通讯体系,能够在广阔的区域中支持大量现场设备的连接[2]。 本 系 统 在ARM9微处理器上扩展了一个50芯的插槽,作为与Ethernet/IP组网模块COMX的接口。Ethernet/IP组网模块COMX与ARM9之间通过Ethernet/IP组网模块COMX内的双口RAM共享数据。连接电路,如图8所示。

4.2 监测数据中心设计

PC104系统作为一种工业计算机系统目前在工业控制领域的应用越来越广。由于PC104规范采用总线插接结构,使得PC104系统具有结构紧凑、应用灵活、整机功耗低等优点。本设计中,采用一台PC104工控计算机作为监测系统的数据中心。该PC104工控机采用了Mobile Intel Pentium M ULV 773处理器,频率为 1300MHz。板载256M的DDR内存,4G TF卡,支持 USB 2.0和12通道COM口,标准VGA视频输出接口,LCD液晶显示。主要硬件组成,如图9所示。

图9 监测中心硬件组成框图

其中,处理器通过PC104扩展总线与 Ethernet-IP组网模块相连,使PC104工控机支持实时工业以太网通信。PC104工控机作为监测数据中心,接收各分布监测器上传的状态数据,并进行分析和处理,提供给用户。

5 系统软件设计

本系统在WIN CE嵌入式操作系统下,实现了TT L状态量信号的采集和通信功能。主要的软件功能模块有:基于FPGA的状态量采集模块、基于ARM9的FPGA设备驱动模块、分布监测器主程序、监测数据中心主程序等。

5.1 基于FPGA的状态量采集模块

在QuartusII软件平台上进行开发,采用VHDL语言编写。代码实现如下:

1)实体说明(Entity):描述 FPGA 的输入、输出端口信号:CS、rd、wr、data(15 dow nto 0)、address(3 downto 0)、T TLsignals(120 downto 0)。

2)构造体描述:设计I/O数据寄存器,用来暂存TT Lsignals(120 downto 0)对应引脚的电平状态;针对ARM9的总线读写时序设计了FPGA的读数据进程和写数据进程。

5.2 基于ARM9的FPGA设备驱动模块

在Platform Builder4.2开发环境下,对FPGA设备驱动程序进行开发。FPGA驱动程序采用标准流式驱动结构进行设计[3]。主要包括以下9个函数:

1)DWORD FPGA_Open()函数,用于打开FPGA设备驱动程序。当ARM9的监测器主程序执行CreatFile()函数时,系统将调用FPGA_Open()打开FPGA设备。

2)BOOL FPGA_Close()函数,用于关闭FPGA驱动程序的事例。当监测器主程序通过Close-Handle()函数来调用 FPGA_Close()后,驱动程序引用的事例将不再有效。

3)DWORD FPGA_Init()函数:当监测器主程序开始使用FPGA设备时,设备管理器通过ActivateDeviceEx()函数调用FPGA_Init()来初始化FPGA设备。

4)BOOL FPGA_Deinit()函数:当需要卸载FPGA驱动时,设备管理器会调用该函数来卸载FPGA驱动程序。

5)DWORD FPGA_Read()函数:当FPGA 驱动程序被打开后,监测器主程序可以使用ReadFile()函数对FPGA设备进行读操作。操作成功,返回实际读取的字节数,如果失败,则返回-1。

6)DWORD FPGA_Write()函数:当 FPGA驱动程序被打开后,监测器主程序可以使用Write-File()对FPGA设备进行写操作。

7)BOOL FPGA_IOControl()函数:应用程序使用DeviceIOControl()函数来通知操作系统调用这个函数。通过参数dwCode来通知FPGA驱动程序要执行的操作。

8)void FPGA_PowerDown()函数:电源管理。

9)void FPGA_PowerUp()函数:电源管理。

5.3 分布监测器主程序

在Microsoft embedded Visual C++4.0开发环境下,对监测器主程序进行开发。监测器主程序主要包括以下几个功能模块:FPGA驱动的加载、网络连接及参数的设置、数据采集及发送、退出监测。由于本系统对数据的安全性要求较高,所以我们采用流式套接字,用TCP协议传输分段供电段开关的状态数据。软件流程如图10所示。

图10 分布监测器主程序的软件流程

5.4 监测数据中心主程序

监测数据中心(RTU)主程序运行于PC104,在VC++开发环境下编写。监测数据中心(RTU)主程序主要实现以下功能:1)连接分布监测器;2)通过以太网接收分布监测器上传的状态数据;3)对分段供电开关的状态数据进行分析、处理;4)通过状态矩阵将分段供电开关的状态直观的显示给用户。软件流程如图11所示。

图11 监测数据中心主程序的软件流程

6 实测结果分析

测试一

分段供电开关状态正常,无故障信号输入。监测数据中心显示结果如图12所示。

注:状态矩阵中的绿色方格表示对应的分段供电段开关的状态正常,红色表示短路状态,白色表示超温状态,黄色表示两种故障状态同时存在。

测试二

4号分段供电开关输入超温信号,15号分段供电开关输入短路信号和超温信号,26号分段供电开关输入短路信号,监测数据中心显示结果如图13所示。

测试三

20号和21号分段供电开关输入超温信号,34号和35号分段供电开关输入短路信号,监测数据中心显示结果如图14所示。

实测结果表明,该系统能够准确、可靠的对连接在分布监测器上的36个分段供电开关的超温和短路两种故障状态进行在线实时监测。

7 结语

本文采用ARM9微处理器实现了对长初级短次级直线电机分段供电开关的状态监测。系统采用ARM9加FPGA的方式进行I/O扩展,由FPGA上的高速并行I/O完成对直线电机分段供电开关的超温和短路两种状态量的采集,具有速度快、精度高的优势,状态采集实时性达1ms。数据通信上,本系统在ARM9微处理器上实现了实时工业以太网通信,保证了分布监测器与监测数据中心进行数据通信的实时性和可靠性。

[1]周立功,等.ARM嵌入式系统教程[M].北京:北京航空航天大学出版社,2005:33~71

[2]李正军.现场总线与工业以太网及其应用系统设计[M].北京:北京人民邮电出版社,2006,2

[3]周立功,等.ARM&WinCE实验与实践[M].北京:北京航空航天大学出版社,2007,7

[4]高丽,林里,孔若英.EtherNet/IP在工业控制领域的应用研究[J].开发研究与设计技术,2007(2):123~125

[5]刘瑞安.嵌入系统特征、研究概况与设计实现[J].自动化与仪器表,2004(3):5~8

[6]鹿海霞.嵌入式振动信号采集网络通信设计[D].东南大学硕士学位论文,2006:11

[7]林长青,孙胜利.基于FPGA的多路高速数据采集系统[J].电测与仪表学报,2005,42(5):52~54

[8]夏婷,等.嵌入式状态监测与故障诊断装置的设计[J].微计算机信息(测控自动化),2008(4):1~6

[9]Bimal K Bose.M odern Power Electronics and AC Drives[M].PH PTR,2002

[10]XU Zheng,ZHANG Gui-bin,LIU Hai-feng.The Controllable Impedance Range of TCSC and Its TCR Reactance Constraints[C]//Power Engineering Society Summer Meeting,IEEE,2001:939~943

猜你喜欢

主程序监测器驱动程序
自动升级程序在船舶监测系统中的应用
一种适用于柔直换流站阀厅避雷器在线监测表计的研制
浅谈数控铣削技术代码程序的嵌套方式研究
阻止Windows Update更新驱动程序
3300/20双通道轴向位置监测器探头的安装与调试
电控冰箱软件模块化设计
计算机硬件设备驱动程序分析
健身监测器
时光倒流 换回PotPlayer老图标
谷歌研发可穿戴糖尿病监测器