首页 > 产品 > 模拟混合信号 > 接口 > 其它接口 > 传感器接口(汽车) > MSDI (多重开关状态检测接口) 在车身控制模快的应用 >

传感器接口(汽车)

最新课程

热门课程

MSDI (多重开关状态检测接口) 在车身控制模快的应用

欢迎来到德州仪器的在线培训 我的名字是戴维王 德州仪器的系统工程师 那今天我们要讨论的主题是 MSDI 也就是多开关检测接口的一个器件 那 MSDI 主要用途是在车身控制模块上 也就是 BCM 的上面 那在这个培训中 我们会详细介绍 MSDI 一些特别的功能 以及它如何在车身控制模块的设计上 不管是设计的复杂度 成本的控制 或者是整体系统的一些性能上 所提供的一些帮助 那这个培训包含了四个章节 在第一个章节我们会讨论 汽车车身控制模块中的 开关检测的一个功能 传统使用分立器件来实现 开关检测的一些做法 以及使用分立器件方案上实现的一些挑战 那在第二个章节我们会讨论 MSDI 的概念以及 MSDI 如何 帮助解决在第一章我们讨论到的一些挑战 在第三个章节 我们会讨论 MSDI 提供的一些高级功能 以及硬件设计师如何使用这些功能 来提高系统的性能 培训结束后在最后也就是第四个章节 我们会重点介绍 MSDI 的价值主张 以及如何获取有关德州仪器这款 MSDI 器件的更多信息 首先让我们来讨论一下 BCM 也就是车身控制模块的重要性 那在车用电子的设计当中 车身控制模块结合安全性 和舒适性功能的管理 以及电子电源系统的管理 随着汽车电子技术的发展 其功能也在不断的扩展和增加 除了传统的灯光 雨刮 以及门锁控制等 一些基本的功能之外 近年来车身控制模块 开始逐渐集成了一些像 自动雨刮 发动机防盗 胎压检测等 一些先进的功能 以满足人们不断增加的安全性 以及舒适性等方面的一些需求 那在这一页 slice 您可以看到一个车身控制模块的框图 在车身控制系统上 开关的应用扮演了一个很重要的角色 不管是当驾驶员打开车灯 使用电动门窗 操控中控门锁 打开加热座椅 或者是使用挡风玻璃雨刮 这些所有的控制都是利用开关来实现的 在配置极全的中高档车当中 开关的数量常常可以达到一百个或甚至更多 所以如何要事半功倍的检测这些开关的状态 就变成了车身控制模块设计上 一个很重要的课题 传统的解决方案 通常的做法是利用 MCU 也就是微控制器的 IO 口来进行监控 但是这种做法常常会有一些限制 造成设计上一定的复杂性 接下来就让我们详细地讨论一下 首先让我们先来讨论一下 车身设计中使用的开关 车辆中的开关一般会有两种不同的类型 如果一个开关只有两个状态 也就是打开和关闭 我们可以简单的把它归类于数字开关 那例如安全带的开关 前后雾灯的按钮 后备箱的开关和门锁的开关 都可以被归类于数字开关 如果开关具有多个状态或是多个位置 我们则可以将其归类于模拟开关 模拟开关通常是由不同的电阻值 来实现开关切换的不同的位置 所以有时候又叫做 resistor-coded switch 或是电阻编码开关 那例如点火钥匙的开关 尾灯和大灯控制的开关 以及雨刮控制开关等 都可以被归类于模拟的开关 那为了检测开关的一个状态 通常的做法是将偏置的电流提供给开关 已建立可以被采样的电压 在车身的应用上 这种偏置电流通常称为 wetting current 也就是湿电流 湿电流是指系统给输入端口提供的 上拉以及下拉的恒流源 以去除开关金属触点上的氧化物 保证开关可以可靠地闭合 那数字的开关因为只有两个状态 所以可以经由简单的比较器来做检测 那模拟的开关 因为开关不同的位置会产生不同的电压 所以需要有模拟数字转换器或者是ADC 来做采样以及检测 检测的结果呢再根据预设的阈值 MCU 就可以判断出目前 开关的切换的状态以及位置 接下来我们来讨论一下 利用分立器件和 MCU 来实现 车身控制模块开关检测的一个设计 那这张图就是一张典型的方案设计图 S1 就是我们要检测的开关 那通常为了保证设计的可靠性 硬件工程师会加上不少 周边的保护电路 第一 在车身控制模块的接口处 常常会需要串一个电容 作为系统 ESD 或是静电释放的保护 第二 隔离的二极管 是常常使用的器件 用来作为系统端电池反向保护 和瞬态脉冲保护的一个功能 第三 电阻的分压电路也是需要的 这样可以将输入的电压 降低到 MCU 可以容忍和采样的一个电压 再来 Rwett 是一个用于 调节进入开关的湿电流的 电流值的一个电阻 那电阻值越大 当然产生的湿电流就越小 那最后为了降低车身控制模块的静态电流 设计上通常会使用一些 MOS 管 和电阻的一些组合 在 MCU 需要进行采样的时候才打开湿电流 那这样算下来 如果使用分立器件来做 一个数字开关的通道检测 通常需要高达五个电阻 两个电容 一颗二极管和两个 MOS 管 并且耗去 MCU 的 GPIO 的一个端口 了解分立方案的实现方式 接下来我们就来讨论一下 分立方案的挑战以及一些问题 那首先肯定是器件数量会增多 那假设汽车上有 24 个开关 一个车身控制模块板就需要高达78颗电阻 27 颗电容 24 个二极管 以及 6 颗 MOS 管 这样不仅会增加设计的难度 并且会大幅增加电路板的面积 其次是 MCU GPIO 口数量的要求 当然也会增多 那假设每个开关通道 都需要占有一个GPIO 口 那设计 MOS 管的时序控制 也需要 GPIO 口来控制 这样一来 GPIO 口的数量就会增多 同时会增加对 MCU 选型上的一个成本 那接下来就是一个系统的功耗 那为了快速响应开关的切换 MCU 需要始终处于一个激活的状态 或者是需要定期的被唤醒 以确保持续的开关检测的一个功能 那这样会大幅增加系统的功耗 尤其是在汽车的熄火的一个状态下 为了延长电池的寿命 许多汽车的制造商对于车身控制模块 最大的静态的一个电流 有着非常严格的一个限制 那如果 MCU 需要定期的被唤醒 这个目标有时候是非常难以达到的 那接下来就是湿电流的一个变化 那汽车的电池的电压可能会 由于启动负载的转变 以及瞬态尖峰等因素而突然的改变 那由于湿电流是由电阻来调节的 电压的变化会直接导致湿电流的值 产生了变化 尤其是在设计模拟开关的检测方案时候 湿电流的变化会使得系统设计更加的复杂 那在最坏的情况下 车辆可能会报告错误的开关状态 这样不仅给司机乘客造成直接的不便 甚至会导致系统故障等问题 那再来就是我们之前讨论到 用作 ESD 静电释放保护的电容 那为了增加对静电释放保护的可靠性 电容的值可能要求会变得更大 那大的电容值会增加充电和放电的时间 进而影响到开关切换的响应速度 以及导致整个系统上功耗的增加 那接下来就是我们之前提到的二极管 那二极管在车身控制模块的设计上 提供了几种功能 第一是防止电流回流至电源 第二是为了安全性的考量 有时候一个开关的状态 可能会用两个 MCU 来做检测 那在这个情况二极管可以防止电流回流 而影响检测的精度 第三 二极管提供电池反向保护 和瞬态脉冲保护的功能 可是呢汽车级别的二极管通常会比较贵 如果每个通道上都要使用 对整个系统的成本 和电路板的面积会大幅的增加 最后一点值得一提的是车身的设计上 因为不同的应用场景 可能会需要不同的开关种类 比如说数字开关或者模拟开关 不同的开关的连接方式 比如说接蓄电池的开关 或是接地的开关 以及不同开关湿电流的配置 有时候可能需要一个毫安 有些其他时候可能需要15个毫安 那如果用分立方案来做的话 会增加设计的复杂以及困难度 并且很难去做一个平台化 参考线路的一个设计 接下来我们就来聊一下 TI 新推出的这个 24 个通道的开关监测的解决方案 以及它如何 解决我们之前讨论到一些 用分立方案来做的一些问题 那 MSDI 是 Multi-switch Detection Interface 一个简称 那它是一个多重开关状态检测的接口器件 作为汽车开关接口和 MCU 之间的桥梁 那这张图是一张 MSDI 的系统框图 这个芯片支持 24 个输入检测的接口 那在 24 个接口当中 其中十个通道 可以编程为支持连接到地 或是连接到电池的一个开关 方便硬件工程师做灵活的设计 那其余 14 个通道 则专用于检测接地的开关 另外所有的开关输入 都能实现正负 8000 伏的 ESD 的静电释放保护 并且集成了反向的电压保护 此外通过这张系统框图 我们可以看到 24 个开关的输入通道 都可以复用到 ADC 或是比较器 这就意味着 MSDI 可以支持 模拟开关或是数字开关 另外 MSDI 可以支持低到4.5伏的 电源的电压下正常的工作 并且能在最低2.8伏的电源电压下 保持寄存器的设置 更值得一提的是 MSDI 每个开关的输入 都可以进行单独的编程 设置个别的阈值电压 当开关输入的电压 超过了预定的阈值范围的时候 MSDI 就会产生一个中断 以提醒 MCU 系统上 某个开关已经改变了一个状态 那 MSDI 这个芯片 与 MCU 的通讯方式 是通过 SPI 的接口来实现的 SPI 是一个非常常用的 MCU 的接口 因此对于 MCU 的选择难度也大大的减少 同时也降低了整个系统的成本 接下来我们来讨论一下 MSDI 这颗芯片 怎么解决之前阐述的一些问题 首先呢 MSDI 这个芯片 是一个完全集成的开关检测前端的设备 它替代了传统实现开关检测电路 所需要的许多分立的器件 大大的减少分立器件的数量 那开关的数量越多 减少的器件也相对的增多 如此大大降低了电路板的设计难度 其次呢 MSDI 这颗芯片 利用中断信号以及 SPI 的接口 与 MCU 进行通信 因此总共占用了五个 GPIO 线路 与传统方案的一个开关 需要一个 GPIO 相比 大大释放了 MCU 的 GPIO 的资源 那举个例子来说 在这张图上你可以看到 如果要检测24个开关 分立器件的做法需要 78 个电阻 27 颗电容 24颗二极管 以及 6 个 MOS 管 另外再加上 28 根的 MCU 的 GPIO 相较之下这些分立器件 完全可以用一颗 MSDI 的芯片来代替 GPIO 要的数量也大幅从24根降到5根 在上一页我们讨论到 MSDI 高度集成了许多功能 因而减少设计车身控制模块时 分立器件的使用量 如此一来整个模块 电路板的尺寸也可以大幅的缩减 电路板的布局也可以大幅的简化 这对日趋复杂的车身控制模块的设计 和成本的控制上有着很显著的帮助 那在这张图上您可以清楚的看到 用分立器件还有 MSDI 来实现开关检测的方案 在电路板上一个尺寸上的差别 接下来我们来讨论 MSDI 在降低系统功耗上的帮助 这是在上文 MSDI 的硬件框图中 无法直接看出来的 首先 MSDI 具备了两种不同的模式 除了连续模式之外 还提供了一种称为轮询模式的 特殊的操作方式 在轮询模式之下 MSDI 提供了每个开关的输入的湿电流 仅在非常短的时间内被激活 持续的时间足以对输入的电压 进行采样以及状态判断 由于激活的时间的占空比很小 整体的平均电流消耗也因此大幅的减少 在轮询的模式下 MSDI 芯片的平均整体的电流消耗 仅在 70 个微安左右 值得一提的是 MSDI 每个输入端的 是湿流激活的时间 以及每个输入的采样的频率 都可以被配置 如此以来 MSDI 可以轻松地支持 各种不同的应用场景 除了轮询模式之外 硬件工程师还可以利用 MSDI 的中断功能 对休眠模式的 MCU 做状态更改的唤醒设计 这样可以再进一步的降低整体系统的功耗 那这张图提供了一个典型的参考设计 首先 MCU 需要正确的配置 MSDI 并启动 MSDI 的开关检测的功能 接下来 MCU 就可以进入休眠 或者是低功耗的状态 因为开关监测是由 MSDI 独立进行的 无需 MCU 的干预 当检测到开关的状态改变的时候 MSDI 会对 MCU 发出中断的讯号 该中断讯号可以设计 其用为 MCU 供电的 LDO 那一旦 MCU 重新激活 他就可以使用 SPI 的命令 检查开关的状态 如此以来 与典型的 MCU 2到3个毫安的功耗相比 MSDI 在轮询模式下 消耗的平均电流仅仅为70个微安 大幅降低了整个系统的功耗 这一点对于需要低静态电流的 汽车应用场景帮助非常的大 有些情况甚至是无法使用分立器件来做到的 接下来我们来讨论一下 MSDI 湿电流的精度 因为 MSDI 湿电流 是使用电流反射镜结构而设计的 因此电源和负载的变化 对于 MSDI 的湿电流输出的精度 并没有太大的影响 在不同的温度和工艺之下 MSDI 的湿电流精度常常可以保持在10% ±10% 之间 这对于正确的检测开关的状态 尤其是电阻编码开关有着很大的帮助 对于 MSDI 的湿电流精度的信息 请参阅 MSDI 的数据表 接下来 MSDI 所有的输入引脚 都集成了 HBM CDM 和 系统及接触以及空气放电的 ESD 保护 如此以来硬件工程师 在设计系统安全防护的时候 可以减少外部的 ESD 的电容 在节省成本的同时 还可以使输入的采样的速度更快 减少开关的响应的时间以及系统的功耗 接下来我们来讨论一下 MSDI 对于二极管使用上的需求 那在上一页我们讨论到 MSDI 的湿电流 是利用电流反射镜结构设计的 因此电流的方向是被控制的 另外 MSDI 的所有的输入端 都集成了反向保护的功能 因此呢我们之前讨论到 控制电流方向的二极管是不需要的 这样对于电路板的尺寸 以及成本的控制上有着很大的帮助 最后呢 MSDI 在芯片的配置方面 提供了巨大的灵活性 首先 MSDI 集成了 ADC 和比较器 以支持模拟和数字的开关 湿电流的方向 也可以通过编程来检测连接到地 或是连接到电源的开关 湿电流的配置 则提供从 0 个毫安 到 15 个毫安六种不同的选择 以支持各种开关 对于湿电流不同的需求 另外 MSDI 采样的频率 以及时序的控制 也可以轻易的通过寄存器的配置来进行调整 如此一来 软件工程师只需要对 MSDI 进行简易的编程 就可以支持各种不同类型的开关 并且降低硬件更改的频率 这样可以有效降低跨平台设计的复杂度 更能让工程师节省宝贵的开发周期 让产品迅速的面试 在接下来这个章节中 我们将详细讨论 MSDI 提供的一些 更高级的功能 以及硬件工程师如何使用这些功能 来更加提高系统的性能 首先呢我们之前讨论到 所有 MSDI 的输入端口 都可以单独配置为 ADC 或是比较器的模式 为了让 MSDI 可以区分开关打开 和闭合的状态 硬件工程师可以预先编程 ADC 或是比较器的阈值 那在 ADC 的模式之下 阈值可以变成为 1023 个代码中的任何一个 而在比较器的模式之下 有四个预设的阈值电压可以工作选择 它们分别为 2V 2.7V 3V 以及 4V 可以调的阈值 可以让系统硬件工程师 使用 MSDI 来缓解开关检测中 一些不理想的情况 接下来我们讨论两个例子 在示例一中 系统存在了负向的 Ground Shift 也就是地面移位 那地面移位会发生的情况 是由于 MSDI 跟开关的位置距离比较远 导致连接两者的地线 存在了较大的电阻值 当返回路径的电流较高的情况下 就容易产生地面移位 地面移位有可能是正压或是负压 在这个例子是一个负压的地面移位 也就是 MSDI 的地电位 低于开关远端的地电位 那两者之间存在的 1V 的差异 假设开关在关闭的情况下 开关的电阻值为一百个欧姆 如果使用 15 毫安的湿电流 则 MSDI 输入引脚上 会产生 1.5V 的电压 但是呢由于系统中有 1V 的负地面移位 MSDI 输入端看到相对于地的有效电压 变成2.5伏 那在这种情况之下 两伏的比较器的阈值将不起作用 而需要更高的检测阈值 那在第二个例子当中 连接到电池的开关 有着 200 欧姆的电阻 那由于冷发动机启动的缘故 该电池的电压暂时降到六伏 在开关关闭的状况之下 15 个毫安的湿电流 在 MSDI 输入引脚上 产生了三伏的电压 在这种情况下 4V 的比较器阈值将不起作用 和需要较低的检测阈值 从这两个事例当中 我们可以看到检测的阈值 可能需要根据系统的状况进行调整 而 TI 的 MSDI 方案 为 ADC 和比较器 都提供了阈值调整的功能 增加了整个系统设计上的灵活性 接下来我们来讨论一下 MSDI 检测滤波的功能 由于开关的设计是利用机械性质来实现的 当切换或是按压的时候 开关的触点可能在短时间之内来回的反弹 造成 MSDI 输入端口上电压的波动 这个时候呢就适合启用 MSDI 检测滤波的功能 检测滤波的功能开启之后 MSDI 会在确保开关状态处于稳定之后 才会对 MCU 发起中断的讯号 那 MSDI 的滤波次数 可以设置为一次两次三次或是四次 如果设置为四次 就代表这个输入端口的电压 相对于一开始设置的阈值 得连续四个轮询周期 都保持固定的状态的情况下 MSDI 才会对 MCU 产生中断 那在这一页的示例图上 我们就假定滤波的次数为四次 开关状态开始为高电平 当切换过后 有一段由于开关触点来回跳动 而导致开关状态不稳的过渡期 那 MSDI 最初检测到开关 转换为低电平的状态两个周期 但是在两个周期之后回到了高电平 由于滤波的次数设置为四次 所以低电平的这两个周期呢 将会被 MSDI 给忽略 那一直到最后开关稳定下来之后 足以让 MSDI 检测到四次 连续的开关低电平状态周期之后 中断信号才会被发送给 MCU 那检测滤波这个功能只需要编程一次 一旦编程之后 就不需要 MCU 对 MSDI 做其他软件上的控制 这样呢比起以往固定的时间 就需要唤醒 MCU 并且 过采样的一个做法 不仅节省 MCU 的资源 并且帮助降低系统上的功耗 接下来我们来谈谈 MSDI 的 Matix polling 的功能 也就是矩阵轮询模式 矩阵轮询模式 是一种特殊的轮询方案 只需要使用 12 个 MSDI 的输入通道 就可以支持高达 36 个数字开关 矩阵轮询模式有三种不同的矩阵配置 分别是 4×4 的矩阵 支持高达 16 个开关 5×5 的矩阵支持高达 25 个开关 以及 6×6 的矩阵 支持高达 36 个开关 那矩阵轮询模式 是利用电流源和电流接收互相的连接 依次扫描矩阵的每一行和每一列 以检测两者之间开关的这个状态 矩阵轮询模式检测的阈值和时间 也可以像普通的轮询模式一样进行编程 检测的结果呢 将会被寄存在寄存器当中 提供给 MCU 进行读取 使用矩阵模式最好的的好处 是需要 MSDI 少量的输入通道 就可以支持大量的数字开关 由于车辆中的开关数量持续的增长 矩阵轮询模式 提供了一个很特别的解决方案 大幅的减少了 车身控制模块设计的复杂性 元件的数量和电路板的面积 那我们之前提到 为了清除机械开关 金属触点上积累的氧化物 以保证开关的可靠闭合 车身控制模块 会提供湿电流给开关 那有些开关因为用途的关系 会需要比较大的湿电流 比如说 10 毫安或是 15 毫安 而另一方面为了检测电阻编码开关 或是降低模块的整体功耗 硬件工程师会趋向使用 较低的湿电流的设置 如此一来湿电流的配置 常常会造成硬件 或是软件工程师的困扰 那这个时候 MSDI 的 Clean current polling (CCP) 简称 CCP 或是清洁电流的轮询方案 就可以适时的发挥用途 当清洁电流轮询方案开始的时候 每个轮询的周期 将会改成由两个湿电流激活的步骤组成 第一步是正常的轮询开关状态采样 这部分跟普通的轮询模式是相同的 第二步称为清洁电流 这个是对所有 CCP 开启的输入通道 同时激活的电流脉冲 目的呢就是因为要湿润开关的触点 以保持接触面的清洁 那清洁的电流的值 可以在十个毫安 或是 15 个毫安之间做选择 并且可以为每个通道启用或是停用 通过这个清洁电流的轮询方案 系统就可以利用 MSDI 提供的 这两个不同的电平的电流 来分别进行开关的检测和触点清洁 这样不管对于硬件或是软件上的设计 都具有相当显著的简化的功能 接下来我们来讨论 MSDI 的电源测量的功能 当 MSDI 进行开关检测的时候 特别是电阻编码开关 电源的电压高低变成非常的关键 如果电源的电压波动过大 超过了数据表的工作范围 MSDI 可能无法产生精确的湿电流 那这可能会影响开关检测的一个准确性 因此呢传统做法是利用 MCU 持续的采样 并且监控电源的电压 以确定它保持在一个固定的范围之内 那因为考虑到这方面的设计 TI 的 MSDI 方案 提供了电源电压测量的特殊功能 一旦启用之后 MSDI 将会将电源的电压 通过电阻分压之后 连接到内建的 ADC 并且在每个轮询的周期中进行采样 那电源测量支持两种范围选项 分别为 4.5 伏到 9伏 或者是 4.5 伏到 30 伏 那 4.5 伏到 9 伏 提供了较高的测量精度 4.5 伏至 30 伏的选项 则提供了更宽的电压测量范围 那电源测量的功能 跟传统的开关检测类似 也可以编程阈值 最多可以编程四个独立的数值 如果电源的电压低于或是超过阈值 MSDI 会发出中断讯号通知 MCU 那 ADC 转换后的数值 也会被储存到寄存器当中 提供 MCU 使用 SPI 通信 读取更多关于电源电压的信息 因为呢有中断讯号的辅助 硬件工程师也可以跟 传统的开关设计检测一样 利用电源测量的功能 做 MCU 的唤醒设计 为了提高开关检测的可靠性 MSDI 提供了许多 Fault Detection 也就是故障检测的功能 首先是电压故障的检测 那在 12V 汽车系统当中 完全充电时 电池的电压通常为 12.6 伏左右 而发动机运行的时候 电池的电压则为 13.7 伏左右 但是呢各种车辆的运行条件 比如说 Load down 负载突降 cold 冷启动 或者是搭电启动等等 可能会大幅改变电池的工作电压 那 TI 的 MSDI 建议的 电压工作范围于4.5伏到35伏之间 如果电源的电压超出建议值 MSDI 会产生过压或者是欠压的中断 以警告系统 以便采取适当的措施 除了电源电压之外 当车辆运行的时候 温度 也是一个 难以在系统中控制的参数 那 TI 的 MSDI 的工作温度 最高可以到达125度摄氏度 但是如果多个通道 同时被编程为高的湿电流 开关又保持在关闭的状态 MSDI 的芯片的温度 可能会迅速的增高 那为了防止过热 MSDI 芯片的内部 集成了许多温度传感器 如果结温高于 140 度摄氏度 MSDI 内部会产生警告中断 并且将所有的通道的 湿电流降低至两个毫安 如果结温持续升高 并超过 160 度摄氏度 MSDI 会关闭所有通道的湿电流 以防止进一步的制热 那经过了一段时间之后 一旦温度下降到阈值以下 湿电流则会恢复到其编程值 这些热保护的功能 可防止对 MSDI 的芯片 造成永久性的损坏 那再来我们来讨论一下 MSDI 芯片的 SPI 故障检测的功能 SPI 是相当普遍的汽车通信协议 那 TI 的 MSDI 就是使用 SPI 的协议与 MCU 进行通信 以进行编程和状态更新 但是呢在恶劣的汽车工作环境之下 SPI 通信的错误有可能会由于 bit-flipping 也就是位翻转而产生 为了检测 SPI 位翻转的通信错误 MSDI 为 SPI 的每一笔资料 都进行 Parity check 也就是所谓的奇偶校验 那 MSDI 使用的是奇数的奇偶校验 这意味着任何一笔 SPI 资料中 1 的比特总数必须是奇数 数据才会生效 那如果总数为偶数 芯片则会丢弃接收到的数据 同样的 MSDI 对每一笔的 输出的 SPI 数据 也都执行相同的方案 那这个方案可以大幅降低 SPI 通信错误的发生 那除了 SPI 的奇偶校验 MSDI 还提供 CRC 也就是循环冗余校验 来检查编程到芯片中数据的完整性 那 CRC 校验被初始化之后 MSDI 将根据所有配置寄存器的值 计算并储存 CRC 的数值 然后 MCU 就可以将 MSDI 的 CRC 的数值与其期望值进行比较 如果两个值不匹配 这意味着编程期间发生了一些错误 所以通过使用 CRC MCU 可以随时校验 MSDI 数据传输 或者保存之后可能出现的一个错误 那以上所提到这些故障检测功能 都大幅增加 MSDI 操作的稳定性 并允许 MSDI 被使用于 安全关键型应用的可能性 除了上一页所讨论的故障检测功能之外 TI 的 MSDI 方案 还内建了两个高级诊断的功能 持续监控 MSDI 的设备操作 那第一个是湿电流诊断 它将 MSDI 的端口的输入 或是输出的电流与参考值进行比较 如果当前输入或是输出的电流值 显著偏离参考值 MSDI 的芯片就会发出中断 以提醒 MCU 那 MCU 就可以选择利用设备重置的方式 来尝试解决这个问题 MSDI 为前四个输入端口 也就是 IN0 到 IN3 提供了 湿电流诊断的功能 所以这几个通道 适用于对于安全有需求的开关设计 那另外一个高级诊断的功能是 ADC 的自诊断的功能 目的是确保 ADC 转换正确的执行 那当这个诊断功能开启的时候 一个固定带隙基准电压 将被复用到 ADC 进行采样 并将 ADC 的输出 与预设的限值进行比较 如果ADC的输出值超出了限值 MSDI 就会发出中断 那同样的 MCU 可以选择利用 设备重置的方式来尝试解决这个问题 湿电流诊断和 ADC 的自诊断 都将在每一个轮循周期结束后运行 因此可以连续监测 MSDI 操作的稳定性 那车身控制模块的硬件工程师 可以利用这两个诊断的功能 以及之前提到的故障检测的功能 对系统的安全性实现优化的设计 以达到系统功能安全的标准 那以上呢 就是我们今天 对 MSDI 做的一个在线的培训 相信您对 MSDI 的功能 以及它对系统上的一些帮助 有着比较多一点的认识 那如果您需要更多的一些讯息 欢迎您到 TI.com 搜寻 MSDI 的产品型号 也就是 TIC12400 那你就会发现更多一些有用的一些讯息 包括 MSDI 的参考设计 EVM 板以及 GUI 的软件等等 谢谢您收看今天的在线培训 再见

