基于MCU的高可靠性数据采集系统软件设计分析

2015-02-27 05:59赵晨征吴永强
电子设计工程 2015年23期
关键词:高可靠性可靠性模块

赵晨征,吴永强

(国网冀北电力有限公司技能培训中心(保定电力职业技术学院),河北 保定 071000)

基于MCU的高可靠性数据采集系统软件设计分析

赵晨征,吴永强

(国网冀北电力有限公司技能培训中心(保定电力职业技术学院),河北 保定 071000)

基于对用户使用产品质量保证的目的,本文采取了对MCU软件系统的实际设计方案进行研究,通过对MC9S12NE64单片机进行初始化模块、系统模块诊断与数据采集、系统故障诊断与处理的方法,结合ADS7844模数转换器,对软件避错设计和容错设计路线进行实验,得出MCU高可靠性数据采集系统软件的设计方案。为今后的MUC数据采集系统研究以及类似数据采集系统的研发和设计提供参考。

MCU;高可靠性;数据采集系统;系统设计

信息技术给人们生活带来了极大的便利,人们的生活和工作已经逐渐实现信息化、数字化,尤其是现代企业管理中,已经大量使用数字化采集系统,嵌入式软件在行业生产实践中的应用越来越广泛,发挥着重要的作用,其规模和重要性已经不容忽视。而在长期使用过程中,人们对系统可靠性的要求也越来越高。随着实践研究的不断深入,人们开发一种基于MCU的高可靠性数据采集系统,该软件系统应用各种软件设计和方法技术,使程序设计在兼顾用户的同时,还能满足各种需求,全面满足软件的可靠性要求[1],得到人们的青睐。下面将针对系统设计进行详细的阐述和分析。

1 数据采集系统软件的基本构架

本文研究使用MC9S12NE64单片机,相结合ADS7844模数转换器,完成数据采集与处理工作,其基本构成包括:数据采集中心,首先数据信息由模拟量输入信号,经过数据传感器调解后,通过多路径开关进入A/D转换,CPU通过SPI接口采集数据缓冲区数据,经过以太网传输进入DCS,通过LED灯现实系统数据运行状态,以便实时监测。为了及时了解通道状态信息,在系统中添加SPI接口发送通道诊断信号,通过DAC采集诊断信号,输出信号。系统构成如图1所示。

图1 数据采集系统基本构成框架Fig.1 Data acquisition system basic composition framework

2 基于MCU的数据采集系统软件系统的核心技术

数据采集系统的核心技术是避错和容错技术。避错技术主要是防范。根据GJB-102-2005规定,本次研究的系统设计依照MISRA-C国标进行编程,系统安全系统C编程规范的单一高级语言编码方式[2]。结合设计基本原理,软件采用固定周期单任务处理,无操作自动化系统,无需中断,全程静态内存

分配任务。系统设置为默认下载MC9S12NE64片内FLASH储存器,采用周期顺序结构,自定义网络传输协议为唯一认定通信方式。编译工具采用CodeWarriorIDE4.6系统,代码小于64K Byte,对于可读磁盘的内存需求为8K Byte。系统软件整体为强内聚,弱耦合。现将整体模块分为3大块,下文将展开详细介绍。

3 基于MCU的数据采集系统软件系统模块设计

本次研究主要分为3大模块,如图2所示。

图2 系统模块功能和运行流程图Fig.2 System module function and operation flow chart

3.1 初始化模块

整个软件系统中,重要的设计是容错技术,通过全面自动检测和故障处理来提升系统的可靠性。

系统的初始化,即启动后自动初始化,此时设置系统的运行的环境和条件。初始化MCU的硬件资源包括时钟频率选择,计数器的初始化,I2C接口的初始化等,全部清零。初始化部分包括[3]:芯片的片选管脚、看门狗控制管脚以及其他电源控制等部分。本系统时钟频率设定为25 MHz。初步设定的运行模式为用户普通扩张方式;SPI接口与CPU对接,芯片配置时,应该使用写控制字的方法,设定参数后方可启动。初始化即完成系统整个模块运行的技术参数,当初始化工作完成之后,将进入周期运行模块。

3.2 系统模块诊断及数据采集

