ZHCAC37 February   2023 ADS7038-Q1 , SN74HCS165-Q1 , TCA9539-Q1 , TIC12400-Q1 , TMUX1308-Q1

 

  1.   1

汽车的当前发展趋势是转向整合设计,使用区域架构通过半导体设计配电。这种转变带来了诸多优势,例如优化 ECU 之间的布线、增强的软件控制和区域配电。通过将分配给更多负载、传感器和传动器的电力组合到区域模块中,将更多输入和输出连接到单个汽车微控制器 (MCU)、微处理器或片上系统 (SoC) 的难题变得更为普遍。

之所以编写本文是为了介绍输入和输出端的输入/输出 (IO) 扩展方法。本文讨论了 IO 扩展的主要注意事项,包括从 MCU 到 IO 接口器件的信号延迟、软件开销、设计尺寸以及自主监控、中断引脚、湿性电流和接口类型等器件特性;即通用 IO (GPIO)、串行外设接口 (SPI)、内部集成电路 (I2C)。

开关和传感器的输入扩展

区域模块中通常使用的输入示例包括:分立式高压开关(高电平有效、低电平有效、推挽)、来自其他控制模块的分立式高压信号、电阻编码开关、矩阵开关和模拟传感器。有 6 种可能的硬件设计用于处理输入并为 MCU 提供帮助:

  1. 移位寄存器
  2. 多路复用器 (MUX)
  3. 模数转换器 (ADC)
  4. IO 扩展器
  5. 多开关检测接口 (MSDI)
  6. 支持 MCU

本文档以应用中需要的 24 个开关或传感器输入为例。输入可以是电池开关、接地开关、三态开关或模拟传感器。某些器件只能识别高或低离散状态,因此无法适应三态开关或模拟传感器。对于这些特定的输入,IO 扩展器件的输出端必须与 MCU 上的 ADC 引脚连接,或者 IO 扩展器件必须具有集成 ADC。根据开关的类型,需要一个上拉和/或下拉电阻器将开关保持在已知状态。还可能需要一个额外的分压器来降低 IO 扩展器件所见的输入电压。此外,系统中还需要反向电压保护、电池短路保护或接地短路保护。如果需要湿性电流,则需要额外的#SECTION_F25_VDG_VVB,或者 IO 扩展器件具有集成式湿性电流。

负载驱动器的输出扩展

每个区域模块可以有大量负载驱动器来控制系统中的负载。通常,大多数负载驱动器都是高侧开关,通常由系统 MCU 的 GPIO 控制。但是,MCU 可使用有限的 GPIO 与系统内的所有高侧开关和其他电路连接。对于基于 SPI 的高侧开关,需要通过 IO 扩展来处理大量片选 (CS)。有两种可能的硬件设计可用于处理高侧开关并减轻 MCU 的负担:

  1. IO 扩展器
  2. 支持 MCU

本简报的其余部分将分析每个硬件 IO 设计。

移位寄存器

当可用的 GPIO 受到限制、需要更少的功能和更少的软件开销时,最好使用移位寄存器。移位寄存器仅需要来自 MCU 的 4 个 GPIO,并且能够以菊花链形式让器件将数据输出到单个 GPIO 数据输出端。另外 3 个 GPIO 用于驱动 CLK、SH/LD、SER。通过采用菊花链配置移位寄存器,连接 GPIO 的数量始终为四个,这使得该设计极其灵活,可用于距离设计过程更远的附加项。但是,虽然菊花链是一个很好的设计,但通过菊花链连接的移位寄存器越多,延时增加的就越多。在软件开销方面,移位寄存器只需要应用 CLK、SH/LD 和 SER 信号,但需要定期轮询数据输出以了解状态变化。此轮询过程会影响所需的软件开销量。如需详细了解移位寄存器,请参阅使用移位寄存器进行设计 应用手册。

图 1 中的 TI 提议显示了使用 3 个 SN74HCS165-Q1 的设计,这是一个 8 通道移位寄存器。移位寄存器以菊花链实现方式显示,将 24 个开关输入减少为 4 个 MCU GPIO。

图 1-1 适用于 24 路输入的移位寄存器设计方框图

多路复用器 (MUX)

当需要软件开销极小的纯模拟设计、不需要 MCU 唤醒、只需要开关监控或优选注入电流控制功能时,最好使用多路复用器。在典型区域应用中,MCU 需要使用 A0、A1 和 A2 定期循环多路复用器真值表,以检查输入端是否有值变化。这决定了总延迟和软件开销。有关 MUX 时序特性的信息,请查看专门的 TI E2E 常见问题解答,其中详细讨论了 MUX 延迟。

