微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 单片机协处理器在电力系统中的应用

单片机协处理器在电力系统中的应用

时间:07-31 来源:单片机与嵌入式系统应用 点击:

前言

在电力测量及保护系统中,通常是由单片机构成数个乃至数十个前端处理器。它们通过串行通信与微机构成的中央处理器相连接,形成一个完整的系统,以实现对电力系统的遥测、遥信、遥调、遥控等功能。

  前端处理器的核心就是单片机,从目前的情况来看,以Intel公司的16位单片机80C196系列(KB、KC等)应用最广。单片机要处理的问题很多。如I/O量、A/D模数转换、键盘、通信、显示等,处理一圈所花费的时间常称之为前端处理器的运行周期。在整个系统中,前端处理器的数量较多,中央处理器对其进行巡检时会花去较多的时间。若能将前端处理器的运行周期缩短,毫无疑问能提高整个系统的运行及处理速度,使系统的性能得以改善。

  被处理的各量中,以模拟量的处理较为复杂且耗时较长。模拟量的处理内容较多,如模拟量周期(即工频)的测定、模拟通道的选择(多个模拟量同一时刻选通一个)、A/D转换及存储等,有时还须采样/保持控制等。如能将模拟量交给一个协处理器去处理,势必会减轻主处理器的负担,缩短主处理器的运行周期,同时还能为增强某些功能需求创造条件。模拟量的计算通常是用傅氏算法,其精度又与模拟信号一周期内采样点的多少有关。采样点多,精度就高,但耗费的时间也多。若前端处理器采用单一的CPU,由于受到时间和模拟通道数量的限制,采样点大约在12~24点。若采用协处理器,采样点可多至30~36点,模拟通道多至16个,也同样可正常工作。由于主处理器与协处理器的软件各自独立,使得在编制软件思想清晰,容易理顺。

  一、硬件

  图1给出了前端处理器中采用协处理器的硬件略图(只画出有关部分)。它的主处理器仍采用了当前流行的16位单片机80C196KB(IC6),协处理器采用了W78E51单片机(IC3)。W78E51的指令及性能同89C51,只是它的工作频率可以达到40MHz。由于有两个CPU同时运行,而且它们之间还有数据交换,如何去协调它们的工作是至关重要的,这需要通过硬件和软件的设计来加强保证。

图1中,IC1是8选1的模拟通道芯片MAX338,若通道数量超过8,可选用MAX306,其通道数量可达16个。IC2为12位带采样保持功能的A/D模数变换芯片AD1674。IC4为地址锁存片74LS373,IC5为RAM存储芯片6264,它们附属于IC3,作为IC3的片外数据存储器。

硬件的工作过程是:工频电压或电流经处理后(经传感器或者电压/电流互感器、放大器、滤波器等处理)变为相应的模拟信号,分别从CI1的8个输入端(IN1~IN8)输入,具体选通哪路则取决于A0~A2的二进制数。而A0~A2又是由IC3的P10~P12决定。被选中通道的模拟量由IC1的OUT输出,经跟随器后进入IC2进行A/D变换,由R/C、A0控制变换的过程,STA给出变换结束的信号,它们分别由IC3的P15~P17实施控制和测试。变换完成的数字量为12位,分两次输出,第一次为高8位(DB11~DB4),第二次为低8位(DB3~DB0,后加4个0)。这些数据经整理后依次存入数据存储器IC5中。IC3的P14是IC2的片选信号,P33是IC4、IC5的片选信号,通常为高电平,选不中。当进行A/D变换时,须先将P14置低电平,选中该片,变换完成后,再置加高电平。当向IC5存、取数据时,须通过P33进行控制,过程同上。这样,可以防止A/D变换、IC5存取数据、IC3通过P0口向IC6传送数据这三者之间的相互交叉干扰。

  周期值的测量是由一模拟通道提供工频信号,经斯密特触发器至IC3的P13进行。P13相邻两次电平下降的时间隔即可周期值。

  IC3的P30、P31与IC6的P10、P11构成握手信号,将存放IC5中的各量依次取出,由IC3的P0口传至IC6的P0口,并存入指定的区间,再进行傅氏运算、处理和控制。IC5中存储的数据个数是1周期内各采样点的、各通道测得的数据个数的总和。设采样点为Rn,通道数为Rm,再加上前述的周期值(各量均为2字节),总的字节数C=2RnRm+2。当Rn=32,Rm=8,则C=2×32×8+2=514字节。当少于200字节时,也即采样点、通道数较少时,如Rn=16,Rm=6,IC3可用W78E52代替。W78E52可以利用片内的256个RAM来存储数据而省去片外的数据存储器,在硬件上更为简洁。

  二、软件

  图2是协处理器主程序软件框图。首先对有关的量进行说明:T0和T1是W78E51片内的两个定时器。T、Ta和Tb均为2字节寄存器,T用来存储测量出的周期值;Ta存储两相邻采样点的时间间隔,因本例中采样点为32,将T右移5位即得Ta值;Tb是Ta对应的溢出值,用来产生T0中断。注意:以上诸量都须机器周期来表示,本例中采用24MHz晶振,一个机器周期的时间为0.5μs。Rm是模拟通道数,范围是1~8。Rn是采样点数,范围是1~32。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top