寄存器描述
0x000 I2C_CTL
| 默认值:0x0000006F | I2C 控制 (I2C Control) | ||
|---|---|---|---|
| 位域 | 类型 | 默认值 | 描述 | 
| 31:11 | - | - | - | 
| 10 | R/W | 0x0 | BUS_CLEAR_FEATURE_CTL 总线清除控制  
 此位置 1,SDA 挂死机制使能以及 SCL_STUCK_AT_LOW 中断可触发 仅主模式有效 | 
| 9 | R/W | 0x0 | RX_FIFO_FULL_HLD_CTL RX_FIFO 满状态保持总线控制,仅在 主模式下: 
 | 
| 8 | R/W | 0x0 | TX_EMPTY_CTL TX_EMPTY 中断控制  
 | 
| 7 | R/W | 0x0 | STOP_DET_IFADDRESSED STOP_DET 中断控制,在从模式下: 
 注: 此位设为 1 时,且在 GEN_CALL
                                        下,即使响应也不会发出 STOP_DET 中断 | 
| 6 | R/W | 0x1 | RESTART_ENABLE 重开始使能控制  
 主设备 发送 RESTART 信号控制,一些旧从设备不支持处理 RESTART 信号。当 RESTART
                                    禁止时,主设备 被禁止执行以下功能: 
 | 
| 5:4 | R/W | 0x2 | SPEED_MODE_SELECT 速率模式选择  
 | 
| 3 | R/W | 0x1 | 10BITADDR_SELECT_SLAVE 从模式被寻址 bit 选择  
 | 
| 2 | R/W | 0x1 | 10BITADDR_SELECT_MASTER 主模式寻址 bit 选择  
 | 
| 1 | R/W | 0x1 | SLAVE_MODE_DISABLE 从模式使能控制  
 当 I2C_CTL[0]设置为 1 时,此位也需设置为 1。I2C_CTL [0]设置为 0 时,此位也设置为 0。 | 
| 0 | R/W | 0x1 | MASTER_MODE_ENABLE 主模式使能控制  
 当 I2C_CTL [1]设置为 1 时,此位也需设置为 1。I2C_CTL [1]设置为 0 时,此位也设置为 0。 | 
0x004 I2C_TAR
| 默认值:0x0000005A | I2C 目标设备 (I2C Target) | ||
|---|---|---|---|
| 位域 | 类型 | 默认值 | 描述 | 
| 31:12 | - | - | - | 
| 11 | R/W | 0 | GEN_CALL_CTL 
 此位配 1,当 bit[10]为 0 时,主设备进行广播模式寻址,无视 bit[9:0]中的目标地址,进行 GEN_CALL 模式,GEN_CALL 模式只允许进行写操作,尝试读操作会导致 TX_ABRT(I2C_INTR_STAT[6])中断产生。当 bit[10]为 1 时,start 字节使能时,主设备先发起 start 字节,再进行目标寻址。 | 
| 10 | R/W | 0 | START_BYTE_CTL Start 字节控制  
 | 
| 9:0 | R/W | 0x5A | I2C_TAR 目标地址 主设备依此目标地址寻址建立通信。如果 I2C_TAR 和 I2C_SAR 相同,则存在回环,但是 FIFO 在主设备与从设备之间共享,因此双向传输是不可行的,只能单向传输。主设备不能传输数据给自己,只能传输给从设备。 当进行 GEN_CALL 时,无视此地址。 | 
0x008 I2C_SAR
| 默认值:0x0000005A | I2C 从机地址 (I2C Slave Address) | ||
|---|---|---|---|
| 位域 | 类型 | 默认值 | 描述 | 
| 31:10 | - | - | - | 
| 9:0 | R/W | 0x5A | I2C_SAR 从模式被寻址的地址 当为 7 bit 寻址时,只有 bit[6:0]有效。此位仅在 I2C 禁止时可写 (I2C_ENABLE[0]写 0),其它时间写入无效。 | 
0x00C I2C_ACK_GEN_CALL
| 默认值:0x00000001 | I2C 响应广播 (I2C Acknowledge General Call) | ||
|---|---|---|---|
| 位域 | 类型 | 默认值 | 描述 | 
| 31:1 | - | - | - | 
| 0 | R/W | 0x1 | ACK_GEN_CALL GEN_CALL 应答状态。  
 | 
