分享好友 技术首页 频道列表

嵌入式整流模块控制器设计

2012-04-11

0引言
      虽然目前通信电源产品中嵌入式控制系统的研发技术比较成熟,但是同一系列(如DUM系列)不同功率型号的产品具有不同的性能参数,以致控制系统采用不同的控制方法;同时,在以往的产品研发过程中,不同的嵌入式系统工程师具有不同的软硬件设计思想,带来了芯片应用、电路体系、软件结构的差异。这两方面问题造成产品的统一管理、统一维护与升级困难,成本提高。
      针对上述嵌入式控制系统兼容性和扩展性考虑不周的问题,结合8位AVR单片机的资源优势以及源代码开放的μC/OS-II实时操作系统内核的强健性和移植性,本文提出了嵌入式控制系统中基于AVR+μC/OS-II的整流模块控制器设计方法。利用AVR资源丰富、运行速度快、编程灵活、调试方便的特点来满足该控制器的功能与可靠性要求。采用C语言和汇编语言相结合的方法,将μC/OS-II实时操作系统移植入AVR,在保证系统性能的同时,将软件开发统一化、规范化,缩短了产品研发周期,易于产品维护升级,降低了成本。
1组成及工作原理
      DUM系列通信电源的嵌入式控制系统由主控制器、整流模块控制器(简称“模块控制器”)等组成。主控制器是中央处理子系统。模块控制器是联结主控制器与整流模块(简称“模块”)之间的数据通信、信号采集与指令控制的子系统,其功能由硬件和软件两部分协调完成。硬件上不同功率型号通信电源产品的模块控制器架构完全一致;软件上使用μC/OS-II完成数据处理及任务调度。具体的工作原理是:AVR依次采集并转换模块的状态信号,检测在位和模块告警信号,以此构造状态帧,通过RS485串行总线发送到主控制器,同时接收并解析主控制器发来的模块调压、限流和开关机控制信号帧,最后向模块发送和执行这些控制信号。下面结合图1,具体说明主控部分的特点,其余部分详见文献[1]。
主控部分MCU芯片采用ATMEL公司的ATmega16L。它具有如下特点[2]:
(1) 丰富片内资源:片内配置16KB Flash ROM、512B EEPROM、1KB RAM,8通道10-bit ADC,16-bit Counter/Timer(可作PWM通道),有USART、SPI等接口。为μC/OS-II提供充足的程序空间;丰富的片内外设减少了AVR外围电路,使控制器组态简单,稳定可靠。
(2) 高速、低辐射、低功耗:采用8-bit增强的RISC结构和Harvard结构,具有1MIPS/MHz性能,晶振频率低(最大工作频率为8MHz)。
(3) 强大的C语言支持能力:结合1KB片内RAM、硬件乘法器,以及优秀的C编译器,有助于生成快速、高效代码。为μC/OS-II的运行提供充足的堆栈空间,程序可读性和兼容性得到保证。
(4) 支持JTAG在线下载调试,从而缩短开发周期,降低产品成本。
2软件设计
模块控制器的软件设计步骤为:第一,将所实现的功能划分成若干用户任务;第二,以μC/OS-II为操作系统,将它移植入ATmega16L并进行配置;第三,编写用户任务和中断程序;第四,在系统上编译、调试程序。
2.1 μC/OS-II的移植和配置
      μC/OS-II是一个实时性强的操作系统内核,其软硬件体系结构如图2所示。应用程序处于顶层,每个任务都可以独占处理器,因此设计成无限循环。μC/OS-II处理器无关代码提供操作系统服务,应用程序可以使用这些服务函数进行创建和删除任务、任务间通信以及内存管理等操作。μC/OS-II的大部分代码使用C语言编写,与处理器相关的实时操作使用汇编语言编写。用户可将μC/OS-II内核裁减为满足功能的最小系统。
图2  μC/OS-II的软硬件体系结构
将μC/OS-II移植入AVR,需要修改OS_CPU.H、OS_CPU_C.C和OS_CPU_A.S这三个与MCU相关的文件,并根据控制器功能需求配置μC/OS-II,即修改OS_CFG.H文件[3]。
2.2 任务功能
     将控制器的功能划分成5个用户任务,指定任务优先级,优先级的制定原则是任务的重要性和实时性。μC/OS-II最多支持64个优先级,每个任务赋予1个优先级,其中用户优先级为4~OS_LOWEST_PRIO-3。本控制器的用户优先级选择范围是4~8。各用户任务分别为:
