打印

嵌入式常见错误与经验点评

[复制链接]
楼主: 五谷道场
手机看帖
扫描二维码
随时随地手机跟帖
21
五谷道场|  楼主 | 2012-2-28 18:13 | 只看该作者 回帖奖励 |倒序浏览
现象五:一个CPU处理不过来,就用两个分布处理,处理能力可
提高一倍?
点评:对于搬砖头来说,两个人应该比一个人的效率高一倍;
对于作画来说,多一个人只能帮倒忙。使用几个CPU需对业务有
较多的了解后才能确定,尽量减少两个CPU间协调的代价,使
1+1尽可能接近2,千万别小于1。

使用特权

评论回复
22
五谷道场|  楼主 | 2012-2-28 18:17 | 只看该作者
现象六:这个CPU带有DMA模块,用它来搬数据肯定快?
点评:真正的DMA是由硬件抢占总线后同时启动两端设备,在一
个周期内这边读,那边些。但很多嵌入CPU内的DMA只是模拟而
已,启动每一次DMA之前要做不少准备工作(设起始地址和长度
等),在传输时往往是先读到芯片内暂存,然后再写出去,即
搬一次数据需两个时钟周期,比软件来搬要快一些(不需要取
指令,没有循环跳转等额外工作),但如果一次只搬几个字
节,还要做一堆准备工作,一般还涉及函数调用,效率并不
高。所以这种DMA只对大数据块才适用。

使用特权

评论回复
23
五谷道场|  楼主 | 2012-2-28 18:20 | 只看该作者
第四部分 信号完整性的错误认识及点评

使用特权

评论回复
24
五谷道场|  楼主 | 2012-2-28 18:21 | 只看该作者
现象一:这些信号都经过仿真了,绝对没问题?
点评:仿真模型不可能与实物一模一样,连不同批次加工的实
物都有差别,就更别说模型了。再说实际情况千差万别,仿真
也不可能穷举所有可能,尤其是串扰。曾经有一教训是某单板
只有特定长度的包极易丢包,最后的原因是长度域的值是
0xFF,当这个数据出现在总线上时,干扰了相邻的WE信号,导
致写不进RAM。其它数据也会对WE产生干扰,但干扰在可接受的
范围内,可是当8位总线同时由0边1时,附近的信号就招架不住
了。结论是仿真结果仅供参考,还应留有足够的余量。

使用特权

评论回复
25
五谷道场|  楼主 | 2012-2-28 18:26 | 只看该作者
现象二:100M的数据总线应该算高频信号,至于这个时钟信号
频率才8K,问题不大?
点评:数据总线的值一般是由控制信号或时钟信号的某个边沿
来采样的,只要争对这个边沿保持足够的建立时间和保持时间
即可,此范围之外有干扰也罢过冲也罢都不会有多大影响(当
然过冲最好不要超过芯片所能承受的最大电压值),但时钟信
号不管频率多低(其实频谱范围是很宽的),它的边沿才是关
键的,必须保证其单调性,并且跳变时间需在一定范围内。

使用特权

评论回复
26
五谷道场|  楼主 | 2012-2-28 18:28 | 只看该作者
现象三:既然是数字信号,边沿当然是越陡越好?
点评:边沿越陡,其频谱范围就越宽,高频部分的能量就越
大;频率越高的信号就越容易辐射(如微波电台可做成手机,
而长波电台很多国家都做不出来),也就越容易干扰别的信
号,而自身在导线上的传输质量却变得越差,因此能用低速芯
片的尽量使用低速芯片。

使用特权

评论回复
27
五谷道场|  楼主 | 2012-2-28 18:30 | 只看该作者
现象四:为保证干净的电源,去偶电容是多多益善?
点评:总的来说去偶电容越多电源当然会更平稳,但太多了也
有不利因素:浪费成本、布线困难、上电冲击电流太大等。去
偶电容的设计关键是要选对容量并且放对地方,一般的芯片手
册都有争对去偶电容的设计参考,最好按手册去做。

使用特权