0x010 I2C_DATA_CMD
| 默认值:0x00000000 | I2C 数据命令 (I2C Data Command) | ||
|---|---|---|---|
| 位域 | 类型 | 默认值 | 描述 | 
| 31:11 | - | - | - | 
| 10 | W | 0x0 | RESTART 重开始行为控制  
 | 
| 9 | W | 0x0 | STOP STOP 命令控制  
 | 
| 8 | W | 0x0 | CMD 操作命令,仅在主模式下有效 
 注: 如果在收到 RD_REQ 请求后此位写 1,则产生
                                        TX_ABRT 中断。 | 
| 7:0 | R/W | 0x0 | DAT 数据缓冲区 发送数据时,数据需写入此位段。接收数据时,数据亦接收到此位段。 | 
0x020 I2C_SS_SCL_HCNT
| 默认值:0x00000060 | I2C 标准速度时钟高位计数 (I2C Standard SCL High Count) | ||
|---|---|---|---|
| 位域 | 类型 | 默认值 | 描述 | 
| 31:16 | - | - | - | 
| 15:0 | R/W | 0x60 | I2C_SS_SCL_HCNT 标准速率模式下 SCL 高电平持续时间计数。 此位仅在 I2C 禁止时可写 (I2C_ENABLE[0] 写 0),其它时间写入无效。最小值为 0x6,写入小于 0x6 的数值无效。 计算方法: 
 以标准速度模式为例: 
 | 
0x024 I2C_SS_SCL_LCNT
| 默认值:0x00000070 | I2C 标准速度时钟低位计数 (I2C Standard SCL Low Count) | ||
|---|---|---|---|
| 位域 | 类型 | 默认值 | 描述 | 
| 31:16 | - | - | - | 
| 15:0 | R/W | 0x70 | I2C_SS_SCL_LCNT 标准速率模式下 SCL 低电平持续时间计数。 此位仅在 I2C 禁止时可写 (I2C_ENABLE[0] 写 0),其它时间写入无效。最小值为 0x8,写入小于 0x8 的数值无效。 计算方法: 
 以标准速度模式为例 
 | 
0x028 I2C_FS_SCL_HCNT
| 默认值:0x0000000F | I2C 快速时钟高位计数 (I2C Fast SCL High Count) | ||
|---|---|---|---|
| 位域 | 类型 | 默认值 | 描述 | 
| 31:16 | - | - | - | 
| 15:0 | R/W | 0xF | I2C_FS_SCL_HCNT 快速模式下 SCL 高电平持续时间计数。 此位仅在 I2C 禁止时可写 (I2C_ENABLE[0]写 0),其它时间写入无效。最小值为 0x6,写入小于 0x6 的数值无效。 计算方法: 
 以快速模式为例 
 | 
0x02C I2C_FS_SCL_LCNT
| 默认值:0x0000001F | I2C 快速时钟低位计数 (I2C Fast SCL Low Count) | ||
|---|---|---|---|
| 位域 | 类型 | 默认值 | 描述 | 
| 31:16 | - | - | - | 
| 15:0 | R/W | 0x1F | I2C_FS_SCL_LCNT 快速模式下 SCL 低电平持续时间计数。此位仅在 I2C 禁止时可写 (I2C_ENABLE[0]写 0),其它时间写入无效。最小值为 0x8,写入小于 0x8 的数值无效。 计算方法: 
 以快速模式为例 
 | 