周期运行阶段是整个数据采集软件系统中的核心部分,包括:数据采集、系统自动化检测、网络数据处理等。系统自我检测的设备主要是板卡,能检测系统故障问题,并且能根据任务周期,判断是否超时,如果超市,可以选择停止运行[4]。周期运行阶段的核心工作内容是数据采集和处理,该部分直接关系着系统数据采集的可靠性。为了保证系统时间的确定性,更加便于系统周期控制操作,可在系统中添加硬件设备实现控制,以获得当前的运行时间。

根据图2,根据状态栏的诊断,获取下行帧的数据,对系统的网络LINK的运行状态进行处理;CPU的自我诊断主要是针对ALU实现的操作。整个诊断过程都是测试计数是否正常,通过对比不同时间的标识,判断其变化,看门狗的诊断主要是在测试固定周期内,是否有约定的电平变化,确定看门狗的状态。RAM的诊断是完成输出和输入的操作,根据读取的结果判断是否正确。

通道数据采集由CPU通过SPI接口读取通道ADC芯片采集数据缓冲区数据实现,芯片读取数据后寄存器实现操作,采集所有数据,完成系统核心和主要工作。完成数据采集之后,根据采集的数据,系统进入自动数据处理环节,即能依据网络协议打包并通过以太网接口传输信号。此时,为了提高系统数据处理的速度,确保数据传输的安全性,可以使用自定义协议输出。整个采集过程中,自动无操作协议发挥这重要的作用,无同步信号,不做任何处理。协议以点对点的连接方式,避免对通道信号产生不良的影响。接收信号之后进行初步过滤,不做任何处理,不影响通信继续进行。具体采集驱动试验如下:

根据系统构成,对数据采集模块驱动进行模拟试验研究。驱动程序采用Linux系统,包括3大程序,即设定字符、模块设备以及网络设备。Linux操作以文件夹作为字符设备,详细步骤如下:

声明设备结构体,封装全局变量,设定如下:

根据structADC-DEV设定,结构变量为dev,以fileoprations为结构体,Linux内核文件构成一个数据系统,把系统调用和驱动程序关联,每一个驱动程序编写一个代码,在结构初始化时,赋值空指针为NULL完成一次数据采集,获得变量赋值:

将adc-opeen作为用户进程,open系统调用时,被调用函数中获取4个子函数。数据驱动采集输出和输入,完成读写处理,获得用户信息。

3.3 系统故障诊断与处理

系统故障诊断与处理是在初始化到运行的过程中,实现跟踪式动态检测,系统故障及时检测和处理,是保证可靠性的前提。整个系统中,LED灯是现实系统运行状态的重要设备。通过观察指示灯的变化情况,分别判断系统正常运行与否。当系统发生故障时,指示灯熄灭;反之,亦然。一旦系统出现故障,系统的通道电源将自动闭合,并将故障信息提交、上报到中心,将故障写入系统日志,为后期诊断和故障处理提供重要

的参考依据。

整个系统结构构架中,每一个模块都发挥着不同的作用,功能各异,任何一个部分发生故障问题,都会影响数据采集的可靠性。所以,为了保证系统运行的可靠性,应该确保每一个模块功能的正常。那么,要求我们设计人员一定要提出科学合理的设计方案,以提高系统的可靠性。

4 高可靠性数据采集系统软件创新设计方案

数据采集系统中,主要依靠容错技术,使用软件和影响,提高整个的可靠性。目前系统多使用双MAC地址的方案,满足热备冗余设计的处理要求。

图3 系统冗余计算流程图Fig.3 System redundant calculation flow chart

由图3可知,系统中冗余设计主要是通过两个接口,分别从不同的CSS连接,获得冗余的信息。基于MCU与通信模块,可以分别对两个接口进行对接处理。

