ZHDS464 October 2026 TIOM2212
ADVANCE INFORMATION
在扩展帧处理程序模式下,器件可以发送和接收 IO-Link 标准定义的 UART 帧。此模式为用户提供了实现扩展消息功能的灵活性。它附带一个 128 字节集成缓冲器,可用于在提供的中断帮助下发送和接收任何长度的消息。
通过在 LCFG 寄存器中设置 CLMD = 11,将通道配置为扩展帧处理程序模式。要发送消息,请通过向 FH_DATA 寄存器写入要传输的消息字节来填充 TX 缓冲器。发送完整个消息后,扩展帧处理程序将更改为接收模式,并为接收到的消息填充 RX 缓冲器。在给定的时间,TX 缓冲器和 RX 缓冲器可以保存 128 字节的数据。
用户可使用小于或等于值 128 的有效值配置 TX_BTLVL 和 RX_BTLVL 寄存器,以启用 TX_BLVL_FBTL 和 RX_BLVL_RATL 中断。当 TX 缓冲器电平降至配置的触发电平以下时,会设置 TX_BLVL_FBTL 中断,当 RX 缓冲器电平上升到配置的触发电平时,会设置 RX_BLVL_RATL 中断。TX_BEMPTY 中断表示 TX 缓冲器为空,RX_BFULL 中断表示 RX 缓冲器已满。如果 RX 缓冲器已满且 CQ 接口中仍然接收到数据,则会设置 OR_ERR 来指示存在 UART 溢出错误。如果传输的消息未反映在 CQ 线路上,则会设置 TX_ERR 中断,以指示存在传输错误。如果 RX 帧包含奇偶校验或帧错误,则设置 RX_ERR 中断。
注意:在此扩展帧处理程序模式下,所有帧处理程序特性都不会启用,以便为用户提供充分的灵活性。
借助禁用和重新启用周期,自动恢复功能有助于器件从临时故障中恢复。在所有 CQ、LP、HSS 过流和 HSS 反极性故障条件下,如果故障条件存在 t > tSC(消隐时间),该器件将检测到故障。如果禁用了自动恢复功能,状态和中断寄存器将反映故障状态,但在发生 TSD 故障之前,器件不会禁用驱动器。启用自动恢复后,将根据 CQ_DRV_MAX_AR、LP_MAX_AR、HSS_MAX_AR 寄存器中的计数值尝试自动恢复。如果计数值为 0,则将无限期尝试自动恢复,否则将为计数值尝试自动恢复。
一旦自动恢复在这些寄存器中的尝试次数失败,必须通过配置 CQ_DRV_AR_DIS、LP_AR_DIS 和 HSS_AR_DIS 位来禁用和重新启用此功能。只有在配置这些位后,才会重新启用相应的驱动器。
该器件集成了 NPN LED 驱动器,适用于广泛使用的共阳极 RGB LED。该器件具有 PWM(脉冲宽度)和 IDRV(最大电流)可配置性,可控制输出平均电流,从而实现所需的颜色。
PWM 频率 = 225Hz
| 配置 | 指数 DC 缩放百分比 | 导通时间 (S) | 关断时间 (S) | 平均电流 (mA) IDRV = 2mA | 平均电流 (mA) IDRV = 8mA | 平均电流 (mA) IDRV = 14mA | 平均电流 (mA) IDRV = 20mA |
|---|---|---|---|---|---|---|---|
| 0 | 0 | 0.00E+00 | 4.44E-03 | 0 | 0 | 0 | 0 |
| 1 | 1.4 | 6.21E-05 | 4.38E-03 | 0.027954102 | 0.111816406 | 0.195678711 | 0.279541016 |
| 2 | 1.8 | 7.98E-05 | 4.36E-03 | 0.035888672 | 0.143554688 | 0.251220703 | 0.358886719 |
| 3 | 2.5 | 1.11E-04 | 4.33E-03 | 0.049926758 | 0.199707031 | 0.349487305 | 0.499267578 |
| 4 | 3.4 | 1.51E-04 | 4.29E-03 | 0.067993164 | 0.271972656 | 0.475952148 | 0.679931641 |
| 5 | 4.6 | 2.04E-04 | 4.24E-03 | 0.091918945 | 0.367675781 | 0.643432617 | 0.919189453 |
| 6 | 6.3 | 2.80E-04 | 4.16E-03 | 0.125976563 | 0.50390625 | 0.881835938 | 1.259765625 |
| 7 | 8.6 | 3.82E-04 | 4.06E-03 | 0.17199707 | 0.687988281 | 1.203979492 | 1.719970703 |
| 8 | 11 | 4.89E-04 | 3.96E-03 | 0.219970703 | 0.879882813 | 1.539794922 | 2.199707031 |
| 9 | 16 | 7.11E-04 | 3.73E-03 | 0.319946289 | 1.279785156 | 2.239624023 | 3.199462891 |
| 10 | 22 | 9.78E-04 | 3.47E-03 | 0.439941406 | 1.759765625 | 3.079589844 | 4.399414063 |
| 11 | 29 | 1.29E-03 | 3.16E-03 | 0.579956055 | 2.319824219 | 4.059692383 | 5.799560547 |
| 12 | 40 | 1.78E-03 | 2.67E-03 | 0.799926758 | 3.199707031 | 5.599487305 | 7.999267578 |
| 13 | 54 | 2.40E-03 | 2.04E-03 | 1.079956055 | 4.319824219 | 7.559692383 | 10.79956055 |
| 14 | 74 | 3.29E-03 | 1.16E-03 | 1.479980469 | 5.919921875 | 10.35986328 | 14.79980469 |
| 15 | 100 | 4.44E-03 | 0.00E+00 | 2 | 8 | 14 | 20 |
所有中断都默认记录在事件上升沿的相应 IREQ 寄存器中。IREQ 寄存器对 IRQ 引脚的影响由相应 IMASK 寄存器控制。例如,CLIREQ 记录所有列出的中断,但它对 IRQ 引脚的影响可以使用 CLIMASK 寄存器来启用和禁用。
| S 编号 | 类别 | 子类别 | 缩写 | 说明 | 中断清除方法 |
|---|---|---|---|---|---|
| 1 | 器件故障 | 故障 | VCC_OV | VCC 过压 | 读取时清零 |
| 2 | 故障 | VCC_WARN | VCC 警告 | 读取时清零 | |
| 3 | 故障 | VCC_UVLO | VCC 欠压 | 读取时清零 | |
| 4 | 通道故障 | 故障 | OT_FAULT | 通道级过热故障 | 读取时清零 |
| 5 | 状态 | OT_WARN | 通道级过热警告 | 读取时清零 | |
| 6 | 故障 | CQ_OC | CQ 驱动器过流 | 读取时清零 | |
| 7 | 故障 | LP_OC | Lplus 电源过流 | 读取时清零 | |
| 8 | 故障 | LP_UVLO | Lplus 电源欠压锁定 | 读取时清零 | |
| 9 | 故障 | CQx_AR | CQ 过流自动恢复在最大重试次数后失败 | 读取时清零 | |
| 10 | 故障 | LPx_AR | LP 过流自动恢复在最大重试次数后失败 | 读取时清零 | |
| 11 | 故障 | HSSx_AR | HSS 过流或反极性自动恢复在重试次数达到最大后失败 | 读取时清零 | |
| 12 | 通道中断 — PHY | 中断 | CQ_F | CQ 下降 | 读取时清零 |
| 13 | 中断 | CQ_R | CQ 上升 | 读取时清零 | |
| 14 | 中断 | DI_F | DI 下降 | 读取时清零 | |
| 15 | 中断 | DI_R | DI 上升 | 读取时清零 | |
| 16 | 中断 | ASEQ_OK | 已生成唤醒脉冲 | 读取时清零 | |
| 17 | 错误 | RPD_ERR | 建立通信序列错误 | 读取时清零 | |
| 18 | 错误 | WPG_ERR | 建立通信序列完成 | 读取时清零 | |
| 19 | 错误 | ECS_ERR |
建立通信序列错误 * ECS 无响应 |
读取时清零 | |
| 20 | 状态 | CQ_RXD | CQ RXD 电平 | ||
| 21 | 状态 | DI_RXD | DI RXD 电平 | ||
| 22 | 状态 | TXD | TXD 电平 | ||
| 23 | 状态 | TXEN | TXEN 电平 | ||
| 24 | 通道中断 — UART | 中断 | RX_RDY | 接收到的字节就绪 |
如果 RX 缓冲器为空则清零或者 读取时清零 |
| 25 | 中断 | TX_RDY | 发送器就绪 |
如果 TX 未就绪则清零或 读取时清零 |
|
| 26 | 错误 | OR_ERR | 超限错误 | 读取时清零 | |
| 27 | 错误 | RX_ERR | 奇偶校验或帧错误 | 读取时清零 | |
| 28 | 错误 | TX_ERR | 传输错误(Tx 字节 != CQ 字节) | 读取时清零 | |
| 29 | 通道中断 — FH | 中断 | MSG_RDY | IOLINK 消息已准备好供读取 |
如果 RX 缓冲器为空则清零或者 读取时清零 |
| 30 | 中断 | BLVL_RT |
缓冲器电平达到所配置的触发器电平 (组合的 TX 和 RX 缓冲器电平触发器) 注意:要禁用特定的 tx 或 rx 触发器,请使用大于 128 的触发器值 |
如果 rx 缓冲器低于配置的电平则清零或者 如果 tx 缓冲器电平高于配置的电平则清零或者 读取时清零 |
|
| 31 | 中断 | SOR | 开始接收 | 读取时清零 | |
| 32 | 中断 | SOT | 开始传输 | 读取时清零 | |
| 33 | 中断 | TBUF_EMTY_AT_CT_EXP | 周期计时器到期时发送缓冲器为空 | 读取时清零 | |
| 34 | 错误 | CKSM_ERR | 校验和错误 | 读取时清零 | |
| 35 | 错误 | T1_TA_T2_TO_ERR | 响应时间 tA 或帧延迟 t1 或 t2 超时错误 | 读取时清零 | |
| 36 | 错误 | TRX_ERR |
传输或接收错误 * TX 字节 != CQ 字节 * 奇偶校验或帧错误 |
读取时清零 | |
| 37 | 状态 | STATE |
FSM 状态 * IDLE * TXING * RXING |
||
| 38 | 通道中断 — EFH | 错误 | TX_ERR | 传输错误(Tx 字节 != CQ 字节) | 读取时清零 |
| 39 | 错误 | RX_ERR | 奇偶校验或帧错误 | 读取时清零 | |
| 40 | 错误 | OR_ERR | 溢出错误(当 RX 缓冲器已满时接收到 CQ 消息) | 读取时清零 | |
| 41 | 中断 | RX_BFULL | RX 缓冲器已满 | 读取时清零 | |
| 42 | 中断 | TX_BEMPTY | TX 缓冲器为空 | 读取时清零 | |
| 43 | 中断 | RX_BLVL_RATL | RX 缓冲器上升到触发器电平以上 |
如果 rx 缓冲器低于配置的触发电平则清零或者 读取时清零 |
|
| 44 | 中断 | TX_BLVL_FBTL | TX 缓冲器降至触发器电平以下 |
如果 tx 缓冲器上升至所配置的触发器电平以上则清除或者 读取时清零 |