0x030 I2C_SDA_HOLD
| 默认值:0x00000001 | I2C SDA 保持时间 (I2C SDA Hold Time) | ||
|---|---|---|---|
| 位域 | 类型 | 默认值 | 描述 | 
| 31:24 | - | - | - | 
| 23:16 | R/W | 0x0 | I2C_SDA_RX_HOLD I2C 接收时设置所需的 SDA 保持时间,以 I2C_clk 周期为单位 | 
| 15:0 | R/W | 0x1 | I2C_SDA_TX_HOLD I2C 发送时设置所需的 SDA 保持时间,以 I2C_clk 周期为单位 | 
0x034 I2C_SDA_SETUP
| 默认值:0x00000002 | I2C SDA 建立时间 (I2C SDA Setup Time) | ||
|---|---|---|---|
| 位域 | 类型 | 默认值 | 描述 | 
| 31:8 | - | - | - | 
| 7:0 | R/W | 0x2 | I2C_SDA_SETUP SDA 设置时间,数值为 (该值-1),以 I2C_clk 周期为单位。 如默认值为 (2-1)个 cycle 建议如果需要延迟 1000 ns,则对于 10 Mhz 的 I2C,时钟频率此字段设为 11,此字段最小值设 2 | 
0x038 I2C_INTR_MASK
| 默认值:0x000048FF | I2C 中断屏蔽 (I2C Interrupt Mask) | ||
|---|---|---|---|
| 位域 | 类型 | 默认值 | 描述 | 
| 31:15 | - | - | - | 
| 14 | R/W | 0x1 | M_SCL_STUCK_AT_LOW 
 | 
| 13 | R/W | 0x0 | M_MASTER_ON_HOLD 
 | 
| 12 | - | - | - | 
| 11 | R/W | 0x1 | M_GEN_CALL 
 | 
| 10 | R/W | 0x0 | M_START_DET 
 | 
| 9 | R/W | 0x0 | M_STOP_DET 
 | 
| 8 | R/W | 0x0 | M_ACTIVITY 
 | 
| 7 | R/W | 0x1 | M_RX_DONE 
 | 
| 6 | R/W | 0x1 | M_TX_ABRT 
 | 
| 5 | R/W | 0x1 | M_RD_REQ 
 | 
| 4 | R/W | 0x1 | M_TX_EMPTY 
 | 
| 3 | - | - | - | 
| 2 | R/W | 0x1 | M_RX_FULL 
 | 
| 1 | - | - | - | 
| 0 | R/W | 0x1 | M_RX_UNDER 
 | 
0x03C I2C_INTR_CLR
| 默认值:0x00000000 | I2C 中断清除 (I2C Interrupt Clear) | ||
|---|---|---|---|
| 位域 | 类型 | 默认值 | 描述 | 
| 31:15 | - | - | - | 
| 14 | R/W1C | 0x0 | CLR _SCL_STUCK_AT_LOW 
 详细描述见 I2C_INTR_STAT | 
| 13 | R/W1C | 0x0 | CLR _M_MASTER_ON_HOLD 
 | 
| 12 | - | - | - | 
| 11 | R/W1C | 0x0 | CLR _GEN_CALL 
 ACK 需持续一个 SCL 周期,在此期间无法对 GEN_CALL 中断清零详细描述见 I2C_INTR_STAT | 
| 10 | R/W1C | 0x0 | CLR _START_DET 
 详细描述见 I2C_INTR_STAT | 
| 9 | R/W1C | 0x0 | CLR _STOP_DET 
 详细描述见 I2C_INTR_STAT | 
| 8 | R/W1C | 0x0 | CLR _ACTIVITY 
 详细描述见 I2C_INTR_STAT | 
| 7 | R/W1C | 0x0 | CLR _RX_DONE 
 详细描述见 I2C_INTR_STAT | 
| 6 | R/W1C | 0x0 | CLR _TX_ABRT 
 详细描述见 I2C_INTR_STAT | 
| 5 | R/W1C | 0x0 | CLR _RD_REQ 
 详细描述见 I2C_INTR_STAT | 
| 4:1 | - | - | - | 
| 0 | R/W1C | 0x0 | CLR _RX_UNDER 
 详细描述见 I2C_INTR_STAT | 