欢迎来到德州仪器的在线培训

我的名字是戴维王

德州仪器的系统工程师

那今天我们要讨论的主题是

MSDI 也就是多开关检测接口的一个器件

那 MSDI 主要用途是在车身控制模块上

也就是 BCM 的上面

那在这个培训中

我们会详细介绍 MSDI 一些特别的功能

以及它如何在车身控制模块的设计上

不管是设计的复杂度

成本的控制

或者是整体系统的一些性能上

所提供的一些帮助

那这个培训包含了四个章节

在第一个章节我们会讨论

汽车车身控制模块中的

开关检测的一个功能

传统使用分立器件来实现

开关检测的一些做法

以及使用分立器件方案上实现的一些挑战

那在第二个章节我们会讨论

MSDI 的概念以及 MSDI 如何

帮助解决在第一章我们讨论到的一些挑战

在第三个章节

我们会讨论 MSDI 提供的一些高级功能

以及硬件设计师如何使用这些功能

来提高系统的性能

培训结束后在最后也就是第四个章节

我们会重点介绍 MSDI 的价值主张

以及如何获取有关德州仪器这款

MSDI 器件的更多信息

首先让我们来讨论一下

BCM 也就是车身控制模块的重要性

那在车用电子的设计当中

车身控制模块结合安全性

