dffzh 发表于 2025-5-23 17:02

偶现板子芯片驱动异常,最后更换芯片厂商解决了

本帖最后由 dffzh 于 2025-5-23 17:07 编辑

#申请原创#
@21小跑堂

1、问题描述   实测现象:输出共32点,命名为点0~点31:点0到点14的输出控制正常;控制点15输出时,点16输出指示灯也会被点亮;控制点16输出时,点16不亮,点17亮;…依次类推…控制点30输出时,点30不亮,点31亮;控制点31时,输出无反应,无任何输出指示灯亮。出现异常的板子的现象类似。下面是HC595芯片级联示意图:
2、问题分析原因猜想:问题出现的起点在“控制点15输出时,点16输出指示灯也会被点亮”,很有可能是这里的点数据出现了异常?点15为第二个HC595芯片的最后一个输出引脚控制,点16为第三个HC595芯片的第一个输出引脚控制,所以可以排除两个引脚连锡短路的可能;软件仿真分析:当配置PDO输出控制点15时,查看软件的32位全局控制数据为32768,如下:
二进制如下:

说明对象字典下发的数据是正确的。控制点15输出:用逻辑分析仪抓取SRCLK时钟和SER数据脚的数据,输入到4个HC595芯片里的数据也是正确的:
难道是MCU和HC595的通信时钟速率太快导致数据错乱?实测当前时钟速率为645KHZ左右,查看了HC595支持的速率,可以达到25MHZ:为了彻底消除这种可能,将时钟速率下降一半到300多KHZ测试后,异常现象依然存在。所以,也可以排除时钟速率太快造成的数据错乱。另外,该模块的32点DI输入指示灯也是由4个HC595芯片来驱动的,其控制方式与输出控制基本一致,仅仅是对应的MCU引脚不同;在输出控制时,将控制输入指示灯的接口移到输出显示上进行测试,输入指示灯的显示是正常的。说明输出控制数据是正常的。综上,从软件层面上的分析结果来看,确实没有发现明显的问题。

下面就该硬件工程师参与一起分析了。主要进行了如下测试和分析:更换芯片后恢复正常,说明芯片差异可能较大,使性能不稳定;更改时钟信号线上的电容220pf为10pf,或者去掉,可以使时钟更陡,并更快达到电平阈值,可以解决异常现象,下图是CLK有220pf,现象异常的波形:在时钟信号上有220pf电容时,数据和时钟几乎同步,处于临界状态,可能会出现异常;测试有问题的波形和无问题的波形一致,说明芯片阈值电平可能存在差异,导致临界状态的出现。下图是CLK不加电容,现象正常的波形:在每个芯片QH”上加100pf电容,使数据传输延迟一点也可以解决异常现象;与芯片原厂沟通,原厂有QH”输出延迟的更新版本,不过需要进一步批量验证才可以知道。后来辗转反侧才从项目经理哪里得知,该厂商的HC595芯片在其他部门也遇到过类似问题,由于解决未果,最终也是通过更换芯片厂商得以解决。所以芯片管控这块的缺口也是需要反思的。因此最后的解决措施是:临时方案:工厂已生产并且正常的板子,去掉时钟上的电容;最终方案:更换了HC595芯片的厂商,后面小批生产验证后未出现异常现象。

最后给大家提一点注意事项:使用这种菊花链级联多个芯片时,时序波形还是需要仔细测试一下,不要出现临界状态,尽量留一些余量。

幸福小强 发表于 2025-5-25 20:09

控制数码管的电路吗

zjsx8192 发表于 2025-5-26 08:06

电容搞得太大?

Chad1989 发表于 2025-5-26 08:34

控制回路中加RC干嘛,滤除毛刺?我们都是直连,没有任何问题啊

chineseboyzxy 发表于 2025-5-26 08:35

电路设计的时候咋想的?那么高的时钟频率在时钟线数据线上搞电容?自己给自己挖坑。

