C8051F060单片机在数字电源控制器中的应用

引言

随着科技的发展,数字控制系统的应用越来越广泛。以前的模拟电源控制系统线路复杂,控制精度低,故障率高。因此开发全数字电源控制系统越来越重要。微控制器,微处理器技术的发展为数字电源控制系统的开发奠定了良好的基础。单片机由于其很高的性价比在数字控制领域一直占据着非常重要的地位。C8051F06x系列器件采用 Silicon Lab公司的专利 CIP-51 微控制器内核。CIP-51 采用流水线结构,与标准的8051结构相比指令执行速度有很大的提高。C8051F060 单片机是完全集成的混合信号片上系统型MCU,具有59个数字 I/O 引脚,片内集成了两个 16 位、1 Msps 的ADC,两个UART串行接口,CAN接口等。丰富的外设为其电路的设计提供了很大的便利。具有看门狗定时器和时钟振荡器的 C8051F06x 系列器件是真正能独立工作的片上系统。所有模拟和数字外设均可由用户固件使能/禁止和配置。FLASH 存储器还具有在系统重新编程能力,可用于非易失性数据存储,并允许现场更新 8051 固件。 片内 JTAG 调试电路允许使用安装在最终应用系统上的产品 MCU 进行非侵入式(不占用片内资源) 、全速、在系统调试。该调试系统支持观察和修改存储器和寄存器,支持断点、观察点、单步及运行和停机命令。在使用 JTAG调试时,所有的模拟和数字外设都可全功能运行。C8051f060可在工业温度范围(-45℃到+85℃)工作,工作电压为 2.7 ~ 3.6V。端口 I/O、/RST和 JTAG 引脚都容许 5V 的输入信号电压。C8051F060 为100脚TQFP 封装, 是新一代高速SoC(System on chip) 单片机,其集成度高,抗干扰能力好。因此选用C8051F060单片机配合FPGA实现数字电源控制系统的开发。本文主要论述单片机板在数字电源控制器中的功能和应用

数字电源控制系统简介

数字电源控制系统的好坏决定着电源的品质,因此对电源控制器的要求就很严格。此次设计的数字电源控制系统主要由C8051F060单片机板和FPGA板组成。本文主要介绍单片机板在数字电源控制器中承担的作用和应用原理。数字电源系统示意框图如图1所示。

单片机板主要完成电源的启停控制,PWM脉冲的使能与封锁,运行状态检测,故障扫描,与FPGA板的通讯,以及与上位机的通讯。FPGA板主要实现闭环控制调节,PWM波生成。单片机板和FPGA板之间通过RS232通信。单片机与上位机通过RS422通信。

硬件系统设计

数字电源控制器单片机板主要实现电源的逻辑保护,运行状态检测,与上位机的通信,以及与数字电源调节器FPGA板的通信。该单片机控制板主要分为四个部分:(1)输入数字量(2)输出数字量(3)A/D转换(4)通信。由于C8051F060单片机特有的架构,这些输入数字量,输出数字量,通信接口都必须通过交叉开关正确配置到I/O口,负责系统不能正常工作。控制系统框图如图2所示。

输入数字量主要包括本地控制命令和电源运行状态,以及故障信号。本地控制命令主要包括电源启停按钮,复位按钮,紧停按钮。运行状态主要包括电源合分闸状态。故障信号主要包括输出过压,输出过流,电源断水,电源过热,电抗器过热,变压器过热,负载过热,快熔故障,IGBT故障等。当输入为高电平时,光耦导通,信号送给单片机做相应处理。没有故障信号时,才能允许开启电源。 输出数字量主要包括预充电合分信号,主回路合分信号,故障灯输出信号,PWM脉冲使能或禁止信号。当电源运行中,有故障信号来临,立刻封锁PWM脉冲并停止电源运行。 C8051F060的ADC子系统包括两个1Msps、 16位分辨率的逐次逼近寄存器型ADC,ADC 中集成了跟踪保持电路、可编程窗口检测器和 DMA接口。这两个 ADC 可以被配置为两个独立的单端方式 ADC 或组成一个差分对。数据转换方式、窗口检测器和 DMA接口都可用软件通过特殊功能寄存器来控制。ADC0 和 ADC1 的电压基准电路允许使用多种不同的电压基准配置。每个 ADC 都可以使用其专用的内部电压基准或外部基准。ADC0 和 ADC1 的最高转换速度为 1 Msps,转换时钟来自系统时钟分频。这两个 ADC 及相应的跟踪保持电路可以被独立使能或禁止(用特殊功能寄存器)。 ADC控制寄存器 (ADCnCN) 中的ADnEN位被置为逻辑1时ADCn被使能。 当ADnEN位为逻辑 0 时,ADCn 处于低功耗关断方式。单片机板通过ADC0和ADC1采集电源的输出电流和电压,采用单端方式,使用外部基准。C8051F060集成两个16bit SAR ADC,模拟量输入范围是0-2.5V,需用运放设计前端信号调理电路,达到模拟量输入范围-10V - +10V,输出电流,输出电压信号经过传感器采集进入调理电路为-10伏到+10伏,经过一级OPA2277U运放调理为-1.25V到+1.25V,在经过加法电路转换为0-2.5V电压信号,进入单片机AD进行转换。 通信系统的可靠稳定对数字控制系统来说是非常重要的,该数字电源控制器的通信部分主要分为单片机与上位机之间的通信,单片机与FPGA板之间的通信两部分。