和舒适性功能的管理

以及电子电源系统的管理

随着汽车电子技术的发展

其功能也在不断的扩展和增加

除了传统的灯光 雨刮 以及门锁控制等

一些基本的功能之外

近年来车身控制模块

开始逐渐集成了一些像

自动雨刮 发动机防盗 胎压检测等

一些先进的功能

以满足人们不断增加的安全性

以及舒适性等方面的一些需求

那在这一页 slice

您可以看到一个车身控制模块的框图

在车身控制系统上

开关的应用扮演了一个很重要的角色

不管是当驾驶员打开车灯

使用电动门窗

操控中控门锁

打开加热座椅

或者是使用挡风玻璃雨刮

这些所有的控制都是利用开关来实现的

在配置极全的中高档车当中

开关的数量常常可以达到一百个或甚至更多

所以如何要事半功倍的检测这些开关的状态

就变成了车身控制模块设计上

一个很重要的课题

传统的解决方案

通常的做法是利用 MCU

也就是微控制器的 IO 口来进行监控

但是这种做法常常会有一些限制

造成设计上一定的复杂性

接下来就让我们详细地讨论一下

首先让我们先来讨论一下

车身设计中使用的开关

车辆中的开关一般会有两种不同的类型

如果一个开关只有两个状态

也就是打开和关闭

