高速高性能单片机C8051F020及其在柜式电能表中的应用
摘要: 柜式电能表内部的CPU要求具有双串口,一方面读取电能计量终端的数据,同时通过RS485通讯接口将这些数据上传至电能管理信息系统。经过一番比较,笔者采用了美国Cygnal公司推出的完全集成的混合信号系统级芯片C8051F020,与普通单片机相比较,它具有扩展芯片少,连线少,资源多,编程简单,升级维护容易等优点,而且可靠性和稳定性也可得到保证,从而简化了测量仪器硬件电路系统设计,实现测量数据的显示,打印,大大高了测量仪器性能指标和性价比。而其具有的片内调试电路,使设计人员可通过JTAG接口进行非侵入式,全速的在系统调试。
柜式电能表内部的CPU要求具有双串口,一方面读取电能计量终端的数据,同时通过RS485通讯接口将这些数据上传至电能管理信息系统。经过一番比较,笔者采用了美国Cygnal公司推出的完全集成的混合信号系统级芯片C8051F020,与普通单片机相比较,它具有扩展芯片少,连线少,资源多,编程简单,升级维护容易等优点,而且可靠性和稳定性也可得到保证,从而简化了测量仪器硬件电路系统设计,实现测量数据的显示,打印,大大高了测量仪器性能指标和性价比。而其具有的片内调试电路,使设计人员可通过JTAG接口进行非侵入式,全速的在系统调试。
一、芯片介绍
1 C8051F020的主要特点
· 具有与8051兼容的微控制内核,最高速度可达25MIPS。(时钟频率为25MHz);
· 具有64K字节可在系统编程的FLASH存储器,4352(4096+256)字节的片内RAM,外部64K数据存储器接口(可编程为复用或非复用方式);
· 8个8位的I/O端口,所有口线均耐5V电压,并可通过交叉开关灵活配置;
· 可同时使用的硬件SMBus,SPI及两个增强型UART串口;
· 22个矢量中断源;
· 多种复位源;
· 可编程的16位计数器/定时器阵列(PCA),有5个捕捉/比较模块,6种工作方式;
· 专用的看门狗定时器;
· 工作范围温度:-40~+85℃;
· 支持JTAG调试和边界扫描;
2 C8051F020的基本结构
C8051F020除了具有标准的8052的数字外设部件之外,片内还集成了数据采集和控制系统中常用的模拟部件和其他数字外设及功能部件。其中包括模拟多路选择器、可编程增益放大器,ADC、DAC、电压比较器、电压基准、温度传感器、SMBus/I2C、UART、SPI、可编程计数器/定时器阵列(PCA)、定时器、数字I/O端口、电源监视器、看门狗定时器(WDT)和时钟振荡器等。C8051F020是真正能独立工作的片上系统(SOC)。它能有效的管理模拟贺数字外设,可以关闭单个或全部外设以节省功耗。篇内完全符合IEEE1149.1规范JTAG借口,支持安装在最终应用系统上的产品 MCU进行非侵入式(不占用片内资源)、全速、在系统调试和在系统编程(ISP)。其内部功能方框图如图一所示:
图 一 C8051F020内部功能方框图
2、 C8051F020在柜式电能表中的应用
1 系统硬件构成及工作原理
整个柜式电表主要完成电量的采集,显示,打印和上传的功能。此外通过键盘可以设定预购电量、电价、校验电表时钟等功能。整个硬件系统示意图如图二所示:
图 二 柜式表硬件系统示意图
电量采集部分以 CS5460A为核心,CS5460A是单相双向功率计量芯片,由美国Cirrus Logic公司研制生产,是一种单相带有串行接口的双向功率电能集成电路芯片,极易与微处理器连接。利用该芯片作为测量原始信号的核心器件将提高数据测量的准确性,同时也简化了测量仪器。其工作原理是:采样电路把所输入的大电压电流信号转变成CS5460A可接受的小电压信号, CS5460A根据采样电路输入的电压、电流由内部的电能计算函数计算出电能,并按类型存入相应寄存器中,然后把电压、电流等测量值由三线双向串行接口传送给C8051F020。
图三是以C8051F020为核心的硬件电路图。C8051F020外围扩展了液晶显示器,键盘和微型打印机。显示器件采用内置T6963C控制器的液晶显示模块,键盘采用串行数据传送方式,由两片串连的74LS165读取键值并送CPU 处理,具有接口少、连线少的优点。微型打印机通过并行接口与C8051F020的P6口相连。该系统通过串口0读取各下位机计算出的各用户的电量值,将其显示在液晶上,并保存到非易失性存储器内。根据用户需要完成全部房间或单一房间用电明细打印。智能液晶、按键和打印机用于完成人机对话功能,形成良好的人机界面,同时通过485通讯接口将这些数据上传至电能管理信息系统。
2 软件设计
利用该硬件电路再配以完善的软件设计可以实现:键盘操作、液晶显示、打印用电明细表、数据采集和数据输出等功能。整个系统软件由主程序、读键子程序、打印子程序、串行通信子程序及字库组成。在主程序中,系统首先进行液晶显示控制器的初始化,显示开机画面,然后开始循环扫描键盘,当检测到有按键按下的时候,执行相应的动作。为节约成本,本系统采用的液晶器件及微型打印机均不带字库。在软件设计中将打印机的字库和液晶字库合为一个字库可节约存储空间。读键值子程序分为读高8位键值和读低8位键值子程序,这里仅介绍读低8位键值子程序,读高8位与读低8位子程序类似,在此不再介绍。
读键值子程序流程图如图四所示,图五为打印子程序流程图。
三、 结束语
综上所述, C8051F020集成度高,功能强大,该柜式电能表采用它作为主芯片,是非常理想的解决方案。
暂无评论