打印
[其他产品]

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

[复制链接]
161|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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芯片的厂商,后面小批生产验证后未出现异常现象。

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

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

48

主题

500

帖子

5

粉丝