找回密码
 注册
关于网站域名变更的通知
查看: 5493|回复: 36
打印 上一主题 下一主题

工程师故事:一个上拉电阻引发的血案

  [复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2012-11-22 08:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x

$ k3 l9 [; t7 ]. `; |
" z2 F. H% E" }& ?# j/ R大家看了后如果清楚的理解了上拉电阻的作用的话,请不要忘记帮忙顶一下:
& A3 T: k% o8 o1 |' ]9 {( @2 @& t
/ D5 {  b  x0 G! q  J1 l
; @; {* G+ K: W; n楼上的靴子
+ E! d2 Z) K$ r( C% t在板子上,FPGA与ASIC之间的是以“异步”方式工作。双方一问一答。前面问的事有了答复,才接着问下一件事。过期不答,就要中断报警。对FPGA发来的每一个读写要求,ASIC都应该发回一个应答信号(ACK)。正常的ACK应该是一个负脉冲,宽度为一个时钟周期。可是我现在看到的却是另一番奇怪的情景:ACK脉冲迅速降到低电平,一个时钟周期后,却没有跳回到高电平,而是循着一条漫长的RC充电曲线返回,远远看去成了一个锯齿波。 & U7 K  Y1 R/ _8 l' _
难怪FPGA读出的数据要慢几拍!
! P  k+ v4 U8 uFPGA在检测到ACK信号的负跳变后,就进入等待状态。一旦ACK回到高电平,就开始按规定的时序发送或读取数据。现在ACK产生了负跳变,却迟迟没有返回。FPGA则就像苏文茂的相声里说的那个老头儿,痴痴地等着楼上掉下的第二只靴子,却一直没有动静。老头儿没听到靴子响不敢睡觉,FPGA没看到期待中的高电平,也不敢造次,不能进行下一步的操作,被“干”在这儿了! 2 C% F4 L0 N* m* [0 s% y
严格地说,FPGA楼上的第二只靴子还是掉下来了,只是晚了些。因为ACK电平的恢复虽然慢,但毕竟还是回
+ U3 g' k" d; B/ E. W来了。鬼使神差的是这个恢复时间并没有超过规定的时间间隔,所以FPGA也没把它按“超时”处理,产生中断。 5 H6 g% b9 P9 P6 R/ B7 v. C
“哥们儿不就是晚来了一会儿吗,你还动真格的?真要打911报警呀!”
# F" [8 j& {& z+ J4 X# m“但你可是把我坑苦了!你不是有上拉电阻吗?怎么还这么磨磨蹭蹭的!”
* }4 F2 b4 T! j. ^  m9 o6 J: ^这个ACK信号线上是应该有一个上拉电阻的。在ASIC一旦放弃对它的低电平驱动后,电源会经过这个上拉电阻对其快速充电,使之回到高电平。如果没有它,这个充电过程就要经过其它回路,其时间常数要远大于正常情况。所看到的结果就是这个德行。由于ACK的恢复周期拉长,返回的数据也就姗姗来迟。而测试平台只是进行功能检查,读写的速度要远低于实际系统的情况,对这种延迟不敏感。在系统中进行手动读写时,因为是手敲命令,更慢,当然也发现不了。
' y* [) n8 I2 z5 g$ W: D* K莫非我记错了?再翻ASIC的技术文件,没错呀!上面明明白白写着ACK输出端内部有上拉电阻啊!难道是做ASIC的那帮小子偷工减料?我得找他们! + B& D$ g+ D$ B5 Y7 w' F  ^5 b
ASIC的总体负责人叫戴维。他也是当年S公司留下来的几只大鸟之一。戴维和电影里的那个骑着扫帚乱飞的小男孩是一个地方的人。却没有印象中那儿的人的刻板。为人很热情幽默。# T2 ~, _& h; t. {( K6 r6 c' s
据他说,当初离开那儿来这儿,就是因为受不了那里的沉闷和拘束。尤其痛恨的就是动不动就要西装革履打领带。现在除了说话还是舌头根儿发硬的哈利波特味儿,与其他人别无两样。
6 K4 r7 M2 N& `- d+ \) }; Z' w我风风火火地找到他: / H$ x% A4 }5 L+ A2 Z
“您老人家在那个ACK管脚上到底放没放上拉电阻啊?”
4 H, U& t/ J2 J' U  q4 f- u" m“哦,我得查查……”他倒是不着急。 & F+ Y2 L6 j! D7 o6 X9 x* y5 J) ~
过了一会他来到我这儿,靠着墙不紧不慢地说: & L6 ?' ^2 N, Z) p
“我们的确有一个上拉电阻在那……” 9 h9 k3 ^% K' _3 R0 Z. u% H, J
“噢……”
6 ^4 s2 ?, u1 U0 H, T* f“不过……”
) |# p% E3 V! T+ w“什么?” # G8 x- s- Z; A. i
“……那个电阻有效时间只有一个时钟周期……”
. t/ j* H! d- \% p) j/ O“嘛玩意儿?一个时钟周期?!您老这是嘛路子?”
: w5 r5 T* k2 R7 O) h……
8 [! N# P; M/ S, k) V& h. l费了好大的劲,我才从戴维的解释中明白点儿意思。 1 u" T. ?- Y; d/ o
这个ASIC是由C公司自己设计的,但生产却要由IBM代工。就是现在那些“Fabless”公司常见的做法。要由别家公司代工,芯片的设计在一定程度上就要迁就代工公司的工艺要求,还要在性能和成本之间折中。在芯片内部,电阻实际上都是由处于各种状态的CMOS单元构成。ACK这个信号所处位置,要构成一个完全意义上的上拉电阻有些困难。于是就因陋就简用了一个逻辑代替,而且只在AC
% R5 R! U. ]2 nK处于低电平的状态下开通,以确保能出现一个负跳变。剩下的他们觉得无关紧要,不影响其他性能,因为很容易在板子上弥补。
) F( n4 v) F8 ]0 }. v& h所以说,技术文件上说有上拉电阻并没错,不过嘛…… , F3 i5 K  n: q& n3 _! |( P& I1 ~2 g* U
听了这些,我不禁仰天长叹:这可真是IBM做的片子,真有大爷的风范!只管一个时钟周期,到点儿拍屁股走人。留下一个烂摊子要我来收拾。 5 a/ i4 P2 w# _% i# X4 }+ e
到现在,原因已经彻底清楚了:区区一个电阻的事!因为它只有效一个时钟周期,驱动过后,ASIC的ACK端子就成了开路状态,只能靠FPGA一头的输入端一点儿微小的漏电流充电。等它再回到高电平,黄花菜都凉了! ! T% L0 H- Y5 Z" g& i1 J: I9 {
想我半世“英名“,在这行儿里混迹多年,也算个吃过见过的主儿。没想到今天栽在一个不起眼的上拉电阻手里!天理何在?! 3 P0 L6 L6 z% M, G- ^) h0 ~
现在,楼上的那只靴子倒是掉下来了,可我还能睡吗?
) j3 p8 \1 T) o3 w8 v( S& S

点评

支持!: 5.0
支持!: 5
生动幽默的讲述了一个非常重要而且不容易查找的问题。  发表于 2013-9-14 23:27

评分

参与人数 2贡献 +9 收起 理由
yanggo + 7 精品文章,生动幽默地说明问题出来。
anjisuan + 2 很给力!

查看全部评分

该用户从未签到

推荐
发表于 2014-9-12 08:51 | 只看该作者
这儿是我PCB资料专属区:http://meacyl.7958.com/9 z5 n4 s: p! `3 I5 M7 z0 H

6 A: S' D" A  `原件库(pads .allegro .AD ,),PCB 板块例子,设计要求等
4 Z! o' m% N, y' t; P% e

该用户从未签到

推荐
发表于 2013-12-21 17:04 | 只看该作者
高手啊。强人啊。用词还很风趣,这么复杂的东西我居然看懂了。

该用户从未签到

推荐
发表于 2014-8-30 12:43 | 只看该作者
看完,不太懂········收了慢慢琢磨

该用户从未签到

2#
发表于 2012-11-22 08:11 | 只看该作者
呵呵  

该用户从未签到

3#
发表于 2012-11-23 11:46 | 只看该作者
看不太懂

该用户从未签到

4#
发表于 2012-11-23 12:12 | 只看该作者
宝贵经验。

该用户从未签到

5#
发表于 2012-11-23 14:13 | 只看该作者
这个相当不错
3 u) q- F+ I$ Y& J

