1、基于 PCI 总线的电力在线监测系统摘要:电力系统在线监测系统是电力系统稳定控制、继电保护动作、事故分析等控制措施的基本环节。本文主要介绍了一套基于 PCI 总线的电力在线监测系统,着重在基于 PCI 总线的通信接口方面做了细致的描述。根据监测系统的设计原理,作者给出了监测系统的工作流程图,在文章的最后,作者总结了整个监测系统的性能以及优缺点。 关键词:在线监测;数据采集;PCI 接口;混合编程 中图分类号: F407 文献标识码: A 1 引言 在日益庞大、自动化程度越来越来高的电力系统中,电力系统故障也呈现出多样化和复杂化的特点。对电力系统进行在线监测、快速识别故障、实时处理和录波已成为保
2、证电力系统安全稳定运行的重要环节。这就对电力系统中的监测系统在精度、实时性和可靠性等方面提出了严格的要求。基于此要求,笔者设计了一套基于 PCI 总线、16 位分辨率的高速、高精度电力监测系统。 在系统设计的硬件方面,笔者选用具有 16 位精度的 AD976 作为模数转换芯片,其最大转换速率为 100kb/s。缓存器选用双口 RAM IDT7133。采集系统的逻辑控制和计算由 DSP TMS320VC33-120 完成。PCI 接口功能由 Altera 公司提供的 PCITARGET 接口宏核逻辑 pci_t32 实现。在软件设计方面,上位机采用的是 C 语言;下位机采用了 C 语言和汇编语言
3、混合编程的方式;PCI 接口的驱动程序由 WinDriver 实现。 针对在线监测系统的工作要求,作者对系统的工作流程进行了相应的设计。 电力在线监测系统的结构: 2.1 硬件部分数据采集 采集系统的整体结构如图 1 所示,本数据采集系统包含三个部分,分别是:模拟输入、数据采集、以及基于 PCI 接口的数据传输。 模拟输入 模拟输入部分由模拟开关、低通滤波器、采样保持器、多路开关和运算放大器组成。在模拟信号进入 AD 转换通道前对信号进行预处理,确保输入信号不超过 AD 转换器的输入范围。 图 1.采集系统原理图 (2)数据采集部分 数据采集部分由 AD 转换器、微处理器、双口 RAM 和状态
4、寄存器构成。来自电力系统的模拟输入信号,经过采样保持器、多路开关和程控运算放大器后成为符合 AD 转换芯片 AD976 动态变化范围的模拟信号,并输入AD976。AD976 的输入范围为-5+5V。 AD 转换部分的逻辑控制和故障判断由高速微处理器 TMS320VC33 完成。选用高速 DSP 作为下位机的微处理器是充分考虑如到故障判断时,对一些暂态分量和高频分量计算的需要,如傅立叶变换、数字滤波等等。DSP具有强大的数字信号处理能力,提高了故障判断的快速性和准确性,而且 16 位的 DSP 与 16 位的 AD、16 位的双口 RAM 配合,可以对采样集数据进行整体的搬移,也提高了系统的工作
5、效率。 用双口 RAM 作为数据缓存器,可以实现 DSP 和上位机同时对缓存器的读写操作,提高通信速率。本系统选用容量大小为 4k16bit 的双口RAM IDT7133 作为数据缓存器。采样的数据放入双口 RAM,由 DSP 计数,双口 RAM 半满后 DSP 向上位机发送中断信号。 状态寄存器存放的是 DSP 的工作方式控制字,由上位机写入。通过状态寄存器,可以实现上位机对 DSP 工作方式的控制。 (3)PCI 接口部分 PCI 总线是高速同步总线,具有 32bit 的总线宽度,最大的传输速率为 132Mbit/s。PCI 总线接口相对其它总线接口来说是比较复杂的,它不仅有着严格的同步时
6、序要求,而且为了实现即插即用和自动配置,PCI 接口还必须有许多配置寄存器。目前市场上有一些专用的 PCI 接口芯片,如 S5933、PLX9054 等等,但使用 S5933 需要外部扩展 FPGA 来进行 IO 接口处理,占用面积较大。而使用含有 PCI MegaCore 的 FPGA 芯片可以根据设计的要求自行设计接口功能,不仅降低了成本、提高了电路板的集成度,而且,通过在顶层的测试口,可以大幅度提高接口逻辑的调试速度。 pci_t32 是 Altera 公司提供的最简单的 32 位 PCITARGET 接口宏核逻辑,支持 33MHz 和 66MHz 的 PCI 时钟,其外围接线简单实用,
7、在 PCI总线一侧,各信号线符合 PCI 规范 2.2 版,系统上电后,通过 PCI 配置寄存器,双口 RAM 被映射到上位机的寄存器空间或 I/O 空间,上位机通过寄存器操作或 I/O 操作可以对双口 RAM 进行访问;在扩展总线一侧:l_adi31:0为地址、数据的输入端;l_dato31:0、l_adro31:0分别为数据和地址的输出端;l_beno3:0 为字节使能端;l_cmdo3:0为命令输出端;lt_rdyn 为目标设备准备好信号线,与 双口 RAM 的 BUSY 相连,避免上位机与下位机对双口 RAM 的同一地址单元进行操作;lt_irqn 为目标设备的中断请求线,由 DSP
8、控制,lt_irqn 有效时,上位机执行双口RAM 的猝发读操作;lt_tsr11:0与目标设备的状态寄存器相连由上位机控制,通过 lt_tsr11:0上位机将控制字写入状态寄存器,从而实现对DSP 工作模式的定义。PCI 接口的结构如图 2 所示。 图 2.PCI 接口结构图 PCI 规范中定义了 Memory 和 I/O 两种读写操作模式,而 Memory 读写又分单周期读写模式和猝发读写模式。在作者设计数据采集系统中,采用的是 Memory 的猝发读模式,所谓猝发读模式,即在给出首地址后,主设备连续读取多个数据,而从设备能对自动地址加 1。pci_t32 的猝发Memory 读操作时序如
9、图 3 所示。 图 3. 猝发读操作时序图 PCI 主设备在第 3 个 clk 给出读目标地址 ad31:0和 Memory 读命令cben3:0=0x0110,在 pci_t32 的第 4 个 clk 向用户给出读目标地址l_adro31:0 和 Memory 读命令 l_cmdo3:0=0x0110。用户设备要对1_cmdo3:0译码,来判断是何种操作,对 l_adro31:0译码来选择目标地址。lt_irqn 由 DSP 控制,可以作为目标设备的输出使能端,lt_irqn第 4 个 clk 为低电平时,pci 目标设备必须将目标地址的数据 D0 放到1_adi31:0,这样在第 5 个
10、clk 的上升沿 pci_t 32 可以采样到数据D0,在第 6 个 clk 的上升沿 pci 主设备可以得到数据 D0。由于是猝发传输,加法器将控制地址单元加 1,依次传输完其他数据,在第 14 个 clk的上升沿,上位机通过 lt_tsr11:0将控制字写入目标状态寄存器。 软件部分开发平台 软件设计主要包含三部分,DSP 的软件设计,PC 机的软件设计和PCI 接口的驱动程序设计。 在 DSP 的软件设计中,若用 C 语言进行开发,程序的可读性较强,但是由 C 编译器形成的汇编语言不一定能合理利用 DSP 的片内资源;若用汇编语言进行开发,片内资源的利用率较高,但程序的可读性较差。为了充
11、分利用 DSP 芯片的内部资源,更好的发挥 C 语言的可读性,作者采用混合编程的方式进行软件设计。 在 PC 机侧,由于涉及到对硬件的操作,故而选用对硬件有较强控制能力的 C 语言进行开发。 驱动程序的设计是针对 PCI 接口的,配置空间包含了初始化 PCI 设备所必需的信息,首先要需要遍历整个硬件树结构来寻找指定的 PCI 设备。对于每一个设备,比较其厂商号(Vendor ID)和设备编号(Device ID),如果与设计的 PCI 卡的信息匹配,则读取它的配置空间信息。驱动程序设备初始化完成后,通过资源管理器就可以查询 PCI 板卡在 PC 机中所分配的地址,从而可实现对状态寄存器和双口
12、RAM 的读写操作。 监测系统工作流程 采集系统的采样频率、采样通道数均由状态寄存器中工作方式字控制。这里不妨设一个周期内的采样点数为 N。 监测系统的工作流程如图 4 所示。在图中,BLOCK0 为一个桶形存储单元,循环存故障前的数据。BLOCK0 的容量为 N,偏移地址为 0N-1,每采样一个新点,地址指针自动加 1,当指针为 N 时,指针归 0。 BLOCK1 的容量也为 N,存放故障后一个周期的数据。 上位机在收到 DSP 的中断命令后,读取双口 RAM 中的数据。根据故障信息,上位机作出相应的控制决策。 图 4.系统工作流程图 4 结束语 用 DSP 实现的多路高速电力在线监测系统是
13、有多方面优越性的,其高速数据采集完全可以响应瞬态或暂态发生事件。监测系统的传输总线采用 PCI 总线,提高了系统的通用性及可扩展性,而且使整个系统具有高速、高可靠性等特点,能很好的满足电力系统在线监测方面的需要。但在系统的工作流程方面仍然存在一些缺陷。例如,如果系统处于录波状态时发生了电力系统故障,则此故障无法被识别,故而,对于发生时间相隔很短的两次故障,监测系统可能会丢失部分数据。在今后的研究中,可以考虑在 DSP 中嵌入多任务的实时操作系统解决此类问题。 参考文献: 1 李贵山, 陈金鹏. PCI 局部总线及其应用M. 西安电子科技大学出版社. ApplicationsM. XiDian
14、University Press. 2 高辉, 崔文进, 莫昕, 童陆圆. 新型电力系统通用控制器的研究与实现J. 电力系统自动化.2000, 25(7), 21-24. 3 沙智明, 都育黔, 都玉山, 杨以涵. 电力系统实时相角测量高速数据采集卡设计J. 电力自动化设备.2005,25(5),70-72. 4 彭海兰, 张翌晖, 蒋志龙. 基于 PCI 总线的高精度数据采集系统J.电网技术. 2004, 28(4), 69-72. 5 胡和平, 田宜波. 基于 FPGA 的 PCI 接口设计J. 计算机工程. 2003, 29(8), 156-157. 6 刘海平, 朱仲英. 基于 FPGA 的 PCI 总线接口设计J. 微型电脑应用. 2003, 19(9), 49-51. 7 和志强, 薛世建. 基于 PCI 总线的高速大容量数据采集卡J. 数据采集与处理. 2004, 19(4), 464-466. 8 苏鹏声, 王欢. 电力系统设备状态监测与故障诊断技术分析J.电力系统自动化. 2003, 27(1), 61-65. 9 张旭东, 付强, 何松华, 李保国.基于 PCI 接口的多通道高速数据采集系统J. 数据采集与处理, 2000, 15(2), 240-244.