HDQ 接口采用异步归一协议,其中处理器使用与 ALERT 引脚或 HDQ 引脚相连的单线接头与 BQ76972 器件通信,具体取决于配置。控制器(主机器件)和响应者(BQ76972 器件)都使用开漏驱动器驱动 HDQ 接口,其中在 HDQ 接口和电路板上所需的电源电压之间连接一个上拉电阻器。通过设置 Settings:Configuration:Comm Type 配置寄存器或发送子命令,可以将 BQ76972 器件从默认通信模式更改为 HDQ 通信模式(此时器件立即切换到 HDQ 模式)。
注: SWAP_COMM_MODE() 子命令立即将通信接口更改为由 Comm Type 配置选择的接口,同时 SWAP_TO_HDQ() 子命令立即使用 ALERT 引脚将接口更改为 HDQ。
采用 HDQ 时,首先传输数据字节(命令)或字(数据)的最低有效位 (LSB)。
8 位命令代码由两个字段组成:7 位 HDQ 命令代码(位 0–6)和 1 位 R/W 字段(MSB 位 7)。R/W 字段指示器件执行以下操作之一:
- 接受接下来的 8 位作为从主机发送到器件的数据,或者
- 从器件输出 8 位数据到主机以响应 7 位命令。
BQ76972 器件上的 HDQ 外设只能作为 HDQ 响应者发送和接收数据。
HDQ 的归一数据位帧由以下几部分组成:
- 第一部分用于通过主机发送中断开始传输(主机在时间 t(B)内将 HDQ 接口驱动至逻辑低电平状态),然后是中断恢复(主机在时间达 t(BR)内释放 HDQ 接口)。
- 下一部分是主机命令传输,其中主机通过驱动 HDQ 接口在 8 个 T(CYCH) 时隙内传输 8 位。对于每个时隙,HDQ 线在时间 T(HW0) (主机写入“0”)或 T(HW1)(主机写入“1”)内被驱动为低电平。然后释放 HDQ 引脚并保持高电平以完成每个 T(CYCH) 时隙。
- 下一部分是数据传输,其中主机(如果已启动写入)或器件(如果已启动读取)通过驱动 HDQ 接口达 8 个 T(CYCH)(如果主机正在驱动)或 T(CYCD)(如果器件正在驱动)时隙来传输 8 位。HDQ 线在时间 T(HW0)(主机写入“0”),T(HW1)(主机写入“1”)、T(DW0)(器件写入“0”)或 T(DW1)(器件写入“1”)内被驱动为低电平。然后释放 HDQ 引脚并保持高电平以完成该时隙。HDQ 接口不会自动递增,因此必须为每个待传输的字节发送单独的事务。