该用户从未签到

6#
发表于 2012-11-28 13:25 | 只看该作者
高人啊!!连戴维都被你搞定了!7 Y* k  U, S% ]  J
所以,以后在某些关键地方还是在板子上加上拉才保险!

该用户从未签到

7#
发表于 2012-11-29 00:06 | 只看该作者
有意思,值得一看~

该用户从未签到

8#
发表于 2012-11-29 08:46 | 只看该作者
不错 值得一顶

该用户从未签到

9#
发表于 2012-12-3 16:21 | 只看该作者
硬件应该好好学习这招

该用户从未签到

10#
发表于 2012-12-3 21:58 | 只看该作者
不错不错,不知道我那个搞不定的IIC温湿度是不是应为上来电阻的问题

该用户从未签到

11#
发表于 2012-12-4 10:33 | 只看该作者
现在还有点模糊,mark一下,以后来看

该用户从未签到

12#
发表于 2012-12-4 11:02 | 只看该作者
这个有意思 。

该用户从未签到

13#
发表于 2012-12-4 16:12 | 只看该作者
杯具!

该用户从未签到

14#
发表于 2012-12-18 15:00 | 只看该作者
有点模糊

该用户从未签到

15#
发表于 2012-12-20 16:42 | 只看该作者
,真搞啊!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-8-24 08:25 , Processed in 0.156250 second(s), 29 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表