ZHCSQH8A September   2025  – October 2025 TCAN5102-Q1

ADVANCE INFORMATION  

  1.   1
  2. 特性
  3. 应用
  4. 说明
  5. 引脚配置和功能
  6. 规格
    1. 5.1 绝对最大额定值
    2. 5.2 ESD 等级
    3. 5.3 建议运行条件
    4. 5.4 热性能信息
    5. 5.5 电源特性
    6. 5.6 电气特性
    7. 5.7 时序要求
    8. 5.8 开关特性
    9. 5.9 I2C 总线时序要求
  7. 参数测量信息
  8. 详细说明
    1. 7.1 概述
    2. 7.2 功能方框图
    3. 7.3 特性说明
      1. 7.3.1  VDD
      2. 7.3.2  PROG 引脚
      3. 7.3.3  DIGFLTR 引脚
      4. 7.3.4  GPIOx 和引脚多路复用特殊功能
        1. 7.3.4.1 GPIO 同步
      5. 7.3.5  EEPROM
      6. 7.3.6  SPI 控制器
      7. 7.3.7  UART 控制器
      8. 7.3.8  I2C 控制器
        1. 7.3.8.1 I2C 总线卡滞恢复
      9. 7.3.9  PWM 控制器
      10. 7.3.10 CAN 收发器控制引脚
      11. 7.3.11 欠压锁定与未供电器件
    4. 7.4 器件功能模式
      1. 7.4.1 初始化模式
      2. 7.4.2 睡眠模式
      3. 7.4.3 正常模式
    5. 7.5 编程
      1. 7.5.1 通过 SPI 外设模式进行器件编程
      2. 7.5.2 CAN FD Light 协议
        1. 7.5.2.1 CAN 帧格式
      3. 7.5.3 消息 RAM (MRAM) 和 IP 使能
      4. 7.5.4 SPI 控制器
        1. 7.5.4.1 SPI 引脚
          1. 7.5.4.1.1 SPI 时钟 (SCLK)
          2. 7.5.4.1.2 外设输入控制器输出 (PICO)
          3. 7.5.4.1.3 外设输出控制器输入 (POCI)
          4. 7.5.4.1.4 片选 (CS 或 nCS)
        2. 7.5.4.2 SPI 时钟发生器
        3. 7.5.4.3 SPI 控制协议
          1. 7.5.4.3.1 SPI 写入示例 1
          2. 7.5.4.3.2 SPI 读取示例 1
      5. 7.5.5 UART 控制器
        1. 7.5.5.1 UART 波特率生成和分数分频值
        2. 7.5.5.2 UART 控制协议
          1. 7.5.5.2.1 UART 写入示例 1
          2. 7.5.5.2.2 UART 读取示例 1
      6. 7.5.6 I2C 控制器
        1. 7.5.6.1 I2C 波特率生成
        2. 7.5.6.2 I2C 总线卡滞恢复
        3. 7.5.6.3 I2C 控制协议
          1. 7.5.6.3.1 I2C 写入示例 1
          2. 7.5.6.3.2 I2C 读取示例 1
      7. 7.5.7 PWM 和梯形 PWM 斜坡曲线
        1. 7.5.7.1 梯形斜坡控制
          1. 7.5.7.1.1 占空比斜坡控制
          2. 7.5.7.1.2 开关频率斜坡控制
          3. 7.5.7.1.3 关断斜坡
        2. 7.5.7.2 PWM 时钟发生器
        3. 7.5.7.3 PWM 占空比
        4. 7.5.7.4 斜坡斜率和标度因子
          1. 7.5.7.4.1 占空比斜坡斜率
          2. 7.5.7.4.2 开关频率斜坡斜率
        5. 7.5.7.5 自动减速和停止条件
          1. 7.5.7.5.1 具有脉冲计数功能的自动减速关断斜坡
          2. 7.5.7.5.2 通过 GPIO 输入实现自动减速/关断斜坡
        6. 7.5.7.6 占空比斜坡示例
        7. 7.5.7.7 频率斜坡示例
        8. 7.5.7.8 静态开启示例
    6. 7.6 寄存器映射
      1. 7.6.1 器件寄存器
        1. 7.6.1.1  DEV_ID[y] 寄存器(偏移 = 0h + formula)[复位 = 0032303135414354h]
        2. 7.6.1.2  DEV_ID_REV 寄存器(偏移 = 8h)[复位 = 10h]
        3. 7.6.1.3  DEV_CMD 寄存器(偏移 = 9h)[复位 = 00h]
        4. 7.6.1.4  DEV_CFG_EN 寄存器(偏移 = Ah)[复位 = 00h]
        5. 7.6.1.5  DEV_CFG_BR 寄存器(偏移 = Bh)[复位 = 10h]
        6. 7.6.1.6  DEV_CFG_ID_0 寄存器(偏移 = Ch)[复位 = 00h]
        7. 7.6.1.7  DEV_CFG_ID_1 寄存器(偏移 = Dh)[复位 = 00h]
        8. 7.6.1.8  DEV_CFG_ID_BCST_0 寄存器(偏移 = Eh)[复位 = 00h]
        9. 7.6.1.9  DEV_CFG_ID_BCST_1 寄存器(偏移 = Fh)[复位 = 00h]
        10. 7.6.1.10 DEV_CFG_ID_BCST_MASK_0 寄存器(偏移 = 10h)[复位 = 00h]
        11. 7.6.1.11 DEV_CFG_ID_BCST_MASK_1 寄存器(偏移 = 11h)[复位 = 00h]
        12. 7.6.1.12 DEV_CFG_NVM_PROG_CODE 寄存器(偏移 = 12h)[复位 = 00h]
        13. 7.6.1.13 DEV_CFG_NVM_PROG 寄存器(偏移 = 13h)[复位 = 00h]
        14. 7.6.1.14 INT_CFG 寄存器(偏移 = 1Dh)[复位 = 00h]
        15. 7.6.1.15 DEV_IE_0 寄存器(偏移 = 1Eh)[复位 = 00h]
        16. 7.6.1.16 DEV_IE_1 寄存器(偏移 = 1Fh)[复位 = 00h]
        17. 7.6.1.17 MRAM_IP_CFG 寄存器(偏移 = 20h)[复位 = 00h]
        18. 7.6.1.18 IO_CFG_0 寄存器(偏移 = 21h)[复位 = 00h]
        19. 7.6.1.19 IO_CFG_1 寄存器(偏移 = 22h)[复位 = 00h]
        20. 7.6.1.20 IO_OE_0 寄存器(偏移 = 23h)[复位 = 00h]
        21. 7.6.1.21 IO_OE_1 寄存器(偏移 = 24h)[复位 = 00h]
        22. 7.6.1.22 IO_OD_0 寄存器(偏移 = 25h)[复位 = 00h]
        23. 7.6.1.23 IO_OD_1 寄存器(偏移 = 26h)[复位 = 00h]
        24. 7.6.1.24 IO_RE_0 寄存器(偏移 = 27h)[复位 = 00h]
        25. 7.6.1.25 IO_RE_1 寄存器(偏移 = 28h)[复位 = 00h]
        26. 7.6.1.26 IO_PU_0 寄存器(偏移 = 29h)[复位 = 00h]
        27. 7.6.1.27 IO_PU_1 寄存器(偏移 = 2Ah)[复位 = 00h]
        28. 7.6.1.28 IO_POL_0 寄存器(偏移 = 2Bh)[复位 = 00h]
        29. 7.6.1.29 IO_POL_1 寄存器(偏移 = 2Ch)[复位 = 00h]
        30. 7.6.1.30 IO_OUTPUT_0 寄存器(偏移 = 2Dh)[复位 = 00h]
        31. 7.6.1.31 IO_OUTPUT_1 寄存器(偏移 = 2Eh)[复位 = 00h]
        32. 7.6.1.32 IO_INPUT_0 寄存器(偏移 = 2Fh)[复位 = 00h]
        33. 7.6.1.33 IO_INPUT_1 寄存器(偏移 = 30h)[复位 = 00h]
        34. 7.6.1.34 IR_STATUS 寄存器(偏移 = 31h)[复位 = 00h]
        35. 7.6.1.35 DEV_IR 寄存器(偏移 = 32h)[复位 = 00h]
        36. 7.6.1.36 SPI_IR 寄存器(偏移 = 33h)[复位 = 00h]
        37. 7.6.1.37 UART_IR 寄存器(偏移 = 34h)[复位 = 00h]
        38. 7.6.1.38 I2C_IR 寄存器(偏移 = 35h)[复位 = 00h]
        39. 7.6.1.39 PWM0_IR 寄存器(偏移 = 36h)[复位 = 00h]
        40. 7.6.1.40 PWM1_IR 寄存器(偏移 = 37h)[复位 = 00h]
      2. 7.6.2 SPI 寄存器
        1. 7.6.2.1  SPI_CREL 寄存器(偏移 = 1000h)[复位 = 87h]
        2. 7.6.2.2  SPI_SCRATCH 寄存器(偏移 = 1001h)[复位 = 00h]
        3. 7.6.2.3  SPI_CTRL 寄存器(偏移 = 1002h)[复位 = 00h]
        4. 7.6.2.4  SPI_CFG_0 寄存器(偏移 = 1003h)[复位 = 00h]
        5. 7.6.2.5  SPI_CFG_1 寄存器(偏移 = 1004h)[复位 = 00h]
        6. 7.6.2.6  SPI_DR_0 寄存器(偏移 = 1005h)[复位 = 00h]
        7. 7.6.2.7  SPI_DR_1 寄存器(偏移 = 1006h)[复位 = 00h]
        8. 7.6.2.8  SPI_DR_2 寄存器(偏移 = 1007h)[复位 = 00h]
        9. 7.6.2.9  SPI_DR_3 寄存器(偏移 = 1008h)[复位 = 00h]
        10. 7.6.2.10 SPI_CHAN_EN 寄存器(偏移 = 1009h)[复位 = 00h]
        11. 7.6.2.11 SPI_CS_POL 寄存器(偏移 = 100Ah)[复位 = 00h]
        12. 7.6.2.12 SPI_FIFO_CTRL 寄存器(偏移 = 100Bh)[复位 = 0h]
        13. 7.6.2.13 SPI_IE_0 寄存器(偏移 = 100Ch)[复位 = 00h]
        14. 7.6.2.14 SPI_IE_1 寄存器(偏移 = 100Dh)[复位 = 00h]
        15. 7.6.2.15 SPI_IR 寄存器(偏移 = 100Eh)[复位 = 00h]
        16. 7.6.2.16 SPI_FS 寄存器(偏移 = 100Fh)[复位 = 80h]
        17. 7.6.2.17 SPI_TX_FIFO 寄存器(偏移 =1010h)[复位 = 0000h]
        18. 7.6.2.18 SPI_RX_FIFO 寄存器(偏移 = 1010h)[复位 = 0000h]
        19. 7.6.2.19 SPI_RXFS 寄存器(偏移 = 1011h)[复位 = 00h]
        20. 7.6.2.20 SPI_TXFS 寄存器(偏移 = 1012h)[复位 = 00h]
        21. 7.6.2.21 SPI_TXES 寄存器(偏移 = 1013h)[复位 = 00h]
      3. 7.6.3 SPI 数据 FIFO
        1. 7.6.3.1 SPI 发送 FIFO(地址 = h1010)
        2. 7.6.3.2 SPI 接收 FIFO(地址 = h1010)
      4. 7.6.4 UART 寄存器
        1. 7.6.4.1  UART_CREL 寄存器(偏移 = 2000h)[复位 = 10h]
        2. 7.6.4.2  UART_SCRATCH 寄存器(偏移 = 2001h)[复位 = 00h]
        3. 7.6.4.3  UART_CTRL 寄存器(偏移 = 2002h)[复位 = 04h]
        4. 7.6.4.4  UART_BR_LSB 寄存器(偏移 = 2003h)[复位 = 00h]
        5. 7.6.4.5  UART_BR_MSB 寄存器(偏移 = 2004h)[复位 = 00h]
        6. 7.6.4.6  UART_BR_FRAC 寄存器(偏移 = 2005h)[复位 = 00h]
        7. 7.6.4.7  UART_FIFO_CTRL 寄存器(偏移 = 2006h)[复位 = 01h]
        8. 7.6.4.8  UART_IE_0 寄存器(偏移 = 2007h)[复位 = 00h]
        9. 7.6.4.9  UART_IE_1 寄存器(偏移 = 2008h)[复位 = 00h]
        10. 7.6.4.10 UART_IR 寄存器(偏移 = 2009h)[复位 = 00h]
        11. 7.6.4.11 UART_STATUS 寄存器(偏移 = 200Ah)[复位 = 60h]
        12. 7.6.4.12 UART_RXFS 寄存器(偏移 = 200Bh)[复位 = 00h]
        13. 7.6.4.13 UART_TXFS 寄存器(偏移 = 200Ch)[复位 = 00h]
        14. 7.6.4.14 UART_RX_FIFO 寄存器(偏移 = 2010h)[复位 = 00h]
        15. 7.6.4.15 UART_TX_FIFO 寄存器(偏移 = 2010h)[复位 = 00h]
        16. 7.6.4.16 UART_RX_ERR_STATUS 寄存器(偏移 = 2011h)[复位 = 00h]
      5. 7.6.5 UART 数据 FIFO
        1. 7.6.5.1 UART 发送 FIFO(地址 = h2010)
        2. 7.6.5.2 UART 接收 FIFO(地址 = h2010)
        3. 7.6.5.3 UART 接收错误状态(地址 = h2011)
      6. 7.6.6 I2C 寄存器
        1. 7.6.6.1  I2C_CREL 寄存器(偏移 = 3000h)[复位 = 10h]
        2. 7.6.6.2  I2C_SCRATCH 寄存器(偏移 = 3001h)[复位 = 00h]
        3. 7.6.6.3  I2C_CTRL 寄存器(偏移 = 3002h)[复位 = 18h]
        4. 7.6.6.4  I2C_BR 寄存器(偏移 = 3003h)[复位 = 18h]
        5. 7.6.6.5  I2C_FIFO_CTRL 寄存器(偏移 = 3004h)[复位 = 00h]
        6. 7.6.6.6  I2C_IE_0 寄存器(偏移 = 3005h)[复位 = 00h]
        7. 7.6.6.7  I2C_IE_1 寄存器(偏移 = 3006h)[复位 = 00h]
        8. 7.6.6.8  I2C_IR 寄存器(偏移 = 3007h)[复位 = 00h]
        9. 7.6.6.9  I2C_STATUS 寄存器(偏移 = 3008h)[复位 = XXh]
        10. 7.6.6.10 I2C_FS 寄存器(偏移 = 3009h)[复位 = 00h]
        11. 7.6.6.11 I2C_RXFS 寄存器(偏移 = 300Ah)[复位 = 00h]
        12. 7.6.6.12 I2C_TXFS 寄存器(偏移 = 300Bh)[复位 = 00h]
        13. 7.6.6.13 I2C_TXES 寄存器(偏移 = 300Ch)[复位 = 00h]
      7. 7.6.7 I2C 数据 FIFO
        1. 7.6.7.1 I2C 发送 FIFO(地址 = h3010)
        2. 7.6.7.2 I2C 接收 FIFO(地址 = h3010)
      8. 7.6.8 PWM0 寄存器
        1. 7.6.8.1  PWM1_ACTION 寄存器(偏移 = 4000h)[复位 = 00h]
        2. 7.6.8.2  PWM0_CTRL 寄存器(偏移 = 4000h)[复位 = 11h]
        3. 7.6.8.3  PWM0_IE0 寄存器(偏移 = 4001h)[复位 = 00h]
        4. 7.6.8.4  PWM0_IE1 寄存器(偏移 = 4002h)[复位 = 00h]
        5. 7.6.8.5  PWM0_IR 寄存器(偏移 = 4003h)[复位 = 00h]
        6. 7.6.8.6  PWM0_STATUS 寄存器(偏移 = 4004h)[复位 = 00h]
        7. 7.6.8.7  PWM0_CUR_PULSE[y] 寄存器(偏移 = 4005h + 公式)[复位 = 00000000h]
        8. 7.6.8.8  PWM0_CUR_VAL_MSB 寄存器(偏移 = 4009h)[复位 = 00h]
        9. 7.6.8.9  PWM0_CUR_VAL_LSB 寄存器(偏移 = 400Ah)[复位 = 00h]
        10. 7.6.8.10 PWM0_CONST_MSB 寄存器(偏移 = 400Bh)[复位 = 00h]
        11. 7.6.8.11 PWM0_CONST_LSB 寄存器(偏移 = 400Ch)[复位 = 00h]
        12. 7.6.8.12 PWM0_STOP_VAL_FRAC_F 寄存器(偏移 = 400Dh)[复位 = 00h]
        13. 7.6.8.13 PWM0_STOP_VAL_MSB 寄存器(偏移 = 400Eh)[复位 = 00h]
        14. 7.6.8.14 PWM0_STOP_VAL_LSB 寄存器(偏移 = 400Fh)[复位 = 00h]
        15. 7.6.8.15 PWM0_STOP_SL_MSB 寄存器(偏移 = 4010h)[复位 = 00h]
        16. 7.6.8.16 PWM0_STOP_SL_MID 寄存器(偏移 = 4011h)[复位 = 00h]
        17. 7.6.8.17 PWM0_STOP_SL_LSB 寄存器(偏移 = 4012h)[复位 = 00h]
        18. 7.6.8.18 PWM0_START_VAL_FRAC_F 寄存器(偏移 = 4013h)[复位 = 00h]
        19. 7.6.8.19 PWM0_START_VAL_MSB 寄存器(偏移 = 4014h)[复位 = 00h]
        20. 7.6.8.20 PWM0_START_VAL_LSB 寄存器(偏移 = 4015h)[复位 = 00h]
        21. 7.6.8.21 PWM0_START_SL_MSB 寄存器(偏移 = 4016h)[复位 = 00h]
        22. 7.6.8.22 PWM0_START_SL_MID 寄存器(偏移 = 4017h)[复位 = 00h]
        23. 7.6.8.23 PWM0_START_SL_LSB 寄存器(偏移 = 4018h)[复位 = 00h]
        24. 7.6.8.24 PWM0_END_VAL_CONST_FRAC_F 寄存器(偏移 = 4019h)[复位 = 00h]
        25. 7.6.8.25 PWM0_END_VAL_MSB 寄存器(偏移 = 401Ah)[复位 = 00h]
        26. 7.6.8.26 PWM0_END_VAL_LSB 寄存器(偏移 = 401Bh)[复位 = 00h]
        27. 7.6.8.27 PWM0_PULSE_STOP_RAMP[y] 寄存器(偏移 = 401Ch + 公式)[复位 = 00000000h]
        28. 7.6.8.28 PWM0_PULSE_MAX[y] 寄存器(偏移 = 4020h + 公式)[复位 = 00000000h]
        29. 7.6.8.29 PWM0_ACTION 寄存器(偏移 = 4024h)[复位 = 00h]
        30. 7.6.8.30 PWM0_IAS_CTRL 寄存器(偏移 = 4030h)[复位 = 00h]
      9. 7.6.9 PWM1 寄存器
        1. 7.6.9.1  PWM1_CTRL 寄存器(偏移 = 4100h)[复位 = 11h]
        2. 7.6.9.2  PWM1_IE0 寄存器(偏移 = 4101h)[复位 = 00h]
        3. 7.6.9.3  PWM1_IE1 寄存器(偏移 = 4102h)[复位 = 00h]
        4. 7.6.9.4  PWM1_IR 寄存器(偏移 = 4103h)[复位 = 00h]
        5. 7.6.9.5  PWM1_STATUS 寄存器(偏移 = 4104h)[复位 = 00h]
        6. 7.6.9.6  PWM1_CUR_PULSE[y] 寄存器(偏移 = 4105h + 公式)[复位 = 00000000h]
        7. 7.6.9.7  PWM1_CUR_VAL_MSB 寄存器(偏移 = 4109h)[复位 = 00h]
        8. 7.6.9.8  PWM1_CUR_VAL_LSB 寄存器(偏移 = 410Ah)[复位 = 00h]
        9. 7.6.9.9  PWM1_CONST_MSB 寄存器(偏移 = 410Bh)[复位 = 00h]
        10. 7.6.9.10 PWM1_CONST_LSB 寄存器(偏移 = 410Ch)[复位 = 00h]
        11. 7.6.9.11 PWM1_STOP_VAL_FRAC_F 寄存器(偏移 = 410Dh)[复位 = 00h]
        12. 7.6.9.12 PWM1_STOP_VAL_MSB 寄存器(偏移 = 410Eh)[复位 = 00h]
        13. 7.6.9.13 PWM1_STOP_VAL_LSB 寄存器(偏移 = 410Fh)[复位 = 00h]
        14. 7.6.9.14 PWM1_STOP_SL_MSB 寄存器(偏移 = 4110h)[复位 = 00h]
        15. 7.6.9.15 PWM1_STOP_SL_MID 寄存器(偏移 = 4111h)[复位 = 00h]
        16. 7.6.9.16 PWM1_STOP_SL_LSB 寄存器(偏移 = 4112h)[复位 = 00h]
        17. 7.6.9.17 PWM1_START_VAL_FRAC_F 寄存器(偏移 = 4113h)[复位 = 00h]
        18. 7.6.9.18 PWM1_START_VAL_MSB 寄存器(偏移 = 4114h)[复位 = 00h]
        19. 7.6.9.19 PWM1_START_VAL_LSB 寄存器(偏移 = 4115h)[复位 = 00h]
        20. 7.6.9.20 PWM1_START_SL_MSB 寄存器(偏移 = 4116h)[复位 = 00h]
        21. 7.6.9.21 PWM1_START_SL_MID 寄存器(偏移 = 4117h)[复位 = 00h]
        22. 7.6.9.22 PWM1_START_SL_LSB 寄存器(偏移 = 4118h)[复位 = 00h]
        23. 7.6.9.23 PWM1_END_VAL_CONST_FRAC_F 寄存器(偏移 = 4119h)[复位 = 00h]
        24. 7.6.9.24 PWM1_END_VAL_MSB 寄存器(偏移 = 411Ah)[复位 = 00h]
        25. 7.6.9.25 PWM1_END_VAL_LSB 寄存器(偏移 = 411Bh)[复位 = 00h]
        26. 7.6.9.26 PWM1_PULSE_STOP_RAMP[y] 寄存器(偏移 = 411Ch + 公式)[复位 = 00000000h]
        27. 7.6.9.27 PWM1_PULSE_MAX[y] 寄存器(偏移 = 4120h + 公式)[复位 = 00000000h]
        28. 7.6.9.28 PWM1_ACTION 寄存器(偏移 = 4124h)[复位 = 00h]
        29. 7.6.9.29 PWM1_IAS_CTRL 寄存器(偏移 = 4130h)[复位 = 00h]
  9. 应用和实施
    1. 8.1 应用信息
    2. 8.2 典型应用
      1. 8.2.1 设计要求
      2. 8.2.2 详细设计过程
    3. 8.3 电源相关建议
    4. 8.4 布局
      1. 8.4.1 布局指南
      2. 8.4.2 布局示例
  10. 器件和文档支持
    1. 9.1 文档支持
      1. 9.1.1 相关文档
    2. 9.2 接收文档更新通知
    3. 9.3 支持资源
    4. 9.4 商标
    5. 9.5 静电放电警告
    6. 9.6 术语表
  11. 10修订历史记录
  12. 11机械、封装和可订购信息
    1. 11.1 机械数据

