免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 939 | 回复: 0

驱动硬件调试的一些经验 [复制链接]

论坛徽章:
0
发表于 2011-12-21 08:41 |显示全部楼层

 

BSP/驱动工程工程师经常与已经打交道,并且在软硬件联调遇到的时候分析、定位和解决问题。
1)需要掌握一些基本的技能,比如可以看董原理图和PCB图,使用万用表测电平、使用示波器看波形等。
2)更高一点的要求,能看懂数字电路的逻辑、能看懂芯片手册中各管脚描述(比较重要的是电源、时钟、复位),
清楚整版电源、时钟、复位的分布。
但是现在懂硬件的驱动工程师不多,圈圈所在的团队10来号人中也只有3个。

很久很久以前,圈圈开发的产品系统不太复杂,从硬件方案选型设计、画原理图/PCB、电路调试、代码调试都一个人做。

切入正题,大方向:
    时序/逻辑、电源、时钟、复位
时序/逻辑举例
    1)产品S0 Bootloader上电串口没有打印,检测ROM串口打印代码没有问题,查原理图发现Endian引脚配置错了。
    2)产品A0 nand接口逻辑全部错了,画原理图将cpu cnxxxx的nand接口抄到cpu bcmxxxx上面来。

电源:
  1)产品A0 GPIO模拟的I2C接口,读时序SDA高电平只有1.0V,明显SDA没有接上拉电阻。
    2)产品R0 E2输出SCL/SDA低电平居然有2.5V, 拿掉E2后电平回复正常。
    明显E2设备的地电位被抬高了,查看原理图E2的VCC和GND都接到板子的V+上了。
上面的问题都是逻辑上的错误,基本上可以很快查出来。
还有一些只有个特定环境、偶然才会出现的问题/现象。
下面介绍两个例子。

时钟:
    产品R1 CPU PCIe host下面接了一个PCIe-To-PCI桥。偶然出现过数据奇偶校验错误。
    最后查处是PCIe同步时钟的时钟沿太缓,导致数据传输出错。
复位:
    产品A0 PCIe网卡上游两个复位引脚Power_RST、PCIe_RST。
    硬件将CPU的PERST和watchdog的output引脚相与后,接到PCIe网卡的PCIe_RST。
    各位看官,这个地方会不会有问题呢?

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

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP