0x00 概论
前两天处理了一个笔者不怎么常见的问题点,特别的在这里记录一下,以备之后不小心忘记后的注记。
阅读本文之前,您需要掌握的技能有:
技能名称 | 技能熟练度 | 技能教程链接 |
---|---|---|
模拟电路 | 了解 | 暂无 |
0x10 前言
当前调试一块单板,笔者调试的模块主要为信号采集电路。功能为采集输入的信号波形并进行参数的输出。
测试人员在进行功能的验证过程中,使用外部的输入的交流信号进入单板后出现了很大的参数误差,超出了单板能够接受的最大误差,所以就有了下面的分析文章(下图是波形的示意图,真实波形与其相差不大)
0x20 排查过程
首先笔者和测试人员沟通后发现测试的方式出现了一定问题,但是当笔者恢复了正常的测试方式之后,原本正常的波形却消失不见了。
原本测试人员的测试方式中,当前的信号直接进入测试电路但是测试的电路没有可靠接地。导致进入的信号只是单端的输入,对地没有参考就造成了波形的失真,索性因为失真导致精度及其下降,所以发现了这个问题。
我改变了正常的测试方式,这个方式可以使当前的测试点测到正常的波形。但是结果却不尽人意,当前波形直接消失,经过一定的研判之后,我开始认为是因为测试人员将输入端的信号线接反,导致当前输入点和地相接又导致输入的地和单板相接短路。
但是经过测试人员反复确认线束的正常之后,我只能从原理图中查找问题的原因。
原理图在原本的测试时,当前的电路使用自身的交流信号输出去测量当前的测量电路的精度与验证。当时的验证是没有问题的,所以笔者使用当前电路的抽象模型连接示意图进行查错,以期望能够解决这个问题。
经过仔细的研判,这个电路并没有什么逻辑上的错误,所以笔者使用了完全复制模型的方式,向当前的电路并入了相关的电器元件。
当我并入了电器元件之后,电路上并没有什么大范围的改变,但当前的交流波形出现了显著的放大。于是我果断发现了华点:当前的电路增加了元件后,整体阻抗发生了变化,导致当前对于前端的信号需求的改变,从而影响了后端波形的输出。
从而我又加入了一些电器元件,极大的增加了电路的阻抗,信号直接变成了正常的,说明现在的前端输出阻抗极高。导致了后端需要很大的输入阻抗进行阻抗匹配,才能完成信号的输出。
0x30 解决思路
后续对于信号输出模块的工程师的咨询表明,当前信号输出模块的模型类似于一个具有若上拉的OC门。就是具有较高的输入电流能力,部分输出电压的能力,无输出电流的能力。
这种情况下对于外部呈现的就是一个高阻态的电压信号的输出情况(恒等变换的思维)。在后端的阻抗较小的情况下,这个电路就导致当前没有输出信号出来的现象。
所以需要对当前输入的电路做一些阻抗变换或单纯的增加输出电流进行处理。这样就可以一劳永逸的解决这个问题。
0x40 事后分析
因为测试段和输入端有一个二极管进行隔离,这个二极管的主要作用是去除当前波形的负半轴,但是因为后端使用的电流很小,导致测试端的输入必须要并入一个电阻对当前二极管的电流进行泄放,否则当前的下降波形会出现很大的滞后。
这个波形就会被影响后端的波形整定导致当前波形会在不对应的位置被整定为错误的信号参数,导致了后端的解析电路整个乱掉了。这个软件必定无法修复因为其本身就是有问题的,这个原因本质上是因为测试方式的错误。但是这种问题出现很巧合,排查的过程也很艰辛,为了以后能有参考,笔者将其记录下来,以作为日后的调试灵感来源。
更多
本文首发自 记:一次电流不够引起的故障解决,更多文章可进入我的博客详查。