单片机板采用串口UART0与上位机通过RS422进行通信, RS-422标准全称是“平衡电压数字接口电路的电气特性”,它定义了接口电路的特性。由于接收器采用高输入阻抗和发送驱动器比RS232更强的驱动能力,故允许在相同传输线上连接多个接收节点,最多可接10个节点。即一个主设备(Master),其余为从设备(Salve),从设备之间不能通信,所以RS-422支持点对多的双向通信。RS-422四线接口由于采用单独的发送和接收通道,因此不必控制数据方向,各装置之间任何必须的信号交换均可以按软件方式或硬件方式(一对单独的双绞线)实现。RS-422需要一终接电阻,要求其阻值约等于传输电缆的特性阻抗。在短距离传输时可不需终接电阻,即一般在300米以下不需终接电阻。终接电阻接在传输电缆的最远端。RS422通信应用已经很成熟,而且通信稳定可靠。 单片机板通过串口1 UART1和FPGA板进行通信,采用Modbus协议,使用CRC16校验。Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。标准的Modbus 口是使用RS-232C兼容串行接口,它定义了连接口的针脚、电缆、信号位、传输波特率、奇偶校验。控制器能直接或经由Modem组网。 系统软件设计 软件的设计紧紧围绕电源硬件系统及要实现的功能进行,采用模块化的程序结构设计,使用C语言编写程序代码。C8051F060单片机与上位机通过串口0(UART0)进行通信,与FPGA通过串口1(UART1)进行通信。C8051F060单片机实现了特殊功能寄存器SFR的分页机制,允许器件将很多 SFR 映射到 0x80 ~ 0xFF这个存储器地址空间。SFR 存储器空间有 256页。0x80 ~ 0xFF 的每个存储器地址都可以访问多达 256 页。C8051F06x 器件使用 5 个 SFR 页:0、1、2、3 和 F。使用特殊功能寄存器页选择寄存器 SFRPAGE 来选择 SFR 页。编写软件程序时,对SFR的操作一定要注意不同页之间的切换。由于篇幅所限,只给出程序流程图。系统软件主要程序流程图如下图所示。

结束语 该控制系统采用SOC芯片C8051F060,配合上位机远程操作监控,使得系统操作方便,显示直观,同时由于简化的硬件设计,增强了整机的可靠性及抗干扰能力, 故障率低。该系统已经在现场长期运行稳定可靠,达到电源品质指标要求,并批量化生产,为后续开发性能更好精度更高的数字电源控制系统奠定了良好的基础。

原文发布于微信公众号 - 嵌入式程序猿(InterruptISR)

原文发表时间:2015-06-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏gaoqin31

Linux例行性工作排程 (crontab)

crontab是Unix和Linux用于设置周期性被执行的指令,是互联网很常用的技术,很多任务都会设置在crontab循环执行,如果不使用crontab,那么任...

973
来自专栏JackieZheng

可视化工具gephi源码探秘(二)---导入netbeans

  在上篇《可视化工具gephi源码探秘(一)》中主要介绍了如何将gephi的源码导入myeclipse中遇到的一些问题,此篇接着上篇而来,主要讲解当下通过my...

2798
来自专栏向治洪

网络访问优化下载

利用有效网络访问优化下载 使用无线电波(wireless radio)进行数据传输可能是应用最耗电的操作之一。为了降低网络连接的电量消耗,清楚的理解连接模型(c...

1926
来自专栏小石不识月

使用 Micro 构建弹性与容错的应用程序

自上一篇博客发布以来,已有一段时日了,此间我们一直在努力研究 Micro,并且已经初见成效。现在让我们一起深入探讨吧!

3313
来自专栏hadoop学习笔记

hadoop基础学习教程实操篇汇总

关于hadoop的分享此前一直都是零零散散的想到什么就写什么,整体写的比较乱吧。最近可能还算好的吧,毕竟花了两周的时间详细的写完的了hadoop从规划到环境安装...

1011
来自专栏FreeBuf

挖洞经验 | 如何参加众测项目发现美国国防部网站各类高危漏洞

美国国防部(DoD)于2016年11月21日首次与HackerOne合作,开展了“Hack the Pentagon”的漏洞众测项目,这将允许安全研究人员通过背...

3006
来自专栏魏琼东

AgileEAS.NET SOA中间件平台更新日志 2015-04-28

     AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平...

1030
来自专栏一个爱吃西瓜的程序员

一些关于Git的学习资源

Git是什么? Git是目前这个星球上最厉害的分布式版本控制系统。 Git有什么特点? 一句话描述:只要你用过它,你就一定会爱上它的,而且是爱不释手的那种,因...

3157
来自专栏程序人生

软件性能调优:看数据,还是谈概念?

上周写了「想让服务器跑得快,并不是换个编程语言那么简单」,很多朋友的留言歪了楼:论性能,C语言甩Python数倍到数十倍,你说和编程语言没关?拜托,程序君只是说...

2914
来自专栏Java学习网

程序员编程的 7 + 1 条小贴士

程序员编程的 7 + 1 条小贴士 1.编码之前想一想 用10分钟,20分钟甚至30分钟的时间来想想你需要什么,想想什么样的设计模式(如果有的话)适合你将要编码...

3068

扫码关注云+社区

领取腾讯云代金券