我们可以简单的把它归类于数字开关

那例如安全带的开关

前后雾灯的按钮

后备箱的开关和门锁的开关

都可以被归类于数字开关

如果开关具有多个状态或是多个位置

我们则可以将其归类于模拟开关

模拟开关通常是由不同的电阻值

来实现开关切换的不同的位置

所以有时候又叫做

resistor-coded switch

或是电阻编码开关

那例如点火钥匙的开关

尾灯和大灯控制的开关

以及雨刮控制开关等

都可以被归类于模拟的开关

那为了检测开关的一个状态

通常的做法是将偏置的电流提供给开关

已建立可以被采样的电压

在车身的应用上

这种偏置电流通常称为

wetting current

也就是湿电流

湿电流是指系统给输入端口提供的

上拉以及下拉的恒流源

以去除开关金属触点上的氧化物

保证开关可以可靠地闭合

那数字的开关因为只有两个状态

所以可以经由简单的比较器来做检测

那模拟的开关

因为开关不同的位置会产生不同的电压

所以需要有模拟数字转换器或者是ADC

来做采样以及检测

检测的结果呢再根据预设的阈值

MCU 就可以判断出目前

开关的切换的状态以及位置

接下来我们来讨论一下

利用分立器件和 MCU 来实现

车身控制模块开关检测的一个设计

