找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[嵌入式/ARM] 利用CoolRunner-II CPLD设计GPS系统

[复制链接]
admin 发表于 2013-3-21 20:32:33 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
GPS已在汽车、移动电话、PDA甚至手表等越来越多的产品中出现。每家GPS供应商都推出了数十种GPS产品,令消费者不知如何选择。
   因此,产品的成功取决于差异化和专业化。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代码而不必更换微处理器。
   
   3. 电平转换
   在进入较新的消费领域时,GPS需要连接尚未针对低电压工作优化的元件。CoolRunner-II CPLD至少具有两个I/O块(在大型器件中增加到四个I/O块),可轻松实现多电压接口。支持的电压标准包括1.5V、1.8V、2.5V、3.3V、SSTL2-1、SSTL3-1和HSTL-1。5V接口需要利用外部电路进行支持。
   
   4. 键盘扫描仪
   许多低端GPS机型由于成本或尺寸的限制而不能采用触摸屏接口。甚至在昂贵的机型中,也会有几个用于电源或音量控制等特定功能的按钮。某些键盘或按钮接口被用于大多数机型。这是CoolRunner-II CPLD的理想用法,因为CPLD在用户不操作时保持静态,并且能够立即响应用户的按键操作而无需从休眠模式中唤醒。此外,还可以将其设计成先验证用户数据,然后再唤醒系统其余部分。
   
   例如,许多移动电话需要连续按两个键才能唤醒,以避免意外按键操作。
   
   5. 微处理器接口
   CoolRunner-II CPLD的常见用途是端口扩展。许多微处理器没有为必须与其通信的众多器件提供足够的I/O。CoolRunner-II CPLD允许产品的平台设计无需改变内核处理器就可以增加和变更模块。
   
   6. 串行外设接口(SPI)
   SPI是一种常见接口,可用于包括Flash存储芯片、LCD、触摸屏和温度传感器在内的多种外设。这种接口的广泛使用可归因于它是一种简单的四线接口,并且能通过I2C或SMBus提升吞吐量。
   
   本文小结
   Xilinx CoolRunner-II CPLD在降低功耗、提高安全性以及为现今的GPS系统提供连接方案等方面都极具优势。借助Xilinx的各种小型封装,这些器件可用于移动电话、宠物项圈和手表等极小型便携式设备。在汽车钥匙里嵌入GPS或许也已指日可待。
   
   作者:Arthur Yang
小批量部技术营销经理
Email:arthur.yang@xilinx.com
Xilinx
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-23 13:52 , Processed in 0.054486 second(s), 9 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表