CoolRunner-II CPLD实现GPS系统
GPS已在汽车、移动电话、PDA甚至手表等越来越多的产品中出现。 产品的成功取决于差异化和专业化。Xilinx公司的CoolRunner-II CPLD是增加产品功能或与器件连接的理想芯片,能使GPS产品在不超出功耗预算的情况下从众多同类产品中脱颖而出。 功耗优势 便携式和仪表板式GPS设备都必须遵守严格的功耗预算。CoolRunner-II CPLD具有无需进入休眠模式状态即可达到极低功耗的优势。最小型CoolRunner-II器件的静态供电电流只有13μA。在某些便携式应用中,具有一种休眠模式就足够了,并且这些应用可以接受数百毫秒的唤醒时间。 不过,在某些情况下会丢失当前的设计状态。当采用休眠模式时,整个设备都处于关闭状态。必须依靠另一器件来轮询中断并激活唤醒序列。CoolRunner-II器件通过DataGATE功能来提供一种可避免设计困难的独特休眠模式,DataGATE是一种自含式、用户可配置电路,允许用户根据需要停用器件的某些部分。 通过启用DataGATE功能,在几个纳秒内即可关闭选定的任意输入,从而将CPLD的功耗调节到更接近静态功耗。该操作可以周期性地进行(例如在轮询到某个中断时),也可根据特定的操作状态进行。这样便可将CoolRunner-II器件的某些部分保持激活状态,而将其余部分置于待机状态。 下面举个例子来进一步说明。CPLD位于微处理器、移动SDRAM和SD Flash卡之间的地址和数据总线上。数据在各器件之间移动。CPLD监测数据活跃性,并且根据特定功能阻断数据流通。如果当前任务是从微处理器向SD卡传输数据,则CPLD利用DataGATE功能阻断往来于SDRAM的所有数据。 在CPLD内部编写代码即可解码正在执行的功能(通过监视地址线或解析帧数据),然后开启/关闭所需的数据通路。这是一个非常简单的例子,可编程逻辑器件(PLD)利用输出三态可能难以实现。 DataGATE的优势是可以对CPLD的输入进行有效的三态控制。由于CPLD的I/O以及内核电路均处于静态,因此能够降低功耗,而解决方案则要求整个PLD都处于激活模式。 安全性优势 GPS系统的价位使其成为产品仿制时一个颇具吸引力的目标。为了帮助防止仿制,可以利用CoolRunner-II CPLD的读写保护安全机制实现一种可防止通过过量生产进行仿制的安全系统。过量生产是指签约制造商针对指定的生产批次过量订购元件,然后过量生产与正版完全相同的产品。 读写保护安全机制的原理是系统必需与CPLD进行交互操作以执行所需功能。有多种方法可以实现这种安全机制。最直接的解决方案是让CPLD充当数据通信,指挥数据在电路板上的各个器件之间传输。 一种较复杂的解决方案需利用CPLD来实现密码阻断功能。这种方法是让微处理器提交一串随机数据流,该数据流经CoolRunner-II器件加密后返回。然后将此数据解密并对照原始数据进行验证。 CoolRunner-II CPLD的安全机制是通过多个编程位实现的,因此,如果想确定哪些位与安全机制相关,就必须从非易失性阵列内的数万位中找出并使这些位失效。CoolRunner-II CPLD的读写安全机制可阻止对原型进行回读和编程。因此,该器件既不允许提取已编程的JEDEC文件的内容,也不允许用修改的代码覆盖原型代码。要对器件重新编程,必须先擦除整个器件中的代码,而这样做会丢失设计信息。 在所有这些流程中,一个关键因素是必须由有信誉的厂商(Xilinx或授权的Xilinx分销商)向签约制造商提供预编程的CPLD。这样做可以防止过量生产,因为仅通过多订购空白CPLD而无法访问编程文件是无法生产出产品的。 实现GPS设备的产品差异性 最初的消费型GPS设备十分简单,仅以经纬度的形式给出位置信息。现在的GPS设备不仅能提供实时地图和方向,而且还具有MP3播放或通过蓝牙与移动电话集成等功能。此外,还有面向特定市场的功能各异的GPS系统,例如为车载导航提供即时交通信息、供长跑或自行车运动员用来测速的超小型设备以及供钓鱼者使用的带声纳的设备,甚至还有用于监视家养宠物的带GPS功能的项圏。 每种产品都需要可连接不同设备的接口,这正是CoolRunner-II CPLD的优势所在。下面介绍CoolRunner-II CPLD的一些用途。如图所示是Xilinx CPLD为GPS应用提供的一些增强功能。 1. SD卡接口 SD存储器(有小型SD和微型SD等多种物理格式)接口已经从几年前相互竞争的各种存储器接口中分划出来。尽管MMC和Compact Flash等接口仍然在使用,但所占的市场份额很小。Flash卡主要用于具有图片或MP3播放功能的产品,而这两种功能在GPS手持设备中已日趋普遍。 2. 移动SDRAM接口 通过将CPLD用作存储器接口,可以简化微处理器的代码。如果高端机型需要多个存储器模块但低端产品不需要,则可修改CPLD代码而不必更换微处理器。