0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

说说硬件调试中发现的那些低级错误

edadoc 来源:edadoc 作者:edadoc 2024-07-03 12:00 次阅读

高速先生成员--周伟

最近遇到很多debug相关的咨询,曾经我们说过,我们做过的板子越多,遇到问题的概率也越多,很多别人没遇到过的问题,说不定我们早就触过雷,从而类似的问题形成经验总结,就不会再有同样的问题发生。一些问题可能不一定和PCB设计相关,但由于找不到原因到底在哪里,最终需要进行一一排除,所以兜兜转转又回到PCB设计上来,这也是我们经常要面对的工作之一。

调试是一项很辛苦的差事,说起调试,曾经听过一个故事。早期某大厂一些硬件人员在调试前会去仙湖植物园的弘法寺拜一拜,烧香祈求项目能一次性调试通过。虽然是传言甚至戏谑但多少也反应出硬件调试中一些奇怪的问题,有时甚至不以人的意志为转移。

在我们看来,系统性能能否成功无非就是软件和硬件的配合,所以很多时候硬件和软件大家的工作都是相互配合,相安无事的,但一旦出了问题却找不出具体原因的时候,大家可能就会相互指责,各说各有理,但大多数时候往往硬件最后是落於下风的,因为硬件涉及到的因素会更多,比如硬件原理、器件选型、物料、PCB设计、制板、焊接等,这些最终都和硬件相关,哪一个环节出问题了,都会影响系统性能。而软件只需要简单说一句上次同样的原理已经验证通过了,什么都是一样为什么这次改了个PCB版本就不行了呢?接着硬件也补充说对啊,原理、器件和软件都是一样,就改了个PCB设计,重新打了一板为什么调试出来就有问题,难道是PCB的问题?最后这个“锅”就到了和PCB相关的身上了。今天不说“锅”的事,系统需要良好的工作,需要各方面一起协调努力,软件也需要配合硬件的变化进行一定的调整,大家都要做好才能保证系统的稳定运行,所以每一方面都不能忽略,出了问题当然就需要从各个方面进行排查,实事求是从解决问题的角度出发,不要有背“锅”侠的心态。

虽然我们不直接进行硬件调试,但我们遇到调试的问题也很多,因为我们是实现硬件原理中重要的一环,发挥着桥梁作用,所以很多问题最终会排查到PCB设计环节中来,大家要有这种意识。最近就遇到一个HDMI显示不正常的案例,大致经过是这样的。

客户在我司设计的一个板卡在调试时发现HDMI接口能正确识别,但接上显示器后却一直闪屏,最后直接就识别不到了。客户用示波器测试信号眼图也没有发现太多问题,这个问题客户内部已经调了几个月还没有找到原因,最后希望我们从PCB的角度排查一下看能否找到是不是和信号完整性相关,部分PCB设计如下图所示:

wKgZomaEzOKAC8CnAANhLhRO5rw384.jpg

从PCB设计来看,4对数据走线和换层基本都是一致的,从表层走到内层,再从内层换层到底层,经过底层的电容,电感和ESD器件再到HDMI接口,中间换层过孔做了反焊盘连盘掏空处理,内层信号换层到底层,存在过孔stub比较长的风险,但对于6Gbps的信号来说,这个50mil的stub正好处于可钻可不钻的边沿,也就是说影响不是致命的,能背钻当然更好。另外电容、电感和ESD器件,这些器件和连接器表贴焊盘等没有经过一定的优化,可能存在阻抗不连续的影响,这块我们的要求是8Gbps以上是必须要优化,8Gbps以下如果有空间可以优化,因为如果要优化的话,意味着第三层或者倒数第三层焊盘位置是不能走线的,有可能还要补参考层,尤其是空间很紧张的情况下,实现起来会比较麻烦,很多设计人员本着多一事不如少一事的原则,很多就不优化了,PCB设计本来就是权衡的艺术,这也能理解。

除了器件焊盘的影响,这些器件的选型会对阻抗带来更大的影响,之前的文章就写过,由于ESD选型不当,导致阻抗偏低很多,没看过的可以再看看这篇文章:ESD器件对高速信号有影响吗(陈雅给链接),可以看到加了ESD后的阻抗确实低了差不多14欧姆,如下图所示:

wKgaomaEzOKAMUnFAAC6YazgJjA890.jpg

但客户反馈这些器件都去掉了,结果还是没有改善,依然显示不正常。

wKgZomaEzOOAQ1OHAAA55yXaBeo860.jpg

然后我们只能试一下看降速是否有改善,因为如果是PCB设计上stub太长,或者焊盘等阻抗有影响,降速可以降低这些负面的影响,同时速率低了系统裕量也会大很多,反复修改参数调试后,最终结局却以非常意想不到的方式结束了。

wKgaomaEzOSAbdDvAADlT9R-bzs921.jpg

幸福来得太突然,我竟无言以对,这个错误,真的有点低级,真是“接反一对线,多调三个月”。

看到这里,我们的问题来了:

调试了几个月,最终却非常意外的找到了问题的原因,大家在调试中有没有遇到过类似的问题?

