background image

和等待周期等参数进行合理调配。有时把频率降低反而可提高效率,如

RAM 的 存取周期是 70ns,总线频

率为

40M 时,设 3 个周期的存取时间,即 75ns 即可;若总线频率为 50M 时,必须设为 4 个周期,实际

存取时间却放慢到了

 80ns。

现象五:一个

CPU 处理不过来,就用两个分布处理,处理能力可提高一倍

点评:对于搬砖头来说,两个人应该比一个人的效率高一倍;对于作画来说,多一个人只能帮倒忙。使用

几个

CPU 需对业务有较多的了解后才能确定,尽量减少两个 CPU 间协调的代价,使 1+1 尽可能接近 2,

千万别小于

1。

现象六:这个

CPU 带有 DMA 模块,用它来搬数据肯定快

 评:真正的 DMA 是由硬件抢占总线后同时启动两端设备,在一个周期内这边读,那边些。但很多嵌入

CPU 内的 DMA 只是模拟而已,启动每一次 DMA 之前要做 不少准备工作(设起始地址和长度等),在传

输时往往是先读到芯片内暂存,然后再写出去,即搬一次数据需两个时钟周期,比软件来搬要快一些(不

需要取指令,

 没有循环跳转等额外工作),但如果一次只搬几个字节,还要做一堆准备工作,一般还涉

及函数调用,效率并不高。所以这种

DMA 只对大数据块才适用。

四:信号完整性

现象一:这些信号都经过仿真了,绝对没问题

 评:仿真模型不可能与实物一模一样,连不同批次加工的实物都有差别,就更别说模型了。再说实际情

况千差万别,仿真也不可能穷举所有可能,尤其是串扰。曾经

 有一教训是某单板只有特定长度的包极易丢

包,最后的原因是长度域的值是

0xFF,当这个数据出现在总线上时,干扰了相邻的 WE 信号,导致写不

RAM。其 它数据也会对 WE 产生干扰,但干扰在可接受的范围内,可是当 8 位总线同时由 0 边 1 时,附

近的信号就招架不住了。结论是仿真结果仅供参考,还应留有足够的余

 量。

现象二:

100M 的数据总线应该算高频信号,至于这个时钟信号频率才 8K,问题不大

点评:数据总线的值一般是由控制信号或时钟

 信号的某个边沿来采样的,只要争对这个边沿保持足够的

建立时间和保持时间即可,此范围之外有干扰也罢过冲也罢都不会有多大影响(当然过冲最好不要超过芯

 所能承受的最大电压值),但时钟信号不管频率多低(其实频谱范围是很宽的),它的边沿才是关键

的,必须保证其单调性,并且跳变时间需在一定范围内。

现象三:既然是数字信号,边沿当然是越陡越好

点评:边沿越陡,其频谱范围就越宽,高频部分的能量就越大;频率越高的信号就越容易辐射(如微波电

台可做成手机,而长波电台很多国家都做不出来),也就越容易干扰别的信号,而自身在导线上的传输质

量却变得越差,因此能用低速芯片的尽量使用低速芯片,。

现象四:为保证干净的电源,去偶电容是多多益善

点评:总的来说去偶电容越多电源当然会更平稳,但太多了也有不利因素:浪费成本、布线困难、上电冲击

电流太大等。去偶电容的设计关键是要选对容量并且放对地方,一般的芯片手册都有争对去偶电容的设计

参考,最好按手册去做。

现象五:信号匹配真麻烦,如何才能匹配好呢?

 评:总的原则是当信号在导线上的传输时间超过其跳变时间时,信号的反射问题才显得重要。信号产生

反射的原因是线路阻抗的不均匀造成的,匹配的目的就是为了

 使驱动端、负载端及传输线的阻抗变得接近,

但能否匹配得好,与信号线在

PCB 上的拓扑结构也有很大关系,传输线上的一条分支、一个过孔、一个拐

角、一个接

 插件、不同位置与地线距离的改变等都将使阻抗产生变化,而且这些因素将使反射波形变得异

常复杂,很难匹配,因此高速信号仅使用点到点的方式,尽可能地减少

 过孔、拐角等问题。

(

信号完整性设计技巧

§

)