本发明涉及电子信息领域,尤其涉及一种基于存储器的电子产品故障诊断模块及方法。
背景技术:
传统的电子产品故障诊断方法多依赖于人工处理,首先查看电子设备的元器件有无损坏情况,如元器件有无短路、烧坏以及损坏、脱落等常见明显的痕迹。如果都没有以上情况再通过检测仪器(如示波器、万用表等)检查各器件参数是否正常以确定故障点,该故障诊断手段繁琐且效率低。因此在电路中常常加入自动诊断的机制。但在自动诊断的机制中,故障代码都是实时呈现的,不能够进行缓存和通过通信接口进行传输,不利于电子产品故障的分发与分布式呈现。
技术实现要素:
为了解决上述问题,本发明提出一种基于存储器的电子产品故障诊断模块及方法。通过在产品中加入可读写存储器,将产品工作中的故障以故障代码形式存储在可读写存储器中,在故障诊断时通过串口通信读出故障代码并显示在显示终端(显示器),从而快速定位故障点。这种方式将使故障诊断变得简单且高效。
具体的,一种基于存储器的电子产品故障诊断模块,包括故障检测电路,还包括处理器、存储器和通信接口电路;
所述存储器、故障检测电路和通信接口电路均与处理器相连;所述处理器将故障检测电路检测到的电子元器件故障代码写入存储器,当处理器接收到故障查询命令时,通过通信接口电路发送故障代码,供外部设备分析诊断。
优选的,所述处理器为可编程单片机;所述存储器为可读写存储器。
优选的,所述的通信接口电路包括串行接口电路。
优选的,所述的通信接口电路包括无线通信接口电路。
优选的,所述的无线通信接口电路包括无线wifi或gprs接口电路。
同时,还公开了一种基于存储器的电子产品故障诊断方法,包括以下步骤:
故障检测电路按照设定的检测方式检测机内电子元器件故障,将故障代码存储到存储器;
处理器接收到上位机故障查询命令时,发送故障代码至上位机。
优选的,所述的检测方式包括:
a、处理器接收到上位机故障查询命令时,启动故障检测程序;
b、故障检测电路独立循环检测元器件故障,不断地将故障代码存储到存储器。
优选的,还包括故障代码封装步骤:所述处理器将故障代码封装成特定格式写入存储器;所述特定格式包括:用于识别消息的帧头,用于区别设备的唯一标识符和包含故障时间、故障代码的消息体。
优选的,还包括存储器写满后的处理步骤:
s1,统计每个故障代码的出现频次;将出现频次乘以删除系数得到加权次数,将加权次数从高到低排序,得到加权次数最高的故障代码f;所述删除系数根据故障代码所表示故障的严重程度进行设定,故障越严重,删除系数越低;
s2,确定删除条数;删除条数n=第一高出现频次-第二高出现频次*90%;
s3,根据时间先后顺序,从最早时间依次删除n条故障代码f。
本发明的有益效果在于:
1)相比传统的故障诊断方法,该专利将使故障诊断变得快速高效。
2)该专利实现的技术手段简单,所有技术均为通用技术。
3)该专利实现的经济成本较低。
附图说明
图1是本发明的系统图;
图2是本发明的方法流程图。
具体实施方式
为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图说明本发明的具体实施方式。
具体的,一种基于存储器的电子产品故障诊断模块,包括故障检测电路,还包括处理器、存储器和通信接口电路;
所述存储器、故障检测电路和通信接口电路均与处理器相连;所述处理器将故障检测电路检测到的电子元器件故障代码写入存储器,当处理器接收到故障查询命令时,通过通信接口电路发送故障代码,供外部设备分析诊断。
优选的,所述处理器为可编程单片机;所述存储器为可读写存储器。
优选的,所述的通信接口电路包括串行接口电路。
优选的,所述的通信接口电路包括无线通信接口电路。
优选的,所述的无线通信接口电路包括无线wifi或gprs接口电路。
同时,还公开了一种基于存储器的电子产品故障诊断方法,如附图2所示,包括以下步骤:
故障检测电路按照设定的检测方式检测机内电子元器件故障,将故障代码存储到存储器;
处理器接收到上位机故障查询命令时,发送故障代码至上位机。
优选的,所述的检测方式包括:
a、处理器接收到上位机故障查询命令时,启动故障检测程序;
b、故障检测电路独立循环检测元器件故障,不断地将故障代码存储到存储器。
优选的,还包括故障代码封装步骤:所述处理器将故障代码封装成特定格式写入存储器;所述特定格式包括:用于识别消息的帧头,用于区别设备的唯一标识符和包含故障时间、故障代码的消息体。此处,上位机可以增加一步判断接收到的故障代码是否有效,具体方式为:判断接收到的故障代码的数据格式是否与预设的故障代码的数据格式一致,若两者一致,则认为该故障代码有效,否则认为该故障代码无效。
优选的,还包括存储器写满后的处理步骤:
s1,统计每个故障代码的出现频次;将出现频次乘以删除系数得到加权次数,将加权次数从高到低排序,得到加权次数最高的故障代码f;所述删除系数根据故障代码所表示故障的严重程度进行设定,故障越严重,删除系数越低;
s2,确定删除条数;删除条数n=第一高出现频次-第二高出现频次*90%;
s3,根据时间先后顺序,从最早时间依次删除n条故障代码f。
当某个故障代码的删除系数被设置为0时,表示不可删除。当执行完一次存储器清理处理后,会生成一条记录,记录下本次清理的清理时间和删除条数n。
也可以按照附图的实施方式进行实施。
需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和单元并不一定是本技术所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、rom、ram等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。