工程师们需要迎接可穿戴设备时代的设计挑战
可穿戴电子设备对设计工程师提出了前所未有的挑战—设计工程师需要在没有专用芯片组或标准化架构的情况下创建智能、紧凑和多功能的产品。由于专用芯片组(标准化架构)的缺失,设计工程师需要在可穿戴产品中使用为移动和手持应用设计的器件和互连技术。
如何在两个不相关的器件之间实现数字与模拟“鸿沟”的桥接是一个不小的设计挑战,而这对于有严格空间和功耗限制的可穿戴设备来说更是难上加难。同时,发展迅速的市场要求设计工程师紧跟消费者不断变化的需求,快速升级现有产品的功能并推出全新的产品。
本文将针对可穿戴产品的设计挑战进行研究,并将探索如何使用可编程逻辑产品来解决这些问题。文章相关的设计实例旨在说明如何将专用可编程器件应用于以下三个方面:
扩展。使用额外的逻辑和定制功能扩展现有ASIC和ASSP的功能和使用寿命。
升级。使用可编程逻辑产品实现新协议和标准,并通过桥接实现互不兼容元器件间的互连,以此升级可穿戴设备的设计。
创新。无需为ASIC开发投入大量时间和费用,使用可编程逻辑产品提供的灵活平台来实现高级功能或全新的特性。
可穿戴设备带来前所未有的设计挑战
可穿戴电子产品正处于发展早期,技术尚未成熟,就像地球上的生命进化过程一样,将发生像寒武纪生命大爆发一样百花齐放的技术创新。可以预见至少在未来的3到5年内将不断有各种各样的产品和试作面世,形成具备以下特征的市场:
● 市场快速创新,而消费者的需求也以同样的速度快速变化;
● 全新类型的产品出现和发展,有时候也会最终消失;
● 出现众多相互竞争的产品,但未能形成标准的功能集;
● 即使有也只有很少的标准化架构或接口标准。
在这段蓬勃发展的时期里,产品依托的半导体器件的发展将跟不上产品本身迭代更新的速度。由于IC开发通常需要12至18个月,如果制造商坚持为可穿戴市场开发ASIC,很可能导致产品上市时功能并不尽如人意或已然过时。
没有专为应用优化的微控制器(MCU)和ASSP,可穿戴设备设计工程师就必须使用通用的MCU或使用来自更成熟应用的高度集成器件,如来自智能手机、平板电脑以及其他手持/移动设备中的器件。上述这两种方式都为设计工程师提供了高集成度的嵌入式计算平台,无需为开发专用器件投入大量的时间和成本。不仅如此,很多开发工具和应用软件都支持大多数这些现成器件,这也是额外的优势。
虽然在可穿戴应用中使用这类移动专用器件可获得诸多优势,但是设计工程师还是会在设计过程中面临诸多挑战。第一个挑战是可穿戴设备市场的变化非常快,最初产品中所使用的嵌入式计算器件可能不具备相关的接口和I/O功能用以支持下一代产品所需的所有新功能。为了跟上市场变化的步伐,设计工程师必须要为产品设计增加扩展电路或寻找功能更强的MCU/ASSP。
第二个挑战, 也正是更普遍的问题—大部分这些嵌入式计算器件并不具备相关接口用于可穿戴应用中最常用的各类传感器、显示屏和其他I/O器件。在某些情况下,传感器或显示屏的接口不匹配系统的数据总线,或不兼容系统应用处理器使用的格式,这将导致“数字断裂(DigitalDisconnect)”的发生(图1)。
图1:“数字断裂”常见于大多数CMOS图像传感器的LVDS接口和许多常用应用处理器使用的CSI-2 I/O总线之间。
例如,常用于CMOS图像传感器的Sub-LVDS接口采用与许多常用应用处理器使用的CSI-2接口不同的数据帧格式(图1)。此外,器件的接口还可能具备不同数量的串行通道。另一个导致“数字断裂”的原因是,许多通用MCU具备GPIO以及其他并行接口,其必须要转换成一种现在大多数传感器和显示屏使用的串行格式。此外,可穿戴应用中采用的紧凑封装MCU的引脚数量太少,限制了其可直接访问的器件数量。
应用处理器所支持的接口与众多传感器和输出设备所要求的接口之间也存在着“ 功能性鸿沟” 。一个简单的例子是,可穿戴设备可实现电视机或其他电子产品的红外远程控制。而这种情况下,大多数MCU并不具备的LED驱动能力成为了应用处理器和红外(IR)LED之间的“功能性鸿沟”。
IR编码器是一种纯数字功能,至少从理论上来说可以由MCU的应用处理器实现。但是在许多情况中,这并不是最理想的解决方案,因为实时编码需要占用的处理器资源已经超过了系统能够节省的资源。并且,应用处理器在编码任务上花费的额外时间将导致消耗过多有限的系统功耗,因此最好使用硬件实现。
基于FPGA的解决方案
现在,FPGA可提供高性价比的方式来实现接口间的桥接以及为现有的器件
电子技术设计 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)