基于AT89C52单片机的多机通信可靠性评估系统
2022-09-22吕猛段焜宋陆昊
吕猛,段焜,宋陆昊
(江苏安全技术职业学院,徐州 221004)
引言
AT89C52在单片机中具备低电压、高性能的优点,但是在使用现有的可靠性评估系统时,经常会出现维护成本过高、数据计算的准确性较差等问题,使用此类评估系统对AT89C52单片机的多机通信功能进行评估,则会导致可靠性的计算结果不准确。对于可靠性的评价直接决定了整个系统有效性,因此需要对其进行实时测试,以保证AT89C52单片机在执行多机通信功能时可以确保指令能够被迅速、稳定地执行,不会因AT89C52单片机自身的问题,导致系统受损,因此需要设计单片机多机通信功能的可靠性评估系统。
文献[1]主要解决了大功率电子设备中的种种问题,在人工智能技术的作用下,通过硬件与软件的双重结构,设计了一个网络体系总体框架,并在该框架的基础上,识别电子信号的智能传输数据,解读信号数据,并自动化输出硬件指令的加载模式。通过软件结构将以上步骤连接在一起,实现设备的自动化评估。文献[2]则是以转子动力学为基础,开发了现代信号技术的处理标准,并结合大数据挖掘技术,评估设备运行与维修的标准,使用分布式数据采集装置,建立多机通信的监测网络,在多元信息融合中构建通信频道的可靠性评估系统。以上两种系统均是对机械设备的状态进行可靠性评估,与本文的系统具备一定的相似性,但是不能直接应用于现有的AT89C52单片机多机通信可靠性评估方式。本文在设计系统时,从软件与硬件的双重角度出发,设计一种可以自动化评估AT89C52单片机当前状态的评估监测系统。
1 基于AT89C52单片机的多机通信可靠性评估系统硬件设计
1.1 基于AT89C52单片机配置引脚
在AT89C52单片机中,大致有40个引脚和32个外部双向端口,图1中的引脚结构为节选部分。在这些工作系统中,可以选择非易失性的程序作为数据存储器的主要编程结构。将具备独立锁的定位器放置在代码区内,完成系统编程的读写[3]。设定该单片机的工作电压为4.5 V左右,上下波动误差不大于0.3 V。此时其引脚配置如图1所示。
在图1所示的引脚中,P1.0-P1.9接口均为8bit的双开输入输出接口,也是数据总线的复用地址。当这些引脚作为单片机的输入接口时,可以在驱动逻辑门上填写一个高阻抗的输入端作为外部访问的传输地址。当这9个引脚作为单片机的输出接口时,则可以接续程序指令,在校验过程中,与外部的电阻相连,并作为高电平的输出端口,将内部电阻提高到一定的范围之内[4,5]。而AD0-AD9接口则可以通过振荡器作为地址存储装置,当Flash动画播出时,编程脉冲会通过特殊功能寄存在AD0的复位器内,并在外部程序的执行过程中,提高指令读取效率。通过这样的引脚配置,可以在保证安全性的同时,大幅度提高该系统的运行效率。
图1 单片机引脚配置
1.2 可靠性评估系统电路设计
在基于AT89C52单片机多机通信的可靠性评估系统内,需要将外围电路与内部的时钟振荡装置相连接,组成一个复位电路作为单片机的主要电路结构[6,7]。多机通信的数据接收电路与数据发送电路结构如图2所示。
图2 系统电路结构图
如图2所示,电容C1与电容C2共同构成了数据接收电路的时钟结构,在电容C3的阻拦下,可以直接通过电源对单片机内部进行复位处理[8]。电容C4与电阻R1则是用于快速恢复低电平的上拉电阻,滑阻Rt作为一个独立控制功能的控制器,用以控制数据发动的频率。以上电路设计可以大幅度降低硬件设计的复杂度,并提高系统的运行准确性。
2 多机通信功能可靠性评估系统软件设计
2.1 建立主从机通信传输状态转换模型
多机通信功能通常会涉及主机与分机之间的连接机制,在一个此类系统内,通常具备一个主机与若干个从机,其间会有诸多语音数据、实时数据以及通信数据作为指令。在这些指令内,想要评估其可靠性,还需要建立一个通信传输的转换模型,以判断数据在主从机之间的传入与输出单元[9,10]。此时需要设定各任务的状态转换结构,如图3所示。
如图3所示,将多机通信的可靠性评估整体分为四个状态,分别是休眠状态、提前准备状态、就绪状态、开始运行、任务中断状态。这五个状态可以依据相对应的参数相互转换。其中休眠状态主要指任务在中央处理器内被终止或由于自身原因停止,导致的无法继续接受任务的管理体系。提前准备状态指虽然当前状态下中央处理器内没有任何任务指标,但是随时都可以接收任务,而不是像整体休眠一样的被迫停止状态。就绪状态指任务完成的所有前提条件都已经准备就绪,如果按下开始键,随时都可以运行任务,并且已经对多机通信功能的优先级排序完毕,不会由于排序问题进入错误界面。开始运行状态则是已经按下开始键,正在完成任务的状态,该状态的持续时间是一定的,不会因为操作者自身的影响而发生变化,其时间单位只因系统自身的算法简洁性以及多机通信下的并发数量而发生变化[11,12]。任务中断功能,可以分为两种情况,其中一种是由于系统错误导致的任务被迫停止,另一种则是由于任务运行完毕导致的任务中断。这两种任务中断均表现为一种形态,即中央处理器内暂时没有任务排序,也不是被迫休眠的状态,与提前准备阶段类似,随时可以继续开始系统的运行。
图3 任务状态转换
2.2 多任务下调度优先级排序
在多机通信内,对多任务下的调度优先级管理是十分有必要的,可以通过函数的方式,求解最优的调度顺序。在数据的输出层内,可以以加权的方式计算神经元的权值参数:
式中:
f i(p)—神经元的权值参数;
h ji(n)—权值矩阵内第i行的第j个元素;
d0(p)—神经元的输入误差;
km—该网络的整体评估系数[13]。
通过权值参数,计算多任务下的调度优先级排序,可以得到函数为:
式中:
H m(x)—输出层在多机通信内的调度排序函数值;
f j2(p)—第j个神经元的权值参数;
kj—输出层的整体维度。
此时的自变量与初值需要满足:
式中:
f(xn+1)至f(x0)均为自变量的不同单位函数值[14]。在以上对比排序下,可以得到各任务的调度系数,将多个任务进行排序,从而得到其优先级排序。
2.3 设计主机通信可靠性评估算法
在系统内,还需要通过一个整体的算法流程,对以上内容进行总结,并提取出局部最优解,作为系统通信的算法结构,本文的可靠性评估算法流程如图4所示。
如图4所示,需要依据参数与函数值判定是否需要重置密码或者更新子机与主机中的数据。对于参数值,可以使用公式(4)计算:
图4 算法流程
式中:
∆wd(k)—参数值的变化量,即引入局部梯度定义的参数值;
h(k)—第k个神经元下的权值信号;
m2(k)—激活导数的输出值;
ηj i(k)—一个i行j列的权值矩阵[15]。
依据该公式,可以得到设定与重置密码的判定依据,并以此对主机通信的可靠性进行评估,得到一个基于AT89C52单片机多机通信功能的可靠性评估系统。
3 系统测试
3.1 测试环境准备
多级通信的可靠性评估系统,需要处理大量的元件参数,并通过计算对AT89C52单片机的可靠性进行评估。在此过程中,对设备过载安全稳定的监测是可靠性评估系统的重点。单片机的过载安全稳定分析主要为单片机的实际过载参数判定。在实际状态的过载下,可以通过可靠性评估系统将某种与之相对应的实际运行方式作为评估指标,如果此时的单片机多级通信模块有了较为真实的波动,则系统会将其判定为即将过载。每一个硬件模块均具备自身的设备负载指标,当过载的指标低于负载标准值时,则会直接判定该单片机的多机通信功能不可靠。当过载的指标高于负载标准值时,数值越高,则该多机通信功能越可靠。在该系统测试中,设备以及服务器的环境准备如表1所示。
表1 测试环境及设备
为判断本文设计的可靠性评估系统是否更准确,将其与传统的几种评估系统对比,结合已知的单片机信息,测试多级通信功能的负载。在以上环境中,通过并发数量的不同,分别得到此条件下的负载值,并得到如图5所示的实际负载结果。
图5 实际负载结果
在以上测试环境下,系统25 s内的资源使用率情况如图5所示,随着并发数量的增加,资源使用率也在不断提高。其中,并发数为5时,资源使用率的最大值为18.6 %,最小值为0;当并发数为10时,资源使用率的最大值为28.1 %;并发数为15和20时,最大值为44.8 %和61.5 %。
3.2 不同系统对比测试
依据图4中的数据,分别测试依据人工智能算法、大数据挖掘方法以及本文方法所得到的可靠性评估系统,在不同并发数量下资源使用率情况。相同并发数量以及其他测试环境下,这三种对比系统所得最大资源使用率越小,则该系统负载可靠性越强,测试结果如图6所示。
图6 不同系统测试
不同系统可靠性评估结果如图6所示。当并发数为5时,实际的最大资源使用率为18.6 %,三种系统的最大资源使用率分别为15.2 %、17.6 %、18.3 %,均小于实际负载,可见这三种系统在并发数为5时指标均可靠,且文中系统资源使用率在三种对比系统中最小。在并发数为10、15、20三种不同的条件下,三种系统的资源使用率均小于实际情况,且文中系统均为最小值。可见在这四种并发条件中,该系统多机通信功能的可靠性均强于其他系统。
4 结束语
本文基于AT89C52单片机设计了一种多机通信功能的可靠性评估系统,通过硬件与软件的综合设计,求解了该功能的可靠性参数。并依据实验,论证了该系统的有效性与优越性,其在不同并发数下的资源使用率均小于额定值,且为三种对比系统中的最低值。