那这张图就是一张典型的方案设计图

S1 就是我们要检测的开关

那通常为了保证设计的可靠性

硬件工程师会加上不少

周边的保护电路

第一 在车身控制模块的接口处

常常会需要串一个电容

作为系统 ESD 或是静电释放的保护

第二 隔离的二极管

是常常使用的器件

用来作为系统端电池反向保护

和瞬态脉冲保护的一个功能

第三 电阻的分压电路也是需要的

这样可以将输入的电压

降低到 MCU 可以容忍和采样的一个电压

再来 Rwett 是一个用于

调节进入开关的湿电流的

电流值的一个电阻

那电阻值越大

当然产生的湿电流就越小

那最后为了降低车身控制模块的静态电流

设计上通常会使用一些 MOS 管

和电阻的一些组合

在 MCU 需要进行采样的时候才打开湿电流

那这样算下来

如果使用分立器件来做

一个数字开关的通道检测

通常需要高达五个电阻 两个电容

一颗二极管和两个 MOS 管

并且耗去 MCU 的 GPIO 的一个端口

了解分立方案的实现方式

接下来我们就来讨论一下

分立方案的挑战以及一些问题

那首先肯定是器件数量会增多

那假设汽车上有 24 个开关

一个车身控制模块板就需要高达78颗电阻

27 颗电容 24 个二极管

以及 6 颗 MOS 管

这样不仅会增加设计的难度

并且会大幅增加电路板的面积

其次是 MCU GPIO 口数量的要求

当然也会增多

那假设每个开关通道

都需要占有一个GPIO 口

那设计 MOS 管的时序控制

也需要 GPIO 口来控制

这样一来 GPIO 口的数量就会增多

同时会增加对 MCU 选型上的一个成本

那接下来就是一个系统的功耗

那为了快速响应开关的切换

MCU 需要始终处于一个激活的状态

或者是需要定期的被唤醒

以确保持续的开关检测的一个功能

那这样会大幅增加系统的功耗

尤其是在汽车的熄火的一个状态下

为了延长电池的寿命

许多汽车的制造商对于车身控制模块

最大的静态的一个电流

有着非常严格的一个限制

那如果 MCU 需要定期的被唤醒

这个目标有时候是非常难以达到的

那接下来就是湿电流的一个变化

那汽车的电池的电压可能会

由于启动负载的转变

以及瞬态尖峰等因素而突然的改变

那由于湿电流是由电阻来调节的

电压的变化会直接导致湿电流的值

产生了变化

尤其是在设计模拟开关的检测方案时候

湿电流的变化会使得系统设计更加的复杂

那在最坏的情况下

车辆可能会报告错误的开关状态

这样不仅给司机乘客造成直接的不便

甚至会导致系统故障等问题

那再来就是我们之前讨论到

用作 ESD 静电释放保护的电容

那为了增加对静电释放保护的可靠性

电容的值可能要求会变得更大

那大的电容值会增加充电和放电的时间

进而影响到开关切换的响应速度

以及导致整个系统上功耗的增加

那接下来就是我们之前提到的二极管

那二极管在车身控制模块的设计上

提供了几种功能

第一是防止电流回流至电源

第二是为了安全性的考量

有时候一个开关的状态

可能会用两个 MCU 来做检测

