您的位置:控制工程论坛网论坛 » 嵌入式系统 » S3C2410硬件调试总结

zhiy66

zhiy66   |   当前状态:在线

总积分:6528  2024年可用积分:0

注册时间: 2007-12-18

最后登录时间: 2012-01-11

空间 发短消息加为好友

S3C2410硬件调试总结

zhiy66  发表于 2008/12/2 13:01:22      700 查看 0 回复  [上一主题]  [下一主题]

手机阅读

最近在做基于三星S3C2410的项目,在硬件调试过程中碰到一些特殊的问题,困惑了我好久,现在终于解决了,为了避免类似问题再次发生,特地写下这个总结,也希望同行们以此为鉴。

    1nWait信号上拉电阻的阻值选择不当,会引起系统死机。为了节约成本,产品的PCB采用核心板加底板的结构,其中,S3C2410核心板是在别的产品中采用过的,是经过验证能够正常工作的;底板是本次项目重新设计的。将核心板插到底板后,通过USB下载BOOT,linux内核和文件系统,启动linux系统。系统在装载CS8900驱动时死机,连复位按钮也不响应,只能切断电源进行重新启动。

既然是在装载CS8900驱动时CPU死机,问题基本定位在CS8900这颗IC的电路上。CS8900在核心板上,而核心板在别的产品中,一切工作正常,那是不是底板上的器件影响到了CS8900的相关电路呢?用示波器对CS8900的控制信号逐个检查,终于找到了问题。系统死机时,CS8900输出到S3C2410nWait信号线的电压是0.

9V左右,属于低电平或电平信号的临界状态,S3C2410检测到nWait信号,所以会停止运行,等待nWait恢复到高电平后再执行下面的指令。

再次检查原理图发现,在核心板上nWait信号线通过一个10K欧姆的电阻上拉到3.3V电源;在底板上,以前的产品没有使用该信号,而这次的产品nWait信号还连接到其他的ICnWait信号本该是高电平,但由于IC驱动不够,才导致实际输出0.9V,被当成低电平了。

真相一切大白,将上拉电阻改为1.5K欧姆,问题解决,系统终于正常运行,熟悉的小企鹅跃入眼帘,显得异常可爱!

1楼 0 0 回复