#GUID-97C8122A-43B3-46B5-86FC-B535D7B1C51D 中的 TI 提议显示了使用 3 个 TMUX1308-Q1 的设计,这是一个 8 通道 MUX。该设计需要 24 个开关输入,并且 MCU 上最多需要 15 个 GPIO。通过将所有 EN 引脚连接在一起,将 A0 引脚连接在一起、将 A1 引脚连接在一起、将 A2 引脚连接在一起,可以将这个数字减少到 7 个 GPIO。这样,需要 4 个 GPIO 来控制 EN,需要 A0、A1、A2 和 3 个 GPIO 来接收来自 MUX 的数据。

图 1-2 适用于 24 路输入的 MUX 设计方框图

IO 扩展器

当优选 I2C 接口且需要中断引脚时,最好使用 IO 扩展器。为了实现软件开销,将 IO 端口配置为输入或输出,然后需要通过寄存器读取来确定输入端的值,并需要通过寄存器写入来设置输出的值。对于开关输入,IO 扩展器可以轮询输入端,或在有标记时使用中断引脚检查输入端。关于信号延迟,IO 扩展器器件是可以在快速 I2C 总线 (400kHz) 上运行的 I2C 目标器件。延迟取决于 I2C 工作频率和总线负载条件。

图 3 中的 TI 提议使用 1 个 TCA9539-Q1(16 通道)和 1 个 TCA6408-Q1(8 通道)将 24 个输入端连接到共享 I2C 总线。

图 1-3 适用于 24 路输入的 GPIO 扩展器设计方框图

IO 扩展器也是输出扩展的理想选择,因为 I2C 可用于控制高侧开关,从而大幅减少所需的 GPIO 数量。将 IO 端口配置为输入端和输出端,以连接相应的高侧开关引脚。

图 4 显示了如何使用 GPIO 扩展器来控制高侧开关。如果高侧开关需要电流检测引脚,则电流检测引脚可直接连接到 MCU 上的 ADC 引脚,或通过 MUX(即 TMUX1308-Q1)连接到 MCU 上的 ADC 引脚、,或连接到外部 ADC。

图 1-4 使用 GPIO 扩展器控制高侧开关的方框图

模数转换器 (ADC)

当需要 SPI、MCU 内的模拟输入多于可用的 ADC 引脚,以及需要使用中断引脚进行自主监控时,最好使用 ADC。设置 SPI 通信和配置寄存器需要一些软件开销。考虑到延迟,ADS7038-Q1 是一款具有不同配置模式的逐次逼近 (SAR) ADC。根据配置模式的不同,使用手动 模式时,ADC 可以具有零延迟(使用动态 模式)至 2 周期延迟。总体而言,延迟在很大程度上取决于器件应用、采样率和器件的模式配置。

图 5 展示了使用 3 个 ADS7038-Q1(一种 8 通道 ADC)将 24 路输入转换为 SPI 的设计。

图 1-5 适用于 24 路输入的 ADC 设计方框图

多开关检测接口 (MSDI)

当需要 SPI、集成式湿性电流、高电压保护和自主监控时,最好使用 MSDI。配置 SPI 通信和设置所需的寄存器需要一些软件开销。

信号的延迟可以指开关状态变化与产生中断信号之间的时间。该时间可能会根据器件配置而变化。TIC12400-Q1 是一款 24 通道 MSDI 器件,在轮询循环中对输入引脚进行顺序采样。可通过 POLL_TIME 寄存器将此循环的频率配置为每 2ms 执行一次到每 4096ms 执行一次。延迟取决于开关转换相对于内部轮询循环的发生位置,因为这些是异步的。因此,延迟几乎是瞬时的,或者说几乎是整个轮询时间。其他因素也会影响延迟,例如湿性电流的应用方式(连续或轮询模式)、测量类型(比较器或 ADC)、所配置的输入通道数量、轮询模式下主动应用湿性电流的时间等。

图 6 中的 TI 设计使用 1 个 TIC12400-Q1(24 通道)来减少 SPI 的 24 路输入。由于湿性电流集成到器件中,因此与其他设计相比,省去了一些无源器件。

图 1-6 适用于 24 路输入的 MSDI 设计方框图

支持微控制器