0x040 I2C_RAW_INTR_STAT
| 默认值:0x00000000 | I2C 中断状态 (I2C Interrupt Status) | ||
|---|---|---|---|
| 位域 | 类型 | 默认值 | 描述 | 
| 31:15 | - | - | - | 
| 14 | R | 0x0 | SCL_STUCK_AT_LOW 
 指示 SCL 处于低电平的持续时间是否为 I2C_SCL_STUCK_TIMEOUT 设置的时间,需配置 I2C_CTL[10]为 1 | 
| 13 | R | 0x0 | MASTER_ON_HOLD 
 指示 主设备是否保持总线并且 TX FIFO 为空,硬件自动清零 | 
| 12 | - | - | - | 
| 11 | R | 0x0 | GEN_CALL 
 仅在接收到 GEN_CALL 地址并且回复 ACK 时触发。 | 
| 10 | R | 0x0 | START_DET 
 指示主或者 从模式下,是否检测到一个 START 信号 | 
| 9 | R | 0x0 | STOP_DET 
 指示 主或者从 模式下,是否检测到一个 STOP 信号。 在 从模式下:当 I2C_CON[7](STOP_DET_IFADDRESSED)设为 1,中断 STOP_DET 仅在寻址模式下触发,GEN_CALL 模式下不触发。当 I2C_CON[7](STOP_DET_IFADDRESSED)设为 0,中断 STOP_DET 不管是否被寻址都会触发。 | 
| 8 | R | 0x0 | ACTIVITY 
 指示 I2C 捕获活动状态并且一直保持为 1 直到被清零,清除此位有 3 种方式: 
 一旦此位被设为 1,即使 I2C 处于空闲状态,也会保持直到以上其中一种方式清零 | 
| 7 | R | 0x0 | RX_DONE 
 当 I2C 作为从设备发送数据时,若主设备不再回复一个 ACK,则此位设为 1。此中断在传输的最后一个字节发生,指示传输结束 | 
| 6 | R | 0x0 | TX_ABRT 
 指示 I2C 作为发送者无法完成对发送 FIFO 内容的预期操作。主和从模式都可发生此中断。当此中断发生时,I2C_TX_ABRT_SOURCE 寄存器指示发生停止发送的原因 | 
| 5 | R | 0x0 | RD_REQ 
 当此位设为 1 时,表明在 从模式下,主设备在尝试读取 I2C 的数据。I2C 将总线保持为等待状态,直到此中断被服务,这意味这从设备已经被主设备寻址。当中断发生时,处理器必须响应此中断,将请求的数据写入 I2C_DATA_CMD 寄存器。 | 
| 4 | R | 0x0 | TX_EMPTY 
 TX_EMPTY_CTL 设为 0:当发送缓冲器小于等于 I2C_TX_TL 寄存器设定的阈值时,此位设为 1。 TX_EMPTY_CTL 设为 1:当发送缓冲器小于等于 I2C_TX_TL 寄存器设定的阈值时,并且最新命令的地址/数据从内部的移位寄存器传输完成,此位设为 1。 当缓冲器数据量超过 I2C_TX_TL 寄存器设定值硬件会自动清零。 | 
| 3 | - | - | - | 
| 2 | R | 0x0 | RX_FULL 
 当接收缓冲器达到或超过 I2C_RX_TL 寄存器设定的阈值时,此位设 1。当缓冲器深度低于阈值,硬件自动清零。 | 
| 1 | - | - | - | 
| 0 | R | 0x0 | RX_UNDER(接收下溢出) 
 | 
0x048 I2C_ENABLE
| 默认值:0x00000000 | I2C 使能 (I2C Enable) | ||
|---|---|---|---|
| 位域 | 类型 | 默认值 | 描述 | 
| 31:4 | - | - | - | 
| 3 | R/W | 0x0 | SDA_STUCK_RECOVERY_ENABLE SDA 挂死恢复使能控制 
 如果 SDA 挂死状态由 I2C_TX_ABRT_SOURCE[17] 指示的 TX_ABORT 中断,然后此位发起一个恢复机制,即发送 9 个 SCL 时钟和一个 STOP 信号释放 SDA 线,之后此位清零 | 
