公司新闻

基于DSP和嵌入式操作系统的高压开关测试仪设计

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 模块方便用户存储测试数据.系统的设计完全满足电力系统实时性和可靠性要求.












沪公网安备 31011402005121号

Baidu
map