评论回复
28
五谷道场|  楼主 | 2012-2-28 18:31 | 只看该作者
现象五:信号匹配真麻烦,如何才能匹配好呢?
点评:总的原则是当信号在导线上的传输时间超过其跳变时间
时,信号的反射问题才显得重要。信号产生反射的原因是线路
阻抗的不均匀造成的,匹配的目的就是为了使驱动端、负载端
及传输线的阻抗变得接近,但能否匹配得好,与信号线在PCB上
的拓扑结构也有很大关系,传输线上的一条分支、一个过孔、
一个拐角、一个接插件、不同位置与地线距离的改变等都将使
阻抗产生变化,而且这些因素将使反射波形变得异常复杂,很
难匹配,因此高速信号仅使用点到点的方式,尽可能地减少过
孔、拐角等问题。

使用特权

评论回复
29
五谷道场|  楼主 | 2012-2-28 18:33 | 只看该作者
主题五:可靠性设计

使用特权

评论回复
30
五谷道场|  楼主 | 2012-2-28 18:33 | 只看该作者
现象一:这块单板已小批量生产了,经过长时间测试没发现任
何问题?
点评:硬件设计和芯片应用必须符合相关规范,尤其是芯片手
册中提到的所有参数(耐压、I/O电平范围、电流、时序、温度
PCB布线、电源质量等),不能光靠试验来验证。公司有不少产
品都有过惨痛的教训,产品卖了一两年,IC厂家换了个生产
线,咱们的板子就不转了,原因就是人家的芯片参数发生了点
变化,但并没有超出手册的范围。如果你以手册为准,那他怎
么变化都不怕,如果参数变得超出手册范围了还可找他索赔
(假如这时你的板子还能转,那你的可靠性就更牛了)。

使用特权

评论回复
31
五谷道场|  楼主 | 2012-2-28 18:36 | 只看该作者
现象二:这部分电路只要要求软件这样设计就不会有问题?
点评:硬件上很多电气特性直接受软件控制,但软件是经常发
生意外的,程序跑飞了之后无法预料会有什么操作。设计者应
确保不论软件做什么样的操作硬件都不应在短时间内发生永久
性损坏。

使用特权

评论回复
32
五谷道场|  楼主 | 2012-2-28 18:37 | 只看该作者
现象三:用户操作错误发生问题就不能怪我了?
点评:要求用户严格按手册操作是没错的,但用户是人,就有
犯错的时候,不能说碰错一个键就死机,插错一个插头就烧板
子。所以对用户可能犯的各种错误必须加以保护。

使用特权

评论回复
33
五谷道场|  楼主 | 2012-2-28 18:37 | 只看该作者
现象四:这板子坏的原因是对端的板子出问题了,也不是我的
责任?
点评:对于各种对外的硬件接口应有足够的兼容性,不能因为
对方信号不正常,你就歇着了。它不正常只应影响到与其有关
的那部分功能,而其它功能应能正常工作,不应彻底**,甚
至永久损坏,而且一旦接口恢复,你也应立即恢复正常。

使用特权

评论回复
34
五谷道场|  楼主 | 2012-2-28 18:38 | 只看该作者
后记:
研发只有点点滴滴、踏踏实实地总结、积累,才能一步步
达到巅峰。
无论软件、硬件还是市场,我们要多做一些这样的“发现不
良现象,指出错误”的文档、讨论和批判。

使用特权

评论回复
35
zbb564833642| | 2012-2-28 19:03 | 只看该作者
顶起 。。。

使用特权

评论回复
36
reibatman| | 2012-2-28 20:27 | 只看该作者
顶一个,好贴

使用特权

评论回复
37
lovebaby8848| | 2012-2-28 22:17 | 只看该作者
强帖留念~~~

使用特权

评论回复
38
王紫豪| | 2012-2-28 23:54 | 只看该作者
真不错~~  应该穿裤子

使用特权

评论回复
39
haibin2011| | 2012-2-29 00:23 | 只看该作者
学习了,谢谢楼主

使用特权

评论回复
40
程序匠人| | 2012-2-29 08:38 | 只看该作者
嗯,不错!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则