像是智能型手机、便携式媒体播放器、以及全球定位系统(GPS)等手持式装置的设计工程师不停地在研究藉由降低功率的耗损,以便延长其产品内电池使用时间的方法。复杂可编程逻辑组件(CPLD)在单一个低功率封装当中,针对随机逻辑(random logic)的整合以及特定的可编程功能提供了弹性。对于相当注重功率耗损的设计工程师而言,CPLD更具吸引力之处乃在于有数种“ Zero-Power ” CPLD家族能够提供延长电池使用时间的额外特点。
可编程逻辑通常会被用来取代手持式应用装置中随机逻辑、控制或是小型数据路径的执行电路。具有极低功率耗损以及小巧尺寸的CPLD很适合使用在这些应用装置当中。由Lattice半导体以及其他供货商所开发的Zero-Power(零功耗)组件具有多项引以为傲的创新特点,能够支持手持式装置的设计。本文中将会重新检视在零功耗 CPLD当中,用以降低功率耗损的技术以及先进特点。
在CPLD当中降低功率耗损的技术
工程师可以有好几种方式来架构其设计,以便降低功率耗损的方法,其中包括有降低的频率速度、总线终端设备、低电压运作、以及总线负载限制等等。这些设计技术可以降低整体系统的电源需求,并且延长电池的使用时间。然而即便是利用了这些减少耗电量的技术,传统的CPLD电源需求通常还是会使其被排除在电池供电的组件之外。为了要克服这种限制,CPLD组件的生产厂商开发出了Zero -Power CPLD家族。
“Zero -Power”其实是个误称。就像是“零卡路里”不代表说该食物真的毫无热量,“Zero -Power”也不代表说该组件真的不会消耗功率。“Zero-Power”真正的意思是该CPLD具有多项引以为傲的省电特点,以及被设计成能够在多数应用装置中大幅降低电源需求的核心逻辑。这些延伸的特点当中包括了输入闸控以及转换率(Slew Rate)的控制。
输入闸控(Gating)
输入闸控被Lattice半导体称为“Power Guard”(不同的供货商对于这项特点有不同的名称),它是一种将逻辑数组与外部输入信号的改变断开,藉以降低CPLD运作功率的简单方法。任何会改变状态的逻辑都会消耗功率。当外部的激发动作没有用途时,将其从逻辑数组上移除就可以暂停内部的逻辑动作,这样就可以省电。当输入闸控被启用时,内部逻辑以及相对应的输出会维持在相同的状态,直到输入闸控信号被移除为止。输入闸控的控制包含介于I/O接脚以及输入缓冲之间的逻辑。闸控逻辑乃是藉由一组位于逻辑数组(图1)当中内部巨细胞(macrocells)之一的输出来加以控制。输入闸控的特点能够在每一接脚之基础上予以启动或是停用。有某些CPLD家族对所有的输入线路提供单一输入闸控区块,其他CPLD家族部份则以多重闸控区块加以建构,以便在I/O的独立区域上提供精准的控制。
转换率的控制(Slew Rate)
转换率的控制为每一组I/O接脚提供了两组作为输出缓冲状态改变的设定:快速与慢速转换。采用短走线或是经过良好终端处理线路的设计可以采用快速转换模式,它能够以最快的速率在状态之间进行切换,同时消耗较少的功率。对于具有较长、无终端处理走线的高速设计,慢速转换模式可以产生较少的反射、较少的噪声,并且将地电位弹跳(ground bounce)维持在最小状态。
其他一般会包含在这些超低功耗CPLD组件中的先进特点还有输入延迟、芯片内建振荡器以及可编程终端等。
输入磁滞(Hysteresis)
输入磁滞为慢速转换的输入信号提供了改良过的抗噪声能力。最新的CPLD家族拥有极具效率的I/O组件以及在3.3与2.5 V输入下的全时输入磁滞(full time hysteresis)。效率稍差的CPLD则提供设计工程师可以将延迟功能停用的选项,以做为在I/O组件中节省功耗的方法。
芯片内建振荡器
为了要协助降低整体的系统成本,目前的先进CPLD会在芯片中内建能够提供系统频率的振荡器,可以将其与内部逻辑链接,以及做为定时器功能之用。振荡器的典型用途包括有电源启动的定序、小型键盘的扫描、以及显示控制器等应用领域。将振荡器整合至CPLD当中可以减少系统组件的总数量,同时省去了专用振荡器芯片的成本。在不需要芯片内建振荡器的设计当中,该区块可以停用,进而节省更多的功耗。只有少数的供货商─其中也包括了Lattice会在他们最小的CPLD组件当中内建振荡器。
可编程终端(Programmable Termination)
所有的零功耗 CPLD都具有能够应用在输入接脚上某些形式的可编程I/O终端,这是为了要减少由于外部三态(tri -stated)总线所造成的功率耗损。未经终端处理或是浮动的输入可能会因为杂散于高低标准逻辑位准之间的信号而使用过量的功率。依据所选用的CPLD家族为何,各自有针对总线保持器(bus -keeper)锁定、pull -up、pull -down、或是无终端处理等的选项(图2)。举例来说,Lattice提供了前述的4个选项,而且这些选项可以被安排在每个独立的输入接脚上。其他供货商的组件则具有在每一接脚的基础上执行“增强”与“总线保存器”选项的能力,或是针对“总线保存器”与“增强”的全局终端分配,且每只接脚都可以被终端群组包含于其中或是被摒除在外。
适合有空间限制使用者的小巧封装
每个世代的手持式装置都会将额外的产品功能放入更小的空间当中。这可以透过电路的整合来加以实现,而CPLD则是此解决方案中不可或缺的一部分。CPLD之所以不可或缺的原因之一,就是其对于发生在ASSP与ASIC组件中问题所具有的“快速修正(quick fix)”执行方法。它们也能够将个别独立的逻辑解决方案、内存控制器之类的特殊功能、接口桥接、LCD/触摸屏接口、看门狗(watchdog)功能以及电源管理等予以整合。
在手持式装置的设计上,可用的电路板空间是受到极度重视的。CPLD供货商以广大范围具有成本效益的封装方式来提供zero-power组件。最小的封装是5mmx 5mm,而且仍然具有多种选项,最大的封装则可以到达28mmx 28mm。可用的I/O接脚其范围则是从5mmx5 mm QFP封装中的21组 I/O一直到324只接脚BGA中的270组 I/O。芯片尺寸大小的BGA封装具有I/O线路相对于封装尺寸的优化比例。举例来说,Lattice 64 -macrocell ispMACH 4000ZE CPLD在其小巧的5mmx 5mm尺寸大小中提供了52组I/O线路(图3)。
Lattice ispMACH 4000ZE CPLD家族将Power Guard输入闸控制功能加入其整个组件家族当中,藉此扩充其较早期4KZ家族组件的能力。不同于一些其他的实现方案,Lattice将2~16个Power Guard区段加入至每个组件当中,这使得独立I/O接脚的电源控制具有较佳的细微度(granularity)。经过增强的芯片内建振荡器也被加入至组件当中,其包含有divide-by-n定时器模块以及对于 pull up、pull down与“总线控制器”能够在每只接脚的基础上加以启动的完整I/O支持。
在电源启动的周期当中,所有的I/O接脚都是处于pull down模式下,此可以降低来自于外部信号线路的电流。新的Lattice CPLD同时也拥有来自于32 -macrocell 组件之10μA 的最低典型待机用电量。组件的密度范围是从32~256个macrocell,以及36~112 组I/O接脚。
CPLD使设计得以优化
随着功能的需求日益增加,对于手持式装置之设计工程师而言,电池的使用时间是一项主要的考虑。附加在既有设计中的额外接口以及逻辑电路的整合,只要使用先进的zero-power CPLD组件就可以在符合系统功率预算范围内轻易的加以实现。近期在对于颇为热门的可携式GPS接收器的重新检视当中发现到,有数个独立的组件被使用做接口与逻辑功能,其中包括有SD卡接口、总线发射接收器以及连结埠扩充器等。所有的这些功能都可以被整合至单一组zero -power CPLD组件当中,进而减少电路板上的组件数量,同时降低生产成本,增加总体的可靠度。
由于市场的需求会快速的改变,因此快速的上市时间是必要的。针对CPLD而非ASIC或是ASSP进行标准化,将可以显著的缩短其从产品开发到上市发表的时间。Zero-power CPLD为产品设计工程师提供了一个只需要极低电源的逻辑电路解决方案,同时又具有极为小巧的封装尺寸,而这两项特性都使得zero-power CPLD很适合在手持式装置中实现。