MCU系统使用16bits地址数据复用总线通过CPLD桥接实现与两片MAC芯片的控制,完成一次系统数据交换。然后系统又开始对两个网口进行初始化。一般使用的数据选择方法为系统周期网口A(Active)和网口P(Passive)的数据。两个网口处于唯一主机状态时,此时网口信息数据处于冗余状态,甚至会出现混合状态,系统LED灯熄灭,上报故障问题,当网口A和P接收数据超出荷载范围(大于200 ms)时,系统会上报故障冗余问题,并采取故障处理措施。在冗余数据处理中,应该使用之前标识过的网口,以确保数据再次传递的可靠性。如果选择之前没有使用过的网口,需要再次进行网口处理和诊断。所以,一般系统会默认选择原网口进行数据的传输,而且系统上传输的数据,均由两个网口传递。整个系统冗余处理简单、快捷,有助于冗余设备信息检测,提高整个的运行效率。

在冗余设计和处理中,冗余方式的选择比较关键,首先通过判断运行状态,在了解状态的前提下进行数据处理,对于数据的处理,首先判断有无效数据存在与否,然后判断冗余故障问题,并且应该及时采取冗余故障状态处理方法,从而才能保证准确数据信号的转换和传输。

MCU高可靠性数据采集系统软件的设计满足现代相关领域发展的需求,数据采集和处理容量大、速度快、精确度高,其在实践中的应用推广,是高可靠性系统开发研究的新里程碑。相对于其他可靠性系统的研发和应用,更加具有优势和推广的意义。

5 结束语

可靠性是数据采集质量的评判标准,是确保用户使用产品质量的重要基石。而关于数据采集可靠性的研究也逐渐深入,在人们实践研究下,最终发现并提出一种高可靠性的数据采集系统软件,即MCU。系统的数据采集主要依据容错技术和避错技术,以提高系统的可靠性,确保数据采集的精准度,缩小误差。通过MCU实现对系统的动态式检测、智能化检测和诊断,及时采取故障处理措施,实现通道隔离,避免信号输出和输入的干扰,保证整个系统安全、可靠的运行。该系统在实践中已经得到验证,并且通过实践证明系统具有很好的应用价值,能广泛应用于工程项目数据采集实践中,具有积极的推广意义。

[1]詹来龙,王彦瑜,黄继江,等.基于ARM、CPLD和MCU的冷却储存环真空控制系统设计[J].原子能科学技术,2007,41(5):591-594.

[2]蒋娟,张火明.单片机的数据采集实验板设计[J].中国计量学院学报,2010,21(1):59-62.

[3]于坤林.CAN总线数据采集与控制系统的FPGA+MCU结构实现[J].中国科技信息,2009(10):140,142.

[4]蒋纯志,黄健全.复杂液压系统高速数据采集方案设计[J].机械与电子,2006(5):30-32.

[5]王克军,周蓉生,袁启兵,等.基于单片微机的核能谱数据采集系统研究 [J].核电子学与探测技术,2004,24(4):424-426,420.

[6]吴银川,张家田,严正国,等.无线同步数据采集系统设计[J].电子设计工程,2014(11):32-34.

Design and analysis for the high reliability of MCU data acquisition system software

ZHAO Chen-zheng,WU Yong-qiang
(State Grid Jibei Electric power Company Limited Skills Training Center(Baoding Electric power Voc.&Tech.College, Baoding 071000,China)

Based on the user product quality guarantee,the purpose of this article take the actual design of the MCU software system are studied,based on MC9S12NE64 MCU initialization module,diagnosis module and data acquisition system,system fault diagnosis and treatment,the method of combining ADS7844 AD converter,the design of software fault avoidance and fault tolerance design route to experiment,to reach high reliability MCU data acquisition system software design scheme.For the future of the MUC data acquisition system research and the research and development and the design of similar data acquisition system to provide the reference.

MCU;high reliability;data acquisition system;the system design

TN99

:A

:1674-6236(2015)23-0079-03

2015-05-08稿件编号:201505068

赵晨征(1984—),男,河北保定人,助教。研究方向:计算机技术。

猜你喜欢
高可靠性可靠性模块
28通道收发处理模块设计
“选修3—3”模块的复习备考
可靠性管理体系创建与实践
合理使用及正确测试以提升DC/DC变换器可靠性
高可靠性火灾探测系统设计
基于VRRP和MSTP协议实现校园网高可靠性
GO-FLOW法在飞机EHA可靠性分析中的应用
5G通信中数据传输的可靠性分析
市级气象园区网高可靠性与负载均衡设计
具有高可靠性的混合集成国产化电源电路研制