在共享总线上利用 A1346 线性霍尔效应传感器 IC,快速获取 SENT 报文响应
作者:Braden Blanchette 和 Nevenka Kozomora,
Allegro MicroSystems, LLC
简介
在安全关键的磁传感系统中,例如电动转向 (EPS) 模块的扭矩感应中,常常会使用冗余传感器,以便在满足严格安全要求的同时实现理想性能。双晶片线性磁传感器 IC,例如 Allegro A1346,在单个低型面表面安装器件中封装两个传感器,节省 PCB 设备的空间。除了需要磁系统有冗余、减少接线之外,还需要可作为总线的输出协议。
基于定义明确、使用广泛的单边缘半字节传输 (SENT) 协议,Allegro 开发出专有的循序 SENT (SSENT) 和可寻址 SENT (ASENT) 方案。每个方案都允许最多四台设备共享输出线路。只要是使用 SSENT 和/或 ASENT 协议、设置为相同配置的器件均可使用这些方案,例如 Allegro 角度传感器 IC。将输出集合到一条总线的方案会限制对于实现所需安全评级而至关重要的磁信息和诊断信息的接收速度。在本应用注释中,并未考虑延长的数据半字节,因为它们会对每个 SENT 协议增加相同的时间,因此不会影响我们判断哪个 SENT 协议最快。
循序 SENT (SSENT)
A1346 中使用的 SSENT 协议分为两种方案,短触发模式 (SSENT Short) 和长触发模式 (SSENT Long)。两种 SSENT 方案都需要按相继顺序轮询传感器,如图 1 所示。这两种方案的区别在于其如何处理特定长度的函数脉冲或触发条件。通过两种协议,主机控制器都必须在特定时间段内限制输出线路,以告诉传感器 IC 发送磁测数据、执行诊断测试、锁存磁测数据,或对计数器再次同步。SSENT Long 模式允许更大的 F_OUTPUT 脉冲(SENT 触发条件)长度范围,以实现 SPC 兼容性。这样一来,就可以使用更短的触发条件请求 SENT 报文,因此总报文时间可以更短。
表 1:短触发模式的 SSENT 函数脉冲,outmsg_mode = 4
函数脉冲 | 最小记号数量 | 最大记号数量 | 函数 |
F_OUTPUT | 15 | 19 | 在器件输出上触发 SENT 报文。 |
F_SAMPLE | 31 | 39 | 触发传感器锁存磁测数据但不发送 SENT 报文。 |
F_DIAG | 56 | 70 | 触发器件自我诊断。 |
F_SYNC | 93 | 115 | 将传感器计数器重设为 0。 |
表 2:长触发模式的 SSENT 函数脉冲,outmsg_mode = 3
函数脉冲 | 最小记号数量 | 最大记号数量 | 函数 |
F_OUTPUT | 9 | 81 | 在器件输出上触发 SENT 报文。 |
.F_SYNC | 105 | 171 | 将传感器计数器重设为 0。 |
F_DIAG | 216 | 264 | 触发器件自我诊断。 |
SSENT 方案可配置性高,可满足各种系统要求。一个可用方案是位置标记。这个方案会添加特定长度的高峰期延迟,然后开始 SENT 同步脉冲,其长度由发出响应的传感器的传感器 ID 决定。这个方案被经常使用,以允许传感器基于所看到的位置标记脉冲对计数器进行再同步,提升协议的稳健性,允许传感器在没有主机控制器干预的情况下即恢复联机状态。请参阅 A1346 数据表了解更多信息。
虽然位置标记方案可以提高输出线路的稳健性,但在传感器输出被断开的情况下,Allegro 不建议对标志时间小于或等于 1.22 μs 的情况使用这一方案,因为与传感器 ID 相关的延迟时间可能太短,传感器无法在此期间处理和给出新的样本。如果希望在系统允许范围内尽快产生 SENT 输出,位置标记就会导致记号时间限制。因此,本应用注释中并未考虑使用位置标记。
可寻址 SENT (ASENT)
与必须按顺序轮询传感器的 SSENT 协议不同,A1346 中的 ASENT 协议允许对传感器进行随机轮询。因此,这可以提高传感器在离线处理时的协议可靠性,而传感器采样的灵活性也更高。但这种协议的稳健性质是牺牲额外的报文长度而得来的。为了让协议了解要轮询哪些传感器,函数脉冲伴随一个寻址脉冲,其包含 7 个记号高峰期,然后是 5 个记号低峰期。每增加一个传感器地址,都会增加一个寻址脉冲。传感器 1(地址 0)没有寻址脉冲,传感器 2(地址 1)有一个脉冲,以此类推,如图 2 所示。因此,对于使用地址 3 的传感器,其报文长度会增加 36 个记号,导致数据总线的稳健性和报文轮询速率相互抵消。
表 3:ASENT 函数脉冲,outmsg_mode = 5-7
函数 脉冲 |
最小 记号数量 |
最大 记号数量 |
函数 |
F_OUTPUT | 15 | 19 | 在器件 输出上触发 SENT 报文 |
F_SAMPLE | 31 | 39 | 触发传感器 锁存磁测数据 但不发送 SENT 报文 |
F_DIAG | 56 | 70 | 触发器件自我 诊断 |
最快报文速率的输出模式
从图 3 和图 4 均可看出,总报文传输时间最短的输出协议是 SSENT Long 方案。这个方案使用的函数是 outmsg_mode = 3(地址 0x14 位 [2:0])。这个模式的最短触发长度是 9 个记号,因此可以实现比 SSENT Short 模式更快的数据速率(后者至少需要 15 个记号)。这个模式也与需要使用更长触发条件的控制器兼容,因此是磁测数据传输的理想选择。
结论
在安全关键应用中,例如在 EPS 应用的扭矩传感中,冗余设备往往不仅仅是有了更好,而且还是必要的。为了节省将传感器连接至主机控制器的线束所占用的空间和成本,将多个传感器连接到单一的输出总线的做法正在变得越来越普遍。为了提升性能,磁测数据应该尽快轮询,以便进行外部处理。A1346 上的三种专有的、可充当总线的模式(SSENT Short、SSENT Long 和 ASENT)在平衡速度、复杂性和传感器通信稳健性方面各有优劣。
如果主要顾虑是接收磁测数据的速度,则所有 A1346 输出协议都具有专有的快速 SENT 记号次数,相对于标准 SENT 协议,可大幅减少总报文时间。由于不需要寻址脉冲,长触发或短触发模式的 SSENT 都可以始终实现所有专有输出模式中最短的磁测数据接收时间。在这两个模式中,SSENT Long 由于最小触发时间更短、每个传感器少 6 个记号,所以总体时间最短。使用 A1346 中提供的专有快速 SENT 方案,使传感器能够通过单一输出线路以高频率从多个传感器向电子控制器件传输准确的磁测数据,因而提升性能,降低系统成本和复杂性。