(1) 创建用户任务的任务AppTaskStart():初始化操作系统时钟节拍、初始化硬件、创建用户任务。这是开启多任务调度OSStart()之后第一个被执行的任务,优先级为4。
(2) 产生PWM波的任务SetPWMOutTask():产生PWM调压、限流波输出值,优先级为5。
(3) 处理模块在位和告警信号的任务GetWarnStatusTask():采集模块的在位信号和告警信号,优先级为6。
(4) 模块状态采集的任务RctMeasureTask():片内ADC采集并量化模块电流状态信号,优先级为7。
(5) 处理模块开关机的任务PowProcessTask():解析并向模块执行主控制器发来的开关机信令,优先级为8。
这里以创建用户任务的任务为例,介绍用户任务程序编写方法。其主要代码如下:
static void AppTaskStart(void *pdata)
{
(void)pdata;        // 防止编译器告警
OSTickISR_Init();   // 初始化操作系统时钟节拍
AppIOInit();         // 硬件初始化
AppTaskCreate();       // 创建用户任务
while (1)           // 任务体(无限循环体)
{
OSTimeDly(10);    // 本任务延时100ms,同时让下一个最高优先级的就绪态任务执行
}
}
2.3 中断程序
      时钟节拍中断:操作系统通过时钟节拍来实现计时以及延时操作,AVR工作频率为8MHz,取一个时钟节拍为10ms。必须创建一个用户任务并开启多任务调度OSStart()之后才能开启时钟节拍中断,否则系统可能崩溃。
      USART接收完成中断:接收并解析主控制器发来的命令数据帧。USART发送完成中断:构造模块状态信息帧,发送到主控制器。这2个中断通过全局变量与用户任务通信。
2.4 兼容与扩展
      如果本控制器的某个功能需要改进,则直接修改相应的任务函数即可;如果要为本控制器添加新功能,则直接创建新任务,赋予优先级,在新任务函数中加入新功能的源代码即可。这就为系统软件的维护与升级提供了方便快捷的途径。
      本控制器采用统一的数据结构,采用统一的适用于不同型号模块的控制处理过程。另外,按照通信协议,本控制器向主控制器发送请求模块配置帧,然后接收主控制器发回的配置信息来配置被控模块参数。
3结论
      本文结合AVR单片机和μC/OS-II实时操作系统的优点,设计出基于AVR+μC/OS-II的嵌入式模块控制器,它具有软硬件设计的兼容性强和易于扩展等突出特点,为DUM系列不同功率型号通信电源产品的开发、维护和升级节省了时间和费用。自2005年6月至今试用于DUM48-15B、25D、30D等通信电源产品中,其性能稳定,采样精度高,告警、控制准确度100%,通信误码率低,取得了很好的应用效果。
参考文献:
[1]       张屿, 毛征, 刘瑞东. 基于AVR单片机的整流模块控制器设计与实现. 中国电子学会第十一届青年学术年会论文集, 2005.
[2]       Atmel Corporation. ATmega16(L) Datasheet.
[3]       Jean J. Labrosse 著, 邵贝贝 等 译. 嵌入式实时操作系统μC/OS-II (第2版). 北京: 北京航空航天大学出版社, 2003.
张屿:硕士,研究方向为嵌入式系统。


收藏
13寸超薄全加固军用笔记本YW131在野战综合设备系统中应用
YW131是一款全加固13寸超薄全加固军用笔记本采用坚固耐用的设计,及出色的技术特点。完全满足了需要在最艰难的环境下运行操作的需求,如军队、警察、工厂、石油、采 矿和天然气工业,陆地和海洋车辆、飞机等。符合MIL-STD-810G和IP55。

0评论2015-12-21

介绍一种硬件自动发送1553B非周期消息的方法
本文介绍了一种使用CAV-1553B板卡实现硬件自动发送1553B总线非周期消息的方法。该方法通过使用条件Block来实现,当用户设置的条件(如状态字、数据字匹配或匹配的次数)满足时,CAV-1553B板卡上的固件将自动启动非周期消息的发送。使用该方法,无需软件介入,可实时实现非周期消息的发送,为用户实现发送矢量字的模式字提

0评论2012-06-25

基于ARM7的轨道检测仪嵌入式系统设计
摘要:描述了一种以轨道检测仪的为应用目标的ARM7嵌入式系统的设计过程。以ARM7TDMI核的嵌入式处理器S3C44B0为中心,采用了CH375

0评论2010-01-28

基于CAN总线的数据采集人机界面设计
本文利用CAN总线技术构成网络,运用VB语言设计出了可视性较强的数据采集人机界面,实现了智能表数据(包括模拟量数据和开关量数据)的采集和超限报警功能。

0评论2009-08-27

ARBOR 嵌入式主板在医用B超诊断仪中的应用
一、概述 超声诊断技术是一种经济、实用、可重复、无损伤的检查手段,具有无侵袭,不影响人体,适应性广等优点。特别是以超声图

0评论2008-06-03

谈谈抗恶劣环境计算机问题
一,要搞好信息化建设,首先要解决信息安全问题信息安全是关系到整个信息化建设的一个成败、生命攸关的天字第一号大问题。计算机

0评论2008-01-18

抗幅照计算机的研究现状
一、概述 现在几乎在所有的系统中,都依赖计算机来完成系统控制和数据处理。因为工作环境的不同,研制了各种计算机来满足应用的

0评论2008-01-18

军用抗恶劣环境计算机发展现状及趋势
计算机从它诞生之日起,就开始用于军事领域。随着军事科学、武器装备系统和计算机技术的发展,军用计算机已经成为军队作战能力的

0评论2008-01-18

军用加固计算机的发展动向及其技术要求
1、前言根据应用对象的不同,目前的军用加固计算机一般可分为军用嵌入式计算机和军用通用加固计算机两大类。嵌入式计算机主要是

0评论2008-01-18