| 2 | - | - | - | 
| 1 | R/W | 0x0 | ABORT, 传输停止控制 
 软件设置此位可以停止主模式下的传输。只有在 ENABLE 设为 1 的情况下才能对此位操作,否则操作无效。一旦 ABORT 设为 1,软件则无法清除。响应一个 ABORT,控制器在当前传输完成后发出 STOP 信号并且冲刷 TX FIFO,然后在完成停止操作后设置 TX_ABORT 中断 (I2C_INTR_STAT[6]) | 
| 0 | R/W | 0x0 | ENABLE I2C 使能控制 
 | 
0x04C I2C_ENABLE_STATUS
| 默认值:0x00000000 | I2C 使能状态 (I2C Enable Status) | ||
|---|---|---|---|
| 位域 | 类型 | 默认值 | 描述 | 
| 31:3 | - | - | - | 
| 2 | R | 0x0 | SLV_RX_DATA_LOST 从模式接收数据丢失。 
 指示从模式接收下是否由于 I2C_ENABLE[0]由 1 设为 0 导致至少一个数据丢失。 | 
| 1 | R | 0x0 | SLV_DISABLED_WHILE_BUSY 从模式禁用时状态 
 指示由于 I2C_ENABLE[0]由 1 设为 0 时,导致活跃或者潜在的 从设备操作被停止。 | 
| 0 | R | 0x0 | I2C_EN_STATUS I2C 使能状态 
 | 
0x050 I2C_STATUS
| 默认值:0x00000006 | I2C 状态 (I2C Status) | ||
|---|---|---|---|
| 位域 | 类型 | 默认值 | 描述 | 
| 31:12 | - | - | - | 
| 11 | R | 0x0 | SDA_STUCK_NOT_RECOVERED SDA 挂死未恢复 
 此位仅在主模式有效,从模式无效 | 
| 10 | R | 0x0 | SLV_HOLD_RX_FIFO_FULL 从设备因 RX FIFO 为满保持总线 
 指示当 RX FIFO 为满并且接收额外的字节数据,从设备则保持总线停止接收。 | 
| 9 | R | 0x0 | SLV_HOLD_TX_FIFO_EMPTY 从设备因 TX FIFO 为空保持总线 
 指示当从设备收到读请求而 TX FIFO 为空,从设备则保持总线直到 TX FIFO 有数据响应读请求 | 
| 8 | R | 0x0 | MST_HOLD_RX_FIFO_FULL 主设备因 RX FIFO 为满保持总线 
 指示当 RX FIFO 为满并且接收额外的字节数据,主设备则保持总线停止接收。 | 
| 7 | R | 0x0 | MST_HOLD_TX_FIFO_EMPTY 主设备因 TX FIFO 为空保持总线 
 | 
| 6 | R | 0x0 | SLV_ACTIVITY 从模式状态 
 | 
| 5 | R | 0x0 | MST_ACTIVITY 主模式状态 
 | 
| 4 | R | 0x0 | RFF(RX FIFO FULL) 接收 FIFO 为满状态标志 
 | 
| 3 | R | 0x0 | RFNE(RX FIFO NOT EMPTY) 接收 FIFO 非空状态标志 
 | 
| 2 | R | 0x1 | TFE(TX FIFO EMPTY) 发送 FIFO 为空状态标志 
 | 
| 1 | R | 0x1 | TFNF(TX FIFO NOT FULL) 发送 FIFO 非满状态标志 
 | 
| 0 | R | 0x0 | ACTIVITY I2C 状态 
 | 
0x054 I2C_TX_ABRT_SOURCE
| 默认值:0x00000000 | I2C 发送停止源 (I2C Transport Abort Source) | ||
|---|---|---|---|
| 位域 | 类型 | 默认值 | 描述 | 
| 31:23 | R | 0x0 | TX_FLUSH_CNT。 此位域指示由于 TX_ABRT 中断而冲刷的 TX FIFO 数据命令数。 | 
| 22:18 | - | - | - | 
| 17 | R | 0x0 | ABRT_SDA_STUCK_AT_LOW 
 仅在主模式有效,主设备检测 SDA 持续低电平的时间超过 I2C_SDA_STUCK_TIMEOUT 设置的阈值。 | 
