利用 A1339 角度传感器 IC 进行低功率和转动计数感应
作者:Trevor Buys 和 William Wilkinson
Allegro MicroSystems, LLC
简介
无论是工业自动化和机器人技术,还是电动助力转向 (EPS) 和电机位置传感,许多应用都需要监测旋转目标的角度。要设计一种可满足此类应用需求的成功的角度测量系统,必须依照用户的要求。本应用说明介绍了如何在要求传感器在多任务模式下运行的电池供电应用(汽车或非汽车)中使用 Allegro A1339 角度传感器 IC。
要求传感器在熄火状态下仍然可以运行的汽车系统
部分汽车角度感应应用要求在熄火状态下仍然具备角位置跟踪能力。在熄火状态下,车内的大部分稳压器都不会运行。因此,必须在熄火状态下仍然可以运行的传感器通常直接由汽车电瓶 (12 V) 供电。此类应用包括但不限于:
- 安全带被动安全系统
- EPS 电机位置
通常情况下,这些电机和安全带系统通过齿轮连接,因此角度传感器 IC 需要计算多个角度传感器旋转。为此,A1339中采用了可以计算磁体旋转圈数的电路。当传感器 IC 连接到汽车电池时,它们还必须具有低功耗模式,以实现高效的电池使用。即使当车辆处于熄火状态时,传感器 IC 仍然必须跟踪磁体的转动计数 (TC) 。即使是设置到低功率模式中时,A1339 仍然可以监控并持续跟踪 TC。这样可以保证系统可以在使用 A1339 时无论系统处于点火模式还是熄火模式都可以
准确而且持续地跟踪方向盘的位置或安全带的张紧度。从传统意义上讲,这种熄火模式要求需要通过组合相对复杂的机械和电子组件才能够实现。A1339 降低系统复杂程度,并通过执行绝对角度测量和 TC 跟踪来减少多个系统组件,同时可以降低车辆在熄火状态下的电瓶功耗 (100 μA)。
A1339 产品概览
A1339 是一款基于磁性圆形垂直霍尔 (CVH) 技术的 360°角度传感器 IC,可提供无触点高分辨率角度位置信息,是 Allegro 最快速的 360°角度传感器 IC。它具有包括下列功能的片上系统 (SoC) 架构:CVH 前端、数字信号处理、SPI、ABI/UVW 和 PWM 输出。
它包括片上 EEPROM 技术,可以灵活地对校准参数进行行尾编程。
A1339 非常适合用于要求进行高速 0°至 360°角度测量的汽车应用,例如电子动力转向 (EPS)、旋转式换档器 (PRNDL)、安全带张紧器和油门系统。
A1339 角度传感器 IC 器件设计用于支持各种有应用,而且有多种工作模式,可以按照输出模式或功耗进行设置。
通过 SPI 或曼彻斯特接口,A1339 能够报告直接角度输出(通过选定的输出接口报告的 12/15 位数字角度输出)或转动计数 (TC) 输出,TC 输出是磁体目标在顺时针或逆时针方向转动的圈数的量化跟踪计数。
在功耗方面,A1339 可以提供正常功率模式、低功率模式和超低功率运输模式。
A1339 专门针对电池供电的应用设计,在这些应用中跟踪目标旋转的任务可以分配到两种任务模式中的一种。第一种工作模式可描述为角度跟踪模式,传感器 IC 会跟踪全带宽输出并以全分辨率提供角度输出测量结果(这是 A1339 的正常功率模式)。
第二种工作模式(低功率模式)可以视为转数跟踪模式。这一模式中,传感器 IC 不需要以全分辨率跟踪角度,跟踪目标的转动计数值足以。
转动计数单位的大小可以通过 A1339 中的 EEPROM 进行预设,可以设置为 180 或 45 度。在将转动分别定为 45° 或 180° 时,A1339 跟踪 -2048/+2047 转或 -512/+511 转。
转数计数值存储在主串行寄存器中,可通过 SPI 或曼彻斯特协议(在 LPM 之外)随时读取。
该值存储为 12 位带符号 2 的补码值。
正常功率模式
在正常功率模式中,IC 消耗最大电流(通常为 12 mA—请参阅 A1339 数据表中的正常模式供电电流规格了解具体数据),以支持全部的功能集并以内部平均设置 (ORATE) 中选择的最高频率更新角度输出寄存器(请参阅 A1339 数据表参考了解更多详细信息)。
低功率模式
在低功率模式 (LPM) 中,IC 不提供 SPI、PWM、UVW/ABI 或曼彻斯特接口的角度读数,大多数模拟和数字电路都不通电,传感器 IC 周期性地在两个不同的状态之间循环。大多数情况下,传感器 IC 保持在较低功率静态电流“睡眠”状态 (ICC < 100 μA)。在这种状态下,电源从模拟换能器移除,不会发生角度测量。
传感器 IC 定期进入“唤醒”状态,通过降低的功率信号路径监测磁体位置,并更新转数计数 (ICC ≈ 7 mA)。用户可以根据具体应用通过对片上 EEPROM 存储器进行编程来调节低功率模式运行的睡眠时间。图 2 中显示了平均 ICC (单位为 μA)与可编程的睡眠时间 (tSLEEP)。
SPI 输入引脚(MOSI、SCLK、CS)被用作 LPM 的主判优器。当所有三个引脚均为低电平至少 60μs 时,传感器 IC 将进入低功率模式(“唤醒”状态)。ABI 和 PWM 引脚是三态的,并且大多数数字和模拟电路都关断。如果满足条件 [BT1],则传感器 IC 将进入“睡眠”状态,并且周期性地在“睡眠”和“唤醒”状态之间循环,以监视磁体的位置并更新转向跟踪。
WAKE 引脚用于从外部强制“唤醒”[BT2] 状态。WAKE 引脚达到可编程阈值以上时,传感器 IC 将进入跟踪“唤醒”状态并监视位置的转弯。同样,如果观察到过大的 RPM,则传感器 IC 将进入“唤醒”状态,以防止错过磁旋转。
运输模式
某些由电池供电的应用要求在长期储存和/或运输过程中 IC 保持极低的功耗(例如新车从装配线运输到经销商的过程中)。为了满足这一需求,A1339 提供了超低功率模式,称为运输模式。运输模式用于将 A1339 设置到深度睡眠状态,保持极低的功耗。在这一模式中,传感器 IC 不会跟踪角度或转动计数。通常情况下,在运输模式中每颗 IC 晶片的电流消耗量仅为 60 μA。
WAKE 引脚
A1339 设有 WAKE 输入引脚。这一引脚用于从低功率模式中唤醒设备,这一唤醒引脚用于特殊情况,尤其是当电动机加速度过高、系统无法等到通过整个低功率睡眠阶段时。当 WAKE 引脚上的电压阈值超过 VWAKE(HI) 时,IC 将从睡眠状态转醒并开始持续跟踪转数。这一引脚通常会连通由所用的电动机发出的反电动势电压信号,信号经过筛选。这样可以保证在发生高加速度的情况下可以快速获得电动机对转动计数电路的反馈。星型三相电动机的反电动势的波形表述符号以及样本筛选电路如下所示。
当 WAKE 引脚电压上升到 VWAKE(HI) 以上时,A1339 将从睡眠状态进入唤醒状态,并且在电压降至 VWAKE(LOW) 以下时恢复。
设置 WAKE 引脚阈值
WAKE 引脚的高阈值电平、以及低值和高值之间的滞后可通过 EEPROM 进行编程。这允许各种电机设计和整流电路实施中的 LPM 睡眠的进入和退出与特定 RPM 值一致。值通过两个 EEPROM 字段控制,“wp_thres”调整 VWAKE(HI) 的阈值,“wp_hys”控制 VWAKE(HI) 和 VWAKE(LOW) 之间的迟滞。
组合时,滞后和阈值 EEPROM 字段允许选择表 1 所示的配置。
表 1:WAKE 引脚阈值和滞后控制位
字段名称 | EEPROM(阴影) 位置 | 大小 (位) | 默认 | 函数 |
wp_hyst | 0x1B (0x5B) [9:8] | 2 | 012 | 选择 VWAKE(HI) 和 VWAKE(LOW) 之间的电压差。50、150、300、400 mV 选件。 |
wp_thres | 0x1B (0x5B) [7:4] | 3 | 0002 | 选择 VWAKE(HI) 阈值。 |
表 2:WAKE 引脚阈值设置
唤醒阈值 | 唤醒磁滞 | 阈值(升) (mV) |
磁滞电压 (mV) |
阈值 (降) (mV) |
|||
Bit2 | Bit1 | Bit0 | Bit1 | Bit0 | |||
0 |
0 | 0 | 0 | 0 | 300 | 50 | 250 |
0 | 0 | 0 | 0 | 1 | 300 | 150 | 150 |
0 | 0 | 0 | 1 | 0 | 300 | 300 | 100 |
0 | 0 | 0 | 1 | 1 | 300 | 400 | 100 |
0 | 0 | 1 | 0 | 0 | 350 | 50 | 300 |
0 | 0 | 1 | 0 | 1 | 350 | 150 | 200 |
0 | 0 | 1 | 1 | 0 | 350 | 300 | 100 |
0 | 0 | 1 | 1 | 1 | 350 | 400 | 100 |
0 | 1 | 0 | 0 | 0 | 400 | 50 | 350 |
0 | 1 | 0 | 0 | 1 | 400 | 150 | 250 |
0 | 1 | 0 | 1 | 0 | 400 | 300 | 100 |
0 | 1 | 0 | 1 | 1 | 400 | 400 | 100 |
0 | 1 | 1 | 0 | 0 | 450 | 50 | 400 |
0 | 1 | 1 | 0 | 1 | 450 | 150 | 300 |
0 | 1 | 1 | 1 | 0 | 450 | 300 | 150 |
0 | 1 | 1 | 1 | 1 | 450 | 400 | 100 |
1 | 0 | 0 | 0 | 0 | 500 | 50 | 450 |
1 | 0 | 0 | 0 | 1 | 500 | 150 | 350 |
1 | 0 | 0 | 1 | 0 | 500 | 300 | 200 |
1 | 0 | 0 | 1 | 1 | 500 | 400 | 100 |
1 | 0 | 1 | 0 | 0 | 550 | 50 | 500 |
1 | 0 | 1 | 0 | 1 | 550 | 150 | 400 |
1 | 0 | 1 | 1 | 0 | 550 | 300 | 250 |
1 | 0 | 1 | 1 | 1 | 550 | 400 | 150 |
1 | 1 | 0 | 0 | 0 | 600 | 50 | 550 |
1 | 1 | 0 | 0 | 1 | 600 | 150 | 450 |
1 | 1 | 0 | 1 | 0 | 600 | 300 | 300 |
1 | 1 | 0 | 1 | 1 | 600 | 400 | 200 |
1 | 1 | 1 | 0 | 0 | 650 | 50 | 600 |
1 | 1 | 1 | 0 | 1 | 650 | 150 | 500 |
1 | 1 | 1 | 1 | 0 | 650 | 300 | 350 |
1 | 1 | 1 | 1 | 1 | 650 | 400 | 250 |
模式之间的切换
A1339 可以基于不同的系统参数在正常功率模式 (NPM)、低功率模式 (LPM) 和运输模式 (TPM) 之间切换。类似地,传感器 IC 将基于磁旋转速率或超过 WAKE 引脚阈值 (VWAKE(HI)) 在 LPM 的两种不同操作状态之间转换。这种方案可以保证传感器 IC 在低功率模式中运行时不会因为目标旋转过快而造成有价值的 TC 信息丢失。
为了便于理解,我们可以想象一些与图 5 中的状态图 和表 3 中显示的信息相似的情况。假设,传感器 IC 通电并处于正常功率模式。因此,传感器可以提供表 3 中所述的正常功率模式下的所有功能。现在,如果控制器决定需要进入低功率模式以节约功耗,则需要满足图 5 分支 A 中列出的所有条件。
传感器 IC 首先在唤醒状态下进入 LPM,如果分支 B 中的条件得到满足,则传感器 IC 将进入睡眠状态,并根据编程的
tSLEEP 自动在唤醒和睡眠状态自豪间切换。反过来,传感器 IC 可以通过满足分支 C 的先决条件而从外部强制切换到唤醒状态。
在 LPM(唤醒或睡眠状态)期间的任何时间,均可以通过将任何 SPI 输入线提升到超过 VIL 而重新进入 NPM。
在满足状态图分支 A、B、C、D 或 E 中规定的对应条件时,系统可以以类似的方式在正常功率模式、低功率模式和运输模式之间切换。
正常功率模式 (NPM) |
低功率模式 (LPM) |
运输模式 (TPM) |
|
角度传感器 功能 |
可用的通信
|
可用的通信
|
可用的通信
|
可用的角输出数据:
|
可用的角输出数据:
* TC 值在 LPM 中跟踪,但只能在退出 LPM 之后方可读取,且为只读数据。 |
可用的角输出数据:
|
|
电流消耗 |
标称值为每日 14 mA |
标称值为每日 100 μA* *ICC 根据可编程睡眠时间而变化。 |
标称值约为每日 60 μA |
启用运输模式
传输模式类似于 LPM,但不会有周期性唤醒来跟踪转动。这允许传感器 IC 保持连接到带电电压源,同时消耗最少的电流。
降低 SPI 线路之前必须启用传输模式。在 CTRL 串行寄存器 (0x1E) 中的“特殊”操作字段写入 6 即可。
在启用后,下次传感器 IC 检测到 LPM 请求(由 SPI 线减低指示)时,它将进入传输模式。
表 4:A1339 控制串行寄存器
地址 (0x00) |
寄存器 符号 |
寻址字节 (MSB) | 寻址字节 (LSB) | LSB 地址 |
|||||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | ||||
0x1E | ctrl | 特殊 | 0 | cls | slw | cle | initiate_special | 0x1F |
用于低功率模式和转动计数的用户可编程功能
A1339 实现了 LPM 功能的重要可编程性,例如转动大小、LPM 期间的睡眠时间和转动之间的最大角度增量。控制此功能的 EEPROM 字段如表 5 所示。
“lpm_wake_threshold”指定“唤醒”状态之间的最大角度增量。结合“lpm_cycle_time”,这些字段指定传感器 IC 将进入“睡眠”状态 (SAWAKE(TH)) 的最大 RPM。默认设置为 ≈ 100 RPM。
如果测得的 RPM 超过此值,则 A1339 不会重新进入“睡眠”状态,而是连续监视转动,直到 RPM 下降到默认阈值以下。
表 5:用于低功率模式和转动计数的用户可编程功能
字段 | EEPROM 地址 [位] (阴影) |
默认 | 值 | 函数 |
t45 |
0x1D (0x5D) [23] | (1) | 0 | 转数每 180 度增加/减少 |
1 | 转数每 45 度增加/减少 | |||
tpmd | 0x1D (0x5D) [21] | 0 | 0 | 允许使用传输模式(仍然必须通过 CTRL 寄存器唤起) |
1 | 禁用运输模式 | |||
lpmd | 0x1D (0x5D) [20] |
0 | 0 | 启用 LPM |
1 | 禁用 LPM | |||
lpm_cycle_time | 0x1D (0x5D) [17:12] | (001011)2 (11)10 |
– | 低功率周期(睡眠)时间,增量为 8.192 ms。按照方程 [(n+1) × 8 ms]。默认为 98.3 ms。 |
lpm_wake_threshold | 0x1D (0x5D) [10:0] | (01010011111)2 (671)10 |
– | 角度差异等于唤醒 速度阈值。还在正常功率模式下用于决定进入 LPM。12 位角分辨率。0-180 度。默认为 59°。 |
给定睡眠时间的最大 RPM
在 LPM 中,A1339 定期退出睡眠模式以监视磁位置并更新转数。此睡眠周期决定最终的 LPM 电流消耗以及可以安全跟踪转数的最大 RPM。
确定传感器 IC 休眠时磁体行进的角度距离由运动学方程决定,如方程 1 所示。
θ = 6ν × t + ½ × αt2 (1)
其中 θ 是的最大期望角行程,通过“lpm_wake_threshold”字段设置。
v 指 RPM 中的速度,
t 是以秒为单位计算的睡眠时间,以及
α 是给定 ν (in °/s2) 的最大预期加速度。
图 6 显示给定睡眠时间的最大 RPM,假设每个睡眠周期 (lpm_wake_threshold) 默认为 59° 最大角偏移。选择默认角度偏转时,需使得当使用默认睡眠时间时,A1339 在 100 RPM 时退出睡眠模式。由于该值是 EEPROM 可编程的,因此可以将其调整为稍微不太保守的值。Allegro 建议在调整该值时,将其设置为不大于90°(如果在一个睡眠周期内检测到大于 135° 的磁体偏转,将出现 TCW 警告标志)。这提供了 180 度的安全余量,在此之后的相对方向改变是不明确的。
从图 6 可以看出,最大预期加速度对可使用的睡眠时间长度有限制。这是由于方程 1 中的 α 项在高加速度下成为主要因素。
即使初始速度为 0 RPM,在 150 ms 的时间保持 6000°/s2 的恒定加速度也将导致大于 59° 的角度偏转。因此,决定睡眠时间长度的不仅仅是最大的RPM,还包括最大加速度,因此包括最终的 LPM ICC 值。
在设计系统时,考虑 RPM 和电流而不是 RPM 和睡眠时间,往往更有用。以这种方式设计时,最大 RPM 与 LPM 电流消耗具有相对的线性关系。图 7 和表 6 显示了这种影响。
表 6:最大 RPM 和大约平均 ICC 值。6000 °/s2 加速度
最大 RPM | 平均 ICC (μA) |
1200 | 220 |
600 | 140 |
400 | 110 |
220 | 90 |
100 | 75 |
结论
除了提供非接触式磁体角度感应的标准优点外,A1339 还可以在要求低功耗的严苛的电池供电(包括汽车)系统中运行。最后,A1339 可以在正常功率和低功率模式下跟踪转动计数,可以完美实现对复杂机械设计的简化,从而实现在熄火状态下跟踪磁体目标位置的同时不牺牲系统的整体稳健性和可靠性。
版权所有 ©2018, Allegro MicroSystems, LLC
本文中所含的信息不构成 Allegro 就本文主题而对客户做出的任何表示、担保、确保、保证或诱导。本文所提供的信息并不保证基于此信息的流程的可靠性,亦不保证 Allegro 已探究了所有可能出现的故障模式。客户负责对最终产品进行充分的验证测试,以确保该产品是可靠的,并且符合所有设计要求。