当前位置:首页 > > 玩转单片机与嵌入式
[导读]▼点击下方名片,关注公众号▼大家好,很高兴和各位一起分享我的第45篇原创文章,喜欢和支持我的工程师,欢迎给我点赞、收藏、分享。加微信[xyzn3333]与作者沟通交流,免费获取更多单片机与嵌入式的海量电子资料。欢迎关注【玩转单片机与嵌入式】公众号,回复关键字获取更多免费资料。回复...



大家好,很高兴和各位一起分享我的第45篇原创文章,喜欢和支持我的工程师,欢迎给我点赞、收藏、分享。


加微信[xyzn3333]与作者沟通交流,免费获取更多单片机与嵌入式的海量电子资料。


欢迎关注【玩转单片机与嵌入式】公众号,回复关键字获取更多免费资料。


回复【3D封装库】,常用元器件的3D封装库;


回复【电容】,获取电容、元器件选型相关的内容;


回复【阻抗匹配】,获取电磁兼容性、阻抗匹配相关的资料


回复【资料】,获取全部电子设计、单片机开发相关的资料


回复【终端电阻】,获取CAN终端电阻相关的资料


回复【单片机】,获取单片机全套视频教程和参考设计


回复【STM32】,获取STM32相关设计和视频教程


回复【PCB】,获取PCB设计相关的资料


回复【硬件知识】、【硬件设计】,获取硬件开发工程必备手册


回复【经典电路】,获取5000个经典电路


回复【论文】,获取毕业设计、电子竞赛、学术专业等相关论文资料


…………


欢迎关注【玩转单片机与嵌入式】公众号,本公众号会以连载的形式对电容进行深入讲解,欢迎持续关注。









0、前言



某天,正在公司专心上班,为了一行代码应该如何优化绞尽脑汁;突然接到售后服务同事的电话:"告诉你一个不好的消息,xx客户处的设备,出现上电后慢速行驶灯会无规律闪烁的情况"。



由于从事的行业比较特殊,任何的异常都有可能导致涉及人命的安全事故;再加上“事出异常必有妖”,这种心态的作用。客户反馈的事情瞬间提升到最高优先级。



赶紧放下手头事情,整个人被“中断”出去处理紧急异常事故。



1、故障复现



按照现场的工作条件,在公司搭建测试环境后,发现异常果然存在。但是只在A设备搭配B设备通信时出现异常。




2、排查事故影响范围



由于闪烁的是慢速行驶灯,若正常在快速行驶状态中,突然出现慢速行驶,会由于突然的速度变化导致不可预估的风险;




在测试中发现,仅仅是指示灯闪烁了一下,但实际行走模式未发生改变。悬着的心突然有了一丝丝安慰。



3、排查原因及步骤



1、A设备灯的状态是由B设备的工作模式来决定,B设备将自身的工作模式和模式状态实时(每10ms)发送给A设备,A设备仅仅负责根据数据执行即可。



2、监听A设备和B设备通信的数据,发现B设备发送数据有丢失。按照理论来看,B设备发送数据有丢失,A设备应该不解析本报数据,本次10ms周期不进行指示灯状态切换即可,不应该出现闪烁。



3、模拟B设备故意每次均少发指示灯状态的数据;现象为A设备的指示灯完全不亮,符合逻辑;



4、模拟B设备仅少发1个周期的指示灯状态数据,其余周期正常;测试现象与故障现场的现象完全一致,B设备数据导致导致了本次事故。



5、基于以上的分析,将问题锁定在2个方向:


    • B设备为什么会丢失数据?


    • B设备丢失数据时,A指示灯为何会闪烁?



4、问题的根源定位



检查A设备的程序后,很快发现了问题原因:仅丢失一包数据时,由于后面的数据校验错误,解析数据时将CRC值当做正常数据进行了解析;



通过更新A设备的程序,故障不再复现。



检查B设备的程序查找数据丢失的根本原因。因为简单的知识点盲区,卡住了2天。最终到的问题原因如下:



B设备发送使用了串口发送中断,更改前的流程:



更改后的流程:




5、知识点扫盲



STM32的串口发送中断是TC,即Transmission Complete。发送一个字节后才进入中断,这里称为“发送后中断”。和原来8051的TI方式一样,都是发送后才进中断,需要在发送函数中先发送一个字节触发中断。并不是开启发送中断后自动进入发送中断。




End





本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