那在这个情况二极管可以防止电流回流

而影响检测的精度

第三 二极管提供电池反向保护

和瞬态脉冲保护的功能

可是呢汽车级别的二极管通常会比较贵

如果每个通道上都要使用

对整个系统的成本

和电路板的面积会大幅的增加

最后一点值得一提的是车身的设计上

因为不同的应用场景

可能会需要不同的开关种类

比如说数字开关或者模拟开关

不同的开关的连接方式

比如说接蓄电池的开关

或是接地的开关

以及不同开关湿电流的配置

有时候可能需要一个毫安

有些其他时候可能需要15个毫安

那如果用分立方案来做的话

会增加设计的复杂以及困难度

并且很难去做一个平台化

参考线路的一个设计

接下来我们就来聊一下

TI 新推出的这个

24 个通道的开关监测的解决方案

以及它如何

解决我们之前讨论到一些

用分立方案来做的一些问题

那 MSDI 是

Multi-switch Detection Interface

一个简称

那它是一个多重开关状态检测的接口器件

作为汽车开关接口和 MCU 之间的桥梁

那这张图是一张 MSDI 的系统框图

这个芯片支持 24 个输入检测的接口

那在 24 个接口当中

其中十个通道

可以编程为支持连接到地

或是连接到电池的一个开关

方便硬件工程师做灵活的设计

那其余 14 个通道

则专用于检测接地的开关

另外所有的开关输入

都能实现正负 8000 伏的

ESD 的静电释放保护

并且集成了反向的电压保护

此外通过这张系统框图

我们可以看到

24 个开关的输入通道

都可以复用到 ADC 或是比较器

这就意味着 MSDI 可以支持

模拟开关或是数字开关

另外 MSDI 可以支持低到4.5伏的

电源的电压下正常的工作

并且能在最低2.8伏的电源电压下

保持寄存器的设置

更值得一提的是 MSDI 每个开关的输入

都可以进行单独的编程

设置个别的阈值电压

当开关输入的电压

超过了预定的阈值范围的时候

MSDI 就会产生一个中断

以提醒 MCU 系统上

某个开关已经改变了一个状态

那 MSDI 这个芯片

与 MCU 的通讯方式

是通过 SPI 的接口来实现的

SPI 是一个非常常用的 MCU 的接口

因此对于 MCU 的选择难度也大大的减少

同时也降低了整个系统的成本

接下来我们来讨论一下

MSDI 这颗芯片

怎么解决之前阐述的一些问题

首先呢 MSDI 这个芯片

是一个完全集成的开关检测前端的设备

它替代了传统实现开关检测电路

所需要的许多分立的器件

大大的减少分立器件的数量

那开关的数量越多

减少的器件也相对的增多

如此大大降低了电路板的设计难度

其次呢 MSDI 这颗芯片

利用中断信号以及 SPI 的接口

与 MCU 进行通信

因此总共占用了五个 GPIO 线路

与传统方案的一个开关

需要一个 GPIO 相比

大大释放了 MCU 的 GPIO 的资源

那举个例子来说

在这张图上你可以看到

如果要检测24个开关

分立器件的做法需要 78 个电阻

27 颗电容 24颗二极管

以及 6 个 MOS 管

另外再加上 28 根的 MCU 的 GPIO

相较之下这些分立器件

完全可以用一颗 MSDI 的芯片来代替

GPIO 要的数量也大幅从24根降到5根

在上一页我们讨论到

MSDI 高度集成了许多功能

因而减少设计车身控制模块时

分立器件的使用量

如此一来整个模块

电路板的尺寸也可以大幅的缩减

电路板的布局也可以大幅的简化

这对日趋复杂的车身控制模块的设计

和成本的控制上有着很显著的帮助

那在这张图上您可以清楚的看到

用分立器件还有 MSDI

来实现开关检测的方案

在电路板上一个尺寸上的差别

接下来我们来讨论

MSDI 在降低系统功耗上的帮助

这是在上文 MSDI 的硬件框图中

无法直接看出来的

首先 MSDI 具备了两种不同的模式

除了连续模式之外

还提供了一种称为轮询模式的

特殊的操作方式

在轮询模式之下

MSDI 提供了每个开关的输入的湿电流

仅在非常短的时间内被激活

持续的时间足以对输入的电压

进行采样以及状态判断

由于激活的时间的占空比很小

整体的平均电流消耗也因此大幅的减少

在轮询的模式下

MSDI 芯片的平均整体的电流消耗

仅在 70 个微安左右

值得一提的是 MSDI 每个输入端的

是湿流激活的时间

以及每个输入的采样的频率

都可以被配置

如此以来 MSDI 可以轻松地支持

各种不同的应用场景

除了轮询模式之外

硬件工程师还可以利用 MSDI 的中断功能

对休眠模式的 MCU 做状态更改的唤醒设计

这样可以再进一步的降低整体系统的功耗

那这张图提供了一个典型的参考设计

首先 MCU 需要正确的配置 MSDI

并启动 MSDI 的开关检测的功能

接下来 MCU 就可以进入休眠

或者是低功耗的状态

因为开关监测是由 MSDI 独立进行的

无需 MCU 的干预

当检测到开关的状态改变的时候

MSDI 会对 MCU 发出中断的讯号

该中断讯号可以设计

其用为 MCU 供电的 LDO

那一旦 MCU 重新激活

他就可以使用 SPI 的命令

检查开关的状态

如此以来

与典型的 MCU 2到3个毫安的功耗相比

MSDI 在轮询模式下

消耗的平均电流仅仅为70个微安

大幅降低了整个系统的功耗

这一点对于需要低静态电流的

汽车应用场景帮助非常的大

有些情况甚至是无法使用分立器件来做到的

接下来我们来讨论一下

MSDI 湿电流的精度

因为 MSDI 湿电流

是使用电流反射镜结构而设计的

因此电源和负载的变化

对于 MSDI 的湿电流输出的精度

并没有太大的影响

在不同的温度和工艺之下

MSDI 的湿电流精度常常可以保持在10%

±10% 之间

这对于正确的检测开关的状态

尤其是电阻编码开关有着很大的帮助

对于 MSDI 的湿电流精度的信息

请参阅 MSDI 的数据表

接下来 MSDI 所有的输入引脚

都集成了 HBM CDM 和

系统及接触以及空气放电的 ESD 保护

如此以来硬件工程师

在设计系统安全防护的时候

可以减少外部的 ESD 的电容

在节省成本的同时

还可以使输入的采样的速度更快

减少开关的响应的时间以及系统的功耗

接下来我们来讨论一下 MSDI

对于二极管使用上的需求

那在上一页我们讨论到

MSDI 的湿电流

是利用电流反射镜结构设计的

因此电流的方向是被控制的

另外 MSDI 的所有的输入端

都集成了反向保护的功能

因此呢我们之前讨论到

控制电流方向的二极管是不需要的

这样对于电路板的尺寸

以及成本的控制上有着很大的帮助

