2.1.5CAN接口电路
STR730FZ2集成了CAN2.0的控制器,但是没有集成CAN总线驱动器,因此必须进行CAN总线驱动接口电路的设计。经过比较采用PCA82C250作为总线驱动器具有良好的性价比。
2.1.6其他控制电路设计
本装置还加入了时钟电路、液晶显示、声光报警电路、电源电路等。
时钟电路主要是为了复费率功能而设计的,选用DS12C887作为实时时钟芯片。本系统采用图形点阵液晶12864-16作为显示单元,12864-16液晶显示模块具有低功耗、供应电压范围宽等特点。报警电路采用了声光报警的形式,当发生故障、过电流以及欠费时,装置将发出报警信号;本装置通过不同颜色LED灯的组合来通知当前报警的类型,以便用户进行相应的处理。
整个装置中的芯片需要两个电源供电,以保证系统工作的稳定性。因此,装置采用12V交流或直流电压供电,经过整流、滤波、7805稳压后输出+5V的直流电压,以满足装置的需求。
2.2CAN到USB转换卡
该转换卡采用C8051F045、SN65HVD230和CP2102组成。CP2102是USB转UART的单芯片桥接器,利用它可以使设计简化很多,降低了编程难度。
2.3中继器
中继器主要完成节点扩展与线路延长的功能,实现了在两个CAN网段之间数据转发,有效的增加了网络通信的长度。一个中继器下面挂载50~70个点,可以根据每个楼层房间数进行设置中继器个数,来完成电能数据的传输。
3 软件设计
软件设计主要进行了电量计量装置的设计。软件主要完成采集后的电力参数的处理、CAN数据的处理、射频数据的交换、故障报警等功能。整个软件系统的设计是基于中断的思想来设计的,这样有利于降低系统的功耗。系统的主程序主要完成自检和初始化的任务,之后进入低功耗模式,其余的功能由中断来触发完成相应的功能。
3.1中断处理程序
中断程序主要包括电量数据采集中断(定时中断)、CAN中断、射频中断等,其中电量数据采集中断具有最高的优先级,射频中断属于外部中断。
1)电量数据采集中断主要采用定时中断完成电力参数的采集,根据采样定理以及电能计算公式的要求,设定每200μs中断一次,进行A/D转换及对结果的处理,由于采样及处理在具有最高优先级的定时中断中完成,其余中断不能干扰采样的进行,保证了采样的实时性及准确性[5]。
在此还需要考虑采集的通道数,设定用户数为N=8,所以有8路电流和1路电压采样通道,另外把公共电流也作为第N+1个用户,所以实际上采样的通道数为10个。所以在中断程序中要进行10次A/D转换数据的读取。