新闻中心

EEPW首页>模拟技术>设计应用> 基于ADE7755的新型电量计量方案

基于ADE7755的新型电量计量方案

作者: 时间:2011-09-06 来源:网络 收藏
5V基准电源电路

  图3 5V基准电源电路

  经过此电路可以在电源模块MC7805的3端得到+5V的基准电源。其中R25为压敏变阻器。

  P87C591外围电路和CAN总线部分设计

  通过P87C591电路可以实现指定时间内用的计算、数据存储、修改电度表数值和通过图4所示的CAN总线收发电路实现与上位机的通信。

  有关P87C591外围电路设计,可以参见其他单片机的外围电路设计,这里不再赘述。

CAN总线收发电路

  图4 CAN总线收发电路

  连接P87C591和单片机之间的芯片是P82C250。图4这部分电路的原理可以参考有关CAN总线设计方面的资料,这里也不再阐述。

  软件部分设计

  本方案的软件部分主要由主程序和中断服务子程序组成。其中主程序完成的功能有芯片和CAN总线的初始化、进行的计算和存储。

  中断服务子程序完成的功能是利用CAN总线实现和主机之间的通信和电表初值的设定。其中电表初值设置由上位机完成,这样可以节省单片机的外围电路并且可以防止现场人为恶意的更改值。其中CAN总线的初始化程序如下:

  voidinit_can_controller()

  {

  //进入CAN控制器复位模式

  CANMOD=0x01; //将CAN控制器设置为复位模式以启动初始化

  //TXDCPort(P1.1)配置

  //管脚TXDC设置为推挽模式

  P1M2=P1M2|0x02;//P1M2.1=’1’,P1M1.1=’0’(默认)

  CANADR=BTR0; //BTR0和BTR1编程为125kbit/s@12MHz

  CANDAT=0x45;

  CANADR=BTR1;//TSEG1=12,TSEG2=3,SJW=2

  CANDAT=0x2B;//Sample=1->sample point~81%

  //验收滤波器的配置-- Bank1的滤波器1配置为接收ID=010.0000.0xxx

  CANADR=ACR10;//将地址设置到验收代码寄存器0(Bank1)

  CANDAT=0x50;//验收代码0用于滤波

  CANDAT=0xE0;

  CANADR=AMR10;//将地址设置到验收屏蔽寄存器0(Bank1)

  CANDAT=0x00;//bank1:验收屏蔽0

  CANDAT=0x0F;//bank1:验收屏蔽1只与高四位有关

  CANDAT=0xFF;//bank1:验收屏蔽2无关

  CANDAT=0xFF;//bank1:验收屏蔽3无关

  CANADR=ACFMOD;//将地址设置到ACF模式寄存器

  CANDAT=0x55;//单验收滤波器使用11位ID(SFF)

  CANADR=ACFPRIO;//将地址设置到ACF优先级寄存器

  CANDAT=0xFF;//所有滤波器都为高优先级

  结束语

  综上所述,由于是专用电量芯片,且具有抗干扰的优点,而P87C591及其外围电路也是当前成熟的技术,其可靠性和抗干扰性都得到了实际验证,所以本方案简单易行。

电度表相关文章:电度表原理



上一页 1 2 下一页

关键词:7755ADE电量计量

评论


相关推荐

技术专区

关闭