首先,让我们深入地分析一下三个新的技术驱动因素:
-高性能 —— 实现复杂的系统控制
-更低功耗 —— 帮助为下一代保护环境和资源
-适应简便 —— 高水平的集成能使工程师构建用户可迅速了解的高质量系统
上述要点只指出了现代系统的一个关键特性。虽然它们看起来是独立的,然而经验证明,在构建强大的系统时,这些要点中每个都成为设计的必要部分。
让我们来探究一下飞思卡尔汽车产品是如何满足这三个驱动因素的。
MPC5516 概述
MPC5516是面向汽车应用的32位MPC551x系列微控制器之一。它提供与智能开发工具均衡的丰富特性。设计人员可以从各种嵌入式外设(DSPI、IIC、eSCI、FlexCAN、FlexRay™、定时器和eQADC等)、1 MB闪存和64 KB RAM支持的双核计算能力中受益。
大量先进的低功耗技术实现省电功能,最大程度降低系统功耗。最有影响的是被称为Sleep 2的低功耗模式,这时部分RAM开启。在该模式中,MCU内核消耗约60 μA,并且可以被内部定时器溢出或I/O管脚电平/边沿唤醒。当MCU唤醒程序完成时,用户可以根据重启恢复指针寄存器的定义选择程序计数器开始计数的位置(即唤醒功能后将立即处理哪一部分应用代码)。
MPC5516 MCU提供LQFP和BGA的封装。
MC33696 概述
MC33696是锁相环(PLL)调谐的UHF收发器,旨在用于304、315、426、434、868和915 MHz工业、科学和医学(ISM)频段。
该接收器模块基于超外差架构,包含一个Rx数据管理器,用于曼彻斯特编码(也称为相编码)的数据解码。该接收器包括一个用于LNA增益控制的信号强度测量装置。它还拥有一个选通振荡器,当需要降低接收器电源功耗但需要保持接收器就绪状态时,该振荡器被广泛采用。
发射器Tx数据管理器通过ON/OFF或FSK键控调制编码数据。频率合成模块由PLL驱动的本地振荡器和提供参考频率的晶体振荡器组成。
该器件由SPI总线控制。在接收无线消息时,MC33696就像是一个主SPI总线;然而在发射时,SPI模块被配置为从SPI。SCLK和MOSI信号在MCU和MC33696间传送消息数据。
MC33742 概述
MC33742系统基础芯片(SBC)是一个单芯片解决方案,它在一个封装中集成了常用的汽车系统块,以减少主板空间。SBC含有2个电压调节器VDD和V2、一个CAN收发器、看门狗和低功耗管理模块。+5V VDD电压调节器得到完全保护,并能够提供高达200 mA的电流。+5V V2跟踪调节器使用外部PNP晶体管,因而电流输出由晶体管参数决定。
高速CAN收发器能够以高达1 MBd的波特率发射数据。CAN模块得到完全保护,在收到CAN消息时,唤醒SBC离开停止和休眠模式。内部看门狗可以配置为窗口或超时操作。溢出时间可以分4步选择,从10ms至350ms不等。当在专用调试模式中运行器件时,可禁用看门狗。
MC33742可配置为正常、待机、停止和休眠模式。具有4个唤醒输入的内部切换高边输出给了设计人员从外部事件唤醒系统的机会,如通过键盘唤醒。8个控制和状态寄存器决定了SBC行为。所有寄存器都由SPI总线进行配置。
它是如何全部融入RKE应用的?
对汽车遥控钥匙(RKE)应用来说,三种飞思卡尔器件都是出色的解决方案。MPC5516 MCU为整个系统控制和消息处理提供充足的计算能力。它包括各种低功耗模式选项和FlexCAN外围设备,用于建立CAN连通性。
MC33742 SBC为系统提供+5V的电源,集成的CAN收发器通过CAN总线传输消息。各种SBC低功率模式通过智能系统唤醒功能实现均衡。总之,这些功能使MC33742器件成为RKE应用的内核部件。
通过应用MC33696收发器(一个专门用于无线消息发射的集成解决方案),UHF频段无线连接被建立起来。
通常,有两种密钥系统电路拓扑。系统1(图1)在低功率模式中实现尽可能低的功耗(见表1),然而却需要其他组件。反之,系统2(图2)融入了少量的必要组件,实现系统唤醒,但低功率模式中的功耗比系统1(见表1)高。
系统1和系统2初始化
当系统电源接通后,MC33742 +5V调节器VDD被打开,SBC进入正常请求模式。MPC5516现在被供电,进入复位后的状态。MCU通过SPI 1配置MC33742看门狗。然后,SBC进入正常模式,初始化被处理。SBC看门狗定期由MCU触发。MC33742又打开一个+5V调节器V2,为通常在BCU区内的其他系统设备供应电源,如eXtreme开关器件、COSS和MSDI,并且MCU处理BCU应用配置。
通过把MC33696置入接收模式,系统配置完成。现在,BCU准备执行应用设计人员定义的各种任务。
让我们看看当驱动器上锁并保护汽车或不锁并不保护汽车时,系统1和系统2是如何运转的。
系统1——保护汽车
该流程可分成以下几个步骤:
消息接收
遥控发射上锁和保护汽车消息。MC33696处理并解码曼彻斯特编码消息。现在,SPI 2总线携带消息数据,这在期间,MC33696作为主SPI 2,MCU作为从SPI 2。数据发射由SCLK和MOSI信号管理,并维持已配置的波特率。一旦该消息被接收,MCU就验证数据内容,避免错误解码。
消息验证
验证消息数据用曼彻斯特编码算法编码。MCU定时器外设可用于简化编码流程。MCU SPI模块现在被配置为主SPI 2总线,而MC33696操作从接收模式更改为发射模式。数据发射采用SCLK、MOSI和SS线路开始。遥控器单元验证消息数据,验证成功时,发回验证代码。消息验证流程可根据需要多次重复,循环次数是系统设计人员的选择。
系统配置
一旦收到验证代码,MCU就通过CAN总线通知相关应用系统,必须锁住和保护汽车。现在,应用系统可以根据所需功能(如激活门锁),进入低功耗模式或处理一个操作。BCU等待系统响应,配置MC33696为接收模式并断开SCLK链路,清空MC33696 SCLK管脚缓冲器。MCU把MC33742 L3配置为唤醒管脚并通过SPI 1发送休眠命令,以关闭VDD和V2调节器。模块功耗从50 mA 降为100 μA(见表1),但MC33696器件除外,当接收新的无线消息时,它需要更高功率启用系统唤醒。
系统1——不保护汽车
处理唤醒
遥控消息通过MC33696收发器接收。MC33696 SCLK信号出现在MC33742 L3管脚并唤醒SBC。SBC进入正常请求模式,VDD调节器被打开。提供MCU并进行MCU初始化。
跟踪唤醒源
通过SPI 1总线,读取MC33742唤醒寄存器(WUR)内容可跟踪唤醒源。
如果MC33696触发了系统唤醒功能,MCU把 SPI 2总线SPI模式配置为从模式,并互连SCLK线路。至此,由于MCU不能接收消息,好几个消息字节已经丢失。MCU现在等待新的RKE消息,验证消息数据并以上述相同方式处理验证。
只有验证成功的情况下,才处理系统1的初始化。如果消息数据未包含不安全命令,BCU会再次进入低功率模式。当在嘈杂环境中工作时,所描述的机制非常有用。有时,噪音可被错误地理解为遥控信号并导致系统错误。系统唤醒功能的另一来源可以是MC33742 CAN接收器接收到的CAN消息。
系统2——保护汽车
遥控器消息处理和数据验证与系统1相同。除 SBC 和MCU进入不同的低功率模式外,系统2的配置也以相同方式进行处理。SBC为MCU维持VDD电源,并且MPC5516进入Sleep 2模式,在接收到SPI消息使启用唤醒功能。
当处于Sleep 2模式时,MPC5516提供如下唤醒源:
-实时时钟(RTC)
-自动定期中断(API)
-正向、负向或任意边沿跳边的I/O管脚唤醒
在图2所示的系统2解决方案下,与SPI SCLK信号线路连接的唤醒I/O管脚用来唤醒MCU。在低功耗模式下,MCU必须定期更新SBC看门狗,防止重置。
系统2——不保护汽车
处理唤醒
MC33696收发器接收并解码遥控消息。当SCLK信号出现在I/O管脚上时,MPC5516离开Sleep 2模式。现在,MCU既可以像在重置后那样,也可以在程序存储器中的某个位置启动。之所以能够启动,是因为在MCU进入Sleep 2模式前,加载了重置恢复指针寄存器。重置恢复指针寄存器包括程序存储器地址,其中处理唤醒恢复时,启动程序计数器。
根据应用设计人员的选择,消息验证算法既可从RAM也可从Flash里执行。从RAM里执行代码系统恢复更快,然而进入Sleep 2模式前,受RAM容量和必须在RAM中复制应用程序的限制。另外,MCU功耗随着启用的RAM块数目增加而增加。另一方面,闪存为应用代码提供足够的空间,但代价是系统恢复较慢。
测试、测量和评估
测试和测量在飞思卡尔的BCU平台上进行,如图3所示。BCU主板包含的设备支持:
-连通性 — LIN (MC33661), CAN (MC33742, MC33902), FlexRay
-负载控制 — eXtreme 开关器件(MC15XS3400, MC35XS3400 MC10XS3412) 和 COSS (MC33879)
-键盘控制 — MSDI (MC33972)
-RKE — MC33696
对遥控解决方案来说,过去曾选择8位MC9S08QG8 MCU和MC33696 UHF收发器。该分析的目的是看看两个概念能否在真正的BCU平台上运行。测试主要集中在MCU、SBC和RKE互联验证和功耗测量方面。
测试结果见表1和表2。测量表明(总计(选通脉冲1/10)),低功耗模式中的系统1电流消耗只是运行模式的电流消耗的约50分之一,而系统2低功耗模式的电流消耗仅是运行模式电流消耗的十分之一。
当达到最低功耗时,可从表1中推断出以下规则:
当MCU电源被维持时,禁用所有外设,保持尽可能低的电流消耗
MC33696收发器需要采用选通振荡器1/10
系统处于低功率模式时,电源维护的器件越多,功耗就越高(见总计(选通脉冲1/10)—1.1 mA对5 mA)
见表2,在Sleep 2模式中引入MPC5516功耗致使MCU电流低于100 μA(VDDR、VDDA、VPP)。剩余的600 μA通过与MCU(如eXtreme开关器件、COSS等)连接的器件流出。MCU没有消耗电流,电流只通过端口流向外部器件。这意味着电流也取决于MCU环境。
表1和表2说明平均电流值。
遥控测量表明在消息处理期间,当处于运行模式时平均电流消耗为15 mA,当处于低功率模式时为2 μA。遥控器由流行的220 mAh CR2032 3V纽扣电池供电,每块电池能持续发送500万条消息。
遥控器只有在BCU RKE消息处理情况下才是活动的。考虑到电池泄露电流也会降低电池容量,电池寿命的估算就成为一项极具挑战性的任务。经验表明,遥控器件可用于BCU RKE应用演示,几乎在2年时间内不会发生电池故障。
小结
让我们按以下类别比较一下系统:
-硬件复杂性
-平均功耗
-其他优势
比较系统框图,我们可以推断出,系统1需要一个额外的+5V调节器和一个开关,前者用于MC33696电源,后者用于在低功耗模式下断开MCU和MC33696间的SPI SCLK线路。这些组件都是必需的。当应用处于低功耗模式时,SBC VDD和V2调节器关闭,MCU电源断开。电流消耗位于最低水平,因为+5V电源VDD和V2线路的电源断开。
在系统2中,情况稍微不同。由于维护+5V电源线路,因此器件要消耗能源。为了把功耗保持在合理水平,每个器件不得不进入低功率模式。相比之下,系统1不需要这种功能。
一方面,系统2从电池中提取更多电量,但另一方面,由于MCU拥有持续电源,它为用户提供更多灵活性。表3显示了系统唤醒程序的差异。在系统1中,唤醒只由SBC控制。系统2具有供应MCU优势,因此可利用其他唤醒源。唤醒流程更快,因为在电源稳定前无需等待。其他软件控制也可调谐系统1和系统2应用性能,以满足目标功耗和功能性。
Lx管脚可以是MC33742 L0、L1、L2和L3管脚中的一个。