| 16 | R | 0x0 | ABRT_USER_ABRT 
 仅在 主模式有效,主设备检测到传输中止 (I2C_ENABLE[1]),生成停止操作。 | 
| 15 | R | 0x0 | ABRT_SLVRD_INTX 
 从模式下正在进行发送数据给远程主设备,此时用户在 I2C_CMD_DATA[8] 写 1,则产生停止操作。 | 
| 14 | R | 0x0 | ABRT_SLV_ARBLOST 
 指示在向远程主设备传输时,从模式丢失总线,同时 I2C_TX_ABRT_SOURCE[12] 设 1,生成停止操作。 | 
| 13 | R | 0x0 | ABRT_SLVFLUSH_TXFIFO 
 指示从模式已接收到读取命令,并且某些数据存在于 TX FIFO 中,因此 从模式发出 TX_ABRT 中断以刷新 TX FIFO 中的旧数据,则生成停止操作。 | 
| 12 | R | 0x0 | ABRT_LOST 
 指示主模式失去仲裁,或者设置了 I2C_TX_ABRT_SOURCE[14],则从模式失去仲裁,生成停止操作。 | 
| 11 | R | 0x0 | ABRT_MASTER_DIS 
 指示用户在主模式禁用的情况下发起一个 主模式操作,则生成停止操作。 | 
| 10 | R | 0x0 | ABRT_10B_RD_NORSTRT 
 | 
| 9 | R | 0x0 | ABRT_SBYTE_NORSTRT 
 指示在 RESTART 禁止时 (I2C_CTL[6]设 0)用户发送一个 START 字节清除此位,需修复造成此位生成停止操作的源,RESTART 必须先使能 (I2C_CTL[6]设 1),I2C_TAR[11]或者 I2C_TAR[10]必须清除。一旦此位的源被修复,此位就可以读取清零。若在修复源之前尝试读取此位清零,则此位在一个周期内清除,随后重新赋值。 | 
| 8 | - | - | - | 
| 7 | R | 0x0 | ABRT_SBYTE_ACKDET 
 指示 主设备发送一个 START 字节并且被应答 (错误行为),则生成停止操作。 | 
| 6 | - | - | - | 
| 5 | R | 0x0 | ABRT_GCALL_READ 
 指示 I2C 发送一个 GEN_CALL 但是紧接着用户进行一个读操作 (I2C_DATA_CMD[8]写 1),则生成停止操作。 | 
| 4 | R | 0x0 | ABRT_GCALL_NOACK 
 指示主模式发出一个 GEN_CALL,而总线上没有从设备 应答,则生成停止操作。 | 
| 3 | R | 0x0 | ABRT_TXDATA_NOACK 
 仅在 主模式,当发送一个地址并且收到应答,接着发送数据而没有收到应答,则生成停止操作。 | 
| 2 | R | 0x0 | ABRT_10ADDR2_NOACK 
 仅在主模式,当 10 bit 寻址模式发送第一个地址并且收到应答,接着发送第二个地址而没有收到应答,则生成停止操作。 | 
| 1 | R | 0x0 | ABRT_10ADDR1_NOACK 
 仅在主模式,当 10 bit 寻址模式发送第一个地址没有收到应答,则生成停止操作。 | 
| 0 | R | 0x0 | ABRT_7B_ADDR_NOACK 
 仅在 主模式,当 7 bit 寻址模式发送第一个地址没有收到应答,则生成停止操作。 | 
