0 引言
随着电力系统的迅速发展我国电网规模越来越大各种电力电子装置在电力系统、工业控制及日常中的应用日益广泛对于电力系统的可靠性和安全性的要求越来越高.这就需要高压开关对电网进行实时保护在电网发生故障时及时切断电源电路防止故障扩大.为了保障高压开关的正常运行必须
定期对其机械特性进行测试了解高压开关的机械特性参数是否正常从而评估高压开关好坏以及使用寿命保障电力系统的安全稳定运行.
1 系统概述
1.1 系统总体设计[1]
根据高压开关测试系统的需要系统采用 TI公司推出的32位定点 DSP 芯片 T MS320F2812为底层处理器采用模块化设计思想极大地方便了程序的开发及维护.系统结构如图1所示其中串口Flash 采用 AT45DB041保存采集后经过计算处理的数据可以在掉电后不丢失数据.SRAM 使用256k×16位的IS61LV25616作为存储变量和程序调试时使用.系统和上位机的通讯使用 RS232方式.数据采集时首先通过 A/D 转换器件把16通道的模拟信号通过 DSP 的 A/D 转换进行处理然后将处理后的数据存储于 Flash 中通过 LCD 直接显示或发送至上位机进行后处理.
1.2 DSP 芯片选择[2]
在 DSP 的选择上考虑系统处理数据量大对输出实时性要求高且为方便系统后续软件升级和功能扩展等需求选用 TI 公司一款性价比很高的基于32位的定点 DSP 控制器 T MS320F2812.
2 系统硬件设计
2.1 模拟采集电路
交流电压信号的采集直接使用 F2812内置12位 A/D 转换模块由于该模块本身具有采样保持电路且要求输入电压范围为0~3V因此设计时需将外部输入的220V 电压信号在输入 DSP 之前转换成0~3V 电压信号.考虑这方面因素前端设计由电压互感器、电流电压转换电路、滤波电路和缓冲电路组成*后输入 DSP 的信号满足系统要求.
2.2 CPLD 设计
系统采用 ALT ERA 公司的 EPM7128实现外设地址译码、数据锁存、开关量信号的输出以及同步DSP 指令等功能内部通过原理图设计对具体功能进行实现.CPLD 的输入时钟为 T MS320F2812 的输出信号 XCLKOUT.CPLD 内部设计主要分成地址译码单元和控制单元2个模块.
地址译码单元主要完成对外设模块的地址分配包括打印机、显示器、USB 和模拟量的采样地址的分配.地址译码的实现是由 CPLD 内部3-8译码器实现.开关量的采集地址为2000H~27FF H;液晶显示器地址为2C00H~2FFF H;打印机地址为3400H~37FF H;USB 地址为3C00H~3FFF H.控制单元为 CPLD 设计的核心部分主要同步DSP 发出的分/合闸指令并对外部断路器进行控制使它按指令进行分、合闸操作从而测量高压开关的机械参数;调节 CPU 与慢速外设读写速度对数据进行缓冲、锁存;控制打印机打印数据和液晶显示器显示数据.
合/分闸的控制信号经 CPLD 的 I/O 管脚输出输出信号经过三极管和稳压电路驱动外部断路器动作.由于断路器关合过程中会产生强电磁效应若直接由 DSP 的 I/O 管脚驱动控制信号可能会使DSP 的程序跑飞影响控制效率所以系统中开关量的输入输出均由 CPLD 完成加强了系统的可靠性.
2.3 USB 通信电路设计[3]
系统采用 USB 接口芯片 CH375工作在主机方式下以串口方式与 DSP 进行通信.与 DSP 的接口连接如图2所示./WR 和/RD 分别与 DSP 的WR 和 RD 信号相连DSP 的地址线 A0与 CH375的 A0端口相连作为 CH375的命令和数据端口的选择片选信号经过 CPLD 进行地址译码产生.中断端口与 DSP 的外部中断1相接下降沿有效
3 软件设计
3.1 系统软件设计
设计采用基于优先级的、可移植、可固化、可裁剪和源码公开的占先式实时多任务操作系统μC/OS-Ⅱ其大部分程序采用 ANSIC 语言编写可读性强且其可靠性符合 RTCA DO-178B 标准.要使用μC/OS-Ⅱ首先要把这个内核成功移植[4]到 F2812上.μC/OS-Ⅱ移植时主要进行以下工作:
a.在 OS_ CPU.H 文件中用#define 语句定义与处理器相关的常量、宏及数据类型.
b.调整和修改头文件 OS_ CFG.H以裁剪或修改μC/OS-Ⅱ的系统服务减少资源损耗.
c.在 OS_ CPU_ C.C 文件中用 C 语言编写10个简单的函数.主要完成函数 OST askStkInit()的编写.
d.编写汇编语言在 OS_ CPU_ A.ASM 文件中编写4个汇编语言函数.
其中 OS_ CPU_ A.ASM 文件是μC/OS-Ⅱ移植中的重点和难点这4个汇编函数的实现是保证μC/OS-Ⅱ运行的基础.这 4 个函数分别是:OSStart HighRdy()(运行就绪态的优先级*高的任务);OSCtxSw()(任务级的任务切换);OSIntCtxSw()(中断级的任务的切换);OSTickISR()(时钟
节拍中断服务子程序)本移植用定时器 CPUTimerl 来实现延时服务[5].
3.2 应用程序设计
μC/OS-Ⅱ移植成功后即可在操作系统上搭建所需的应用程序应用程序可划分为中断程序和任务程序如图3所示.中断程序包括(按中断优先级从高到低排列)用于 A/D 采集中断服务程序、测量高压开关分合速度的 EVA 捕获中断、SCI 发送接收中断、USB 读写中断、为系统提供时钟节拍的定时器2中断;任务程序包括(按任务优先级从高到低的顺序排列)系统复位任务、键盘扫描任务、交流电压采集任务、数据处理、CPLD 状态读取和写入任务、数据保存任务、液晶显示任务和打印任务.
由于篇幅有限只对优先级*高的开始任务(T askStar)和主程序流程做简单介绍.在 T askStart任务中首先完成系统和相关外设的初始化并进行必要的自检测然后创建应用任务将开门狗复位后T askStart 要删除自己把系统资源让给其它的任务整个系统开始正常运行.
执行完 T askStart 任务后通过任务调度器调度优先级*高的键盘扫描任务通过外部中断判断优先级*高的任务跳转到相应任务中然后将DSP 处理完的数据结果送到数据保存任务中并通过显示器任务显示.
4 试验结果
将系统应用于对六氟化硫的高压开关的机械特性参数的测试通过现场多次合分闸测试测试结果如图4所示.与计算所得结果近似并将此测试结果同另一台同时工作的测试仪实际测得结果相对照结果发现2台仪器所实现的功能全部一致测得的数据也基本一致且新开发的测试仪工作稳定准确性较好并能实现与 PC 机通信和 U 盘存取功能.因此新开发的仪器可广泛应用.
5 结束语
本系统是基于某型高压开关测试仪改进的由于以前采用的基于 T MS320L2407的高压开关测试仪存储空间有限不便后续测试功能扩展和程序升级 已 无 法 满 足 市 场 需 求.故 本 文 采 用 基 于T MS320F2812的高压开关测试仪利用 DSP 和嵌入式操作系统来完成模拟信号的采集和各种数据的处理并 通 过 CPLD 完 成 控 制 信 号 输 出外 扩RS232接口方便与 PC 机通信并配有 USB 模块方便用户存储测试数据.系统的设计完全满足电力系统实时性和可靠性要求.