当主处理器上的处理带宽受到限制或专用于某些功能时,最好使用支持微控制器。由于 GPIO、SPI 和 I2C 引脚可用于捕获信号以及将数据传输到主处理器,因此提高了灵活性。与本应用简报中描述的其他设计相比,软件开销要求更高;但是,一旦配置了与主处理器的通信,通信偏好设置将更加灵活,并且可以在将最终数据发送到主主机处理器之前完成本地处理。数据可通过 GPIO、SPI 或 I2C 发送到主处理器,从而使支持的 MCU 成为目前非常灵活的设计。

图 7 中的 TI 设计使用支持的 MCU 来适应将在本地处理的 24 路输入,最终数据将通过 GPIO、SPI 或 I2C 发送到主主机处理器。支持的 MCU 还可用于通过高侧开关进行输出扩展。总体而言,支持的 MCU 可作为易于配置的 IO 扩展的竞争性设计。

图 1-7 支持 24 路输入的 MCU 设计的方框图

分立式湿性电流电路

前几节讨论了不同的 IO 扩展硬件设计。最后一节详细介绍了分立式湿性电流电路。湿性电流是保持机械开关正常运行所需的最小直流电流,用于消除机械开关上可能积累的过度腐蚀。如果施加的湿性电流不足,开关可能会产生过高的电阻,从而导致开关发生故障。通常,湿性电流介于 1mA 至 20mA 之间。

如果前面列出的器件不提供集成式湿性电流,则需要分立式电路。该电路由两个双极结晶体管 (BJT)、电阻器和电容器组成。我们创建了一个模拟来显示分立式电路的示例值。根据开关类型的不同,分立式湿性电路有不同的配置。

图 8 显示了开关接地的湿性电路原理图。将第二个 BJT (Q2) 的栅极连接到 MCU 上的 GPIO。此 GPIO 可根据需要打开或关闭湿性电流。R5 和 R6 代表输入开关被连接至 IO 扩展器件前的分压器。R8 的值会改变湿性电流的值。通过将 R8 设置为 1kΩ,模拟的湿性电流为 11mA。电池电压也会改变湿性电流的值。如果电池电压上下波动,则湿性电流也会上下波动。

GUID-20230103-SS0I-X698-MTT0-GFSGC7RMZFKR-low.png图 1-8 接地开关的湿性电路

图 9 显示了具有电池开关的湿性电路原理图。将第二个 BJT (Q4) 的栅极连接到 MCU 上的 GPIO。此 GPIO 可根据需要打开或关闭湿性电流。R3 和 R4 代表输入开关被连接至 IO 扩展器件前的分压器。在该电路中,R16 控制湿性电流的值。通过将 R16 设置为 1kΩ,模拟的湿性电流为 10.5mA。电池电压也会影响该电路中的湿性电流值。

GUID-20230103-SS0I-FX0L-R1BW-SLJ8DL9KJFVH-low.png图 1-9 用于切换到电池的湿性电路

总结

本文档介绍了使用 TI 器件进行开关输入和输出的 IO 扩展方法。输入扩展的六种可能的硬件设计是移位寄存器、MUX、ADC、IO 扩展器、MSDI 和支持 MCU。对于实施大量高侧开关的区域模块,IO 扩展器是减少控制高侧开关所需 MCU GPIO 数量的有效方法。

图 10 显示了每个输入扩展硬件设计的最小封装比较。如果需要分立式湿性电路,则会在系统布板空间中添加额外的无源器件。

GUID-20230103-SS0I-M3WP-52GC-CKQRM70DFNFP-low.png图 1-10 封装尺寸比较

在以下方面对硬件设计进行了比较:延迟、软件开销、设计尺寸,以及自主监控、中断引脚、湿性电流和接口类型(即 GPIO、SPI、I2C)等器件特性。表 1 概述了可帮助工程师为输入扩展做出理想选择所需的这些主要特性。

表 1-1 输入扩展的主要特性概述
类型器件通道接口延迟软件
开销
中断自主
监控
湿性
电流

移位寄存器

SN74HCS165-Q1

8

GPIO

轮询时间、菊花链和时钟速度轮询

分立式

多路复用器

TMUX1308-Q1

8

GPIO

轮询时间轮询

分立式

IO 扩展器

TCA9539-Q1

TCA6408-Q1

8 或 16

I2C

时钟速度和总线负载用于配置一些寄存器的 I2C

分立式

ADC

ADS7038-Q1

8

SPI

配置和时钟速度用于配置多个寄存器的 SPI

分立式

MSDI

TIC12400-Q1

24

SPI

配置和时钟速度用于配置多个寄存器的 SPI

集成式