最后呢 MSDI 在芯片的配置方面

提供了巨大的灵活性

首先 MSDI 集成了 ADC 和比较器

以支持模拟和数字的开关

湿电流的方向

也可以通过编程来检测连接到地

或是连接到电源的开关

湿电流的配置

则提供从 0 个毫安

到 15 个毫安六种不同的选择

以支持各种开关

对于湿电流不同的需求

另外 MSDI 采样的频率

以及时序的控制

也可以轻易的通过寄存器的配置来进行调整

如此一来

软件工程师只需要对 MSDI 进行简易的编程

就可以支持各种不同类型的开关

并且降低硬件更改的频率

这样可以有效降低跨平台设计的复杂度

更能让工程师节省宝贵的开发周期

让产品迅速的面试

在接下来这个章节中

我们将详细讨论 MSDI 提供的一些

更高级的功能

以及硬件工程师如何使用这些功能

来更加提高系统的性能

首先呢我们之前讨论到

所有 MSDI 的输入端口

都可以单独配置为 ADC

或是比较器的模式

为了让 MSDI 可以区分开关打开

和闭合的状态

硬件工程师可以预先编程 ADC

或是比较器的阈值

那在 ADC 的模式之下

阈值可以变成为

1023 个代码中的任何一个

而在比较器的模式之下

有四个预设的阈值电压可以工作选择

它们分别为 2V 2.7V 3V 以及 4V

可以调的阈值

可以让系统硬件工程师

使用 MSDI 来缓解开关检测中

一些不理想的情况

接下来我们讨论两个例子

在示例一中

系统存在了负向的 Ground Shift

也就是地面移位

那地面移位会发生的情况

是由于 MSDI 跟开关的位置距离比较远

导致连接两者的地线

存在了较大的电阻值

当返回路径的电流较高的情况下

就容易产生地面移位

地面移位有可能是正压或是负压

在这个例子是一个负压的地面移位

也就是 MSDI 的地电位

低于开关远端的地电位

那两者之间存在的 1V 的差异

假设开关在关闭的情况下

开关的电阻值为一百个欧姆

如果使用 15 毫安的湿电流

则 MSDI 输入引脚上

会产生 1.5V 的电压

但是呢由于系统中有 1V 的负地面移位

MSDI 输入端看到相对于地的有效电压

变成2.5伏

那在这种情况之下

两伏的比较器的阈值将不起作用

而需要更高的检测阈值

那在第二个例子当中

连接到电池的开关

有着 200 欧姆的电阻

那由于冷发动机启动的缘故

该电池的电压暂时降到六伏

在开关关闭的状况之下

15 个毫安的湿电流

在 MSDI 输入引脚上

产生了三伏的电压

在这种情况下

4V 的比较器阈值将不起作用

和需要较低的检测阈值

从这两个事例当中

我们可以看到检测的阈值

可能需要根据系统的状况进行调整

而 TI 的 MSDI 方案

为 ADC 和比较器

都提供了阈值调整的功能

增加了整个系统设计上的灵活性

接下来我们来讨论一下

MSDI 检测滤波的功能

由于开关的设计是利用机械性质来实现的

当切换或是按压的时候

开关的触点可能在短时间之内来回的反弹

造成 MSDI 输入端口上电压的波动

这个时候呢就适合启用

MSDI 检测滤波的功能

检测滤波的功能开启之后

MSDI 会在确保开关状态处于稳定之后

才会对 MCU 发起中断的讯号

那 MSDI 的滤波次数

可以设置为一次两次三次或是四次

如果设置为四次

就代表这个输入端口的电压

相对于一开始设置的阈值

得连续四个轮询周期

都保持固定的状态的情况下

MSDI 才会对 MCU 产生中断

那在这一页的示例图上

我们就假定滤波的次数为四次

开关状态开始为高电平

当切换过后

有一段由于开关触点来回跳动

而导致开关状态不稳的过渡期

那 MSDI 最初检测到开关

转换为低电平的状态两个周期

但是在两个周期之后回到了高电平

由于滤波的次数设置为四次

所以低电平的这两个周期呢

将会被 MSDI 给忽略

那一直到最后开关稳定下来之后

足以让 MSDI 检测到四次

连续的开关低电平状态周期之后

中断信号才会被发送给 MCU

那检测滤波这个功能只需要编程一次

一旦编程之后

就不需要 MCU 对 MSDI

做其他软件上的控制

这样呢比起以往固定的时间

就需要唤醒 MCU 并且

过采样的一个做法

不仅节省 MCU 的资源

并且帮助降低系统上的功耗

接下来我们来谈谈

MSDI 的 Matix polling 的功能

也就是矩阵轮询模式

矩阵轮询模式

是一种特殊的轮询方案

只需要使用 12 个 MSDI 的输入通道

就可以支持高达 36 个数字开关

矩阵轮询模式有三种不同的矩阵配置

分别是 4×4 的矩阵

支持高达 16 个开关

5×5 的矩阵支持高达 25 个开关

以及 6×6 的矩阵

支持高达 36 个开关

那矩阵轮询模式

是利用电流源和电流接收互相的连接

依次扫描矩阵的每一行和每一列

以检测两者之间开关的这个状态

矩阵轮询模式检测的阈值和时间

也可以像普通的轮询模式一样进行编程

检测的结果呢

将会被寄存在寄存器当中

提供给 MCU 进行读取

使用矩阵模式最好的的好处

是需要 MSDI 少量的输入通道

就可以支持大量的数字开关

由于车辆中的开关数量持续的增长

矩阵轮询模式

提供了一个很特别的解决方案

大幅的减少了

车身控制模块设计的复杂性

元件的数量和电路板的面积

那我们之前提到

为了清除机械开关

金属触点上积累的氧化物

以保证开关的可靠闭合

车身控制模块

会提供湿电流给开关

那有些开关因为用途的关系

会需要比较大的湿电流

比如说 10 毫安或是 15 毫安

而另一方面为了检测电阻编码开关

或是降低模块的整体功耗

硬件工程师会趋向使用

较低的湿电流的设置

如此一来湿电流的配置

常常会造成硬件

或是软件工程师的困扰

那这个时候 MSDI 的

Clean current polling (CCP)

简称 CCP 或是清洁电流的轮询方案

就可以适时的发挥用途

当清洁电流轮询方案开始的时候

每个轮询的周期

将会改成由两个湿电流激活的步骤组成

第一步是正常的轮询开关状态采样

这部分跟普通的轮询模式是相同的

第二步称为清洁电流

这个是对所有 CCP 开启的输入通道

同时激活的电流脉冲

目的呢就是因为要湿润开关的触点

以保持接触面的清洁

那清洁的电流的值

可以在十个毫安

或是 15 个毫安之间做选择

并且可以为每个通道启用或是停用

通过这个清洁电流的轮询方案

系统就可以利用 MSDI 提供的

这两个不同的电平的电流

来分别进行开关的检测和触点清洁

这样不管对于硬件或是软件上的设计

都具有相当显著的简化的功能