dffzh 发表于 2025-5-26 08:45

幸福小强 发表于 2025-5-25 20:09
控制数码管的电路吗

也可以拿来驱动数码管吧,我们是用来驱动单颗LED灯。

dffzh 发表于 2025-5-26 08:46

Chad1989 发表于 2025-5-26 08:34
控制回路中加RC干嘛,滤除毛刺?我们都是直连,没有任何问题啊

是的,RC滤波,是否需要主要还是要看产品的应用环境

dffzh 发表于 2025-5-26 08:47

chineseboyzxy 发表于 2025-5-26 08:35
电路设计的时候咋想的?那么高的时钟频率在时钟线数据线上搞电容?自己给自己挖坑。 ...

起初使用的芯片也存在缺陷,一致性不太好。

dffzh 发表于 2025-5-26 08:48

zjsx8192 发表于 2025-5-26 08:06
电容搞得太大?

芯片本身一致性不太好,后面更换芯片解决了

xch 发表于 2025-5-26 09:46

偷工减料少了一个时钟再同步电路。特别是多级级联,长导线。还有抑制干扰。

dffzh 发表于 2025-5-26 11:05

本帖最后由 dffzh 于 2025-5-26 11:06 编辑

xch 发表于 2025-5-26 09:46
偷工减料少了一个时钟再同步电路。特别是多级级联,长导线。还有抑制干扰。 ...
还真没试过时钟同步电路,值得研究一下,感谢!{:handshake:}

彩虹捕手 发表于 2025-5-26 22:35

看来芯片质量对整个系统的影响真的很大,更换芯片厂商后问题解决,说明在芯片选择上要更加谨慎。

dffzh 发表于 2025-5-28 10:43

彩虹捕手 发表于 2025-5-26 22:35
看来芯片质量对整个系统的影响真的很大,更换芯片厂商后问题解决,说明在芯片选择上要更加谨慎。
...是的,芯片一致性太重要了,纳秒级的相位时间差就影响了。

hjl2832 发表于 2025-6-11 08:17

本帖最后由 hjl2832 于 2025-6-11 08:18 编辑

这种类似问题我也碰到过,不记得是595还是其它,也是换芯片解决才发现的问题,后面测试发现是出现在锁存的时序上有差异,有些厂家的能正常,有些厂家的不能正常,而且好像当时是国产替代的基本正常,我映像中当时就是TI的能用,NXP的就出现了问题。。

dffzh 发表于 2025-6-11 08:43

hjl2832 发表于 2025-6-11 08:17
这种类似问题我也碰到过,不记得是595还是其它,也是换芯片解决才发现的问题,后面测试发现是出现在锁存的 ...

是的,芯片时序上的微小差异导致出现临界点,进而出现偶发性问题,这种问题是比较坑的。

EchoInEons 发表于 2025-6-14 18:43

你说的是哪家厂家,让大家都避避坑,就是你发的这个板块吗?

dffzh 发表于 2025-6-16 08:49

EchoInEons 发表于 2025-6-14 18:43
你说的是哪家厂家,让大家都避避坑,就是你发的这个板块吗?

具体是哪家厂家,就不便透露了哦{:handshake:},写这文章其实主要是让各位坛友在设计时能注意这些方面。

脑洞星球居民 发表于 2025-6-17 11:32

这个案例提供了很好的故障排除思路,从软件到硬件逐步排查,最后定位到芯片问题,值得学习。

dffzh 发表于 2025-6-18 08:42

脑洞星球居民 发表于 2025-6-17 11:32
这个案例提供了很好的故障排除思路,从软件到硬件逐步排查,最后定位到芯片问题,值得学习。
...

解决Bug时,思路要清晰,方法要用好。

LLGTR 发表于 2025-6-18 13:40

说明原芯片可能存在缺陷,或者是翻新芯片
页: [1] 2
查看完整版本: 偶现板子芯片驱动异常,最后更换芯片厂商解决了