0x090 I2C_RX_TL
| 默认值:0x00000000 | I2C 接收阈值 (I2C Receive Threshold) | ||
|---|---|---|---|
| 位域 | 类型 | 默认值 | 描述 | 
| 31:3 | - | - | - | 
| 2:0 | R/W | 0x0 | RX_TL 接收 FIFO 阈值深度。 控制触发 RX_FULL 中断的数据数量,接收数据数量大于等于此值时触发。有效范围为 0-7,硬件不允许该值设置为大于缓冲寄存器的最大深度。值 0 设置 1 项的阈值,值 7 设置 8 项的阈值。 | 
0x094 I2C_TX_TL
| 默认值:0x00000000 | I2C 发送阈值 (I2C Transport Threshold) | ||
|---|---|---|---|
| 位域 | 类型 | 默认值 | 描述 | 
| 31:3 | - | - | - | 
| 2:0 | R/W | 0x0 | TX_TL 发送 FIFO 阈值深度。 控制触发 TX_EMPTY 中断的数据数量,发送数据数量小于等于此值时触发。有效范围为 0-7,硬件不允许该值设置为大于缓冲寄存器的最大深度。值 0 设置 0 项的阈值,值 7 设置 7 项的阈值。 | 
0x098 I2C_TXFLR
| 默认值:0x00000000 | I2C 发送 FIFO 水位 (I2C Transport FIFO Level) | ||
|---|---|---|---|
| 位域 | 类型 | 默认值 | 描述 | 
| 31:4 | - | - | - | 
| 3:0 | R | 0x0 | TXFLR,显示发送 FIFO 数据量。 | 
0x09C I2C_RXFLR
| 默认值:0x00000000 | I2C 接收 FIFO 水位 (I2C Receive FIFO Level) | ||
|---|---|---|---|
| 位域 | 类型 | 默认值 | 描述 | 
| 31:4 | - | - | - | 
| 3:0 | R | 0x0 | RXFLR,接收 FIFO 数据量。 | 
0x0A0 I2C_SCL_STUCK_TIMEOUT
| 默认值:0xFFFFFFFF | I2C SCL 挂死超时 (I2C_SCL_STUCK_TIMEOUT) | ||
|---|---|---|---|
| 位域 | 类型 | 默认值 | 描述 | 
| 31:0 | R/W | 0xffff_ffff | I2C_SCL_STUCK_TIMEOUT SCL 挂死时间设置。 如果 I2C 检测 SCL 处于低的时间超过此位域设定的时间,则产生相应的中断 (SCL_STUCK_AT_LOW)。仅在 I2C 禁止时 (I2C_ENABLE[0] 设为 0)可配置,其它时间写入无效。 | 
0x0A4 I2C_SDA_STUCK_TIMEOUT
| 默认值:0xFFFFFFFF | I2C SDA 挂死超时 (I2C_SDA_STUCK_TIMEOUT) | ||
|---|---|---|---|
| 位域 | 类型 | 默认值 | 描述 | 
| 31:0 | R/W | 0xffff_ffff | I2C_SDA_STUCK_TIMEOUT SDA 挂死时间设置。 如果 I2C 检测 SDA 处于低的时间超过此位域设定的时间,并且 I2C_ENABLE[3]设为 1,则触发 SDA 挂死恢复机制。 | 
0x0B0 I2C_FS_SPIKELEN
| 默认值:0x00000002 | I2C 快速模式毛刺抑制时长 (I2C_FS_SPIKELEN) | ||
|---|---|---|---|
| 位域 | 类型 | 默认值 | 描述 | 
| 31:0 | R/W | 0x2 | I2C_FS_SPIKELEN I2C FS 模式毛刺抑制寄存器。 此位设置 SCL 与 SDA 线持续抑制毛刺的最长时间,以 I2C_clk 周期为单位。 此位只有在 I2C_ENABLE[0]设为 0 时可配置,其它时间配置无效。此位最小值为 1,硬件会阻止写入小于此值的配置,即写 0 则此位会被设为 1。 | 
0x0FC VERSION
| 默认值:0x00000100 | I2C 版本号 (VERSION) | ||
|---|---|---|---|
| 位域 | 类型 | 默认值 | 描述 | 
| 31:0 | RO | 0x00000100 | Version (模块版本号) 采用 BCD 码显示,V1.0。 | 
