车辆中微控制器的数量正在稳步增加,它们使用的关键领域之一是降低燃料消耗。因此,一些制造商正在设计和制造针对动力总成应用的微控制器。这个市场的趋势是将智能分布在车辆周围。这种微控制器能够解决动力系统的不同方面以及分布式架构的网络挑战。
用作发动机控制单元 (ECU) 的微控制器正变得越来越普遍。确认这些将完成所需的工作并具有最高质量对于促进进一步实施至关重要。分析溯源信息需要诊断工具,因此在设计周期中应尽早进行此类一级诊断。
动力总成市场正在寻找减少车辆碳足迹的创新方法,包括缩小发动机尺寸、减少喷射损失和提高效率等流行方法。汽车制造商希望优化传动比和换档,减少摩擦和液压损失,并继续推动混合动力和全电动汽车的发展。在所有这些领域中,汽车电子设备发挥着越来越重要的作用。
示例和应用
将这些想法付诸实践的是许多设备,首先是STMicroelectronics SPC563M64L5COAR,它是其 SPC56x 系列微控制器的一部分,适用于 ECU 诊断应用。英飞凌 SAA-XC866-4FRA 5V BE也可用于各种动力系统应用(稍后将讨论当用作控制燃油泵的电路的一部分时其降低燃油消耗的能力示例)。Atmel 的 AVR 低功耗 32 位微控制器,例如AT32UC3C0512C-ALUR,可以为汽车应用提供更高的电源效率。这些不仅限于在动力系统中使用,还可以用于汽车音响和车门控制模块等应用。
然而,随着汽车的互联程度越来越高,汽车中的所有设备都必须协同工作。因此,重要的是它们可以与车辆网络进行交互。飞思卡尔半导体提供MPC5566MVR132在其 MPC5xx 系列微控制器中,可与公司的 MFR4310 FlexRay 控制器配合使用。
ECU 诊断
STMicroelectronics SPC56x 系列微控制器可用于 ECU 诊断的多种不同工具,特别是 SPC563Mx 和 SPC564Ax 动力总成设备。了解闪存何时受到保护以及如何读取存储在 SPC56x 闪存中的可追溯性信息,将使汽车制造商能够为其 ECU 定义和实施正确的策略。由于 IP 保护和引擎调整很重要,因此需要识别不需要访问 Flash 密码的配置。
当怀疑 ECU 行为不正确时,它需要运行 ECU 级诊断。该领域的 ECU 级诊断有两个主要目标。一是收集ECU配置的溯源信息,二是运行ECU级别的自检。ECU 级诊断的另一个困难是接触 PCB,因为它通常隐藏在 ECU 外壳内。因此,有几种方法可用于带外壳的 ECU 级诊断和不带外壳的 PCB 级诊断。
ECU 级别的可追溯性涉及硬件和软件配置信息。在硬件方面,有ECU关键部件的版本号和可追溯信息。软件信息包括每个顶级软件组件的修订号。除此之外,有时还会收集硬件或软件组件的日期代码。
图 1:SPC563M64 的顶层框图。
每个 SPC56x 都将可追溯性信息存储在闪存中的内存位置,可供应用程序访问,以便用户软件可用于读取它们并通过选定的诊断通信接口(无论是 UART、LIN、CAN 还是 FlexRay)发送它们。要发送追溯信息,用户可以采用由应用软件进入的用户定义诊断模式或使用串行启动模式。这主要是由汽车制造商的密码策略驱动的。
当 Flash 受到保护时,应用软件可以随时读取溯源信息。然后,应用软件可能具有特定的诊断模式,允许它通过预定义的通信接口(例如 CAN、LIN、K-Line 和 FlexRay)发送此信息。此操作不需要工程师知道 Flash 密码即可在现场执行这些操作。但是,使用串行启动模式,工程师需要密码。使用密码的外部工具可以读取设备内部的追溯信息。也就是说,可以仅使用串行链路使用串行引导模式,在这种情况下不需要密码。
为此,工程师需要首先在 RAM 中保留位置,最好是具有最高地址的位置。然后,应用软件可用于在上电过程中系统地将 Flash 中的位置复制到 RAM 中的选定位置。ECU 应首先在应用模式下启动,然后在不关闭电源的情况下应用复位,以确保 MCU 在串行启动模式下启动。然后,上传到 RAM 中的软件可用于使用选定的串行链接导出可追溯性信息。
ECU 级别的自检可以从应用软件或微控制器 RAM 运行。即使启用高保护级别,SPC563Mx 和 SPC564Ax 也允许在 RAM 中上传软件,无需向用户分发任何私人密码即可运行。这使他们能够执行 MCU 特定、ASSP 和功率级自测。
当 SPC563Mx 或 SPC564Ax 进入串行引导模式且串行引导控制字不同于 0x55AA 时,器件的 Flash 被禁用,而 JTAG 端口被启用。要读取追溯信息,工程师必须首先在 RAM 中保留位置。如前所述,应用软件可用于在上电过程中系统地将 Flash 中的位置复制到 RAM 中的选定位置。ECU 应首先在应用模式下启动,然后在不关闭电源的情况下应用复位。然后,该工具可以与 JTAG 一起使用,以连接到器件、从 RAM 加载和执行软件。
ECU 的 PCB 应为 JTAG 连接做好准备。在大多数情况下,JTAG 测试焊盘可以靠近 MCU 放置以进行 PCB 测试。一个好的替代方案是提供 SMD JTAG 连接器,因为它可用于 ECU 测试和 PCB 级诊断。
协同工作
车辆中不同设备的一个重要方面是它们如何协同工作以及与车辆网络协同工作。飞思卡尔半导体在其 16 位和 32 位 MPC5xx 系列微控制器中拥有 MPC5566MVR132-ND 和其他产品,这些产品将与该公司的 MFR4310 FlexRay 控制器配合使用。两者之间的硬件接口很简单,但也需要软件。通过应用这些技术,用户可以快速设计出全功能的 FlexRay 节点。
MPC5xx 通过外部总线接口 (EBI) 与 MFR4310 连接。在 MPC5xx 上,EBI 提供单独的地址、数据和控制信号。MFR4310 必须使用 MFR4310 MPC 模式连接到 MPC5xx。
图 2:将 MFR4310 连接到 MPC5xx MCU。
操作控制器主机接口 (CHI) 所需的接口模式是 MPC 接口。MPC 模式有一个 CHI 和主机接口时钟 – CHICLK_CC。这是可选择的外部 CHI 时钟输入。选择时,CHICLK_CC 的最小外部时钟频率为 20 MHz,最大值为 76 MHz。
在 MFR4310 上,D0 是数据总线的最低有效位 (LSB),A1 是地址总线的 LSB,但在 MPC5xx 上,ADDR0 是地址的最高有效位。因此,数据和地址引脚必须以相反的顺序连接到 MFR4310,即 MFR4310 上的 D0 连接到 MPC5xx 上的 DATA15,MFR4310 上的 A1 连接到 MPC5xx 上的 ADDR30。MFR4310 具有 16 位数据总线,但可通过 BSEL0# 和 BSEL1# 信号访问 8 位数据。MFR4310 必须针对 3.3 VI/O 进行配置(通过以 3.3 V 为 VDDR 供电)以允许正确连接到 MPC5xx,其 EBI 引脚也必须由 3.3 V 供电。
软件设置主要涉及初始化 MPC5xx 以允许与 MFR4310 控制器主机接口成功通信。当两个器件都初始化后,MPC5xx 可以读取和写入 MFR4310 寄存器。
必须初始化 MPC5xx 存储器控制器以使 EBI 使用正确的芯片选择和正确的等待状态数,这取决于内部总线频率。在此序列之后,FlexRay 块被配置为 FlexRay 节点并准备好集成到 FlexRay 集群中。初始化序列的第二步是配置 MPC5xx 上的片选。内存控制器控制 MPC5xx 的片选生成。MPC5xx 上有四个片选,其中任何一个都可以作为 MFR4310 的片选。CS0# 是全局片选,主要用于从外部 Flash 存储器启动。如果用于此主要目的,则不能用于 MFR4310 通信,必须使用不同的片选。选项寄存器 OR[0:
MPC5xx 和 MFR4310 之间的成功读/写访问需要多个等待状态。该数字应在存储器控制器选项寄存器的 SCY 位中设置。BSEL0# 和 BSEL1# 必须通过 MPC 接口分别连接到 WE/BE0# 和 WE/BE1#。这将允许 8 位和 16 位访问。
这意味着 MFR4310 FlexRay 控制器可以成功连接到 MPC5xx 系列 MCU,并在 MPC5xx 选项寄存器中为适当的芯片选择设置正确数量的等待状态。MPC5xx 通过外部总线直接连接到 MFR4310 控制器,不需要粘合逻辑。软件配置也很简单,外设被简单地映射到全局地址空间。观察到的结果验证了主机微控制器和独立 FlexRay 通信控制器之间成功通信所需的最佳时序参数。
其他微控制器
许多其他微控制器可用于此类汽车应用。例如,Atmel 的 AVR 低功耗 32 位微控制器(例如 AT32UC3C0512C-ALUR)由于具有更高的处理能力和精度,可以为汽车应用提供更高的电源效率。这些允许实现高级控制算法、语音控制和电容式触摸感应等功能。UC3C 32 位微控制器还包括外设事件系统、精密时钟和高性能外设。集成功能包括安全闪存、基于硬件的安全机制、直接与模拟传感器接口的能力以及可配置的软件框架。
图 3:汽车音响应用中的 UC3C 32 位微控制器(顶部)和车门控制模块(底部)。
许多汽车设计具有分散的功能架构;有一个单独的 USB 芯片,一个用于 CAN,另一个用于图形,每个支持的音频解码器一个,等等。具有外围集成和扩展处理能力的微控制器(例如 UC3C)允许将整个系统架构整合到用于汽车音频应用的单个芯片上。用于车门控制模块时,可包含后视镜定位功能、车窗升降器操作、带调光功能的LED背光灯,以及用于控制车窗升降器和后视镜定位的不同类型传感器和开关的接口。 可以通过 LIN 或 CAN 接口实现与车辆网络的互连。
集成浮点单元 (FPU) 简化了应用程序开发。特别是复杂算法的实现需要更少的努力,更宽的动态范围可以保持高精度。使用 32 位浮点指令实现复杂算法不仅可以提高系统精度和效率,还可以加快开发速度。许多应用程序都可以从使用 FPU 中受益,包括这些门控制和音频应用程序。
燃油泵
英飞凌拥有一系列 8 位、16 位和 32 位汽车认证微控制器,其中包括 8 位 SAA-XC866-4FRA 5V BE。它使用 XC800 内核并与标准 8051 处理器兼容。它使用每机器周期两个时钟的架构进行具有等待状态的内存访问。片上存储器包括 8 KB 引导 ROM、256 字节 RAM、512 字节 XRAM、4、8 或 16 KB 闪存或 8 或 16 KB ROM 以及额外的 4 KB 闪存。
这些器件的高温(高达 +140˚C)运行使其非常适合汽车应用,例如发动机关闭冷却风扇、节气门控制、涡轮增压器、水泵、油泵和照明。
图 4:燃油泵应用中的英飞凌 XC8xx 8 位微控制器。
图 4 显示了燃油泵应用中的这种微控制器。该电路还使用了Novalithic 大电流 PN 半桥系列的 BTN89xx 和 TLEA46xx 低压差固定电压稳压器。该电路可以通过使用 XC8xx 系列中的不同产品来满足性能和预算需求。该电路的好处包括燃料节省超过 1%,例如,从 160 g 到 158.4 g CO 2 /km。碳氢化合物的排放也减少了,使用寿命也增加了。该公司还报告燃油效率提高了约 0.34 mpg。
结论
汽车应用中的微控制器市场正在迅速增长。每一代车辆都更多地依赖电子设备和随附的软件。例如,最初的 Apollo 制导计算机只有 2000 行代码,而普通汽车的代码行数为 1000 万行,预计未来十年这一数字还会再增加一个数量级。除了降低油耗外,这些微控制器还使汽车更加舒适,提高了安全性,并有助于娱乐和通知驾驶员和乘客。上述应用只是微控制器在现代车辆中提供本地智能和控制方式的一小部分示例。
评论
查看更多