智能车制作
标题:
传感器设计之道
[打印本页]
作者:
ecjtu
时间:
2010-10-27 16:18
标题:
传感器设计之道
约在两年前,我加入了飞思卡尔传感器团队,该团队负责加速度传感器、压力传感器和触摸传感器的业务。
在此之前,我曾在飞思卡尔的微控制器解决方案事业部工作多年,在这个部门我是一名数字信号控制器和微控制器系列的架构师。我加入传感器部门之后首先学到的一件事就是,之前与微控制器设计相关的一套“游戏规则”应该适应传感器的具体情况。封装选择便是一个典型的例子。对于大多数微控制器,封装都是基于大量的功能、所需的电源引脚、定向 PCB 装配过程和(有时)热特性进行选择的。有关性能的注意事项通常都是次要问题,如果它们的确存在的话。传感器是与真实世界进行互动的器件。在封装装配与 PCB 安装期间引进了机械应力,这会影响器件的电气性能;通常会利用温度进行额外补偿或改动性能变量。即使用于芯片固定 (die attach) 的复合物对传感器也有明显影响,必须在设计过程初期考虑到这一因素。
MMA9550L封装的初期设计
在我最近的一篇博客文章中,我介绍了 MMA9550L Xtrinsic 运动传感平台。现在我要与各位分享该产品中包含的主要设计理念。横跨传感器与微控制器的两个领域,我处于一个独特的位置在此评论其中的设计取舍方案。我曾编辑过 MMA9550L 的产品规格说明书,与设计并构建各种组件的设计团队曾一起共事。在项目过程中,我遇见了各个领域内许多富有才华的工程师,并从他们身上受益良多。以下的文字就是我的一些经验之谈,其中的内容没有特定的先后顺序。
小型封装:手机是该器件的目标市场之一。 PCB 基板的面积非常珍贵,边封装高度也有严格的要求,在如今的超薄智能手机领域,厚度会成为一个限制因素。产品定义团队在项目初期便已被告知需要将 3mmX3mmX1 mm 封装作为规定指标。要记得微型封装需要包围两层芯片:MEMS 传感器和 ASIC 控制器。封装尺寸将会为 ASIC 芯片规格施加压力,随后我们选用了更小的 CMOS 工艺节点,从而能够容纳全部必需的电路。在定义周期的初期就创建了详细的芯片规格估值器,针对基板面成本也对功能组合进行不断地测量。选择 LGA 封装,其原因在于它让我们在封装范围内能够具备按路线发送信号的能力,然后还可以将芯片区域降至最小程度,从而将空间分配给控制器衬垫环。
功率:MMA9550L 是市场中用作智能传感器枢纽的首批产品之一。来自多个数据源的数据与 MMA9550L 主 I2C 端口连接,在将其发送至主处理器之前会进行整合与预处理。MM9550 明显比模拟传感器和基于状态机的数字加速度传感器1更加智能。虽然它的功率需求仍然要与这些产品进行对比评价。例如,抽样率为每秒 100 个采样,在正常运行模式下 MMA8450Q 通常消耗超过 70µA。在关闭模式下,会降低到小于 1µA 的数值。从概念上来说,基于状态机的产品与采用相同技术的基于微控制器产品对比,消耗的功率一直更少。专用的数据路径不包括与微控制器 (MCU) 相关的内存与指令面积。技巧在于将基于 MCU 的系统降低等级,这样从 MCU 获得的益处就会超过 MCU 及其相关内存消耗的增量功率。低功率需求会影响下列事项:
流程选择:利用脱离本地 1.8V 电源的CMOS 逻辑,我们选择了超低泄漏量的流程。对于逻辑电源,无需校准器,可将 DC 偏置电流降至最低程度。
内存:我们随时在留意飞思卡尔内外部的 IP 来源,以选择出我们发现的最大功率内存。这也包括闪存和 RAM 模块,这一特别的设计目的是为了实现低功率。
AFE:增强模拟前端是为了改善噪声和灵敏度,以实现最低的功率等级。设计该模块的架构师目的是为了测量微量库仑计/ADC 转换过程中消耗的功率。
CPU:几年前,我曾经是设计飞思卡尔“Flexis 系列”部件的最初成员之一。我们创建了兼容插槽的 8 位和 32 位器件,允许用户在成本与性能之间进行权衡处理。沿着这一思路,我们发现对于任意指定的任务,我们的 32 位 ColdFire 器件消耗功率明显比 8 位器件要少。起初这看上去似乎违反常识,直到我们意识到基于 ColdFire 的部件需要更少的指令便可以完成相同的任务。在比较了各个方面之后,包括对于各种架构(包括S08 和 ARM 架构)的功率消耗和代码规格,我们最终选择将 ColdFire V1 架构用于 Flexis 系列之中。S08 架构更小,但我们希望降低功耗。32 位添加的性能也是其功能的一大提升。
时钟:除了上面已经提到的 AFE 改进之外,我们还花费了大量时间考虑如何给系统记录时间的问题。标准微控制器 (MCU) 通常都有多个片上和片外时钟脉冲源,包括晶体振荡器、弛缓振荡器和锁相环。由于惯性传感器对噪声非常敏感,我们将时钟脉冲源保存为精确的一个。片上振荡器以额定全速率 8MHz、降低速率 62.5KHz(典型值)运行,或者完全关闭。时钟脉冲振荡和分布式系统可以关闭 CPU 和数字外围设备的电源,同时 AFE(从 8MHz 起运行)在器件“空置时间”内进行测量。在 CPU 完成与每个帧采样的软件任务之后,它会就将时钟减慢到 62.5KHz,一直保持到开始下一次采样间隔。可以禁止时钟分布到未利用的外围设备,以便保存更多的电力。如果需要的话,数据与帧速率可以在逐帧的基础上进行更改。以上所有这些任务都是通过软件配置的,允许在运行中进行更改,以便调整环境条件。
采用惯性测量的数据被放置在一系列的邮箱之中,可以通过从端口接口由主处理器读取。即使是出于保存电力的目的,在片上振荡器完全关闭电源时,该接口必须可以让主机在所有时间内使用。在最为标准的微控制器的 I2C 和 SPI 端口,将会利用至少以 2 倍通信速率运行的内部时钟,对外部提供的时钟和数据引脚进行采样。微控制器 (MCU) 设计师采用该技术的原因在于(通过设计)它消除了在时钟域范围内迁移数据相关的亚稳定性风险。MMA9550L 的低功率性质不允许我们采用超速运行的设计。相反,我们设计自定义电路,是为了在不破坏数据的情况下,解决时钟域边界的问题。
智能:ColdFire V1 架构包括支持各种成本/性能权衡的选项。用于 MMA9550L 的实例包括 16X16 硬件乘法器,以提高 DSP 密集型任务的性能。
该设计另外一处独特的方面便是基于固件的闪存控制器。大多数飞思卡尔的 MCU 包括一个基于硬件的控制器,它负责执行闪存程序和擦除功能。因为我们已经有了一个可用的 CPU,我们决定采用存储在片上 ROM 的代码执行这些功能。基于 ROM 的控制器像硬件控制器一样执行相同的功能,但消耗功率比之前消耗量的一半还要少。一旦飞思卡尔营销团队意识到我们在器件中安装了 ROM,便会很快扩展到其他功能,例如引导程序 (bootloader) 功能和基于 ROM 命令解译器 (CI)。CI 包括的功能便于阅读/写入内存(包括闪存),从内存进行设备配置,保护内存,在内存及其他器件上运行 CRC。最终,我们将原始的 ROM 规格估计值 2K 字节增加了 2 倍,提升为 4K 字节。
闪存模块通常包括大量用于感应放大器和进料泵的电路面积。采用一个大型模块比采用两个分别为一半容量的小模块相比,前者效率更高。飞思卡尔的装运器件带有大约 ½ 的 16Kb 预加载闪存,其具有的任务调度程序和算法可以用于样品处理、调整和指纹识别。我们需要各种机制来保护飞思卡尔的代码,同时需要促进与客户代码的简易集成。解决方案采用基于固件的闪存控制器的特性,用于“锁定”闪存的页面。当代码或开发工具企图编制和/或擦除内存的任何页面,锁定状态会自动检查。我们还为设计师提供了一些软件技巧以便他们根据时间表逐帧添加自有的任务。可以按照需要添加/修改客户代码,这对于飞思卡尔提供的软件例程毫无风险。
我应该提醒一下,设备有一个硬件安全特性会限制调试端口和 ROM CI 从设备内部访问内存。ROM CI 还包括数据权限管理的功能。这实现了基于软件的功能,可以使用“共享秘密”握手协议设置锁定和/或未锁定状态。锁定状态存储在闪存的预留位置,正常情况下这对运行中设备的代码是无形的。
到目前为止,我想您已经明白了我为何将这篇博客文章命名为“传感器设计之道”。在任何设计过程中,在成本、功能与上市时间之间总存在着一个恒久不变的张力关系。传感器项目集合了更加广泛的工程规范,它并不单单是半导体项目。该项目充分发挥了飞思卡尔半导体的广泛优势,创建了一种全新类别的产品,打破了现有传感器的范式。涉及其中的科学令人激动,但其中的艺术因素也起到了不容忽视的作用,在计算需求之间做出的妥协也成为了为数不多的几种常量之一。实现这种融合是为了生产出更加平衡的产品,这支出色的设计团队的工作和勇气将改变未来传感器的工作方式。我认为这一目标值得尝试。
注释
1) 此处的“基于状态机的”(state-machine-based)词语含义,我是特指包括了专用(和固定)模拟和数字数据路径电路的产品。这种类型的产品通常拥有许多配置选项,但最终从CPU的角度来讲是不可编程的。这种产品的一个典型例子便是 MMA8450Q.
作者:
dennisi123
时间:
2012-2-8 15:17
牛人啊 。。
作者:
liuxing2542006
时间:
2012-3-1 17:28
欢迎光临 智能车制作 (http://111.231.132.190/)
Powered by Discuz! X3.2