C8015F041在智能功率柜中的应用_单片机论文
关键词:c8051f041 can 现场总线 励磁
随着发电机容量的不断增大,对励磁系统的要求越来越高。某省12年的统计表明,励磁系统故障仍是发电机故障停机和非计划停运的主要原因,占发电机的非停运比大于50%。励磁系统出现故障,将影响发电系统整体可靠性,可见励磁系统的可靠性非常重要。国内目前使用的各类励磁调节器非常先进,但功率柜的制造水平还不尽如人意,这势必影响励磁系统整体性能的提高,进而妨碍升发电系统的性能。
目前,国产的励磁功率柜普遍存在检测功能不全,传送、控制和检测技术落后等问题。本文介绍的基于c8051f041的智能励磁功率柜具有完备的检测、控制、通信功能。
1 c8051f041单片机特点
c8051fxx系列单片机是美国cygnal公司新推出的一种兼容51内核的单片机。其结构较复杂,限于篇幅,在这里不再详述。以下仅就笔者对c8051f041的使用介绍一下其新特点。
①内核采用流水线结构,速度可达25mips(25mhz晶振),比普通的51快10倍;指令与标准51系列兼容,掌握开发过程非常容易;jtag调试方式,支持在系统、全速、非插入调试和编程,不占用片内资源。
②片上集成64kb flash,4352b内部ram(256+4kb,可外扩至64kb),32个i/o口,12通道12位100ksps可编程增益adc,8通道8位500ksps可编程增益adc,2路12位dac,3路模拟比较器,内部电压基准,片内电源监视、降压检测、看门狗。由于c8051f041的高集成度,避免了外扩rom、ram、a/d、d/a、watchdog、可编程i/o口、eeprom(用片内flash实现),大大简化了硬件电路,为形成以c8051f041为核心的单片系统创造了条件,从而可提高系统的可靠性。
③片内集成2个uart,1个sm(兼容i2c),1个spi。最为便利的是,c8051f041集成了can总线控制器。can总线具有开发费用低、抗干扰性强、适用于工业现场应用等特点,其在干扰非常严重各种工业现场测控领域得到广泛应用。c8051f041只需加上can总线收发电路就可挂接到can通信网络上,大大简化了通信系统的设计,同时可减少通信节点受到干扰的概率。
④可编程的16位计数器阵列(pca),有6个捕捉/比较模块,5个通用16位计数器/定时器。这为需求定时器/计数器较多的测控节点提供了方便。
⑤c8051f041能够满足绝大多数工业测控节点的要求,能够形成以c8051f041为核心的单片系统;配以外围测量单元,可以形成完整的测控节点,提高系统的可靠性。
2 智能励磁功率柜的系统结构
智能功率柜系统原理框图如图1所示。在功率柜中最关键的部件是三相全控桥。控制此桥的核心参数触发角度经can总线由调节器送出,同时送达本地柜应发的电流值。经检测得到的输出电流值与调节器的应发给定电流值进行比较,完成pi运算后产生新的微调触角度。该触发角度经pca形成触发脉冲继而驱动三相全控桥,从而在电子级实现柜间均流。与此同时,通过信号检测模块将柜内温度、晶闸管通断状态、输出电流值送入微控制器,对各参数进行计算分析,与设定阀值比较,实时显示测量结果并可进行报警。
2.1 基于pca模块实现的数字移相触发
三相晶闸管全控桥工作原理及6个晶闸管的触发脉冲相序关系如图2所示。
pca包含6个基于同一16位计数器作为时基的捕捉/比较模块,每个模块可构成正沿捕捉、负沿捕捉、正负沿捕捉、软件定时器、高速输出、脉冲宽度调制器6种方式。在本系统中,其被构造成高速输出模式,每当pca计数器与模块的16位捕捉/比较寄存器相匹配,相应模块的cex引脚的逻辑电平发生变化,并引起相应中断。
触发信号从同步信号过零点计时,调节器经can网络发送给各功率框触发我的电角度值α、同步信号周期值tsyn、脉冲宽度w。同步信号采样电路如图3所示。同步信号过零产生中断时,使pca计数器开始计数,并根据α、w、tsyn及pca计数频率计算出α的对应值tα1~tα6和脉冲后沿的对应值tw1~tw6,并将tα1~tα6写入6个模块的16位捕捉/比较寄存器。当捕捉寄存器的值与pca计数器相符时,cex引脚变为高电平,相应模块产生中断。在中断子程序中相应的twn读写入16位捕捉/比较寄存器,其与pca计数器值相符时,cex引脚变为低电平,一路触发单脉冲产生,用门电路可将6路单脉冲合为6路双窄脉冲。下式为tα和tw计算方法:
tαn=tsyn[α+90(n-1)]/(360×tclk)
twn=tsyn[α+w+90(n-1)]/(360×tclk)
n=1,2,…,6,tclk为pca计数器计数周期。
2.2 通过片内flash在线修改参数
c8051f041的flash的0x0000~0x007f的地址范围既可用于片内64kb flash,也可用于附加的128b的扇区,这通过设置psctl寄存器的sfle位实现。由于片内flash必须先擦除再写入,而且以512b一扇区进行,故附加的128b的扇我更适合用作非易失性数据存储。功率柜需在线修改的参数为pi调节器的p和i。下面以keil c51为例给出在线修改参数的程序。
wrre_flash(){
unsigned int xdata *pwrite;
unsigned int code *pread;
unsigned char i;
unsigned char il;
wdtch=0xde; //禁止看门狗
wdtcn=0xad;
flscl|=0x09; //25mhz时钟的擦写频率
psctl|=0x02; //允许flash扇区擦除
psctl|=0x05; //允许flash扇区写
pwrite=0x0000; //0x0000指向128b扇区
*pwrite=0; //擦除flash
psctl&=~0x02; //禁止擦除flash
for(i=0;i<2;i++) //将p和i参数写入
{*pwrite++=pi[i];}
psctl&=~0x01; //禁止写flash
pread=0x0000; //读入当前值
for(il=0;il<2;il++){pi[il]=*pread++;}
}
3 can总线在励磁装置中的应用
can总线是主要的现场总线之一。由于其较低的开发费用、良好的抗干扰能力等特点,其在工业测控领域得到广泛应用。关于can总线的基本概念、接口电路等方面的相关内容较多,这里不再详述。本文重点介绍如何用c8051f041实现can总线通信。
3.1 c8051f041的can控制器结构
c8051f041内部集成can控制器,不需外加can控制器(如sja1000),这对于需要良好抗干扰性的测控系统有很大好处;可将c8051f041构成为集通信与控制功能于一体的单片系统,大大简化硬件设计,进而提高系统抗干扰能力。
图4给出c8051f041内部can结构图,mcu不能直接访问信息ram,必须通过if寄存器,然后由if寄存器与信息ram交换数据。信息ram共可存32帧信息,if寄存器分为if1和if2两组,可分别定义为接收、发送功能,if的commandrequest寄存器定义访问32帧信息的哪一帧,commandmask定义将一帧信息的哪一部分传到ram。
中断寄存器ir为0x0000,表示没有断发生;为0x0001~0x0020,表示32帧的哪一帧引脚中断;为0x8000,表示状态改变(发送完成、接收完成、错误状态)引起中断。
3.2 can通信
通信的初始化过程与其它can控制器类似,不再详述。限于篇幅仅给出如图5所示的发送、ram与if通信和接中断子程序的框图。
3.3 can总线在智能功率柜中的应用
can通信系统由4个节点组成:1个调节器和3个功率柜。功率柜由c8051f041完成通信功能,调节器由集成了can协议的网卡ht-1302b负责通信。本系统由带屏蔽层的双绞线构成通信介质,最大通信距离不超过150m,通信速率可达250kbps。调节器发送单柜应发电流值、触发角、同步信号周期、脉冲宽度给各功率柜,功率柜将各柜输出电流值、导通监视结果、柜内各点温度反馈回调节器。
4 应用中的问题
①在默认中断顺序中,can的中断号高于int1(优先级低),应将can设为高中断优先级使其高于int1,这样才能有正确的触发角度。
②在线修改参数时,读、写指针的数据类型应分为code、xdata,擦除、写入flash后应分别立即禁止擦除、禁止写入,参数写入后应将参数再读入ram中。
③总线定时寄存器的设置极大影响了can性能的发挥。应用中,我们采用16mhz晶振,btr为1c01h,通信速率为250kbps,两点间最大通信距离为150m,通信效果很好。
④新推出的c8051c06x除具有c8051f04x的功能外,新增了16位adc。这为需高精度测量的应用场合提供了方便。