大家可以把问题写出来发给高速先生投稿,也可以分享相关的素材我们来整理,一经采用会有相应的奖励,欢迎大家尝试并畅所欲言。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • HDMI
    +关注

    关注

    32

    文章

    1734

    浏览量

    152325
  • 接口
    +关注

    关注

    33

    文章

    8691

    浏览量

    151816
  • 高速PCB
    +关注

    关注

    4

    文章

    94

    浏览量

    25085
  • 硬件调试
    +关注

    关注

    1

    文章

    9

    浏览量

    10743
收藏 人收藏

    评论

    相关推荐

    LM98640调试过程中发现时常会出现配置不正确的现象,怎么解决?

    我使用了一款TI公司的AD转换芯片LM98640,但调试过程中发现时常会出现配置不正确的现象,反读寄存器发现,有问题的AD配置与正常的AD配置不一致,反复核对时序和供电情况,没有发现异常,现在
    发表于 12-25 06:26

    调试中发现ADS1100线性不好,问题出在哪里?

    调试中发现ADS1100线性不好,具体表现为输入电压增加或减少时,ADS1100的采样值增大和减少不是线性的。测量0~2V的信号,误差为2~10mv左右,由于不是线性的,无法通过校准来
    发表于 12-17 08:34

    调试AD7172-2的时候发现ADC总是发生超量程错误怎么解决?

    调试AD7172-2的时候发现ADC总是发生超量程错误(ADCSTATUS寄存器返回值为0x40),后来发现配置好的REFOUT引脚没有电压输出,REF+输出为零,还有REGCAP_
    发表于 12-13 13:47

    调试过程中发现ADS8900B采样时会带有一个很小的直流偏移量,怎么解决?

    您好!最近在使用ADS8900B这个ADC,在调试过程中发现ADS8900B采样时会带有一个很小的直流偏移量,下图为ADC没有输入信号,采的底噪值,如图所示采样数据表现为将底噪数据往上抬高了大概
    发表于 12-05 08:18

    如何进行硬件调试

    硬件调试硬件系统设计、开发和制造过程中不可或缺的一环,旨在对可能出现的问题进行分析和解决。以下是进行硬件调试的一般步骤和方法: 一、准备阶
    的头像 发表于 11-10 10:17 868次阅读
    如何进行<b class='flag-5'>硬件</b><b class='flag-5'>调试</b>?

    TPA3140D2在使用中发现有“丝丝”声的高频噪音,请问如何解决?

    TPA3140D2在使用中发现有“丝丝”声的高频噪音,请问如何解决,是什么原因,原理图和PCB LAYOUT都是照TI官方指引设计。
    发表于 10-31 07:45

    使用pps调试AIC3268. 发现老是显示无法build,为什么?

    我在使用pps调试AIC3268. 发现老是显示无法build。 错误提示: Cannot determine TargetProcessor settings
    发表于 10-29 06:05

    NE5532在调试过程中发现运放有很高的直流偏置电压,Signal_Channel_3出无信号输出?

    ,Signal_Channel_3是最终输出。 在调试过程中发现运放有很高的直流偏置电压,Signal_Channel_3出无信号输出?请问是什么问题。 是不是可以采用下面的电路结构进行级联 谢谢!
    发表于 09-10 07:23

    使用过程中发现TL084I发烫特别严重怎么解决?

    最近设计了一块控制系统pcb,在使用过程中发现TL084I发烫特别严重,用温枪测了下,有55°,输入输出波形正常,±15V供电,请问TI工程师这种现象正常吗?有没有其他可以替代的产品,原先使用的一款OP07没有发现温度过高问题,工作温度就是常温。
    发表于 08-15 07:43

    DRV2700EVM-HV500在测试的过程中发现输出纹波很大如何解决?

    在测试的过程中发现输出纹波很大大概20V,请问改如何解决
    发表于 08-15 06:25

    说说硬件调试中发现那些低级错误

    说说硬件调试中发现那些低级错误 2024-07-0
    发表于 07-03 12:02

    在官方库中发现GPIOx-&gt;ODR这种写法,是什么意思,怎么中间会有-&gt;?

    本人新手,刚接触st的芯片 在官方库中发现GPIOx->ODR这种写法,不知道这是什么意思,怎么中间会有->? 请论坛上高手予以帮忙解答
    发表于 05-10 06:48

    ucosiii的串口打印输出遇到了硬件错误怎么解决?

    我练两天调试了ucos-iii之前是应为一些问题发现系统运行错误,但是到了第二天打开工程从新编译下载程序测试,发现一刚刚开始打印串口消息就出现了硬件
    发表于 04-24 06:03

    分享一个调测电量计过程中发现的电阻问题

    今天,给大家先分享一个,调测电量计过程中发现的电阻问题,盲猜99%的工程师小白不了解这个特性。
    的头像 发表于 03-12 16:48 772次阅读
    分享一个调测电量计过程<b class='flag-5'>中发现</b>的电阻问题

    利用UDE仿真器调试QSPI读写EEPROM过程中发现仿真器中观察到的全局变量值不对,没有读到数据怎么解决?

    在利用UDE仿真器调试QSPI读写EEPROM过程中发现,单步运行能够读取到数据,如果全速运行,示波器中读取数据正确,但仿真器中观察到的全局变量值不对,没有读到数据。请问有人遇到过吗,如何解决?
    发表于 02-18 08:14