封装选项

请参考 PDF 数据表获取器件具体的封装图。

机械数据 (封装 | 引脚)
  • DGQ|20
散热焊盘机械数据 (封装 | 引脚)
订购信息

I2C 接收 FIFO(地址 = h3010)

接收 FIFO 为只读。

RX 缓冲区中每个帧的大小由 I2C 帧的数据长度决定。缓冲区中 RX 帧的总长度为以下各项之和

  • I2C 报头的 2 字节
  • I2C 状态的 1 字节
  • 数据字节的消息长度

当从 FIFO 元素中读取了所有数据字节后,对 RX FIFO 的读取被视为完成且该 FIFO 元素被释放。当读取数据时,若读取的字节数超过剩余可读取字节数,超出部分的无效字节将返回 0x00。

从 RX FIFO 中对一帧数据进行部分读取后,下一次对 I2C 接收 FIFO 的读取会自动延续该帧的剩余部分,此时 CONT 位会被置为 1 以标识这种延续状态,同时 NUM_BYTES_REMAINING 会显示该 I2C 帧中尚待读取的数据字节数。

从空的 RX 缓冲区读取时,通道 0 的 NUM_BYTES_REMAINING 返回 0。帧的读取顺序始终与接收顺序一致。

通过向 I2C 清除 RX FIFO 位 (I2C_FIFO_CTRL[1]) 写入 1,可以清空 RX 缓冲区(丢弃所有帧)。

