ZHCSQQ6A October 2023 – October 2025 TPS2HCS10-Q1
PRODUCTION DATA
请参考 PDF 数据表获取器件具体的封装图。
TPS2HCS10-Q1 通过高速 SPI 串行接口与主机控制器进行通信。该接口具有三个逻辑输入:时钟 (CLK)、芯片选择 (CS)、串行数据输入 (SDI),以及一个数据输出 (SDO)。当 CS 引脚为高电平时,SDO 引脚处于三态。最大 SPI 时钟速率为 8MHz,但在实践中受到串联保护电阻器的限制。
该器件支持简单菊花链 SPI。该模式可以使用或不使用 CRC。
TPS2HCS10-Q1 IC 与控制器或 MCU 之间的通信通过采用主-辅配置的 SPI 总线实现。外部 MCU 始终是 SPI 主器件,它在 TPS2HCS10-Q1 IC 的 SDI 引脚上发送命令请求,并在该 IC 的 SDO 引脚上接收器件响应。TPS2HCS10-Q1 器件始终是 SPI 辅助器件,它通过 SDI 线路接收命令请求并通过 SDO 线路向外部 MCU 发送响应(例如状态和测量值)。
TPS2HCS10-Q1 器件可以按照以下形式连接到主 MCU:
本节介绍 SPI 接口引脚行为
系统微控制器选择 TPS2HCS10-Q1,以使用 CS 引脚接收通信。当 CS 引脚处于逻辑低电平状态时,命令/配置字能够通过串行输入 (SDI) 引脚发送至 TPS2HCS10-Q1,并且微控制器可以通过串行输出 (SDO) 引脚检索器件信息。CS 的下降沿启用 SDO 输出并锁存将在 SDO 上发送的 GLOBAL_FAULT_TYPE 寄存器的内容。微控制器可以发出 READ 命令以检索存储在寄存器中的信息。CS 引脚的上升沿发起以下操作:
为了避免任何数据损坏,CS 信号的高电平到低电平和低电平到高电平转换只能在 SCLK 处于逻辑低电平状态时发生。需要干净的 CS 信号来验证是否未向器件发送不完整的 SPI 字。此引脚在内部上拉至 VDD 电源轨。
系统时钟 (SCLK) 引脚为 TPS2HCS10-Q1 的内部移位寄存器计时。在 SCLK 信号的下降沿,SDI 数据锁存到输入移位寄存器中。在 SCLK 的上升沿,SDO 引脚移出器件存储的信息。在 SCLK 的下降沿,SDO 数据可供微控制器读取。
必须避免移位寄存器的时钟故障以确保数据的有效性。每当 CS 引脚进行任何转换时,SCLK 引脚都必须处于逻辑低电平状态。因此,建议只要未访问器件且 CS 引脚处于逻辑高电平状态,就将 SCLK 引脚拉至逻辑低电平状态。当 CS 处于逻辑高电平状态时,将忽略 SCLK 和 SDI 引脚上的任何信号,并且 SDO 引脚将保持高阻抗输出。
SDI 引脚用于串行指令数据输入。当 CS 为低电平时,SDI 信息在 SCLK 的下降沿会锁存到输入移位寄存器中。
SDO 引脚是内部移位寄存器的输出。此引脚在内部上拉至 VDD 电源轨。当 CS 引脚为高电平时,SDO 引脚处于高阻抗状态。每个连续的 SCLK 上升沿都使下一个数据位可供微控制器在 SCLK 的下降沿读取。当 CS 为高电平时,SDO 将恢复为高阻抗。
将 CRC_EN 位设置为高电平将启用 CRC 错误检测。然后会随每个串行事务一起发送 CRC-4-ITU-Normal Check Sequence (FCS)。4 位 CRC 基于普通发生器多项式 X4+X+1,CRC 起始值为 1111。启用 CRC 后,TPS2HCS10-Q1 要求在其接收的 SDI 编程/配置数据末尾附加一个校验字节。
要对一个完整的字进行编程,必须在器件中输入确切的信息位(如下表所示)。禁用 CRC 后,仅当恰好有位在时钟沿输入时,IC 才会启用寄存器写入。启用 CRC 后,仅当恰好有位在时钟沿输入且没有 CRC 错误时,IC 才会启用寄存器写入。如果字长超过或不满足所需的长度要求或存在 CRC 错误,则 GLOBAL_FAULT_TYPE 寄存器中的 SPI_ERR 位将置为逻辑“1”,接收到的数据被视为无效。请注意,如果 SCLK 不存在,则不会标记 SPI_ERR 位。在下一次芯片访问期间,SPI_ERR 将发送回 SDO 上的 SPI 主器件。请注意,仅当读取寄存器时没有 SPI 错误时,才会应用“读取时清除”。
该器件使用 24 位帧宽度(未使用 CRC 时),格式如 图 8-25 中所示。请注意、SDO 输出中的 16 位宽“数据输出”始终适用于前一个 SPI 命令帧(读取或写入)。
TPS2HCS10-Q1 器件在 SDO 接头上输出 GLOBAL_FAULT_TYPE [15:8] 位,因此这些状态位可以在每次 SPI 事务期间持续读取 THR。可以根据 DEV_CONFIG 寄存器中的 FLT_LTCH_DIS 位设置,将 GLOBAL_FAULT_TYPE [15:8] 位配置为读取清除或实时状态位。但是,FLT_LTCH_DIS 位不适用于 LPM_STATUS 位。
如果 FLT_LTCH_DIS = 0,则故障位将锁存,并且仅在读取位说明中的相关寄存器并且故障不再存在时才会清除。下面的 表 8-6 重点介绍了在故障不再存在时需要读取哪些寄存器以便清除每个不同的故障位。寄存器映射中的每个位说明也详细说明了这一点。
| 位编号 | 位名称 | 如果故障不再存在,则需要读取该寄存器以清除故障位 |
|---|---|---|
| 15 | 保留 | 不适用 |
| 14 | 保留 | 不适用 |
| 13 | CH2_FLT | FLT_STAT_CH2 |
| 12 | CH1_FLT | FLT_STAT_CH1 |
| 10 | CHAN_OCP_I2T_TSD | FLT_STAT_CHx |
| 9 | OL_SHRT_VBB_OFF_FLT | FLT_STAT_CHx |
| 8 | GLOBAL_ERR_WRN | GLOBAL_FAULT_TYPE |
如果 FLT_LTCH_DIS = 1,则不会锁存故障位,并在故障不再存在时清除。
图 8-29 突出显示了器件在 GLOBAL_FAULT_TYPE [15:8] 位中的 FLT_LTCH_DIS 功能。
TPS2HCS10-Q1 器件提供可选的 SPI 看门狗功能,以监控主机控制器的有效 SPI 事务和 VDD 电源丢失情况。如果在可配置的超时周期 WD_TO 内没有发生有效的 SPI 事务,FLT 引脚将变为低电平,GLOBAL_FAULT_TYPE 寄存器中的 WD_ERR 位将设置为 1。有效的 SPI 事务包括没有 SPI 错误和/或 CRC 错误(如果启用)的 SPI 事务。如果器件的 VDD 电源降至 VDD_UVLO 阈值以下,则器件上的 SPI 不工作。如果 VDD 电源保持低于 VDD_UVLO 的时间长于看门狗时间周期,器件将发出看门狗错误,其中 WD_ERR 位将设置为 1,FLT 引脚将变为低电平。
可通过 DEV_CONFIG 寄存器中的 WD_EN 位启用看门狗功能。下面的 表 8-7 展示了不同的可配置看门狗超时窗口 WD_TO。
| WD_TO 设置 | 看门狗超时周期 |
|---|---|
| 00 | 400µs |
| 01 | 400ms |
| 10 | 800ms |
| 11 | 1200ms |
根据版本的不同,看门狗的工作方式也不同。请参阅以下各节,了解 TPS2HCS10A-Q1 和 TPS2HCS10B-Q1 的看门狗的工作原理。
如果启用看门狗功能 (WD_EN = 1) 并且发生看门狗错误,则由于看门狗超时窗口中没有有效的 SPI 事务,或由于 VDD 电源丢失,WD_ERR 将设置为 1,FLT 引脚将变为低电平,并且器件将转换到 LIMP_HOME 状态,在该状态下,通道的输出控制将由 DEV_CONFIG 寄存器中的 CHx_LH_IN 位进行设置。请注意,由于出现看门狗错误,LIMPHOME_STAT 位不会设置为 1。检测到有效的 SPI 事务后,FLT 引脚将变为高电平,并且器件将自动退出 LIMP_HOME 状态并将通道的输出控制恢复到 CHx_ON 位。由于出现 SPI 看门狗超时错误,GLOBAL_FAULT_TYPE 寄存器中的 WD_ERR 位将锁存为 1,并且只有在读取且该错误不再存在后才会被清除。
如果启用了看门狗功能 (WD_EN = 1) 并且发生看门狗错误。则由于看门狗超时窗口中没有有效的 SPI 事务或由于 VDD 电源丢失,WD_ERR 将设置为 1 并且 FLT 引脚将变为低电平。看门狗错误不会导致输出状态发生变化,通道的输出控制将继续单独遵循 DIx。检测到有效的 SPI 事务后,FLT 引脚将变为高电平。由于出现 SPI 看门狗超时错误,GLOBAL_FAULT_TYPE 寄存器中的 WD_ERR 位将锁存为 1,并且只有在读取且该错误不再存在后才会被清除。