接下来我们来讨论

MSDI 的电源测量的功能

当 MSDI 进行开关检测的时候

特别是电阻编码开关

电源的电压高低变成非常的关键

如果电源的电压波动过大

超过了数据表的工作范围

MSDI 可能无法产生精确的湿电流

那这可能会影响开关检测的一个准确性

因此呢传统做法是利用

MCU 持续的采样

并且监控电源的电压

以确定它保持在一个固定的范围之内

那因为考虑到这方面的设计

TI 的 MSDI 方案

提供了电源电压测量的特殊功能

一旦启用之后

MSDI 将会将电源的电压

通过电阻分压之后

连接到内建的 ADC

并且在每个轮询的周期中进行采样

那电源测量支持两种范围选项

分别为 4.5 伏到 9伏

或者是 4.5 伏到 30 伏

那 4.5 伏到 9 伏

提供了较高的测量精度

4.5 伏至 30 伏的选项

则提供了更宽的电压测量范围

那电源测量的功能

跟传统的开关检测类似

也可以编程阈值

最多可以编程四个独立的数值

如果电源的电压低于或是超过阈值

MSDI 会发出中断讯号通知 MCU

那 ADC 转换后的数值

也会被储存到寄存器当中

提供 MCU 使用 SPI 通信

读取更多关于电源电压的信息

因为呢有中断讯号的辅助

硬件工程师也可以跟

传统的开关设计检测一样

利用电源测量的功能

做 MCU 的唤醒设计

为了提高开关检测的可靠性

MSDI 提供了许多 Fault Detection

也就是故障检测的功能

首先是电压故障的检测

那在 12V 汽车系统当中

完全充电时

电池的电压通常为 12.6 伏左右

而发动机运行的时候

电池的电压则为 13.7 伏左右

但是呢各种车辆的运行条件

比如说 Load down 负载突降

cold 冷启动

或者是搭电启动等等

可能会大幅改变电池的工作电压

那 TI 的 MSDI 建议的

电压工作范围于4.5伏到35伏之间

如果电源的电压超出建议值

MSDI 会产生过压或者是欠压的中断

以警告系统

以便采取适当的措施

除了电源电压之外

当车辆运行的时候

温度 也是一个

难以在系统中控制的参数

那 TI 的 MSDI 的工作温度

最高可以到达125度摄氏度

但是如果多个通道

同时被编程为高的湿电流

开关又保持在关闭的状态

MSDI 的芯片的温度

可能会迅速的增高

那为了防止过热

MSDI 芯片的内部

集成了许多温度传感器

如果结温高于 140 度摄氏度

MSDI 内部会产生警告中断

并且将所有的通道的

湿电流降低至两个毫安

如果结温持续升高

并超过 160 度摄氏度

MSDI 会关闭所有通道的湿电流

以防止进一步的制热

那经过了一段时间之后

一旦温度下降到阈值以下

湿电流则会恢复到其编程值

这些热保护的功能

可防止对 MSDI 的芯片

造成永久性的损坏

那再来我们来讨论一下

MSDI 芯片的 SPI 故障检测的功能

SPI 是相当普遍的汽车通信协议

那 TI 的 MSDI 就是使用

SPI 的协议与 MCU 进行通信

以进行编程和状态更新

但是呢在恶劣的汽车工作环境之下

SPI 通信的错误有可能会由于

bit-flipping

也就是位翻转而产生

为了检测 SPI 位翻转的通信错误

MSDI 为 SPI 的每一笔资料

都进行 Parity check

也就是所谓的奇偶校验

那 MSDI 使用的是奇数的奇偶校验

这意味着任何一笔 SPI 资料中

1 的比特总数必须是奇数

数据才会生效

那如果总数为偶数

芯片则会丢弃接收到的数据

同样的 MSDI 对每一笔的

输出的 SPI 数据

也都执行相同的方案

那这个方案可以大幅降低

SPI 通信错误的发生

那除了 SPI 的奇偶校验

MSDI 还提供 CRC

也就是循环冗余校验

来检查编程到芯片中数据的完整性

那 CRC 校验被初始化之后

MSDI 将根据所有配置寄存器的值

计算并储存 CRC 的数值

然后 MCU 就可以将 MSDI 的

CRC 的数值与其期望值进行比较

如果两个值不匹配

这意味着编程期间发生了一些错误

所以通过使用 CRC

MCU 可以随时校验 MSDI 数据传输

或者保存之后可能出现的一个错误

那以上所提到这些故障检测功能

都大幅增加 MSDI 操作的稳定性

并允许 MSDI 被使用于

安全关键型应用的可能性

除了上一页所讨论的故障检测功能之外

TI 的 MSDI 方案

还内建了两个高级诊断的功能

持续监控 MSDI 的设备操作

那第一个是湿电流诊断

它将 MSDI 的端口的输入

或是输出的电流与参考值进行比较

如果当前输入或是输出的电流值

显著偏离参考值

MSDI 的芯片就会发出中断

以提醒 MCU

那 MCU 就可以选择利用设备重置的方式

来尝试解决这个问题

MSDI 为前四个输入端口

也就是 IN0 到 IN3 提供了

湿电流诊断的功能

所以这几个通道

适用于对于安全有需求的开关设计

那另外一个高级诊断的功能是

ADC 的自诊断的功能

目的是确保 ADC 转换正确的执行

那当这个诊断功能开启的时候

一个固定带隙基准电压

将被复用到 ADC 进行采样

并将 ADC 的输出

与预设的限值进行比较

如果ADC的输出值超出了限值

MSDI 就会发出中断

那同样的 MCU 可以选择利用

设备重置的方式来尝试解决这个问题

湿电流诊断和 ADC 的自诊断

都将在每一个轮循周期结束后运行

因此可以连续监测 MSDI 操作的稳定性

那车身控制模块的硬件工程师

可以利用这两个诊断的功能

以及之前提到的故障检测的功能

对系统的安全性实现优化的设计

以达到系统功能安全的标准

那以上呢 就是我们今天

对 MSDI 做的一个在线的培训

相信您对 MSDI 的功能

以及它对系统上的一些帮助

有着比较多一点的认识

那如果您需要更多的一些讯息

欢迎您到 TI.com 搜寻 MSDI 的产品型号

也就是 TIC12400

那你就会发现更多一些有用的一些讯息

包括 MSDI 的参考设计

EVM 板以及 GUI 的软件等等

谢谢您收看今天的在线培训 再见

视频报错
手机看
扫码用手机观看
收藏本课程
  • MSDI (多重开关状态检测接口) 在车身控制模快的应用 未学习 MSDI (多重开关状态检测接口) 在车身控制模快的应用

相关下载

视频简介

MSDI (多重开关状态检测接口) 在车身控制模快的应用

所属课程:MSDI (多重开关状态检测接口) 在车身控制模快的应用 发布时间:2018.07.09 视频集数:1 本节视频时长:38:38
已有2人参与了讨论去论坛跟帖交流
new
关闭广告