注: 如果接收 FIFO 已满,所有新传入的消息都会被丢弃,并设置一个中断以提醒处理器有消息丢失。
有关更多信息和示例,请参阅节 7.5.6.3

TCAN5102-Q1 I2C RX FIFO 读取报头(仅限报头和数据)图 7-118 I2C RX FIFO 读取报头(仅限报头和数据)
TCAN5102-Q1 I2C RX FIFO 报头示例(标准 CAN 帧格式)图 7-119 I2C RX FIFO 报头示例(标准 CAN 帧格式)
TCAN5102-Q1 I2C 接收 FIFO 帧格式图 7-120 I2C 接收 FIFO 帧格式
表 7-158 I2C 接收 FIFO 字节说明
字节 字段 类型 复位 说明
0 7:1 地址 R 0x0 I2C 目标器件地址
0 W/R R 0 I2C 消息是 I2C 读取还是 I2C 写入
0 = I2C 读取
1 = I2C 写入
1 7 CONT R 0 继续读取
0 = 此次读取为帧数据的起始部分
1 = 此次读取为前一次读取的继续
6:0 NUM_BYTES_REMAINING R 0x0 I2C 读取 (B0.W/R = 0):地址字节之后待读取的字节数(不包括上述任何报头字节)
I2C 写入 (B0.W/R = 1):地址之后的 I2C 帧中的字节数(不包括上述报头字节)
有效值 0-127。0 将不发送任何数据,仅传输器件地址(对于检查 ACK 很有用)
2 7 RSVD R 0 保留
6 DS R 0 数据卡滞
总线卡滞(时钟或数据未释放)
5 CT R 0 时钟超时
检测到 SMBus 时钟超时
4 CS R 0 时钟拉伸
该帧期间发生了时钟拉伸
3 AN R 0 地址 NACK
I2C 目标器件对地址字节进行了非应答 (NACK)
2 DN R 0 数据 NACK
I2C 目标器件在写入过程中对至少 1 个字节进行了非应答 (NACK)。
1 LN R 0 最后一个字节 NACK
I2C 目标器件对 I2C 帧的最后一个字节进行了非应答
0 OK R 0 成功
成功完成 I2C 帧