软件可靠性测试,软件可靠性测试包括哪些内容

大家好,今天小编关注到一个比较有意思的话题,就是关于软件可靠性测试的问题,于是小编就整理了1个相关介绍软件可靠性测试的解答,让我们一起看看吧。

如何提高单片机程序的可靠性、实时性、测量准确性?

题主提到的单片机程序的可靠性、实时性,

软件架构起着决定性的作用,单片机程序的软件架构有以下几点需要考虑:

1)分层分模块

单片机程序至少分为三个层次,包括硬件驱动层,中间层,和应用层。

硬件驱动层主要实现对硬件的驱动控制,包括输入按键检测,AD采样,UART/IIC/SPI的收发,系统定时时钟的产生、定时事件传送、事件销毁,输入指示灯控制,LCD显示控制,FLASH读写等等。

中间层作为硬件驱动层和应用层之间的中间处理模块,负责将应用层控制硬件驱动层的公共逻辑抽象提炼,而设计成一些能脱离应用层独立运行的模块。比如UART数据的收发,当应用层需要发送数据时,需要调用UART硬件驱动层的发送函数将数据填入发送缓存,再通过UART的发送中断或DMA将数据逐一送出,当有多个应用层都需要往UART发送数据时,需要有队列的机制,需要有先进先出的机制等等,而且有些应用层的UART数据需要有对端的应答,在超时没有收到应答时,需要超时重发。当多个应用层模块需要通过UART发送数据时,每一个应用层模块都需要处理这样的逻辑,将会使软件异常臃肿无法维护。这个时候需要有一个串口数据的收发模块,将所有应用层的数据填入队列,通过状态机按先进先出将报文从队列取出,通过硬件驱动层的接口发送出去,同时通过状态机处理数据应答,超时重发等机制,这样一来,应用层的模块只需要闭着眼睛调中间层的函数接口传送报文,并且检测中间层返回的状态,做一些事件处理即可。

应用层是根据产品的功能抽象,根据不同的功能模块划分,包括,设备设置、UI显示、应用逻辑控制等等。每一个应用层的功能模块都要配合状态机实现,状态机的每一个状态都有一个状态函数,每一个状态函数都有定时器,子状态等等,之后就是按照逻辑根据不同的事件切换状态。

这个问题太大了,未完待续


从接触单片机到现在,也有十几年了,从个人设计经验上来简单说一说,希望可以给你提供一点思路和参考。

开发流程标准化,可以尽量往CMMI 3级标准上靠。要有系统设计文档输出,软件版本管理,bug管理系统进行bug跟进。

要想实时性高,方法有两种,

简单粗暴的,直接用频率更高的MCU。

异步设计。这种设计主要是通过尽量少使用空跑循环来做延时实现的。比如这个例子,我希望foo函数延时n毫秒再做某事:

上述这种就是死等延时,这种设计实时性很差,我们完全可以通过状态机的方式,让for循环这个延时释放出来做别的事。改进例子如下:

运用这种异步方法,可以大大提高系统实时性。还有就是像写flash,EEPROM这种操作,也可以先更新内存值,再统一10ms左右更新一次这样异步实现,来提高实时性。

测量准确性这块主要分三个方向分析和改善

软件可靠性测试,软件可靠性测试包括哪些内容

硬件元器件,尽量选精度高的电阻电容,降低元器件引入的误差。

电路设计,PCB 布板时尽量降低由于布线引入的干扰,保证参考电压源和地不会因为干扰源发生抖动。

这一期,重点所讲内容主题是振弦式测缝计结构及工作原理,以下是相关内容:

结构:

VWD-J 型振弦式测缝计由护管座、护筒、位移计、后接圈、观测电缆等组成,其位移计内部由滑动测杆、振弦、激振电磁线圈、测温元件等组成。

埋入式测缝计结构图

工作原理:

当被测结构物发生位移时将会带动测缝计变化,通过前、后端座传递给振弦使其产生应力变化,从而改变振弦的振动频率。电磁线圈激振振弦并测量其振动频率,频率信号经观测电缆传输至读数装置,即可测出被测结构物的位移量。同步测量埋设点的温度值。

到此,以上就是小编对于软件可靠性测试的问题就介绍到这了,希望介绍关于软件可靠性测试的1点解答对大家有用。

免费照片处理软件,免费照片处理软件有哪些
上一篇 2024-02-23 22:04:20
识别花草的软件,识别花草的软件哪个好
下一篇 2024-02-23 22:14:03

相关推荐