芯片|电子工程师会犯的29个常见错误!( 三 )


正 解:对于搬砖头来说 , 两个人应该比一个人的效率高一倍;对于作画来说 , 多一个人只能帮倒忙 。 使用几个CPU需对业务有较多的了解后才能确定 , 也就说要尽量减少两个CPU间协调的代价 , 使1+1尽可能接近2 , 千万别小于1 。

低功耗设计

常见错误17:这些总线信号都用电阻拉一下 , 感觉放心些 。

正 解:信号需要上下拉的原因很多 , 但也不是个个都要拉 。 上下拉电阻拉一个单纯的输入信号 , 电流也就几十微安以下 , 但拉一个被驱动了的信号 , 其电流将达毫安级 , 现在的系统常常是地址数据各32位 , 可能还有244/245隔离后的总线及其它信号 , 都上拉的话 , 几瓦的功耗就耗在这些电阻上了(不要用8毛钱一度电的观念来对待这几瓦的功耗 , 原因往下看) 。
常见错误18:我们这系统是220V供电 , 就不用在乎功耗问题了 。
正 解:低功耗设计并不仅仅是为了省电 , 更多的好处在于降低了电源模块及散热系统的成本、由于电流的减小也减少了电磁辐射和热噪声的干扰 。 随着设备温度的降低 , 器件寿命则相应延长(半导体器件的工作温度每提高10度 , 寿命则缩短一半) 。 功耗问题随时都要考虑到 。
常见错误19:这些小芯片的功耗都很低 , 不用考虑 。
正 解:对于内部不太复杂的芯片功耗是很难确定的 , 它主要由引脚上的电流确定 , 一个ABT16244 , 没有负载的话耗电大概不到1毫安 , 但它的指标是每个脚可驱动60毫安的负载(如匹配几十欧姆的电阻) , 即满负荷的功耗最大可达60*16=960mA , 当然只是电源电流这么大 , 热量都落到负载身上了 。
常见错误20:CPU和FPGA的这些不用的I/O口怎么处理呢?可以让它空着 , 以后再说 。
正 解:不用的I/O口如果悬空的话 , 受外界的一点点干扰就可能成为反复振荡的输入信号了 , 而MOS器件的功耗基本取决于门电路的翻转次数 。 如果把它上拉的话 , 每个引脚也会有微安级的电流 , 所以最好的办法是设成输出(当然外面不能接其它有驱动的信号) 。
常见错误21:这款FPGA还剩这么多门用不完 , 可尽情发挥吧 。
正 解:FGPA的功耗与被使用的触发器数量及其翻转次数成正比 , 所以同一型号的FPGA在不同电路不同时刻的功耗可能相差100倍 。 尽量减少高速翻转的触发器数量是降低FPGA功耗的根本方法 。
常见错误22:存储器有这么多控制信号 , 我这块板子只需要用OE和WE信号就可以了 , 片选就接地吧 , 这样读操作时数据出来得快多了 。
正 解:大部分存储器的功耗在片选有效时(不论OE和WE如何)将比片选无效时大100倍以上 , 所以应尽可能使用CS来控制芯片 , 并且在满足其它要求的情况下尽可能缩短片选脉冲的宽度 。
常见错误23:降低功耗都是硬件人员的事 , 与软件没关系 。
正 解:硬件只是搭个舞台 , 唱戏的却是软件 , 总线上几乎每一个芯片的访问、每一个信号的翻转差不多都由软件控制的 , 如果软件能减少外存的访问次数(多使用寄存 器变量、多使用内部CACHE等)、及时响应中断(中断往往是低电平有效并带有上拉电阻)及其它争对具体单板的特定措施都将对降低功耗作出很大的献 。 要想板子转得好 , 硬件软件必须两手抓!
常见错误24:这些信号怎么都有过冲啊?只要匹配得好 , 就可以消除了 。
正 解:除了少数特定信号外(如100BASE-T、CML) , 都是有过冲的 , 只要不是很大 , 并不一定都需要匹配 , 即使匹配也并非要匹配得最好 。 象TTL的输出阻抗不到50欧姆 , 有的甚至20欧姆 , 如果也用这么大的匹配电阻的话 , 那电流就非常大了 , 功耗是无法接受的 , 另外信号幅度也将小得不能用 , 再说一般信号在输出高电平和输出低电平时的输出阻抗并不相同 , 也办法做到完全匹配 。 所以 , TTL、LVDS、422等信号的匹配只要做到过冲可以接受即可 。