您现在的位置: 范文先生网 >> 理工论文 >> 电子通信论文 >> 正文

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

时间:2007-1-20栏目:电子通信论文

的片选信号,通常为高电平,选不中。当进行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。
  
  工作过程简述如下:当P13电位下跌时,周期测试开始,到第二次P13下跌时,周期测试结束(区间为AA~AD)。两次下跌的时间间隔即为工频的周期,具有准确的跟踪特性。在周期测试开始后4μs,T0溢出产生中断,执行中断子程序,总共32次。中断子程序都是在AD~AC间执行的,也即在第一周期内所有需要测量的量都已测出。从AD往后便是第二周期,主要用来计算Ta、Tb的值,并将IC5内的数据传送出去。由此可见,协处理器的运行为2个周期,约40ms。应说明的是:在上电的第一个周期内,因周期值还未测出,故须对Tb值先行设置。图3是中断子程序软件框图。
  
  8个通道的A/D转换数据是先存入片内的RAM。这样来得快,以减少通道之间的相差(邻近通道之间的相差约为0.4°),之后,再一次性地由片内RAM转存于片外RAM。执行一次T0中断子程序的时间约为256μs。当采样点为32时,时间间隔为625μs,绰绰有余。若将采样点增至36,通道增至16个,则采样点间隔约为555μs,执行中断子程序的时间约为445μs,仍有足够的余量。
  
  软件可以用汇编语言ASM51编写,也可以用对应的高级语言PL/M51或C51编写,但前者代码率高一些。
  
  结束语
  
  以上是协处理器的一般用法,在此基础上是否能进一步缩短运行周期和提高测量精度,是一个值得研究的课题。提高主处理器IC6和协处理器IC3的工作频率(如IC6采用16MHz,IC3采用36MHz)可以提高CPU的运行速度,

上一页  [1] [2] [3] 下一页

下页更精彩:1 2 3 4 下一页