[麦麦茶水间] 【每周分享】两个芯片共用调试接口的教训

[复制链接]
18|0
happypcb 发表于 2026-8-13 10:47 | 显示全部楼层 |阅读模式
之前做的一个板子上有两个芯片,一个主控,一个协处理器,两个都有调试接口。PCB面积有限,只留了一个SWD插座,想着调试哪个就飞线切过去。
调试主控的时候没问题,切到协处理器的时候就出事了。用调试器连协处理器,烧录正常,但是断点经常打不上,单步走也不稳,时而能跑时而卡死。折腾了好几天,开始还以为是这个协处理器型号的调试功能有bug。
后来试了一下把主控的复位引脚拉低,让主控处于复位状态,再去调试协处理器,一切正常。问题找到了。主控没复位的时候,它的SWD引脚虽然没被复用成GPIO,但仍然会对外部调试总线的信号产生一点微小的影响。协处理器响应调试命令的时候,主控的SWD引脚也在监听总线,两个芯片都接到了同一组SWD信号线上,电平竞争导致信号质量变差。
解决方案就是在调试某个芯片的时候,把另一个芯片的调试接口用跳线帽断开,或者用GPIO控制一个模拟开关来物理隔离。从那以后画板子,两个芯片如果有独立的调试接口,要么分开布局各自留插座,要么用跳线或开关做物理隔离,不直接飞线。
后来有一次做项目,主控和协处理器分别用了两个不同电压域,调试信号的电平也不一样,一个是3.3V一个是1.8V,飞线调试的时候还要注意电平匹配。这次经历之后,基本上所有多芯片共调试口的板子都会提前预留隔离电阻的位置,要么用0欧电阻做跳线,要么用模拟开关做切换,省得到时候飞线焊来焊去。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

1904

主题

8361

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部
0