ZHDU116G January 2018 – June 2024 CC1312PSIP , CC1312R , CC1352P , CC1352R , CC2642R , CC2642R-Q1 , CC2652P , CC2652PSIP , CC2652R , CC2652RB , CC2652RSIP , CC2662R-Q1
表 14-28 列出了 IOC 寄存器的存储器映射寄存器。表 14-28中未列出的所有寄存器偏移地址都应视为保留的位置,并且不应修改寄存器内容。
复杂的位访问类型经过编码可适应小型表单元。表 14-29 展示了适用于此部分中访问类型的代码。
| 访问类型 | 代码 | 说明 |
|---|---|---|
| 读取类型 | ||
| R | R | 读取 |
| 写入类型 | ||
| W | W | 写入 |
| 复位或默认值 | ||
| -n | 复位后的值或默认值 | |
图 14-23 展示了 IOCFG0,表 14-30 对其进行了介绍。
返回到汇总表。
DIO0 的配置
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | HYST_EN | IE | WU_CFG | IOMODE | |||
| R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| IOEV_AON_PROG2_EN | IOEV_AON_PROG1_EN | IOEV_AON_PROG0_EN | RESERVED | EDGE_IRQ_EN | EDGE_DET | ||
| R/W-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | R/W-0h | ||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | PULL_CTL | SLEW_RED | IOCURR | IOSTR | |||
| R-0h | R/W-3h | R/W-0h | R/W-0h | R/W-0h | |||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| IOEV_RTC_EN | IOEV_MCU_WU_EN | PORT_ID | |||||
| R/W-0h | R/W-0h | R/W-0h | |||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31 | RESERVED | R | 0h | 保留 |
| 30 | HYST_EN | R/W | 0h | 0:输入迟滞禁用 1:输入迟滞使能 |
| 29 | IE | R/W | 0h | 0:输入禁用 1:输入使能 注意:如果 IO 配置为 AUX PORT_ID = 0x08,则使能将被忽略。 |
| 28-27 | WU_CFG | R/W | 0h | 如果 DIO 配置为 GPIO 或非 AON 外设信号(PORT_ID 0x00 或 >0x08): 00:无唤醒 01:无唤醒 10:如果该焊盘变为低电平,则从关断状态唤醒。 11:如果该焊盘变为高电平,则从关断状态唤醒。 如果 IO 配置为 AON 外设信号或 AUX PORT_ID 0x01-0x08,则该寄存器仅设置是否使能唤醒。 00、01:唤醒禁用 10、11:唤醒使能 极性通过 AON 寄存器进行控制。 注意:当 MSB 置位时,IOC 将停用 DIO 的输出使能。 |
| 26-24 | IOMODE | R/W | 0h | IO 模式 不适用于配置为 AON 外设信号和 AUX PORT_ID 0x01-0x08 的 IO AUX 有自己的 open_source/drain 配置。 0x2: 保留。未定义的行为。 0x3:保留。未定义的行为。 0h = NORMAL:正常输入/输出 1h = INV:反相输入/输出 4h = OPENDR:开漏, 正常输入/输出 5h = OPENDR_INV:开漏 反相输入/输出 6h = OPENSRC:开源 正常输入/输出 7h = OPENSRC_INV:开源 反相输入/输出 |
| 23 | IOEV_AON_PROG2_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG2 事件置为有效 1:输入边沿检测将 AON_PROG2 事件置为有效 |
| 22 | IOEV_AON_PROG1_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG1 事件置为有效 1:输入边沿检测将 AON_PROG1 事件置为有效 |
| 21 | IOEV_AON_PROG0_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG0 事件置为有效 1:输入边沿检测将 AON_PROG0 事件置为有效 |
| 20-19 | RESERVED | R | 0h | 保留 |
| 18 | EDGE_IRQ_EN | R/W | 0h | 0:无中断生成 1:使能该 IO 的中断生成(仅在 EDGE_DET 已使能时有效) |
| 17-16 | EDGE_DET | R/W | 0h | 使能该 IO 上的边沿检测事件生成 0h = NONE:无边沿检测 1h = 负边沿检测 2h = 正边沿检测 3h = 正负边沿检测 |
| 15 | RESERVED | R | 0h | 保留 |
| 14-13 | PULL_CTL | R/W | 3h | 上拉/下拉控制 1h = DWN:下拉 2h = UP:上拉 3h = DIS:无上拉/下拉 |
| 12 | SLEW_RED | R/W | 0h | 0:标称压摆率 1:在输出驱动器中降低压摆率。 |
| 11-10 | IOCURR | R/W | 0h | 选择该 IO 的 IO 电流模式。 0h = 2MA:低电流 (LC) 模式:IOSTR 设置为 AUTO 时最小值为 2mA 1h = 4MA:高电流 (HC) 模式:IOSTR 设置为 AUTO 时最小值为 4mA 2h = 4_8MA:扩展电流 (EC) 模式:当 IOSTR 设为 AUTO 时,双驱动强度 IO 的最小值为 8mA(标准 IO 的最小值为 4mA) |
| 9-8 | IOSTR | R/W | 0h | 选择该 IO 的驱动强度控制源。 此设置控制低电流 (LC) 模式的驱动强度。可在 IOCURR 中选择更高的驱动强度 0h = 自动驱动强度,由 AON BATMON 根据电池电压控制。(VDDS 时最小 2mA) 1h = 最小驱动强度,由 AON_IOC:IOSTRMIN 控制(默认值为 3.3V 时最小 2mA) 2h = MED:中等驱动强度,由 AON_IOC:IOSTRMED 控制(默认值为 2.5V 时最小 2mA) 3h = 最大驱动强度,由 AON_IOC:IOSTRMAX 控制(默认值为 1.8V 时最小 2mA) |
| 7 | IOEV_RTC_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 RTC 事件置为有效 1:输入边沿检测将 RTC 事件置为有效 |
| 6 | IOEV_MCU_WU_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 MCU_WU 事件置为有效 1:输入边沿检测将 MCU_WU 事件置为有效 |
| 5-0 | PORT_ID | R/W | 0h | 选择 DIO0 的用途 注意:除明确要求更改 PORT_ID 值的情况外,不应写入此字段。 0h =通用 IO 7h = AON 32 KHz 时钟 (SCLK_LF) 8h = AUX IO 9h = SSI0_RX:SSI0 RX Ah = SSI0_TX:SSI0 TX Bh = SSI0_FSS:SSI0 FSS Ch = SSI0_CLK:SSI0 CLK Dh = I2C_MSSDA:I2C 数据 Eh = I2C_MSSCL:I2C 时钟 Fh = UART0_RX:UART0 RX 10h = UART0_TX:UART0 TX 11h = UART0_CTS:UART0 CTS 12h = UART0_RTS:UART0 RTS 13h = UART1_RX:UART1 RX 14h = UART1_TX:UART1 TX 15h = UART1_CTS:UART1 CTS 16h = UART1_RTS:UART1 RTS 17h = PORT_EVENT0:端口事件 0 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 18h = PORT_EVENT1: 端口事件 1 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 19h = PORT_EVENT2: 端口事件 2 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ah = PORT_EVENT3: 端口事件 3 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Bh = PORT_EVENT4: 端口事件 4 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ch = PORT_EVENT5: 端口事件 5 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Dh = PORT_EVENT6: 端口事件 6 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Eh = PORT_EVENT7: 端口事件 7 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 20h = CPU_SWV: CPU SWV 21h = SSI1_RX:SSI1 RX 22h = SSI1_TX:SSI1 TX 23h = SSI1_FSS:SSI1 FSS 24h = SSI1_CLK:SSI1 CLK 25h = I2S_AD0:I2S 数据 0 26h = I2S_AD1: I2S 数据 1 27h = I2S_WCLK: I2S WCLK 28h = I2S_BCLK:I2S BCLK 29h = I2S_MCLK:I2S MCLK 2Eh = 射频内核跟踪 2Fh = 射频内核数据输出 0 30h = 射频内核数据输出 1 31h = 射频内核数据输出 2 32h = 射频内核数据输出 3 33h = 射频内核数据输入 0 34h = 射频内核数据输入 1 35h = 射频内核 SMI 数据链路输出 36h = 射频内核 SMI 数据链路输入 37h = 射频内核 SMI 命令链路输出 38h = 射频内核 SMI 命令链路输入 |
图 14-24 展示了 IOCFG1,表 14-31 对其进行了介绍。
返回到汇总表。
DIO1 的配置
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | HYST_EN | IE | WU_CFG | IOMODE | |||
| R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| IOEV_AON_PROG2_EN | IOEV_AON_PROG1_EN | IOEV_AON_PROG0_EN | RESERVED | EDGE_IRQ_EN | EDGE_DET | ||
| R/W-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | R/W-0h | ||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | PULL_CTL | SLEW_RED | IOCURR | IOSTR | |||
| R-0h | R/W-3h | R/W-0h | R/W-0h | R/W-0h | |||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| IOEV_RTC_EN | IOEV_MCU_WU_EN | PORT_ID | |||||
| R/W-0h | R/W-0h | R/W-0h | |||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31 | RESERVED | R | 0h | 保留 |
| 30 | HYST_EN | R/W | 0h | 0:输入迟滞禁用 1:输入迟滞使能 |
| 29 | IE | R/W | 0h | 0:输入禁用 1:输入使能 注意:如果 IO 配置为 AUX PORT_ID = 0x08,则使能将被忽略。 |
| 28-27 | WU_CFG | R/W | 0h | 如果 DIO 配置为 GPIO 或非 AON 外设信号(PORT_ID 0x00 或 >0x08): 00:无唤醒 01:无唤醒 10:如果该焊盘变为低电平,则从关断状态唤醒。 11:如果该焊盘变为高电平,则从关断状态唤醒。 如果 IO 配置为 AON 外设信号或 AUX PORT_ID 0x01-0x08,则该寄存器仅设置是否使能唤醒。 00、01:唤醒禁用 10、11:唤醒使能 极性通过 AON 寄存器进行控制。 注意:当 MSB 置位时,IOC 将停用 DIO 的输出使能。 |
| 26-24 | IOMODE | R/W | 0h | IO 模式 不适用于配置为 AON 外设信号和 AUX PORT_ID 0x01-0x08 的 IO AUX 有自己的 open_source/drain 配置。 0x2: 保留。未定义的行为。 0x3:保留。未定义的行为。 0h = NORMAL:正常输入/输出 1h = INV:反相输入/输出 4h = OPENDR: 开漏, 正常输入/输出 5h = OPENDR_INV:开漏 反相输入/输出 6h = OPENSRC:开源 正常输入/输出 7h = OPENSRC_INV:开源 反相输入/输出 |
| 23 | IOEV_AON_PROG2_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG2 事件置为有效 1:输入边沿检测将 AON_PROG2 事件置为有效 |
| 22 | IOEV_AON_PROG1_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG1 事件置为有效 1:输入边沿检测将 AON_PROG1 事件置为有效 |
| 21 | IOEV_AON_PROG0_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG0 事件置为有效 1:输入边沿检测将 AON_PROG0 事件置为有效 |
| 20-19 | RESERVED | R | 0h | 保留 |
| 18 | EDGE_IRQ_EN | R/W | 0h | 0:无中断生成 1:使能该 IO 的中断生成(仅在 EDGE_DET 已使能时有效) |
| 17-16 | EDGE_DET | R/W | 0h | 使能该 IO 上的边沿检测事件生成 0h = NONE:无边沿检测 1h = 负边沿检测 2h = 正边沿检测 3h = 正负边沿检测 |
| 15 | RESERVED | R | 0h | 保留 |
| 14-13 | PULL_CTL | R/W | 3h | 上拉/下拉控制 1h = DWN:下拉 2h = UP:上拉 3h = DIS:无上拉/下拉 |
| 12 | SLEW_RED | R/W | 0h | 0:标称压摆率 1:在输出驱动器中降低压摆率。 |
| 11-10 | IOCURR | R/W | 0h | 选择该 IO 的 IO 电流模式。 0h = 2MA:低电流 (LC) 模式:IOSTR 设置为 AUTO 时最小值为 2mA 1h = 4MA:高电流 (HC) 模式:IOSTR 设置为 AUTO 时最小值为 4mA 2h = 4_8MA:扩展电流 (EC) 模式:当 IOSTR 设为 AUTO 时,双驱动强度 IO 的最小值为 8mA(标准 IO 的最小值为 4mA) |
| 9-8 | IOSTR | R/W | 0h | 选择该 IO 的驱动强度控制源。 此设置控制低电流 (LC) 模式的驱动强度。可在 IOCURR 中选择更高的驱动强度 0h = 自动驱动强度,由 AON BATMON 根据电池电压控制。(VDDS 时最小 2mA) 1h = 最小驱动强度,由 AON_IOC:IOSTRMIN 控制(默认值为 3.3V 时最小 2mA) 2h = MED:中等驱动强度,由 AON_IOC:IOSTRMED 控制(默认值为 2.5V 时最小 2mA) 3h = 最大驱动强度,由 AON_IOC:IOSTRMAX 控制(默认值为 1.8V 时最小 2mA) |
| 7 | IOEV_RTC_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 RTC 事件置为有效 1:输入边沿检测将 RTC 事件置为有效 |
| 6 | IOEV_MCU_WU_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 MCU_WU 事件置为有效 1:输入边沿检测将 MCU_WU 事件置为有效 |
| 5-0 | PORT_ID | R/W | 0h | 选择 DIO1 的用途 注意:除明确要求更改 PORT_ID 值的情况外,不应写入此字段。 0h =通用 IO 7h = AON 32 KHz 时钟 (SCLK_LF) 8h = AUX IO 9h = SSI0_RX:SSI0 RX Ah = SSI0_TX:SSI0 TX Bh = SSI0_FSS:SSI0 FSS Ch = SSI0_CLK:SSI0 CLK Dh = I2C_MSSDA:I2C 数据 Eh = I2C_MSSCL:I2C 时钟 Fh = UART0_RX:UART0 RX 10h = UART0_TX:UART0 TX 11h = UART0_CTS:UART0 CTS 12h = UART0_RTS:UART0 RTS 13h = UART1_RX:UART1 RX 14h = UART1_TX:UART1 TX 15h = UART1_CTS:UART1 CTS 16h = UART1_RTS:UART1 RTS 17h = PORT_EVENT0:端口事件 0 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 18h = PORT_EVENT1: 端口事件 1 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 19h = PORT_EVENT2: 端口事件 2 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ah = PORT_EVENT3: 端口事件 3 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Bh = PORT_EVENT4: 端口事件 4 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ch = PORT_EVENT5: 端口事件 5 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Dh = PORT_EVENT6: 端口事件 6 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Eh = PORT_EVENT7: 端口事件 7 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 20h = CPU_SWV: CPU SWV 21h = SSI1_RX:SSI1 RX 22h = SSI1_TX:SSI1 TX 23h = SSI1_FSS:SSI1 FSS 24h = SSI1_CLK:SSI1 CLK 25h = I2S_AD0:I2S 数据 0 26h = I2S_AD1: I2S 数据 1 27h = I2S_WCLK: I2S WCLK 28h = I2S_BCLK:I2S BCLK 29h = I2S_MCLK:I2S MCLK 2Eh = 射频内核跟踪 2Fh = 射频内核数据输出 0 30h = 射频内核数据输出 1 31h = 射频内核数据输出 2 32h = 射频内核数据输出 3 33h = 射频内核数据输入 0 34h = 射频内核数据输入 1 35h = 射频内核 SMI 数据链路输出 36h = 射频内核 SMI 数据链路输入 37h = 射频内核 SMI 命令链路输出 38h = 射频内核 SMI 命令链路输入 |
图 14-25 展示了 IOCFG2,表 14-32 对其进行了介绍。
返回到汇总表。
DIO2 的配置
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | HYST_EN | IE | WU_CFG | IOMODE | |||
| R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| IOEV_AON_PROG2_EN | IOEV_AON_PROG1_EN | IOEV_AON_PROG0_EN | RESERVED | EDGE_IRQ_EN | EDGE_DET | ||
| R/W-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | R/W-0h | ||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | PULL_CTL | SLEW_RED | IOCURR | IOSTR | |||
| R-0h | R/W-3h | R/W-0h | R/W-0h | R/W-0h | |||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| IOEV_RTC_EN | IOEV_MCU_WU_EN | PORT_ID | |||||
| R/W-0h | R/W-0h | R/W-0h | |||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31 | RESERVED | R | 0h | 保留 |
| 30 | HYST_EN | R/W | 0h | 0:输入迟滞禁用 1:输入迟滞使能 |
| 29 | IE | R/W | 0h | 0:输入禁用 1:输入使能 注意:如果 IO 配置为 AUX PORT_ID = 0x08,则使能将被忽略。 |
| 28-27 | WU_CFG | R/W | 0h | 如果 DIO 配置为 GPIO 或非 AON 外设信号(PORT_ID 0x00 或 >0x08): 00:无唤醒 01:无唤醒 10:如果该焊盘变为低电平,则从关断状态唤醒。 11:如果该焊盘变为高电平,则从关断状态唤醒。 如果 IO 配置为 AON 外设信号或 AUX PORT_ID 0x01-0x08,则该寄存器仅设置是否使能唤醒。 00、01:唤醒禁用 10、11:唤醒使能 极性通过 AON 寄存器进行控制。 注意:当 MSB 置位时,IOC 将停用 DIO 的输出使能。 |
| 26-24 | IOMODE | R/W | 0h | IO 模式 不适用于配置为 AON 外设信号和 AUX PORT_ID 0x01-0x08 的 IO AUX 有自己的 open_source/drain 配置。 0x2: 保留。未定义的行为。 0x3:保留。未定义的行为。 0h = NORMAL:正常输入/输出 1h = INV:反相输入/输出 4h = OPENDR: 开漏, 正常输入/输出 5h = OPENDR_INV:开漏 反相输入/输出 6h = OPENSRC:开源 正常输入/输出 7h = OPENSRC_INV:开源 反相输入/输出 |
| 23 | IOEV_AON_PROG2_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG2 事件置为有效 1:输入边沿检测将 AON_PROG2 事件置为有效 |
| 22 | IOEV_AON_PROG1_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG1 事件置为有效 1:输入边沿检测将 AON_PROG1 事件置为有效 |
| 21 | IOEV_AON_PROG0_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG0 事件置为有效 1:输入边沿检测将 AON_PROG0 事件置为有效 |
| 20-19 | RESERVED | R | 0h | 保留 |
| 18 | EDGE_IRQ_EN | R/W | 0h | 0:无中断生成 1:使能该 IO 的中断生成(仅在 EDGE_DET 已使能时有效) |
| 17-16 | EDGE_DET | R/W | 0h | 使能该 IO 上的边沿检测事件生成 0h = NONE:无边沿检测 1h = 负边沿检测 2h = 正边沿检测 3h = 正负边沿检测 |
| 15 | RESERVED | R | 0h | 保留 |
| 14-13 | PULL_CTL | R/W | 3h | 上拉/下拉控制 1h = DWN:下拉 2h = UP:上拉 3h = DIS:无上拉/下拉 |
| 12 | SLEW_RED | R/W | 0h | 0:标称压摆率 1:在输出驱动器中降低压摆率。 |
| 11-10 | IOCURR | R/W | 0h | 选择该 IO 的 IO 电流模式。 0h = 2MA:低电流 (LC) 模式:IOSTR 设置为 AUTO 时最小值为 2mA 1h = 4MA:高电流 (HC) 模式:IOSTR 设置为 AUTO 时最小值为 4mA 2h = 4_8MA:扩展电流 (EC) 模式:当 IOSTR 设为 AUTO 时,双驱动强度 IO 的最小值为 8mA(标准 IO 的最小值为 4mA) |
| 9-8 | IOSTR | R/W | 0h | 选择该 IO 的驱动强度控制源。 此设置控制低电流 (LC) 模式的驱动强度。可在 IOCURR 中选择更高的驱动强度 0h = 自动驱动强度,由 AON BATMON 根据电池电压控制。(VDDS 时最小 2mA) 1h = 最小驱动强度,由 AON_IOC:IOSTRMIN 控制(默认值为 3.3V 时最小 2mA) 2h = MED:中等驱动强度,由 AON_IOC:IOSTRMED 控制(默认值为 2.5V 时最小 2mA) 3h = 最大驱动强度,由 AON_IOC:IOSTRMAX 控制(默认值为 1.8V 时最小 2mA) |
| 7 | IOEV_RTC_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 RTC 事件置为有效 1:输入边沿检测将 RTC 事件置为有效 |
| 6 | IOEV_MCU_WU_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 MCU_WU 事件置为有效 1:输入边沿检测将 MCU_WU 事件置为有效 |
| 5-0 | PORT_ID | R/W | 0h | 选择 DIO2 的用途 注意:除明确要求更改 PORT_ID 值的情况外,不应写入此字段。 0h =通用 IO 7h = AON 32 KHz 时钟 (SCLK_LF) 8h = AUX IO 9h = SSI0_RX:SSI0 RX Ah = SSI0_TX:SSI0 TX Bh = SSI0_FSS:SSI0 FSS Ch = SSI0_CLK:SSI0 CLK Dh = I2C_MSSDA:I2C 数据 Eh = I2C_MSSCL:I2C 时钟 Fh = UART0_RX:UART0 RX 10h = UART0_TX:UART0 TX 11h = UART0_CTS:UART0 CTS 12h = UART0_RTS:UART0 RTS 13h = UART1_RX:UART1 RX 14h = UART1_TX:UART1 TX 15h = UART1_CTS:UART1 CTS 16h = UART1_RTS:UART1 RTS 17h = PORT_EVENT0:端口事件 0 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 18h = PORT_EVENT1: 端口事件 1 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 19h = PORT_EVENT2: 端口事件 2 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ah = PORT_EVENT3: 端口事件 3 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Bh = PORT_EVENT4: 端口事件 4 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ch = PORT_EVENT5: 端口事件 5 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Dh = PORT_EVENT6: 端口事件 6 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Eh = PORT_EVENT7: 端口事件 7 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 20h = CPU_SWV: CPU SWV 21h = SSI1_RX:SSI1 RX 22h = SSI1_TX:SSI1 TX 23h = SSI1_FSS:SSI1 FSS 24h = SSI1_CLK:SSI1 CLK 25h = I2S_AD0:I2S 数据 0 26h = I2S_AD1: I2S 数据 1 27h = I2S_WCLK: I2S WCLK 28h = I2S_BCLK:I2S BCLK 29h = I2S_MCLK:I2S MCLK 2Eh = 射频内核跟踪 2Fh = 射频内核数据输出 0 30h = 射频内核数据输出 1 31h = 射频内核数据输出 2 32h = 射频内核数据输出 3 33h = 射频内核数据输入 0 34h = 射频内核数据输入 1 35h = 射频内核 SMI 数据链路输出 36h = 射频内核 SMI 数据链路输入 37h = 射频内核 SMI 命令链路输出 38h = 射频内核 SMI 命令链路输入 |
图 14-26 展示了 IOCFG3,表 14-33 对其进行了介绍。
返回到汇总表。
DIO3 的配置
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | HYST_EN | IE | WU_CFG | IOMODE | |||
| R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| IOEV_AON_PROG2_EN | IOEV_AON_PROG1_EN | IOEV_AON_PROG0_EN | RESERVED | EDGE_IRQ_EN | EDGE_DET | ||
| R/W-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | R/W-0h | ||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | PULL_CTL | SLEW_RED | IOCURR | IOSTR | |||
| R-0h | R/W-3h | R/W-0h | R/W-0h | R/W-0h | |||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| IOEV_RTC_EN | IOEV_MCU_WU_EN | PORT_ID | |||||
| R/W-0h | R/W-0h | R/W-0h | |||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31 | RESERVED | R | 0h | 保留 |
| 30 | HYST_EN | R/W | 0h | 0:输入迟滞禁用 1:输入迟滞使能 |
| 29 | IE | R/W | 0h | 0:输入禁用 1:输入使能 注意:如果 IO 配置为 AUX PORT_ID = 0x08,则使能将被忽略。 |
| 28-27 | WU_CFG | R/W | 0h | 如果 DIO 配置为 GPIO 或非 AON 外设信号(PORT_ID 0x00 或 >0x08): 00:无唤醒 01:无唤醒 10:如果该焊盘变为低电平,则从关断状态唤醒。 11:如果该焊盘变为高电平,则从关断状态唤醒。 如果 IO 配置为 AON 外设信号或 AUX PORT_ID 0x01-0x08,则该寄存器仅设置是否使能唤醒。 00、01:唤醒禁用 10、11:唤醒使能 极性通过 AON 寄存器进行控制。 注意:当 MSB 置位时,IOC 将停用 DIO 的输出使能。 |
| 26-24 | IOMODE | R/W | 0h | IO 模式 不适用于配置为 AON 外设信号和 AUX PORT_ID 0x01-0x08 的 IO AUX 有自己的 open_source/drain 配置。 0x2: 保留。未定义的行为。 0x3:保留。未定义的行为。 0h = NORMAL:正常输入/输出 1h = INV:反相输入/输出 4h = OPENDR: 开漏, 正常输入/输出 5h = OPENDR_INV:开漏 反相输入/输出 6h = OPENSRC:开源 正常输入/输出 7h = OPENSRC_INV:开源 反相输入/输出 |
| 23 | IOEV_AON_PROG2_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG2 事件置为有效 1:输入边沿检测将 AON_PROG2 事件置为有效 |
| 22 | IOEV_AON_PROG1_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG1 事件置为有效 1:输入边沿检测将 AON_PROG1 事件置为有效 |
| 21 | IOEV_AON_PROG0_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG0 事件置为有效 1:输入边沿检测将 AON_PROG0 事件置为有效 |
| 20-19 | RESERVED | R | 0h | 保留 |
| 18 | EDGE_IRQ_EN | R/W | 0h | 0:无中断生成 1:使能该 IO 的中断生成(仅在 EDGE_DET 已使能时有效) |
| 17-16 | EDGE_DET | R/W | 0h | 使能该 IO 上的边沿检测事件生成 0h = NONE:无边沿检测 1h = 负边沿检测 2h = 正边沿检测 3h = 正负边沿检测 |
| 15 | RESERVED | R | 0h | 保留 |
| 14-13 | PULL_CTL | R/W | 3h | 上拉/下拉控制 1h = DWN:下拉 2h = UP:上拉 3h = DIS:无上拉/下拉 |
| 12 | SLEW_RED | R/W | 0h | 0:标称压摆率 1:在输出驱动器中降低压摆率。 |
| 11-10 | IOCURR | R/W | 0h | 选择该 IO 的 IO 电流模式。 0h = 2MA:低电流 (LC) 模式:IOSTR 设置为 AUTO 时最小值为 2mA 1h = 4MA:高电流 (HC) 模式:IOSTR 设置为 AUTO 时最小值为 4mA 2h = 4_8MA:扩展电流 (EC) 模式:当 IOSTR 设为 AUTO 时,双驱动强度 IO 的最小值为 8mA(标准 IO 的最小值为 4mA) |
| 9-8 | IOSTR | R/W | 0h | 选择该 IO 的驱动强度控制源。 此设置控制低电流 (LC) 模式的驱动强度。可在 IOCURR 中选择更高的驱动强度 0h = 自动驱动强度,由 AON BATMON 根据电池电压控制。(VDDS 时最小 2mA) 1h = 最小驱动强度,由 AON_IOC:IOSTRMIN 控制(默认值为 3.3V 时最小 2mA) 2h = MED:中等驱动强度,由 AON_IOC:IOSTRMED 控制(默认值为 2.5V 时最小 2mA) 3h = 最大驱动强度,由 AON_IOC:IOSTRMAX 控制(默认值为 1.8V 时最小 2mA) |
| 7 | IOEV_RTC_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 RTC 事件置为有效 1:输入边沿检测将 RTC 事件置为有效 |
| 6 | IOEV_MCU_WU_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 MCU_WU 事件置为有效 1:输入边沿检测将 MCU_WU 事件置为有效 |
| 5-0 | PORT_ID | R/W | 0h | 选择 DIO3 的用途 注意:除明确要求更改 PORT_ID 值的情况外,不应写入此字段。 0h =通用 IO 7h = AON 32 KHz 时钟 (SCLK_LF) 8h = AUX IO 9h = SSI0_RX:SSI0 RX Ah = SSI0_TX:SSI0 TX Bh = SSI0_FSS:SSI0 FSS Ch = SSI0_CLK:SSI0 CLK Dh = I2C_MSSDA:I2C 数据 Eh = I2C_MSSCL:I2C 时钟 Fh = UART0_RX:UART0 RX 10h = UART0_TX:UART0 TX 11h = UART0_CTS:UART0 CTS 12h = UART0_RTS:UART0 RTS 13h = UART1_RX:UART1 RX 14h = UART1_TX:UART1 TX 15h = UART1_CTS:UART1 CTS 16h = UART1_RTS:UART1 RTS 17h = PORT_EVENT0:端口事件 0 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 18h = PORT_EVENT1: 端口事件 1 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 19h = PORT_EVENT2: 端口事件 2 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ah = PORT_EVENT3: 端口事件 3 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Bh = PORT_EVENT4: 端口事件 4 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ch = PORT_EVENT5: 端口事件 5 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Dh = PORT_EVENT6: 端口事件 6 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Eh = PORT_EVENT7: 端口事件 7 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 20h = CPU_SWV: CPU SWV 21h = SSI1_RX:SSI1 RX 22h = SSI1_TX:SSI1 TX 23h = SSI1_FSS:SSI1 FSS 24h = SSI1_CLK:SSI1 CLK 25h = I2S_AD0:I2S 数据 0 26h = I2S_AD1: I2S 数据 1 27h = I2S_WCLK: I2S WCLK 28h = I2S_BCLK:I2S BCLK 29h = I2S_MCLK:I2S MCLK 2Eh = 射频内核跟踪 2Fh = 射频内核数据输出 0 30h = 射频内核数据输出 1 31h = 射频内核数据输出 2 32h = 射频内核数据输出 3 33h = 射频内核数据输入 0 34h = 射频内核数据输入 1 35h = 射频内核 SMI 数据链路输出 36h = 射频内核 SMI 数据链路输入 37h = 射频内核 SMI 命令链路输出 38h = 射频内核 SMI 命令链路输入 |
图 14-27 展示了 IOCFG4,表 14-34 对其进行了介绍。
返回到汇总表。
DIO4 的配置
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | HYST_EN | IE | WU_CFG | IOMODE | |||
| R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| IOEV_AON_PROG2_EN | IOEV_AON_PROG1_EN | IOEV_AON_PROG0_EN | RESERVED | EDGE_IRQ_EN | EDGE_DET | ||
| R/W-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | R/W-0h | ||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | PULL_CTL | SLEW_RED | IOCURR | IOSTR | |||
| R-0h | R/W-3h | R/W-0h | R/W-0h | R/W-0h | |||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| IOEV_RTC_EN | IOEV_MCU_WU_EN | PORT_ID | |||||
| R/W-0h | R/W-0h | R/W-0h | |||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31 | RESERVED | R | 0h | 保留 |
| 30 | HYST_EN | R/W | 0h | 0:输入迟滞禁用 1:输入迟滞使能 |
| 29 | IE | R/W | 0h | 0:输入禁用 1:输入使能 注意:如果 IO 配置为 AUX PORT_ID = 0x08,则使能将被忽略。 |
| 28-27 | WU_CFG | R/W | 0h | 如果 DIO 配置为 GPIO 或非 AON 外设信号(PORT_ID 0x00 或 >0x08): 00:无唤醒 01:无唤醒 10:如果该焊盘变为低电平,则从关断状态唤醒。 11:如果该焊盘变为高电平,则从关断状态唤醒。 如果 IO 配置为 AON 外设信号或 AUX PORT_ID 0x01-0x08,则该寄存器仅设置是否使能唤醒。 00、01:唤醒禁用 10、11:唤醒使能 极性通过 AON 寄存器进行控制。 注意:当 MSB 置位时,IOC 将停用 DIO 的输出使能。 |
| 26-24 | IOMODE | R/W | 0h | IO 模式 不适用于配置为 AON 外设信号和 AUX PORT_ID 0x01-0x08 的 IO AUX 有自己的 open_source/drain 配置。 0x2: 保留。未定义的行为。 0x3:保留。未定义的行为。 0h = NORMAL:正常输入/输出 1h = INV:反相输入/输出 4h = OPENDR: 开漏, 正常输入/输出 5h = OPENDR_INV:开漏 反相输入/输出 6h = OPENSRC:开源 正常输入/输出 7h = OPENSRC_INV:开源 反相输入/输出 |
| 23 | IOEV_AON_PROG2_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG2 事件置为有效 1:输入边沿检测将 AON_PROG2 事件置为有效 |
| 22 | IOEV_AON_PROG1_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG1 事件置为有效 1:输入边沿检测将 AON_PROG1 事件置为有效 |
| 21 | IOEV_AON_PROG0_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG0 事件置为有效 1:输入边沿检测将 AON_PROG0 事件置为有效 |
| 20-19 | RESERVED | R | 0h | 保留 |
| 18 | EDGE_IRQ_EN | R/W | 0h | 0:无中断生成 1:使能该 IO 的中断生成(仅在 EDGE_DET 已使能时有效) |
| 17-16 | EDGE_DET | R/W | 0h | 使能该 IO 上的边沿检测事件生成 0h = NONE:无边沿检测 1h = 负边沿检测 2h = 正边沿检测 3h = 正负边沿检测 |
| 15 | RESERVED | R | 0h | 保留 |
| 14-13 | PULL_CTL | R/W | 3h | 上拉/下拉控制 1h = DWN:下拉 2h = UP:上拉 3h = DIS:无上拉/下拉 |
| 12 | SLEW_RED | R/W | 0h | 0:标称压摆率 1:在输出驱动器中降低压摆率。 |
| 11-10 | IOCURR | R/W | 0h | 选择该 IO 的 IO 电流模式。 0h = 2MA:低电流 (LC) 模式:IOSTR 设置为 AUTO 时最小值为 2mA 1h = 4MA:高电流 (HC) 模式:IOSTR 设置为 AUTO 时最小值为 4mA 2h = 4_8MA:扩展电流 (EC) 模式:当 IOSTR 设为 AUTO 时,双驱动强度 IO 的最小值为 8mA(标准 IO 的最小值为 4mA) |
| 9-8 | IOSTR | R/W | 0h | 选择该 IO 的驱动强度控制源。 此设置控制低电流 (LC) 模式的驱动强度。可在 IOCURR 中选择更高的驱动强度 0h = 自动驱动强度,由 AON BATMON 根据电池电压控制。(VDDS 时最小 2mA) 1h = 最小驱动强度,由 AON_IOC:IOSTRMIN 控制(默认值为 3.3V 时最小 2mA) 2h = MED:中等驱动强度,由 AON_IOC:IOSTRMED 控制(默认值为 2.5V 时最小 2mA) 3h = 最大驱动强度,由 AON_IOC:IOSTRMAX 控制(默认值为 1.8V 时最小 2mA) |
| 7 | IOEV_RTC_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 RTC 事件置为有效 1:输入边沿检测将 RTC 事件置为有效 |
| 6 | IOEV_MCU_WU_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 MCU_WU 事件置为有效 1:输入边沿检测将 MCU_WU 事件置为有效 |
| 5-0 | PORT_ID | R/W | 0h | 选择 DIO4 的用途 注意:除明确要求更改 PORT_ID 值的情况外,不应写入此字段。 0h =通用 IO 7h = AON 32 KHz 时钟 (SCLK_LF) 8h = AUX IO 9h = SSI0_RX:SSI0 RX Ah = SSI0_TX:SSI0 TX Bh = SSI0_FSS:SSI0 FSS Ch = SSI0_CLK:SSI0 CLK Dh = I2C_MSSDA:I2C 数据 Eh = I2C_MSSCL:I2C 时钟 Fh = UART0_RX:UART0 RX 10h = UART0_TX:UART0 TX 11h = UART0_CTS:UART0 CTS 12h = UART0_RTS:UART0 RTS 13h = UART1_RX:UART1 RX 14h = UART1_TX:UART1 TX 15h = UART1_CTS:UART1 CTS 16h = UART1_RTS:UART1 RTS 17h = PORT_EVENT0:端口事件 0 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 18h = PORT_EVENT1: 端口事件 1 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 19h = PORT_EVENT2: 端口事件 2 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ah = PORT_EVENT3: 端口事件 3 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Bh = PORT_EVENT4: 端口事件 4 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ch = PORT_EVENT5: 端口事件 5 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Dh = PORT_EVENT6: 端口事件 6 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Eh = PORT_EVENT7: 端口事件 7 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 20h = CPU_SWV: CPU SWV 21h = SSI1_RX:SSI1 RX 22h = SSI1_TX:SSI1 TX 23h = SSI1_FSS:SSI1 FSS 24h = SSI1_CLK:SSI1 CLK 25h = I2S_AD0:I2S 数据 0 26h = I2S_AD1: I2S 数据 1 27h = I2S_WCLK: I2S WCLK 28h = I2S_BCLK:I2S BCLK 29h = I2S_MCLK:I2S MCLK 2Eh = 射频内核跟踪 2Fh = 射频内核数据输出 0 30h = 射频内核数据输出 1 31h = 射频内核数据输出 2 32h = 射频内核数据输出 3 33h = 射频内核数据输入 0 34h = 射频内核数据输入 1 35h = 射频内核 SMI 数据链路输出 36h = 射频内核 SMI 数据链路输入 37h = 射频内核 SMI 命令链路输出 38h = 射频内核 SMI 命令链路输入 |
图 14-28 展示了 IOCFG5,表 14-35 对其进行了介绍。
返回到汇总表。
DIO5 的配置
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | HYST_EN | IE | WU_CFG | IOMODE | |||
| R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| IOEV_AON_PROG2_EN | IOEV_AON_PROG1_EN | IOEV_AON_PROG0_EN | RESERVED | EDGE_IRQ_EN | EDGE_DET | ||
| R/W-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | R/W-0h | ||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | PULL_CTL | SLEW_RED | IOCURR | IOSTR | |||
| R-0h | R/W-3h | R/W-0h | R/W-0h | R/W-0h | |||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| IOEV_RTC_EN | IOEV_MCU_WU_EN | PORT_ID | |||||
| R/W-0h | R/W-0h | R/W-0h | |||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31 | RESERVED | R | 0h | 保留 |
| 30 | HYST_EN | R/W | 0h | 0:输入迟滞禁用 1:输入迟滞使能 |
| 29 | IE | R/W | 0h | 0:输入禁用 1:输入使能 注意:如果 IO 配置为 AUX PORT_ID = 0x08,则使能将被忽略。 |
| 28-27 | WU_CFG | R/W | 0h | 如果 DIO 配置为 GPIO 或非 AON 外设信号(PORT_ID 0x00 或 >0x08): 00:无唤醒 01:无唤醒 10:如果该焊盘变为低电平,则从关断状态唤醒。 11:如果该焊盘变为高电平,则从关断状态唤醒。 如果 IO 配置为 AON 外设信号或 AUX PORT_ID 0x01-0x08,则该寄存器仅设置是否使能唤醒。 00、01:唤醒禁用 10、11:唤醒使能 极性通过 AON 寄存器进行控制。 注意:当 MSB 置位时,IOC 将停用 DIO 的输出使能。 |
| 26-24 | IOMODE | R/W | 0h | IO 模式 不适用于配置为 AON 外设信号和 AUX PORT_ID 0x01-0x08 的 IO AUX 有自己的 open_source/drain 配置。 0x2: 保留。未定义的行为。 0x3:保留。未定义的行为。 0h = NORMAL:正常输入/输出 1h = INV:反相输入/输出 4h = OPENDR: 开漏, 正常输入/输出 5h = OPENDR_INV:开漏 反相输入/输出 6h = OPENSRC:开源 正常输入/输出 7h = OPENSRC_INV:开源 反相输入/输出 |
| 23 | IOEV_AON_PROG2_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG2 事件置为有效 1:输入边沿检测将 AON_PROG2 事件置为有效 |
| 22 | IOEV_AON_PROG1_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG1 事件置为有效 1:输入边沿检测将 AON_PROG1 事件置为有效 |
| 21 | IOEV_AON_PROG0_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG0 事件置为有效 1:输入边沿检测将 AON_PROG0 事件置为有效 |
| 20-19 | RESERVED | R | 0h | 保留 |
| 18 | EDGE_IRQ_EN | R/W | 0h | 0:无中断生成 1:使能该 IO 的中断生成(仅在 EDGE_DET 已使能时有效) |
| 17-16 | EDGE_DET | R/W | 0h | 使能该 IO 上的边沿检测事件生成 0h = NONE:无边沿检测 1h = 负边沿检测 2h = 正边沿检测 3h = 正负边沿检测 |
| 15 | RESERVED | R | 0h | 保留 |
| 14-13 | PULL_CTL | R/W | 3h | 上拉/下拉控制 1h = DWN:下拉 2h = UP:上拉 3h = DIS:无上拉/下拉 |
| 12 | SLEW_RED | R/W | 0h | 0:标称压摆率 1:在输出驱动器中降低压摆率。 |
| 11-10 | IOCURR | R/W | 0h | 选择该 IO 的 IO 电流模式。 0h = 2MA:低电流 (LC) 模式:IOSTR 设置为 AUTO 时最小值为 2mA 1h = 4MA:高电流 (HC) 模式:IOSTR 设置为 AUTO 时最小值为 4mA 2h = 4_8MA:扩展电流 (EC) 模式:当 IOSTR 设为 AUTO 时,双驱动强度 IO 的最小值为 8mA(标准 IO 的最小值为 4mA) |
| 9-8 | IOSTR | R/W | 0h | 选择该 IO 的驱动强度控制源。 此设置控制低电流 (LC) 模式的驱动强度。可在 IOCURR 中选择更高的驱动强度 0h = 自动驱动强度,由 AON BATMON 根据电池电压控制。(VDDS 时最小 2mA) 1h = 最小驱动强度,由 AON_IOC:IOSTRMIN 控制(默认值为 3.3V 时最小 2mA) 2h = MED:中等驱动强度,由 AON_IOC:IOSTRMED 控制(默认值为 2.5V 时最小 2mA) 3h = 最大驱动强度,由 AON_IOC:IOSTRMAX 控制(默认值为 1.8V 时最小 2mA) |
| 7 | IOEV_RTC_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 RTC 事件置为有效 1:输入边沿检测将 RTC 事件置为有效 |
| 6 | IOEV_MCU_WU_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 MCU_WU 事件置为有效 1:输入边沿检测将 MCU_WU 事件置为有效 |
| 5-0 | PORT_ID | R/W | 0h | 选择 DIO5 的用途 注意:除明确要求更改 PORT_ID 值的情况外,不应写入此字段。 0h =通用 IO 7h = AON 32 KHz 时钟 (SCLK_LF) 8h = AUX IO 9h = SSI0_RX:SSI0 RX Ah = SSI0_TX:SSI0 TX Bh = SSI0_FSS:SSI0 FSS Ch = SSI0_CLK:SSI0 CLK Dh = I2C_MSSDA:I2C 数据 Eh = I2C_MSSCL:I2C 时钟 Fh = UART0_RX:UART0 RX 10h = UART0_TX:UART0 TX 11h = UART0_CTS:UART0 CTS 12h = UART0_RTS:UART0 RTS 13h = UART1_RX:UART1 RX 14h = UART1_TX:UART1 TX 15h = UART1_CTS:UART1 CTS 16h = UART1_RTS:UART1 RTS 17h = PORT_EVENT0:端口事件 0 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 18h = PORT_EVENT1: 端口事件 1 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 19h = PORT_EVENT2: 端口事件 2 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ah = PORT_EVENT3: 端口事件 3 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Bh = PORT_EVENT4: 端口事件 4 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ch = PORT_EVENT5: 端口事件 5 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Dh = PORT_EVENT6: 端口事件 6 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Eh = PORT_EVENT7: 端口事件 7 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 20h = CPU_SWV: CPU SWV 21h = SSI1_RX:SSI1 RX 22h = SSI1_TX:SSI1 TX 23h = SSI1_FSS:SSI1 FSS 24h = SSI1_CLK:SSI1 CLK 25h = I2S_AD0:I2S 数据 0 26h = I2S_AD1: I2S 数据 1 27h = I2S_WCLK: I2S WCLK 28h = I2S_BCLK:I2S BCLK 29h = I2S_MCLK:I2S MCLK 2Eh = 射频内核跟踪 2Fh = 射频内核数据输出 0 30h = 射频内核数据输出 1 31h = 射频内核数据输出 2 32h = 射频内核数据输出 3 33h = 射频内核数据输入 0 34h = 射频内核数据输入 1 35h = 射频内核 SMI 数据链路输出 36h = 射频内核 SMI 数据链路输入 37h = 射频内核 SMI 命令链路输出 38h = 射频内核 SMI 命令链路输入 |
图 14-29 展示了 IOCFG6,表 14-36 对其进行了介绍。
返回到汇总表。
DIO6 的配置
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | HYST_EN | IE | WU_CFG | IOMODE | |||
| R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| IOEV_AON_PROG2_EN | IOEV_AON_PROG1_EN | IOEV_AON_PROG0_EN | RESERVED | EDGE_IRQ_EN | EDGE_DET | ||
| R/W-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | R/W-0h | ||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | PULL_CTL | SLEW_RED | IOCURR | IOSTR | |||
| R-0h | R/W-3h | R/W-0h | R/W-0h | R/W-0h | |||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| IOEV_RTC_EN | IOEV_MCU_WU_EN | PORT_ID | |||||
| R/W-0h | R/W-0h | R/W-0h | |||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31 | RESERVED | R | 0h | 保留 |
| 30 | HYST_EN | R/W | 0h | 0:输入迟滞禁用 1:输入迟滞使能 |
| 29 | IE | R/W | 0h | 0:输入禁用 1:输入使能 注意:如果 IO 配置为 AUX PORT_ID = 0x08,则使能将被忽略。 |
| 28-27 | WU_CFG | R/W | 0h | 如果 DIO 配置为 GPIO 或非 AON 外设信号(PORT_ID 0x00 或 >0x08): 00:无唤醒 01:无唤醒 10:如果该焊盘变为低电平,则从关断状态唤醒。 11:如果该焊盘变为高电平,则从关断状态唤醒。 如果 IO 配置为 AON 外设信号或 AUX PORT_ID 0x01-0x08,则该寄存器仅设置是否使能唤醒。 00、01:唤醒禁用 10、11:唤醒使能 极性通过 AON 寄存器进行控制。 注意:当 MSB 置位时,IOC 将停用 DIO 的输出使能。 |
| 26-24 | IOMODE | R/W | 0h | IO 模式 不适用于配置为 AON 外设信号和 AUX PORT_ID 0x01-0x08 的 IO AUX 有自己的 open_source/drain 配置。 0x2: 保留。未定义的行为。 0x3:保留。未定义的行为。 0h = NORMAL:正常输入/输出 1h = INV:反相输入/输出 4h = OPENDR: 开漏, 正常输入/输出 5h = OPENDR_INV:开漏 反相输入/输出 6h = OPENSRC:开源 正常输入/输出 7h = OPENSRC_INV:开源 反相输入/输出 |
| 23 | IOEV_AON_PROG2_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG2 事件置为有效 1:输入边沿检测将 AON_PROG2 事件置为有效 |
| 22 | IOEV_AON_PROG1_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG1 事件置为有效 1:输入边沿检测将 AON_PROG1 事件置为有效 |
| 21 | IOEV_AON_PROG0_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG0 事件置为有效 1:输入边沿检测将 AON_PROG0 事件置为有效 |
| 20-19 | RESERVED | R | 0h | 保留 |
| 18 | EDGE_IRQ_EN | R/W | 0h | 0:无中断生成 1:使能该 IO 的中断生成(仅在 EDGE_DET 已使能时有效) |
| 17-16 | EDGE_DET | R/W | 0h | 使能该 IO 上的边沿检测事件生成 0h = NONE:无边沿检测 1h = 负边沿检测 2h = 正边沿检测 3h = 正负边沿检测 |
| 15 | RESERVED | R | 0h | 保留 |
| 14-13 | PULL_CTL | R/W | 3h | 上拉/下拉控制 1h = DWN:下拉 2h = UP:上拉 3h = DIS:无上拉/下拉 |
| 12 | SLEW_RED | R/W | 0h | 0:标称压摆率 1:在输出驱动器中降低压摆率。 |
| 11-10 | IOCURR | R/W | 0h | 选择该 IO 的 IO 电流模式。 0h = 2MA:低电流 (LC) 模式:IOSTR 设置为 AUTO 时最小值为 2mA 1h = 4MA:高电流 (HC) 模式:IOSTR 设置为 AUTO 时最小值为 4mA 2h = 4_8MA:扩展电流 (EC) 模式:当 IOSTR 设为 AUTO 时,双驱动强度 IO 的最小值为 8mA(标准 IO 的最小值为 4mA) |
| 9-8 | IOSTR | R/W | 0h | 选择该 IO 的驱动强度控制源。 此设置控制低电流 (LC) 模式的驱动强度。可在 IOCURR 中选择更高的驱动强度 0h = 自动驱动强度,由 AON BATMON 根据电池电压控制。(VDDS 时最小 2mA) 1h = 最小驱动强度,由 AON_IOC:IOSTRMIN 控制(默认值为 3.3V 时最小 2mA) 2h = MED:中等驱动强度,由 AON_IOC:IOSTRMED 控制(默认值为 2.5V 时最小 2mA) 3h = 最大驱动强度,由 AON_IOC:IOSTRMAX 控制(默认值为 1.8V 时最小 2mA) |
| 7 | IOEV_RTC_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 RTC 事件置为有效 1:输入边沿检测将 RTC 事件置为有效 |
| 6 | IOEV_MCU_WU_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 MCU_WU 事件置为有效 1:输入边沿检测将 MCU_WU 事件置为有效 |
| 5-0 | PORT_ID | R/W | 0h | 选择 DIO6 的用途 注意:除明确要求更改 PORT_ID 值的情况外,不应写入此字段。 0h =通用 IO 7h = AON 32 KHz 时钟 (SCLK_LF) 8h = AUX IO 9h = SSI0_RX:SSI0 RX Ah = SSI0_TX:SSI0 TX Bh = SSI0_FSS:SSI0 FSS Ch = SSI0_CLK:SSI0 CLK Dh = I2C_MSSDA:I2C 数据 Eh = I2C_MSSCL:I2C 时钟 Fh = UART0_RX:UART0 RX 10h = UART0_TX:UART0 TX 11h = UART0_CTS:UART0 CTS 12h = UART0_RTS:UART0 RTS 13h = UART1_RX:UART1 RX 14h = UART1_TX:UART1 TX 15h = UART1_CTS:UART1 CTS 16h = UART1_RTS:UART1 RTS 17h = PORT_EVENT0:端口事件 0 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 18h = PORT_EVENT1: 端口事件 1 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 19h = PORT_EVENT2: 端口事件 2 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ah = PORT_EVENT3: 端口事件 3 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Bh = PORT_EVENT4: 端口事件 4 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ch = PORT_EVENT5: 端口事件 5 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Dh = PORT_EVENT6: 端口事件 6 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Eh = PORT_EVENT7: 端口事件 7 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 20h = CPU_SWV: CPU SWV 21h = SSI1_RX:SSI1 RX 22h = SSI1_TX:SSI1 TX 23h = SSI1_FSS:SSI1 FSS 24h = SSI1_CLK:SSI1 CLK 25h = I2S_AD0:I2S 数据 0 26h = I2S_AD1: I2S 数据 1 27h = I2S_WCLK: I2S WCLK 28h = I2S_BCLK:I2S BCLK 29h = I2S_MCLK:I2S MCLK 2Eh = 射频内核跟踪 2Fh = 射频内核数据输出 0 30h = 射频内核数据输出 1 31h = 射频内核数据输出 2 32h = 射频内核数据输出 3 33h = 射频内核数据输入 0 34h = 射频内核数据输入 1 35h = 射频内核 SMI 数据链路输出 36h = 射频内核 SMI 数据链路输入 37h = 射频内核 SMI 命令链路输出 38h = 射频内核 SMI 命令链路输入 |
图 14-30 展示了 IOCFG7,表 14-37 对其进行了介绍。
返回到汇总表。
DIO7 的配置
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | HYST_EN | IE | WU_CFG | IOMODE | |||
| R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| IOEV_AON_PROG2_EN | IOEV_AON_PROG1_EN | IOEV_AON_PROG0_EN | RESERVED | EDGE_IRQ_EN | EDGE_DET | ||
| R/W-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | R/W-0h | ||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | PULL_CTL | SLEW_RED | IOCURR | IOSTR | |||
| R-0h | R/W-3h | R/W-0h | R/W-0h | R/W-0h | |||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| IOEV_RTC_EN | IOEV_MCU_WU_EN | PORT_ID | |||||
| R/W-0h | R/W-0h | R/W-0h | |||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31 | RESERVED | R | 0h | 保留 |
| 30 | HYST_EN | R/W | 0h | 0:输入迟滞禁用 1:输入迟滞使能 |
| 29 | IE | R/W | 0h | 0:输入禁用 1:输入使能 注意:如果 IO 配置为 AUX PORT_ID = 0x08,则使能将被忽略。 |
| 28-27 | WU_CFG | R/W | 0h | 如果 DIO 配置为 GPIO 或非 AON 外设信号(PORT_ID 0x00 或 >0x08): 00:无唤醒 01:无唤醒 10:如果该焊盘变为低电平,则从关断状态唤醒。 11:如果该焊盘变为高电平,则从关断状态唤醒。 如果 IO 配置为 AON 外设信号或 AUX PORT_ID 0x01-0x08,则该寄存器仅设置是否使能唤醒。 00、01:唤醒禁用 10、11:唤醒使能 极性通过 AON 寄存器进行控制。 注意:当 MSB 置位时,IOC 将停用 DIO 的输出使能。 |
| 26-24 | IOMODE | R/W | 0h | IO 模式 不适用于配置为 AON 外设信号和 AUX PORT_ID 0x01-0x08 的 IO AUX 有自己的 open_source/drain 配置。 0x2: 保留。未定义的行为。 0x3:保留。未定义的行为。 0h = NORMAL:正常输入/输出 1h = INV:反相输入/输出 4h = OPENDR: 开漏, 正常输入/输出 5h = OPENDR_INV:开漏 反相输入/输出 6h = OPENSRC:开源 正常输入/输出 7h = OPENSRC_INV:开源 反相输入/输出 |
| 23 | IOEV_AON_PROG2_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG2 事件置为有效 1:输入边沿检测将 AON_PROG2 事件置为有效 |
| 22 | IOEV_AON_PROG1_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG1 事件置为有效 1:输入边沿检测将 AON_PROG1 事件置为有效 |
| 21 | IOEV_AON_PROG0_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG0 事件置为有效 1:输入边沿检测将 AON_PROG0 事件置为有效 |
| 20-19 | RESERVED | R | 0h | 保留 |
| 18 | EDGE_IRQ_EN | R/W | 0h | 0:无中断生成 1:使能该 IO 的中断生成(仅在 EDGE_DET 已使能时有效) |
| 17-16 | EDGE_DET | R/W | 0h | 使能该 IO 上的边沿检测事件生成 0h = NONE:无边沿检测 1h = 负边沿检测 2h = 正边沿检测 3h = 正负边沿检测 |
| 15 | RESERVED | R | 0h | 保留 |
| 14-13 | PULL_CTL | R/W | 3h | 上拉/下拉控制 1h = DWN:下拉 2h = UP:上拉 3h = DIS:无上拉/下拉 |
| 12 | SLEW_RED | R/W | 0h | 0:标称压摆率 1:在输出驱动器中降低压摆率。 |
| 11-10 | IOCURR | R/W | 0h | 选择该 IO 的 IO 电流模式。 0h = 2MA:低电流 (LC) 模式:IOSTR 设置为 AUTO 时最小值为 2mA 1h = 4MA:高电流 (HC) 模式:IOSTR 设置为 AUTO 时最小值为 4mA 2h = 4_8MA:扩展电流 (EC) 模式:当 IOSTR 设为 AUTO 时,双驱动强度 IO 的最小值为 8mA(标准 IO 的最小值为 4mA) |
| 9-8 | IOSTR | R/W | 0h | 选择该 IO 的驱动强度控制源。 此设置控制低电流 (LC) 模式的驱动强度。可在 IOCURR 中选择更高的驱动强度 0h = 自动驱动强度,由 AON BATMON 根据电池电压控制。(VDDS 时最小 2mA) 1h = 最小驱动强度,由 AON_IOC:IOSTRMIN 控制(默认值为 3.3V 时最小 2mA) 2h = MED:中等驱动强度,由 AON_IOC:IOSTRMED 控制(默认值为 2.5V 时最小 2mA) 3h = 最大驱动强度,由 AON_IOC:IOSTRMAX 控制(默认值为 1.8V 时最小 2mA) |
| 7 | IOEV_RTC_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 RTC 事件置为有效 1:输入边沿检测将 RTC 事件置为有效 |
| 6 | IOEV_MCU_WU_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 MCU_WU 事件置为有效 1:输入边沿检测将 MCU_WU 事件置为有效 |
| 5-0 | PORT_ID | R/W | 0h | 选择 DIO7 的用途 注意:除明确要求更改 PORT_ID 值的情况外,不应写入此字段。 0h =通用 IO 7h = AON 32 KHz 时钟 (SCLK_LF) 8h = AUX IO 9h = SSI0_RX:SSI0 RX Ah = SSI0_TX:SSI0 TX Bh = SSI0_FSS:SSI0 FSS Ch = SSI0_CLK:SSI0 CLK Dh = I2C_MSSDA:I2C 数据 Eh = I2C_MSSCL:I2C 时钟 Fh = UART0_RX:UART0 RX 10h = UART0_TX:UART0 TX 11h = UART0_CTS:UART0 CTS 12h = UART0_RTS:UART0 RTS 13h = UART1_RX:UART1 RX 14h = UART1_TX:UART1 TX 15h = UART1_CTS:UART1 CTS 16h = UART1_RTS:UART1 RTS 17h = PORT_EVENT0:端口事件 0 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 18h = PORT_EVENT1: 端口事件 1 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 19h = PORT_EVENT2: 端口事件 2 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ah = PORT_EVENT3: 端口事件 3 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Bh = PORT_EVENT4: 端口事件 4 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ch = PORT_EVENT5: 端口事件 5 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Dh = PORT_EVENT6: 端口事件 6 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Eh = PORT_EVENT7: 端口事件 7 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 20h = CPU_SWV: CPU SWV 21h = SSI1_RX:SSI1 RX 22h = SSI1_TX:SSI1 TX 23h = SSI1_FSS:SSI1 FSS 24h = SSI1_CLK:SSI1 CLK 25h = I2S_AD0:I2S 数据 0 26h = I2S_AD1: I2S 数据 1 27h = I2S_WCLK: I2S WCLK 28h = I2S_BCLK:I2S BCLK 29h = I2S_MCLK:I2S MCLK 2Eh = 射频内核跟踪 2Fh = 射频内核数据输出 0 30h = 射频内核数据输出 1 31h = 射频内核数据输出 2 32h = 射频内核数据输出 3 33h = 射频内核数据输入 0 34h = 射频内核数据输入 1 35h = 射频内核 SMI 数据链路输出 36h = 射频内核 SMI 数据链路输入 37h = 射频内核 SMI 命令链路输出 38h = 射频内核 SMI 命令链路输入 |
图 14-31 展示了 IOCFG8,表 14-38 对其进行了介绍。
返回到汇总表。
DIO8 的配置
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | HYST_EN | IE | WU_CFG | IOMODE | |||
| R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| IOEV_AON_PROG2_EN | IOEV_AON_PROG1_EN | IOEV_AON_PROG0_EN | RESERVED | EDGE_IRQ_EN | EDGE_DET | ||
| R/W-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | R/W-0h | ||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | PULL_CTL | SLEW_RED | IOCURR | IOSTR | |||
| R-0h | R/W-3h | R/W-0h | R/W-0h | R/W-0h | |||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| IOEV_RTC_EN | IOEV_MCU_WU_EN | PORT_ID | |||||
| R/W-0h | R/W-0h | R/W-0h | |||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31 | RESERVED | R | 0h | 保留 |
| 30 | HYST_EN | R/W | 0h | 0:输入迟滞禁用 1:输入迟滞使能 |
| 29 | IE | R/W | 0h | 0:输入禁用 1:输入使能 注意:如果 IO 配置为 AUX PORT_ID = 0x08,则使能将被忽略。 |
| 28-27 | WU_CFG | R/W | 0h | 如果 DIO 配置为 GPIO 或非 AON 外设信号(PORT_ID 0x00 或 >0x08): 00:无唤醒 01:无唤醒 10:如果该焊盘变为低电平,则从关断状态唤醒。 11:如果该焊盘变为高电平,则从关断状态唤醒。 如果 IO 配置为 AON 外设信号或 AUX PORT_ID 0x01-0x08,则该寄存器仅设置是否使能唤醒。 00、01:唤醒禁用 10、11:唤醒使能 极性通过 AON 寄存器进行控制。 注意:当 MSB 置位时,IOC 将停用 DIO 的输出使能。 |
| 26-24 | IOMODE | R/W | 0h | IO 模式 不适用于配置为 AON 外设信号和 AUX PORT_ID 0x01-0x08 的 IO AUX 有自己的 open_source/drain 配置。 0x2: 保留。未定义的行为。 0x3:保留。未定义的行为。 0h = NORMAL:正常输入/输出 1h = INV:反相输入/输出 4h = OPENDR: 开漏, 正常输入/输出 5h = OPENDR_INV:开漏 反相输入/输出 6h = OPENSRC:开源 正常输入/输出 7h = OPENSRC_INV:开源 反相输入/输出 |
| 23 | IOEV_AON_PROG2_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG2 事件置为有效 1:输入边沿检测将 AON_PROG2 事件置为有效 |
| 22 | IOEV_AON_PROG1_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG1 事件置为有效 1:输入边沿检测将 AON_PROG1 事件置为有效 |
| 21 | IOEV_AON_PROG0_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG0 事件置为有效 1:输入边沿检测将 AON_PROG0 事件置为有效 |
| 20-19 | RESERVED | R | 0h | 保留 |
| 18 | EDGE_IRQ_EN | R/W | 0h | 0:无中断生成 1:使能该 IO 的中断生成(仅在 EDGE_DET 已使能时有效) |
| 17-16 | EDGE_DET | R/W | 0h | 使能该 IO 上的边沿检测事件生成 0h = NONE:无边沿检测 1h = 负边沿检测 2h = 正边沿检测 3h = 正负边沿检测 |
| 15 | RESERVED | R | 0h | 保留 |
| 14-13 | PULL_CTL | R/W | 3h | 上拉/下拉控制 1h = DWN:下拉 2h = UP:上拉 3h = DIS:无上拉/下拉 |
| 12 | SLEW_RED | R/W | 0h | 0:标称压摆率 1:在输出驱动器中降低压摆率。 |
| 11-10 | IOCURR | R/W | 0h | 选择该 IO 的 IO 电流模式。 0h = 2MA:低电流 (LC) 模式:IOSTR 设置为 AUTO 时最小值为 2mA 1h = 4MA:高电流 (HC) 模式:IOSTR 设置为 AUTO 时最小值为 4mA 2h = 4_8MA:扩展电流 (EC) 模式:当 IOSTR 设为 AUTO 时,双驱动强度 IO 的最小值为 8mA(标准 IO 的最小值为 4mA) |
| 9-8 | IOSTR | R/W | 0h | 选择该 IO 的驱动强度控制源。 此设置控制低电流 (LC) 模式的驱动强度。可在 IOCURR 中选择更高的驱动强度 0h = 自动驱动强度,由 AON BATMON 根据电池电压控制。(VDDS 时最小 2mA) 1h = 最小驱动强度,由 AON_IOC:IOSTRMIN 控制(默认值为 3.3V 时最小 2mA) 2h = MED:中等驱动强度,由 AON_IOC:IOSTRMED 控制(默认值为 2.5V 时最小 2mA) 3h = 最大驱动强度,由 AON_IOC:IOSTRMAX 控制(默认值为 1.8V 时最小 2mA) |
| 7 | IOEV_RTC_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 RTC 事件置为有效 1:输入边沿检测将 RTC 事件置为有效 |
| 6 | IOEV_MCU_WU_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 MCU_WU 事件置为有效 1:输入边沿检测将 MCU_WU 事件置为有效 |
| 5-0 | PORT_ID | R/W | 0h | 选择 DIO8 的用途 注意:除明确要求更改 PORT_ID 值的情况外,不应写入此字段。 0h =通用 IO 7h = AON 32 KHz 时钟 (SCLK_LF) 8h = AUX IO 9h = SSI0_RX:SSI0 RX Ah = SSI0_TX:SSI0 TX Bh = SSI0_FSS:SSI0 FSS Ch = SSI0_CLK:SSI0 CLK Dh = I2C_MSSDA:I2C 数据 Eh = I2C_MSSCL:I2C 时钟 Fh = UART0_RX:UART0 RX 10h = UART0_TX:UART0 TX 11h = UART0_CTS:UART0 CTS 12h = UART0_RTS:UART0 RTS 13h = UART1_RX:UART1 RX 14h = UART1_TX:UART1 TX 15h = UART1_CTS:UART1 CTS 16h = UART1_RTS:UART1 RTS 17h = PORT_EVENT0:端口事件 0 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 18h = PORT_EVENT1: 端口事件 1 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 19h = PORT_EVENT2: 端口事件 2 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ah = PORT_EVENT3: 端口事件 3 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Bh = PORT_EVENT4: 端口事件 4 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ch = PORT_EVENT5: 端口事件 5 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Dh = PORT_EVENT6: 端口事件 6 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Eh = PORT_EVENT7: 端口事件 7 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 20h = CPU_SWV: CPU SWV 21h = SSI1_RX:SSI1 RX 22h = SSI1_TX:SSI1 TX 23h = SSI1_FSS:SSI1 FSS 24h = SSI1_CLK:SSI1 CLK 25h = I2S_AD0:I2S 数据 0 26h = I2S_AD1: I2S 数据 1 27h = I2S_WCLK: I2S WCLK 28h = I2S_BCLK:I2S BCLK 29h = I2S_MCLK:I2S MCLK 2Eh = 射频内核跟踪 2Fh = 射频内核数据输出 0 30h = 射频内核数据输出 1 31h = 射频内核数据输出 2 32h = 射频内核数据输出 3 33h = 射频内核数据输入 0 34h = 射频内核数据输入 1 35h = 射频内核 SMI 数据链路输出 36h = 射频内核 SMI 数据链路输入 37h = 射频内核 SMI 命令链路输出 38h = 射频内核 SMI 命令链路输入 |
图 14-32 展示了 IOCFG9,表 14-39 对其进行了介绍。
返回到汇总表。
DIO9 的配置
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | HYST_EN | IE | WU_CFG | IOMODE | |||
| R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| IOEV_AON_PROG2_EN | IOEV_AON_PROG1_EN | IOEV_AON_PROG0_EN | RESERVED | EDGE_IRQ_EN | EDGE_DET | ||
| R/W-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | R/W-0h | ||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | PULL_CTL | SLEW_RED | IOCURR | IOSTR | |||
| R-0h | R/W-3h | R/W-0h | R/W-0h | R/W-0h | |||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| IOEV_RTC_EN | IOEV_MCU_WU_EN | PORT_ID | |||||
| R/W-0h | R/W-0h | R/W-0h | |||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31 | RESERVED | R | 0h | 保留 |
| 30 | HYST_EN | R/W | 0h | 0:输入迟滞禁用 1:输入迟滞使能 |
| 29 | IE | R/W | 0h | 0:输入禁用 1:输入使能 注意:如果 IO 配置为 AUX PORT_ID = 0x08,则使能将被忽略。 |
| 28-27 | WU_CFG | R/W | 0h | 如果 DIO 配置为 GPIO 或非 AON 外设信号(PORT_ID 0x00 或 >0x08): 00:无唤醒 01:无唤醒 10:如果该焊盘变为低电平,则从关断状态唤醒。 11:如果该焊盘变为高电平,则从关断状态唤醒。 如果 IO 配置为 AON 外设信号或 AUX PORT_ID 0x01-0x08,则该寄存器仅设置是否使能唤醒。 00、01:唤醒禁用 10、11:唤醒使能 极性通过 AON 寄存器进行控制。 注意:当 MSB 置位时,IOC 将停用 DIO 的输出使能。 |
| 26-24 | IOMODE | R/W | 0h | IO 模式 不适用于配置为 AON 外设信号和 AUX PORT_ID 0x01-0x08 的 IO AUX 有自己的 open_source/drain 配置。 0x2: 保留。未定义的行为。 0x3:保留。未定义的行为。 0h = NORMAL:正常输入/输出 1h = INV:反相输入/输出 4h = OPENDR: 开漏, 正常输入/输出 5h = OPENDR_INV:开漏 反相输入/输出 6h = OPENSRC:开源 正常输入/输出 7h = OPENSRC_INV:开源 反相输入/输出 |
| 23 | IOEV_AON_PROG2_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG2 事件置为有效 1:输入边沿检测将 AON_PROG2 事件置为有效 |
| 22 | IOEV_AON_PROG1_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG1 事件置为有效 1:输入边沿检测将 AON_PROG1 事件置为有效 |
| 21 | IOEV_AON_PROG0_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG0 事件置为有效 1:输入边沿检测将 AON_PROG0 事件置为有效 |
| 20-19 | RESERVED | R | 0h | 保留 |
| 18 | EDGE_IRQ_EN | R/W | 0h | 0:无中断生成 1:使能该 IO 的中断生成(仅在 EDGE_DET 已使能时有效) |
| 17-16 | EDGE_DET | R/W | 0h | 使能该 IO 上的边沿检测事件生成 0h = NONE:无边沿检测 1h = 负边沿检测 2h = 正边沿检测 3h = 正负边沿检测 |
| 15 | RESERVED | R | 0h | 保留 |
| 14-13 | PULL_CTL | R/W | 3h | 上拉/下拉控制 1h = DWN:下拉 2h = UP:上拉 3h = DIS:无上拉/下拉 |
| 12 | SLEW_RED | R/W | 0h | 0:标称压摆率 1:在输出驱动器中降低压摆率。 |
| 11-10 | IOCURR | R/W | 0h | 选择该 IO 的 IO 电流模式。 0h = 2MA:低电流 (LC) 模式:IOSTR 设置为 AUTO 时最小值为 2mA 1h = 4MA:高电流 (HC) 模式:IOSTR 设置为 AUTO 时最小值为 4mA 2h = 4_8MA:扩展电流 (EC) 模式:当 IOSTR 设为 AUTO 时,双驱动强度 IO 的最小值为 8mA(标准 IO 的最小值为 4mA) |
| 9-8 | IOSTR | R/W | 0h | 选择该 IO 的驱动强度控制源。 此设置控制低电流 (LC) 模式的驱动强度。可在 IOCURR 中选择更高的驱动强度 0h = 自动驱动强度,由 AON BATMON 根据电池电压控制。(VDDS 时最小 2mA) 1h = 最小驱动强度,由 AON_IOC:IOSTRMIN 控制(默认值为 3.3V 时最小 2mA) 2h = MED:中等驱动强度,由 AON_IOC:IOSTRMED 控制(默认值为 2.5V 时最小 2mA) 3h = 最大驱动强度,由 AON_IOC:IOSTRMAX 控制(默认值为 1.8V 时最小 2mA) |
| 7 | IOEV_RTC_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 RTC 事件置为有效 1:输入边沿检测将 RTC 事件置为有效 |
| 6 | IOEV_MCU_WU_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 MCU_WU 事件置为有效 1:输入边沿检测将 MCU_WU 事件置为有效 |
| 5-0 | PORT_ID | R/W | 0h | 选择 DIO9 的用途 注意:除明确要求更改 PORT_ID 值的情况外,不应写入此字段。 0h =通用 IO 7h = AON 32 KHz 时钟 (SCLK_LF) 8h = AUX IO 9h = SSI0_RX:SSI0 RX Ah = SSI0_TX:SSI0 TX Bh = SSI0_FSS:SSI0 FSS Ch = SSI0_CLK:SSI0 CLK Dh = I2C_MSSDA:I2C 数据 Eh = I2C_MSSCL:I2C 时钟 Fh = UART0_RX:UART0 RX 10h = UART0_TX:UART0 TX 11h = UART0_CTS:UART0 CTS 12h = UART0_RTS:UART0 RTS 13h = UART1_RX:UART1 RX 14h = UART1_TX:UART1 TX 15h = UART1_CTS:UART1 CTS 16h = UART1_RTS:UART1 RTS 17h = PORT_EVENT0:端口事件 0 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 18h = PORT_EVENT1: 端口事件 1 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 19h = PORT_EVENT2: 端口事件 2 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ah = PORT_EVENT3: 端口事件 3 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Bh = PORT_EVENT4: 端口事件 4 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ch = PORT_EVENT5: 端口事件 5 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Dh = PORT_EVENT6: 端口事件 6 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Eh = PORT_EVENT7: 端口事件 7 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 20h = CPU_SWV: CPU SWV 21h = SSI1_RX:SSI1 RX 22h = SSI1_TX:SSI1 TX 23h = SSI1_FSS:SSI1 FSS 24h = SSI1_CLK:SSI1 CLK 25h = I2S_AD0:I2S 数据 0 26h = I2S_AD1: I2S 数据 1 27h = I2S_WCLK: I2S WCLK 28h = I2S_BCLK:I2S BCLK 29h = I2S_MCLK:I2S MCLK 2Eh = 射频内核跟踪 2Fh = 射频内核数据输出 0 30h = 射频内核数据输出 1 31h = 射频内核数据输出 2 32h = 射频内核数据输出 3 33h = 射频内核数据输入 0 34h = 射频内核数据输入 1 35h = 射频内核 SMI 数据链路输出 36h = 射频内核 SMI 数据链路输入 37h = 射频内核 SMI 命令链路输出 38h = 射频内核 SMI 命令链路输入 |
图 14-33 展示了 IOCFG10,表 14-40 对其进行了介绍。
返回到汇总表。
DIO10 的配置
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | HYST_EN | IE | WU_CFG | IOMODE | |||
| R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| IOEV_AON_PROG2_EN | IOEV_AON_PROG1_EN | IOEV_AON_PROG0_EN | RESERVED | EDGE_IRQ_EN | EDGE_DET | ||
| R/W-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | R/W-0h | ||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | PULL_CTL | SLEW_RED | IOCURR | IOSTR | |||
| R-0h | R/W-3h | R/W-0h | R/W-0h | R/W-0h | |||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| IOEV_RTC_EN | IOEV_MCU_WU_EN | PORT_ID | |||||
| R/W-0h | R/W-0h | R/W-0h | |||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31 | RESERVED | R | 0h | 保留 |
| 30 | HYST_EN | R/W | 0h | 0:输入迟滞禁用 1:输入迟滞使能 |
| 29 | IE | R/W | 0h | 0:输入禁用 1:输入使能 注意:如果 IO 配置为 AUX PORT_ID = 0x08,则使能将被忽略。 |
| 28-27 | WU_CFG | R/W | 0h | 如果 DIO 配置为 GPIO 或非 AON 外设信号(PORT_ID 0x00 或 >0x08): 00:无唤醒 01:无唤醒 10:如果该焊盘变为低电平,则从关断状态唤醒。 11:如果该焊盘变为高电平,则从关断状态唤醒。 如果 IO 配置为 AON 外设信号或 AUX PORT_ID 0x01-0x08,则该寄存器仅设置是否使能唤醒。 00、01:唤醒禁用 10、11:唤醒使能 极性通过 AON 寄存器进行控制。 注意:当 MSB 置位时,IOC 将停用 DIO 的输出使能。 |
| 26-24 | IOMODE | R/W | 0h | IO 模式 不适用于配置为 AON 外设信号和 AUX PORT_ID 0x01-0x08 的 IO AUX 有自己的 open_source/drain 配置。 0x2: 保留。未定义的行为。 0x3:保留。未定义的行为。 0h = NORMAL:正常输入/输出 1h = INV:反相输入/输出 4h = OPENDR: 开漏, 正常输入/输出 5h = OPENDR_INV:开漏 反相输入/输出 6h = OPENSRC:开源 正常输入/输出 7h = OPENSRC_INV:开源 反相输入/输出 |
| 23 | IOEV_AON_PROG2_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG2 事件置为有效 1:输入边沿检测将 AON_PROG2 事件置为有效 |
| 22 | IOEV_AON_PROG1_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG1 事件置为有效 1:输入边沿检测将 AON_PROG1 事件置为有效 |
| 21 | IOEV_AON_PROG0_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG0 事件置为有效 1:输入边沿检测将 AON_PROG0 事件置为有效 |
| 20-19 | RESERVED | R | 0h | 保留 |
| 18 | EDGE_IRQ_EN | R/W | 0h | 0:无中断生成 1:使能该 IO 的中断生成(仅在 EDGE_DET 已使能时有效) |
| 17-16 | EDGE_DET | R/W | 0h | 使能该 IO 上的边沿检测事件生成 0h = NONE:无边沿检测 1h = 负边沿检测 2h = 正边沿检测 3h = 正负边沿检测 |
| 15 | RESERVED | R | 0h | 保留 |
| 14-13 | PULL_CTL | R/W | 3h | 上拉/下拉控制 1h = DWN:下拉 2h = UP:上拉 3h = DIS:无上拉/下拉 |
| 12 | SLEW_RED | R/W | 0h | 0:标称压摆率 1:在输出驱动器中降低压摆率。 |
| 11-10 | IOCURR | R/W | 0h | 选择该 IO 的 IO 电流模式。 0h = 2MA:低电流 (LC) 模式:IOSTR 设置为 AUTO 时最小值为 2mA 1h = 4MA:高电流 (HC) 模式:IOSTR 设置为 AUTO 时最小值为 4mA 2h = 4_8MA:扩展电流 (EC) 模式:当 IOSTR 设为 AUTO 时,双驱动强度 IO 的最小值为 8mA(标准 IO 的最小值为 4mA) |
| 9-8 | IOSTR | R/W | 0h | 选择该 IO 的驱动强度控制源。 此设置控制低电流 (LC) 模式的驱动强度。可在 IOCURR 中选择更高的驱动强度 0h = 自动驱动强度,由 AON BATMON 根据电池电压控制。(VDDS 时最小 2mA) 1h = 最小驱动强度,由 AON_IOC:IOSTRMIN 控制(默认值为 3.3V 时最小 2mA) 2h = MED:中等驱动强度,由 AON_IOC:IOSTRMED 控制(默认值为 2.5V 时最小 2mA) 3h = 最大驱动强度,由 AON_IOC:IOSTRMAX 控制(默认值为 1.8V 时最小 2mA) |
| 7 | IOEV_RTC_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 RTC 事件置为有效 1:输入边沿检测将 RTC 事件置为有效 |
| 6 | IOEV_MCU_WU_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 MCU_WU 事件置为有效 1:输入边沿检测将 MCU_WU 事件置为有效 |
| 5-0 | PORT_ID | R/W | 0h | 选择 DIO10 的用途 注意:除明确要求更改 PORT_ID 值的情况外,不应写入此字段。 0h =通用 IO 7h = AON 32 KHz 时钟 (SCLK_LF) 8h = AUX IO 9h = SSI0_RX:SSI0 RX Ah = SSI0_TX:SSI0 TX Bh = SSI0_FSS:SSI0 FSS Ch = SSI0_CLK:SSI0 CLK Dh = I2C_MSSDA:I2C 数据 Eh = I2C_MSSCL:I2C 时钟 Fh = UART0_RX:UART0 RX 10h = UART0_TX:UART0 TX 11h = UART0_CTS:UART0 CTS 12h = UART0_RTS:UART0 RTS 13h = UART1_RX:UART1 RX 14h = UART1_TX:UART1 TX 15h = UART1_CTS:UART1 CTS 16h = UART1_RTS:UART1 RTS 17h = PORT_EVENT0:端口事件 0 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 18h = PORT_EVENT1: 端口事件 1 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 19h = PORT_EVENT2: 端口事件 2 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ah = PORT_EVENT3: 端口事件 3 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Bh = PORT_EVENT4: 端口事件 4 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ch = PORT_EVENT5: 端口事件 5 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Dh = PORT_EVENT6: 端口事件 6 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Eh = PORT_EVENT7: 端口事件 7 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 20h = CPU_SWV: CPU SWV 21h = SSI1_RX:SSI1 RX 22h = SSI1_TX:SSI1 TX 23h = SSI1_FSS:SSI1 FSS 24h = SSI1_CLK:SSI1 CLK 25h = I2S_AD0:I2S 数据 0 26h = I2S_AD1: I2S 数据 1 27h = I2S_WCLK: I2S WCLK 28h = I2S_BCLK:I2S BCLK 29h = I2S_MCLK:I2S MCLK 2Eh = 射频内核跟踪 2Fh = 射频内核数据输出 0 30h = 射频内核数据输出 1 31h = 射频内核数据输出 2 32h = 射频内核数据输出 3 33h = 射频内核数据输入 0 34h = 射频内核数据输入 1 35h = 射频内核 SMI 数据链路输出 36h = 射频内核 SMI 数据链路输入 37h = 射频内核 SMI 命令链路输出 38h = 射频内核 SMI 命令链路输入 |
图 14-34 展示了 IOCFG11,表 14-41 对其进行了介绍。
返回到汇总表。
DIO11 的配置
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | HYST_EN | IE | WU_CFG | IOMODE | |||
| R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| IOEV_AON_PROG2_EN | IOEV_AON_PROG1_EN | IOEV_AON_PROG0_EN | RESERVED | EDGE_IRQ_EN | EDGE_DET | ||
| R/W-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | R/W-0h | ||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | PULL_CTL | SLEW_RED | IOCURR | IOSTR | |||
| R-0h | R/W-3h | R/W-0h | R/W-0h | R/W-0h | |||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| IOEV_RTC_EN | IOEV_MCU_WU_EN | PORT_ID | |||||
| R/W-0h | R/W-0h | R/W-0h | |||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31 | RESERVED | R | 0h | 保留 |
| 30 | HYST_EN | R/W | 0h | 0:输入迟滞禁用 1:输入迟滞使能 |
| 29 | IE | R/W | 0h | 0:输入禁用 1:输入使能 注意:如果 IO 配置为 AUX PORT_ID = 0x08,则使能将被忽略。 |
| 28-27 | WU_CFG | R/W | 0h | 如果 DIO 配置为 GPIO 或非 AON 外设信号(PORT_ID 0x00 或 >0x08): 00:无唤醒 01:无唤醒 10:如果该焊盘变为低电平,则从关断状态唤醒。 11:如果该焊盘变为高电平,则从关断状态唤醒。 如果 IO 配置为 AON 外设信号或 AUX PORT_ID 0x01-0x08,则该寄存器仅设置是否使能唤醒。 00、01:唤醒禁用 10、11:唤醒使能 极性通过 AON 寄存器进行控制。 注意:当 MSB 置位时,IOC 将停用 DIO 的输出使能。 |
| 26-24 | IOMODE | R/W | 0h | IO 模式 不适用于配置为 AON 外设信号和 AUX PORT_ID 0x01-0x08 的 IO AUX 有自己的 open_source/drain 配置。 0x2: 保留。未定义的行为。 0x3:保留。未定义的行为。 0h = NORMAL:正常输入/输出 1h = INV:反相输入/输出 4h = OPENDR: 开漏, 正常输入/输出 5h = OPENDR_INV:开漏 反相输入/输出 6h = OPENSRC:开源 正常输入/输出 7h = OPENSRC_INV:开源 反相输入/输出 |
| 23 | IOEV_AON_PROG2_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG2 事件置为有效 1:输入边沿检测将 AON_PROG2 事件置为有效 |
| 22 | IOEV_AON_PROG1_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG1 事件置为有效 1:输入边沿检测将 AON_PROG1 事件置为有效 |
| 21 | IOEV_AON_PROG0_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG0 事件置为有效 1:输入边沿检测将 AON_PROG0 事件置为有效 |
| 20-19 | RESERVED | R | 0h | 保留 |
| 18 | EDGE_IRQ_EN | R/W | 0h | 0:无中断生成 1:使能该 IO 的中断生成(仅在 EDGE_DET 已使能时有效) |
| 17-16 | EDGE_DET | R/W | 0h | 使能该 IO 上的边沿检测事件生成 0h = NONE:无边沿检测 1h = 负边沿检测 2h = 正边沿检测 3h = 正负边沿检测 |
| 15 | RESERVED | R | 0h | 保留 |
| 14-13 | PULL_CTL | R/W | 3h | 上拉/下拉控制 1h = DWN:下拉 2h = UP:上拉 3h = DIS:无上拉/下拉 |
| 12 | SLEW_RED | R/W | 0h | 0:标称压摆率 1:在输出驱动器中降低压摆率。 |
| 11-10 | IOCURR | R/W | 0h | 选择该 IO 的 IO 电流模式。 0h = 2MA:低电流 (LC) 模式:IOSTR 设置为 AUTO 时最小值为 2mA 1h = 4MA:高电流 (HC) 模式:IOSTR 设置为 AUTO 时最小值为 4mA 2h = 4_8MA:扩展电流 (EC) 模式:当 IOSTR 设为 AUTO 时,双驱动强度 IO 的最小值为 8mA(标准 IO 的最小值为 4mA) |
| 9-8 | IOSTR | R/W | 0h | 选择该 IO 的驱动强度控制源。 此设置控制低电流 (LC) 模式的驱动强度。可在 IOCURR 中选择更高的驱动强度 0h = 自动驱动强度,由 AON BATMON 根据电池电压控制。(VDDS 时最小 2mA) 1h = 最小驱动强度,由 AON_IOC:IOSTRMIN 控制(默认值为 3.3V 时最小 2mA) 2h = MED:中等驱动强度,由 AON_IOC:IOSTRMED 控制(默认值为 2.5V 时最小 2mA) 3h = 最大驱动强度,由 AON_IOC:IOSTRMAX 控制(默认值为 1.8V 时最小 2mA) |
| 7 | IOEV_RTC_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 RTC 事件置为有效 1:输入边沿检测将 RTC 事件置为有效 |
| 6 | IOEV_MCU_WU_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 MCU_WU 事件置为有效 1:输入边沿检测将 MCU_WU 事件置为有效 |
| 5-0 | PORT_ID | R/W | 0h | 选择 DIO11 的用途 注意:除明确要求更改 PORT_ID 值的情况外,不应写入此字段。 0h =通用 IO 7h = AON 32 KHz 时钟 (SCLK_LF) 8h = AUX IO 9h = SSI0_RX:SSI0 RX Ah = SSI0_TX:SSI0 TX Bh = SSI0_FSS:SSI0 FSS Ch = SSI0_CLK:SSI0 CLK Dh = I2C_MSSDA:I2C 数据 Eh = I2C_MSSCL:I2C 时钟 Fh = UART0_RX:UART0 RX 10h = UART0_TX:UART0 TX 11h = UART0_CTS:UART0 CTS 12h = UART0_RTS:UART0 RTS 13h = UART1_RX:UART1 RX 14h = UART1_TX:UART1 TX 15h = UART1_CTS:UART1 CTS 16h = UART1_RTS:UART1 RTS 17h = PORT_EVENT0:端口事件 0 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 18h = PORT_EVENT1: 端口事件 1 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 19h = PORT_EVENT2: 端口事件 2 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ah = PORT_EVENT3: 端口事件 3 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Bh = PORT_EVENT4: 端口事件 4 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ch = PORT_EVENT5: 端口事件 5 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Dh = PORT_EVENT6: 端口事件 6 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Eh = PORT_EVENT7: 端口事件 7 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 20h = CPU_SWV: CPU SWV 21h = SSI1_RX:SSI1 RX 22h = SSI1_TX:SSI1 TX 23h = SSI1_FSS:SSI1 FSS 24h = SSI1_CLK:SSI1 CLK 25h = I2S_AD0:I2S 数据 0 26h = I2S_AD1: I2S 数据 1 27h = I2S_WCLK: I2S WCLK 28h = I2S_BCLK:I2S BCLK 29h = I2S_MCLK:I2S MCLK 2Eh = 射频内核跟踪 2Fh = 射频内核数据输出 0 30h = 射频内核数据输出 1 31h = 射频内核数据输出 2 32h = 射频内核数据输出 3 33h = 射频内核数据输入 0 34h = 射频内核数据输入 1 35h = 射频内核 SMI 数据链路输出 36h = 射频内核 SMI 数据链路输入 37h = 射频内核 SMI 命令链路输出 38h = 射频内核 SMI 命令链路输入 |
图 14-35 展示了 IOCFG12,表 14-42 对其进行了介绍。
返回到汇总表。
DIO12 的配置
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | HYST_EN | IE | WU_CFG | IOMODE | |||
| R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| IOEV_AON_PROG2_EN | IOEV_AON_PROG1_EN | IOEV_AON_PROG0_EN | RESERVED | EDGE_IRQ_EN | EDGE_DET | ||
| R/W-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | R/W-0h | ||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | PULL_CTL | SLEW_RED | IOCURR | IOSTR | |||
| R-0h | R/W-3h | R/W-0h | R/W-0h | R/W-0h | |||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| IOEV_RTC_EN | IOEV_MCU_WU_EN | PORT_ID | |||||
| R/W-0h | R/W-0h | R/W-0h | |||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31 | RESERVED | R | 0h | 保留 |
| 30 | HYST_EN | R/W | 0h | 0:输入迟滞禁用 1:输入迟滞使能 |
| 29 | IE | R/W | 0h | 0:输入禁用 1:输入使能 注意:如果 IO 配置为 AUX PORT_ID = 0x08,则使能将被忽略。 |
| 28-27 | WU_CFG | R/W | 0h | 如果 DIO 配置为 GPIO 或非 AON 外设信号(PORT_ID 0x00 或 >0x08): 00:无唤醒 01:无唤醒 10:如果该焊盘变为低电平,则从关断状态唤醒。 11:如果该焊盘变为高电平,则从关断状态唤醒。 如果 IO 配置为 AON 外设信号或 AUX PORT_ID 0x01-0x08,则该寄存器仅设置是否使能唤醒。 00、01:唤醒禁用 10、11:唤醒使能 极性通过 AON 寄存器进行控制。 注意:当 MSB 置位时,IOC 将停用 DIO 的输出使能。 |
| 26-24 | IOMODE | R/W | 0h | IO 模式 不适用于配置为 AON 外设信号和 AUX PORT_ID 0x01-0x08 的 IO AUX 有自己的 open_source/drain 配置。 0x2: 保留。未定义的行为。 0x3:保留。未定义的行为。 0h = NORMAL:正常输入/输出 1h = INV:反相输入/输出 4h = OPENDR: 开漏, 正常输入/输出 5h = OPENDR_INV:开漏 反相输入/输出 6h = OPENSRC:开源 正常输入/输出 7h = OPENSRC_INV:开源 反相输入/输出 |
| 23 | IOEV_AON_PROG2_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG2 事件置为有效 1:输入边沿检测将 AON_PROG2 事件置为有效 |
| 22 | IOEV_AON_PROG1_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG1 事件置为有效 1:输入边沿检测将 AON_PROG1 事件置为有效 |
| 21 | IOEV_AON_PROG0_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG0 事件置为有效 1:输入边沿检测将 AON_PROG0 事件置为有效 |
| 20-19 | RESERVED | R | 0h | 保留 |
| 18 | EDGE_IRQ_EN | R/W | 0h | 0:无中断生成 1:使能该 IO 的中断生成(仅在 EDGE_DET 已使能时有效) |
| 17-16 | EDGE_DET | R/W | 0h | 使能该 IO 上的边沿检测事件生成 0h = NONE:无边沿检测 1h = 负边沿检测 2h = 正边沿检测 3h = 正负边沿检测 |
| 15 | RESERVED | R | 0h | 保留 |
| 14-13 | PULL_CTL | R/W | 3h | 上拉/下拉控制 1h = DWN:下拉 2h = UP:上拉 3h = DIS:无上拉/下拉 |
| 12 | SLEW_RED | R/W | 0h | 0:标称压摆率 1:在输出驱动器中降低压摆率。 |
| 11-10 | IOCURR | R/W | 0h | 选择该 IO 的 IO 电流模式。 0h = 2MA:低电流 (LC) 模式:IOSTR 设置为 AUTO 时最小值为 2mA 1h = 4MA:高电流 (HC) 模式:IOSTR 设置为 AUTO 时最小值为 4mA 2h = 4_8MA:扩展电流 (EC) 模式:当 IOSTR 设为 AUTO 时,双驱动强度 IO 的最小值为 8mA(标准 IO 的最小值为 4mA) |
| 9-8 | IOSTR | R/W | 0h | 选择该 IO 的驱动强度控制源。 此设置控制低电流 (LC) 模式的驱动强度。可在 IOCURR 中选择更高的驱动强度 0h = 自动驱动强度,由 AON BATMON 根据电池电压控制。(VDDS 时最小 2mA) 1h = 最小驱动强度,由 AON_IOC:IOSTRMIN 控制(默认值为 3.3V 时最小 2mA) 2h = MED:中等驱动强度,由 AON_IOC:IOSTRMED 控制(默认值为 2.5V 时最小 2mA) 3h = 最大驱动强度,由 AON_IOC:IOSTRMAX 控制(默认值为 1.8V 时最小 2mA) |
| 7 | IOEV_RTC_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 RTC 事件置为有效 1:输入边沿检测将 RTC 事件置为有效 |
| 6 | IOEV_MCU_WU_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 MCU_WU 事件置为有效 1:输入边沿检测将 MCU_WU 事件置为有效 |
| 5-0 | PORT_ID | R/W | 0h | 选择 DIO12 的用途 注意:除明确要求更改 PORT_ID 值的情况外,不应写入此字段。 0h =通用 IO 7h = AON 32 KHz 时钟 (SCLK_LF) 8h = AUX IO 9h = SSI0_RX:SSI0 RX Ah = SSI0_TX:SSI0 TX Bh = SSI0_FSS:SSI0 FSS Ch = SSI0_CLK:SSI0 CLK Dh = I2C_MSSDA:I2C 数据 Eh = I2C_MSSCL:I2C 时钟 Fh = UART0_RX:UART0 RX 10h = UART0_TX:UART0 TX 11h = UART0_CTS:UART0 CTS 12h = UART0_RTS:UART0 RTS 13h = UART1_RX:UART1 RX 14h = UART1_TX:UART1 TX 15h = UART1_CTS:UART1 CTS 16h = UART1_RTS:UART1 RTS 17h = PORT_EVENT0:端口事件 0 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 18h = PORT_EVENT1: 端口事件 1 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 19h = PORT_EVENT2: 端口事件 2 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ah = PORT_EVENT3: 端口事件 3 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Bh = PORT_EVENT4: 端口事件 4 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ch = PORT_EVENT5: 端口事件 5 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Dh = PORT_EVENT6: 端口事件 6 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Eh = PORT_EVENT7: 端口事件 7 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 20h = CPU_SWV: CPU SWV 21h = SSI1_RX:SSI1 RX 22h = SSI1_TX:SSI1 TX 23h = SSI1_FSS:SSI1 FSS 24h = SSI1_CLK:SSI1 CLK 25h = I2S_AD0:I2S 数据 0 26h = I2S_AD1: I2S 数据 1 27h = I2S_WCLK: I2S WCLK 28h = I2S_BCLK:I2S BCLK 29h = I2S_MCLK:I2S MCLK 2Eh = 射频内核跟踪 2Fh = 射频内核数据输出 0 30h = 射频内核数据输出 1 31h = 射频内核数据输出 2 32h = 射频内核数据输出 3 33h = 射频内核数据输入 0 34h = 射频内核数据输入 1 35h = 射频内核 SMI 数据链路输出 36h = 射频内核 SMI 数据链路输入 37h = 射频内核 SMI 命令链路输出 38h = 射频内核 SMI 命令链路输入 |
图 14-36 展示了 IOCFG13,表 14-43 对其进行了介绍。
返回到汇总表。
DIO13 的配置
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | HYST_EN | IE | WU_CFG | IOMODE | |||
| R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| IOEV_AON_PROG2_EN | IOEV_AON_PROG1_EN | IOEV_AON_PROG0_EN | RESERVED | EDGE_IRQ_EN | EDGE_DET | ||
| R/W-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | R/W-0h | ||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | PULL_CTL | SLEW_RED | IOCURR | IOSTR | |||
| R-0h | R/W-3h | R/W-0h | R/W-0h | R/W-0h | |||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| IOEV_RTC_EN | IOEV_MCU_WU_EN | PORT_ID | |||||
| R/W-0h | R/W-0h | R/W-0h | |||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31 | RESERVED | R | 0h | 保留 |
| 30 | HYST_EN | R/W | 0h | 0:输入迟滞禁用 1:输入迟滞使能 |
| 29 | IE | R/W | 0h | 0:输入禁用 1:输入使能 注意:如果 IO 配置为 AUX PORT_ID = 0x08,则使能将被忽略。 |
| 28-27 | WU_CFG | R/W | 0h | 如果 DIO 配置为 GPIO 或非 AON 外设信号(PORT_ID 0x00 或 >0x08): 00:无唤醒 01:无唤醒 10:如果该焊盘变为低电平,则从关断状态唤醒。 11:如果该焊盘变为高电平,则从关断状态唤醒。 如果 IO 配置为 AON 外设信号或 AUX PORT_ID 0x01-0x08,则该寄存器仅设置是否使能唤醒。 00、01:唤醒禁用 10、11:唤醒使能 极性通过 AON 寄存器进行控制。 注意:当 MSB 置位时,IOC 将停用 DIO 的输出使能。 |
| 26-24 | IOMODE | R/W | 0h | IO 模式 不适用于配置为 AON 外设信号和 AUX PORT_ID 0x01-0x08 的 IO AUX 有自己的 open_source/drain 配置。 0x2: 保留。未定义的行为。 0x3:保留。未定义的行为。 0h = NORMAL:正常输入/输出 1h = INV:反相输入/输出 4h = OPENDR: 开漏, 正常输入/输出 5h = OPENDR_INV:开漏 反相输入/输出 6h = OPENSRC:开源 正常输入/输出 7h = OPENSRC_INV:开源 反相输入/输出 |
| 23 | IOEV_AON_PROG2_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG2 事件置为有效 1:输入边沿检测将 AON_PROG2 事件置为有效 |
| 22 | IOEV_AON_PROG1_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG1 事件置为有效 1:输入边沿检测将 AON_PROG1 事件置为有效 |
| 21 | IOEV_AON_PROG0_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG0 事件置为有效 1:输入边沿检测将 AON_PROG0 事件置为有效 |
| 20-19 | RESERVED | R | 0h | 保留 |
| 18 | EDGE_IRQ_EN | R/W | 0h | 0:无中断生成 1:使能该 IO 的中断生成(仅在 EDGE_DET 已使能时有效) |
| 17-16 | EDGE_DET | R/W | 0h | 使能该 IO 上的边沿检测事件生成 0h = NONE:无边沿检测 1h = 负边沿检测 2h = 正边沿检测 3h = 正负边沿检测 |
| 15 | RESERVED | R | 0h | 保留 |
| 14-13 | PULL_CTL | R/W | 3h | 上拉/下拉控制 1h = DWN:下拉 2h = UP:上拉 3h = DIS:无上拉/下拉 |
| 12 | SLEW_RED | R/W | 0h | 0:标称压摆率 1:在输出驱动器中降低压摆率。 |
| 11-10 | IOCURR | R/W | 0h | 选择该 IO 的 IO 电流模式。 0h = 2MA:低电流 (LC) 模式:IOSTR 设置为 AUTO 时最小值为 2mA 1h = 4MA:高电流 (HC) 模式:IOSTR 设置为 AUTO 时最小值为 4mA 2h = 4_8MA:扩展电流 (EC) 模式:当 IOSTR 设为 AUTO 时,双驱动强度 IO 的最小值为 8mA(标准 IO 的最小值为 4mA) |
| 9-8 | IOSTR | R/W | 0h | 选择该 IO 的驱动强度控制源。 此设置控制低电流 (LC) 模式的驱动强度。可在 IOCURR 中选择更高的驱动强度 0h = 自动驱动强度,由 AON BATMON 根据电池电压控制。(VDDS 时最小 2mA) 1h = 最小驱动强度,由 AON_IOC:IOSTRMIN 控制(默认值为 3.3V 时最小 2mA) 2h = MED:中等驱动强度,由 AON_IOC:IOSTRMED 控制(默认值为 2.5V 时最小 2mA) 3h = 最大驱动强度,由 AON_IOC:IOSTRMAX 控制(默认值为 1.8V 时最小 2mA) |
| 7 | IOEV_RTC_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 RTC 事件置为有效 1:输入边沿检测将 RTC 事件置为有效 |
| 6 | IOEV_MCU_WU_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 MCU_WU 事件置为有效 1:输入边沿检测将 MCU_WU 事件置为有效 |
| 5-0 | PORT_ID | R/W | 0h | 选择 DIO13 的用途 注意:除明确要求更改 PORT_ID 值的情况外,不应写入此字段。 0h =通用 IO 7h = AON 32 KHz 时钟 (SCLK_LF) 8h = AUX IO 9h = SSI0_RX:SSI0 RX Ah = SSI0_TX:SSI0 TX Bh = SSI0_FSS:SSI0 FSS Ch = SSI0_CLK:SSI0 CLK Dh = I2C_MSSDA:I2C 数据 Eh = I2C_MSSCL:I2C 时钟 Fh = UART0_RX:UART0 RX 10h = UART0_TX:UART0 TX 11h = UART0_CTS:UART0 CTS 12h = UART0_RTS:UART0 RTS 13h = UART1_RX:UART1 RX 14h = UART1_TX:UART1 TX 15h = UART1_CTS:UART1 CTS 16h = UART1_RTS:UART1 RTS 17h = PORT_EVENT0:端口事件 0 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 18h = PORT_EVENT1: 端口事件 1 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 19h = PORT_EVENT2: 端口事件 2 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ah = PORT_EVENT3: 端口事件 3 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Bh = PORT_EVENT4: 端口事件 4 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ch = PORT_EVENT5: 端口事件 5 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Dh = PORT_EVENT6: 端口事件 6 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Eh = PORT_EVENT7: 端口事件 7 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 20h = CPU_SWV: CPU SWV 21h = SSI1_RX:SSI1 RX 22h = SSI1_TX:SSI1 TX 23h = SSI1_FSS:SSI1 FSS 24h = SSI1_CLK:SSI1 CLK 25h = I2S_AD0:I2S 数据 0 26h = I2S_AD1: I2S 数据 1 27h = I2S_WCLK: I2S WCLK 28h = I2S_BCLK:I2S BCLK 29h = I2S_MCLK:I2S MCLK 2Eh = 射频内核跟踪 2Fh = 射频内核数据输出 0 30h = 射频内核数据输出 1 31h = 射频内核数据输出 2 32h = 射频内核数据输出 3 33h = 射频内核数据输入 0 34h = 射频内核数据输入 1 35h = 射频内核 SMI 数据链路输出 36h = 射频内核 SMI 数据链路输入 37h = 射频内核 SMI 命令链路输出 38h = 射频内核 SMI 命令链路输入 |
图 14-37 展示了 IOCFG14,表 14-44 对其进行了介绍。
返回到汇总表。
DIO14 的配置
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | HYST_EN | IE | WU_CFG | IOMODE | |||
| R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| IOEV_AON_PROG2_EN | IOEV_AON_PROG1_EN | IOEV_AON_PROG0_EN | RESERVED | EDGE_IRQ_EN | EDGE_DET | ||
| R/W-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | R/W-0h | ||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | PULL_CTL | SLEW_RED | IOCURR | IOSTR | |||
| R-0h | R/W-3h | R/W-0h | R/W-0h | R/W-0h | |||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| IOEV_RTC_EN | IOEV_MCU_WU_EN | PORT_ID | |||||
| R/W-0h | R/W-0h | R/W-0h | |||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31 | RESERVED | R | 0h | 保留 |
| 30 | HYST_EN | R/W | 0h | 0:输入迟滞禁用 1:输入迟滞使能 |
| 29 | IE | R/W | 0h | 0:输入禁用 1:输入使能 注意:如果 IO 配置为 AUX PORT_ID = 0x08,则使能将被忽略。 |
| 28-27 | WU_CFG | R/W | 0h | 如果 DIO 配置为 GPIO 或非 AON 外设信号(PORT_ID 0x00 或 >0x08): 00:无唤醒 01:无唤醒 10:如果该焊盘变为低电平,则从关断状态唤醒。 11:如果该焊盘变为高电平,则从关断状态唤醒。 如果 IO 配置为 AON 外设信号或 AUX PORT_ID 0x01-0x08,则该寄存器仅设置是否使能唤醒。 00、01:唤醒禁用 10、11:唤醒使能 极性通过 AON 寄存器进行控制。 注意:当 MSB 置位时,IOC 将停用 DIO 的输出使能。 |
| 26-24 | IOMODE | R/W | 0h | IO 模式 不适用于配置为 AON 外设信号和 AUX PORT_ID 0x01-0x08 的 IO AUX 有自己的 open_source/drain 配置。 0x2: 保留。未定义的行为。 0x3:保留。未定义的行为。 0h = NORMAL:正常输入/输出 1h = INV:反相输入/输出 4h = OPENDR: 开漏, 正常输入/输出 5h = OPENDR_INV:开漏 反相输入/输出 6h = OPENSRC:开源 正常输入/输出 7h = OPENSRC_INV:开源 反相输入/输出 |
| 23 | IOEV_AON_PROG2_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG2 事件置为有效 1:输入边沿检测将 AON_PROG2 事件置为有效 |
| 22 | IOEV_AON_PROG1_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG1 事件置为有效 1:输入边沿检测将 AON_PROG1 事件置为有效 |
| 21 | IOEV_AON_PROG0_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG0 事件置为有效 1:输入边沿检测将 AON_PROG0 事件置为有效 |
| 20-19 | RESERVED | R | 0h | 保留 |
| 18 | EDGE_IRQ_EN | R/W | 0h | 0:无中断生成 1:使能该 IO 的中断生成(仅在 EDGE_DET 已使能时有效) |
| 17-16 | EDGE_DET | R/W | 0h | 使能该 IO 上的边沿检测事件生成 0h = NONE:无边沿检测 1h = 负边沿检测 2h = 正边沿检测 3h = 正负边沿检测 |
| 15 | RESERVED | R | 0h | 保留 |
| 14-13 | PULL_CTL | R/W | 3h | 上拉/下拉控制 1h = DWN:下拉 2h = UP:上拉 3h = DIS:无上拉/下拉 |
| 12 | SLEW_RED | R/W | 0h | 0:标称压摆率 1:在输出驱动器中降低压摆率。 |
| 11-10 | IOCURR | R/W | 0h | 选择该 IO 的 IO 电流模式。 0h = 2MA:低电流 (LC) 模式:IOSTR 设置为 AUTO 时最小值为 2mA 1h = 4MA:高电流 (HC) 模式:IOSTR 设置为 AUTO 时最小值为 4mA 2h = 4_8MA:扩展电流 (EC) 模式:当 IOSTR 设为 AUTO 时,双驱动强度 IO 的最小值为 8mA(标准 IO 的最小值为 4mA) |
| 9-8 | IOSTR | R/W | 0h | 选择该 IO 的驱动强度控制源。 此设置控制低电流 (LC) 模式的驱动强度。可在 IOCURR 中选择更高的驱动强度 0h = 自动驱动强度,由 AON BATMON 根据电池电压控制。(VDDS 时最小 2mA) 1h = 最小驱动强度,由 AON_IOC:IOSTRMIN 控制(默认值为 3.3V 时最小 2mA) 2h = MED:中等驱动强度,由 AON_IOC:IOSTRMED 控制(默认值为 2.5V 时最小 2mA) 3h = 最大驱动强度,由 AON_IOC:IOSTRMAX 控制(默认值为 1.8V 时最小 2mA) |
| 7 | IOEV_RTC_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 RTC 事件置为有效 1:输入边沿检测将 RTC 事件置为有效 |
| 6 | IOEV_MCU_WU_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 MCU_WU 事件置为有效 1:输入边沿检测将 MCU_WU 事件置为有效 |
| 5-0 | PORT_ID | R/W | 0h | 选择 DIO14 的用途 注意:除明确要求更改 PORT_ID 值的情况外,不应写入此字段。 0h =通用 IO 7h = AON 32 KHz 时钟 (SCLK_LF) 8h = AUX IO 9h = SSI0_RX:SSI0 RX Ah = SSI0_TX:SSI0 TX Bh = SSI0_FSS:SSI0 FSS Ch = SSI0_CLK:SSI0 CLK Dh = I2C_MSSDA:I2C 数据 Eh = I2C_MSSCL:I2C 时钟 Fh = UART0_RX:UART0 RX 10h = UART0_TX:UART0 TX 11h = UART0_CTS:UART0 CTS 12h = UART0_RTS:UART0 RTS 13h = UART1_RX:UART1 RX 14h = UART1_TX:UART1 TX 15h = UART1_CTS:UART1 CTS 16h = UART1_RTS:UART1 RTS 17h = PORT_EVENT0:端口事件 0 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 18h = PORT_EVENT1: 端口事件 1 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 19h = PORT_EVENT2: 端口事件 2 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ah = PORT_EVENT3: 端口事件 3 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Bh = PORT_EVENT4: 端口事件 4 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ch = PORT_EVENT5: 端口事件 5 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Dh = PORT_EVENT6: 端口事件 6 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Eh = PORT_EVENT7: 端口事件 7 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 20h = CPU_SWV: CPU SWV 21h = SSI1_RX:SSI1 RX 22h = SSI1_TX:SSI1 TX 23h = SSI1_FSS:SSI1 FSS 24h = SSI1_CLK:SSI1 CLK 25h = I2S_AD0:I2S 数据 0 26h = I2S_AD1: I2S 数据 1 27h = I2S_WCLK: I2S WCLK 28h = I2S_BCLK:I2S BCLK 29h = I2S_MCLK:I2S MCLK 2Eh = 射频内核跟踪 2Fh = 射频内核数据输出 0 30h = 射频内核数据输出 1 31h = 射频内核数据输出 2 32h = 射频内核数据输出 3 33h = 射频内核数据输入 0 34h = 射频内核数据输入 1 35h = 射频内核 SMI 数据链路输出 36h = 射频内核 SMI 数据链路输入 37h = 射频内核 SMI 命令链路输出 38h = 射频内核 SMI 命令链路输入 |
图 14-38 展示了 IOCFG15,表 14-45 对其进行了介绍。
返回到汇总表。
DIO15 的配置
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | HYST_EN | IE | WU_CFG | IOMODE | |||
| R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| IOEV_AON_PROG2_EN | IOEV_AON_PROG1_EN | IOEV_AON_PROG0_EN | RESERVED | EDGE_IRQ_EN | EDGE_DET | ||
| R/W-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | R/W-0h | ||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | PULL_CTL | SLEW_RED | IOCURR | IOSTR | |||
| R-0h | R/W-3h | R/W-0h | R/W-0h | R/W-0h | |||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| IOEV_RTC_EN | IOEV_MCU_WU_EN | PORT_ID | |||||
| R/W-0h | R/W-0h | R/W-0h | |||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31 | RESERVED | R | 0h | 保留 |
| 30 | HYST_EN | R/W | 0h | 0:输入迟滞禁用 1:输入迟滞使能 |
| 29 | IE | R/W | 0h | 0:输入禁用 1:输入使能 注意:如果 IO 配置为 AUX PORT_ID = 0x08,则使能将被忽略。 |
| 28-27 | WU_CFG | R/W | 0h | 如果 DIO 配置为 GPIO 或非 AON 外设信号(PORT_ID 0x00 或 >0x08): 00:无唤醒 01:无唤醒 10:如果该焊盘变为低电平,则从关断状态唤醒。 11:如果该焊盘变为高电平,则从关断状态唤醒。 如果 IO 配置为 AON 外设信号或 AUX PORT_ID 0x01-0x08,则该寄存器仅设置是否使能唤醒。 00、01:唤醒禁用 10、11:唤醒使能 极性通过 AON 寄存器进行控制。 注意:当 MSB 置位时,IOC 将停用 DIO 的输出使能。 |
| 26-24 | IOMODE | R/W | 0h | IO 模式 不适用于配置为 AON 外设信号和 AUX PORT_ID 0x01-0x08 的 IO AUX 有自己的 open_source/drain 配置。 0x2: 保留。未定义的行为。 0x3:保留。未定义的行为。 0h = NORMAL:正常输入/输出 1h = INV:反相输入/输出 4h = OPENDR: 开漏, 正常输入/输出 5h = OPENDR_INV:开漏 反相输入/输出 6h = OPENSRC:开源 正常输入/输出 7h = OPENSRC_INV:开源 反相输入/输出 |
| 23 | IOEV_AON_PROG2_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG2 事件置为有效 1:输入边沿检测将 AON_PROG2 事件置为有效 |
| 22 | IOEV_AON_PROG1_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG1 事件置为有效 1:输入边沿检测将 AON_PROG1 事件置为有效 |
| 21 | IOEV_AON_PROG0_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG0 事件置为有效 1:输入边沿检测将 AON_PROG0 事件置为有效 |
| 20-19 | RESERVED | R | 0h | 保留 |
| 18 | EDGE_IRQ_EN | R/W | 0h | 0:无中断生成 1:使能该 IO 的中断生成(仅在 EDGE_DET 已使能时有效) |
| 17-16 | EDGE_DET | R/W | 0h | 使能该 IO 上的边沿检测事件生成 0h = NONE:无边沿检测 1h = 负边沿检测 2h = 正边沿检测 3h = 正负边沿检测 |
| 15 | RESERVED | R | 0h | 保留 |
| 14-13 | PULL_CTL | R/W | 3h | 上拉/下拉控制 1h = DWN:下拉 2h = UP:上拉 3h = DIS:无上拉/下拉 |
| 12 | SLEW_RED | R/W | 0h | 0:标称压摆率 1:在输出驱动器中降低压摆率。 |
| 11-10 | IOCURR | R/W | 0h | 选择该 IO 的 IO 电流模式。 0h = 2MA:低电流 (LC) 模式:IOSTR 设置为 AUTO 时最小值为 2mA 1h = 4MA:高电流 (HC) 模式:IOSTR 设置为 AUTO 时最小值为 4mA 2h = 4_8MA:扩展电流 (EC) 模式:当 IOSTR 设为 AUTO 时,双驱动强度 IO 的最小值为 8mA(标准 IO 的最小值为 4mA) |
| 9-8 | IOSTR | R/W | 0h | 选择该 IO 的驱动强度控制源。 此设置控制低电流 (LC) 模式的驱动强度。可在 IOCURR 中选择更高的驱动强度 0h = 自动驱动强度,由 AON BATMON 根据电池电压控制。(VDDS 时最小 2mA) 1h = 最小驱动强度,由 AON_IOC:IOSTRMIN 控制(默认值为 3.3V 时最小 2mA) 2h = MED:中等驱动强度,由 AON_IOC:IOSTRMED 控制(默认值为 2.5V 时最小 2mA) 3h = 最大驱动强度,由 AON_IOC:IOSTRMAX 控制(默认值为 1.8V 时最小 2mA) |
| 7 | IOEV_RTC_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 RTC 事件置为有效 1:输入边沿检测将 RTC 事件置为有效 |
| 6 | IOEV_MCU_WU_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 MCU_WU 事件置为有效 1:输入边沿检测将 MCU_WU 事件置为有效 |
| 5-0 | PORT_ID | R/W | 0h | 选择 DIO15 的用途 注意:除明确要求更改 PORT_ID 值的情况外,不应写入此字段。 0h =通用 IO 7h = AON 32 KHz 时钟 (SCLK_LF) 8h = AUX IO 9h = SSI0_RX:SSI0 RX Ah = SSI0_TX:SSI0 TX Bh = SSI0_FSS:SSI0 FSS Ch = SSI0_CLK:SSI0 CLK Dh = I2C_MSSDA:I2C 数据 Eh = I2C_MSSCL:I2C 时钟 Fh = UART0_RX:UART0 RX 10h = UART0_TX:UART0 TX 11h = UART0_CTS:UART0 CTS 12h = UART0_RTS:UART0 RTS 13h = UART1_RX:UART1 RX 14h = UART1_TX:UART1 TX 15h = UART1_CTS:UART1 CTS 16h = UART1_RTS:UART1 RTS 17h = PORT_EVENT0:端口事件 0 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 18h = PORT_EVENT1: 端口事件 1 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 19h = PORT_EVENT2: 端口事件 2 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ah = PORT_EVENT3: 端口事件 3 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Bh = PORT_EVENT4: 端口事件 4 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ch = PORT_EVENT5: 端口事件 5 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Dh = PORT_EVENT6: 端口事件 6 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Eh = PORT_EVENT7: 端口事件 7 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 20h = CPU_SWV: CPU SWV 21h = SSI1_RX:SSI1 RX 22h = SSI1_TX:SSI1 TX 23h = SSI1_FSS:SSI1 FSS 24h = SSI1_CLK:SSI1 CLK 25h = I2S_AD0:I2S 数据 0 26h = I2S_AD1: I2S 数据 1 27h = I2S_WCLK: I2S WCLK 28h = I2S_BCLK:I2S BCLK 29h = I2S_MCLK:I2S MCLK 2Eh = 射频内核跟踪 2Fh = 射频内核数据输出 0 30h = 射频内核数据输出 1 31h = 射频内核数据输出 2 32h = 射频内核数据输出 3 33h = 射频内核数据输入 0 34h = 射频内核数据输入 1 35h = 射频内核 SMI 数据链路输出 36h = 射频内核 SMI 数据链路输入 37h = 射频内核 SMI 命令链路输出 38h = 射频内核 SMI 命令链路输入 |
图 14-39 展示了 IOCFG16,表 14-46 对其进行了介绍。
返回到汇总表。
DIO16 的配置
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | HYST_EN | IE | WU_CFG | IOMODE | |||
| R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| IOEV_AON_PROG2_EN | IOEV_AON_PROG1_EN | IOEV_AON_PROG0_EN | RESERVED | EDGE_IRQ_EN | EDGE_DET | ||
| R/W-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | R/W-0h | ||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | PULL_CTL | SLEW_RED | IOCURR | IOSTR | |||
| R-0h | R/W-3h | R/W-0h | R/W-0h | R/W-0h | |||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| IOEV_RTC_EN | IOEV_MCU_WU_EN | PORT_ID | |||||
| R/W-0h | R/W-0h | R/W-0h | |||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31 | RESERVED | R | 0h | 保留 |
| 30 | HYST_EN | R/W | 0h | 0:输入迟滞禁用 1:输入迟滞使能 |
| 29 | IE | R/W | 0h | 0:输入禁用 1:输入使能 注意:如果 IO 配置为 AUX PORT_ID = 0x08,则使能将被忽略。 |
| 28-27 | WU_CFG | R/W | 0h | 如果 DIO 配置为 GPIO 或非 AON 外设信号(PORT_ID 0x00 或 >0x08): 00:无唤醒 01:无唤醒 10:如果该焊盘变为低电平,则从关断状态唤醒。 11:如果该焊盘变为高电平,则从关断状态唤醒。 如果 IO 配置为 AON 外设信号或 AUX PORT_ID 0x01-0x08,则该寄存器仅设置是否使能唤醒。 00、01:唤醒禁用 10、11:唤醒使能 极性通过 AON 寄存器进行控制。 注意:当 MSB 置位时,IOC 将停用 DIO 的输出使能。 |
| 26-24 | IOMODE | R/W | 0h | IO 模式 不适用于配置为 AON 外设信号和 AUX PORT_ID 0x01-0x08 的 IO AUX 有自己的 open_source/drain 配置。 0x2: 保留。未定义的行为。 0x3:保留。未定义的行为。 0h = NORMAL:正常输入/输出 1h = INV:反相输入/输出 4h = OPENDR: 开漏, 正常输入/输出 5h = OPENDR_INV:开漏 反相输入/输出 6h = OPENSRC:开源 正常输入/输出 7h = OPENSRC_INV:开源 反相输入/输出 |
| 23 | IOEV_AON_PROG2_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG2 事件置为有效 1:输入边沿检测将 AON_PROG2 事件置为有效 |
| 22 | IOEV_AON_PROG1_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG1 事件置为有效 1:输入边沿检测将 AON_PROG1 事件置为有效 |
| 21 | IOEV_AON_PROG0_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG0 事件置为有效 1:输入边沿检测将 AON_PROG0 事件置为有效 |
| 20-19 | RESERVED | R | 0h | 保留 |
| 18 | EDGE_IRQ_EN | R/W | 0h | 0:无中断生成 1:使能该 IO 的中断生成(仅在 EDGE_DET 已使能时有效) |
| 17-16 | EDGE_DET | R/W | 0h | 使能该 IO 上的边沿检测事件生成 0h = NONE:无边沿检测 1h = 负边沿检测 2h = 正边沿检测 3h = 正负边沿检测 |
| 15 | RESERVED | R | 0h | 保留 |
| 14-13 | PULL_CTL | R/W | 3h | 上拉/下拉控制 1h = DWN:下拉 2h = UP:上拉 3h = DIS:无上拉/下拉 |
| 12 | SLEW_RED | R/W | 0h | 0:标称压摆率 1:在输出驱动器中降低压摆率。 |
| 11-10 | IOCURR | R/W | 0h | 选择该 IO 的 IO 电流模式。 0h = 2MA:低电流 (LC) 模式:IOSTR 设置为 AUTO 时最小值为 2mA 1h = 4MA:高电流 (HC) 模式:IOSTR 设置为 AUTO 时最小值为 4mA 2h = 4_8MA:扩展电流 (EC) 模式:当 IOSTR 设为 AUTO 时,双驱动强度 IO 的最小值为 8mA(标准 IO 的最小值为 4mA) |
| 9-8 | IOSTR | R/W | 0h | 选择该 IO 的驱动强度控制源。 此设置控制低电流 (LC) 模式的驱动强度。可在 IOCURR 中选择更高的驱动强度 0h = 自动驱动强度,由 AON BATMON 根据电池电压控制。(VDDS 时最小 2mA) 1h = 最小驱动强度,由 AON_IOC:IOSTRMIN 控制(默认值为 3.3V 时最小 2mA) 2h = MED:中等驱动强度,由 AON_IOC:IOSTRMED 控制(默认值为 2.5V 时最小 2mA) 3h = 最大驱动强度,由 AON_IOC:IOSTRMAX 控制(默认值为 1.8V 时最小 2mA) |
| 7 | IOEV_RTC_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 RTC 事件置为有效 1:输入边沿检测将 RTC 事件置为有效 |
| 6 | IOEV_MCU_WU_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 MCU_WU 事件置为有效 1:输入边沿检测将 MCU_WU 事件置为有效 |
| 5-0 | PORT_ID | R/W | 0h | 选择 DIO16 的用途 注意:除明确要求更改 PORT_ID 值的情况外,不应写入此字段。 0h =通用 IO 7h = AON 32 KHz 时钟 (SCLK_LF) 8h = AUX IO 9h = SSI0_RX:SSI0 RX Ah = SSI0_TX:SSI0 TX Bh = SSI0_FSS:SSI0 FSS Ch = SSI0_CLK:SSI0 CLK Dh = I2C_MSSDA:I2C 数据 Eh = I2C_MSSCL:I2C 时钟 Fh = UART0_RX:UART0 RX 10h = UART0_TX:UART0 TX 11h = UART0_CTS:UART0 CTS 12h = UART0_RTS:UART0 RTS 13h = UART1_RX:UART1 RX 14h = UART1_TX:UART1 TX 15h = UART1_CTS:UART1 CTS 16h = UART1_RTS:UART1 RTS 17h = PORT_EVENT0:端口事件 0 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 18h = PORT_EVENT1: 端口事件 1 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 19h = PORT_EVENT2: 端口事件 2 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ah = PORT_EVENT3: 端口事件 3 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Bh = PORT_EVENT4: 端口事件 4 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ch = PORT_EVENT5: 端口事件 5 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Dh = PORT_EVENT6: 端口事件 6 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Eh = PORT_EVENT7: 端口事件 7 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 20h = CPU_SWV: CPU SWV 21h = SSI1_RX:SSI1 RX 22h = SSI1_TX:SSI1 TX 23h = SSI1_FSS:SSI1 FSS 24h = SSI1_CLK:SSI1 CLK 25h = I2S_AD0:I2S 数据 0 26h = I2S_AD1: I2S 数据 1 27h = I2S_WCLK: I2S WCLK 28h = I2S_BCLK:I2S BCLK 29h = I2S_MCLK:I2S MCLK 2Eh = 射频内核跟踪 2Fh = 射频内核数据输出 0 30h = 射频内核数据输出 1 31h = 射频内核数据输出 2 32h = 射频内核数据输出 3 33h = 射频内核数据输入 0 34h = 射频内核数据输入 1 35h = 射频内核 SMI 数据链路输出 36h = 射频内核 SMI 数据链路输入 37h = 射频内核 SMI 命令链路输出 38h = 射频内核 SMI 命令链路输入 |
图 14-40 展示了 IOCFG17,表 14-47 对其进行了介绍。
返回到汇总表。
DIO17 的配置
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | HYST_EN | IE | WU_CFG | IOMODE | |||
| R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| IOEV_AON_PROG2_EN | IOEV_AON_PROG1_EN | IOEV_AON_PROG0_EN | RESERVED | EDGE_IRQ_EN | EDGE_DET | ||
| R/W-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | R/W-0h | ||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | PULL_CTL | SLEW_RED | IOCURR | IOSTR | |||
| R-0h | R/W-3h | R/W-0h | R/W-0h | R/W-0h | |||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| IOEV_RTC_EN | IOEV_MCU_WU_EN | PORT_ID | |||||
| R/W-0h | R/W-0h | R/W-0h | |||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31 | RESERVED | R | 0h | 保留 |
| 30 | HYST_EN | R/W | 0h | 0:输入迟滞禁用 1:输入迟滞使能 |
| 29 | IE | R/W | 0h | 0:输入禁用 1:输入使能 注意:如果 IO 配置为 AUX PORT_ID = 0x08,则使能将被忽略。 |
| 28-27 | WU_CFG | R/W | 0h | 如果 DIO 配置为 GPIO 或非 AON 外设信号(PORT_ID 0x00 或 >0x08): 00:无唤醒 01:无唤醒 10:如果该焊盘变为低电平,则从关断状态唤醒。 11:如果该焊盘变为高电平,则从关断状态唤醒。 如果 IO 配置为 AON 外设信号或 AUX PORT_ID 0x01-0x08,则该寄存器仅设置是否使能唤醒。 00、01:唤醒禁用 10、11:唤醒使能 极性通过 AON 寄存器进行控制。 注意:当 MSB 置位时,IOC 将停用 DIO 的输出使能。 |
| 26-24 | IOMODE | R/W | 0h | IO 模式 不适用于配置为 AON 外设信号和 AUX PORT_ID 0x01-0x08 的 IO AUX 有自己的 open_source/drain 配置。 0x2: 保留。未定义的行为。 0x3:保留。未定义的行为。 0h = NORMAL:正常输入/输出 1h = INV:反相输入/输出 4h = OPENDR: 开漏, 正常输入/输出 5h = OPENDR_INV:开漏 反相输入/输出 6h = OPENSRC:开源 正常输入/输出 7h = OPENSRC_INV:开源 反相输入/输出 |
| 23 | IOEV_AON_PROG2_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG2 事件置为有效 1:输入边沿检测将 AON_PROG2 事件置为有效 |
| 22 | IOEV_AON_PROG1_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG1 事件置为有效 1:输入边沿检测将 AON_PROG1 事件置为有效 |
| 21 | IOEV_AON_PROG0_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG0 事件置为有效 1:输入边沿检测将 AON_PROG0 事件置为有效 |
| 20-19 | RESERVED | R | 0h | 保留 |
| 18 | EDGE_IRQ_EN | R/W | 0h | 0:无中断生成 1:使能该 IO 的中断生成(仅在 EDGE_DET 已使能时有效) |
| 17-16 | EDGE_DET | R/W | 0h | 使能该 IO 上的边沿检测事件生成 0h = NONE:无边沿检测 1h = 负边沿检测 2h = 正边沿检测 3h = 正负边沿检测 |
| 15 | RESERVED | R | 0h | 保留 |
| 14-13 | PULL_CTL | R/W | 3h | 上拉/下拉控制 1h = DWN:下拉 2h = UP:上拉 3h = DIS:无上拉/下拉 |
| 12 | SLEW_RED | R/W | 0h | 0:标称压摆率 1:在输出驱动器中降低压摆率。 |
| 11-10 | IOCURR | R/W | 0h | 选择该 IO 的 IO 电流模式。 0h = 2MA:低电流 (LC) 模式:IOSTR 设置为 AUTO 时最小值为 2mA 1h = 4MA:高电流 (HC) 模式:IOSTR 设置为 AUTO 时最小值为 4mA 2h = 4_8MA:扩展电流 (EC) 模式:当 IOSTR 设为 AUTO 时,双驱动强度 IO 的最小值为 8mA(标准 IO 的最小值为 4mA) |
| 9-8 | IOSTR | R/W | 0h | 选择该 IO 的驱动强度控制源。 此设置控制低电流 (LC) 模式的驱动强度。可在 IOCURR 中选择更高的驱动强度 0h = 自动驱动强度,由 AON BATMON 根据电池电压控制。(VDDS 时最小 2mA) 1h = 最小驱动强度,由 AON_IOC:IOSTRMIN 控制(默认值为 3.3V 时最小 2mA) 2h = MED:中等驱动强度,由 AON_IOC:IOSTRMED 控制(默认值为 2.5V 时最小 2mA) 3h = 最大驱动强度,由 AON_IOC:IOSTRMAX 控制(默认值为 1.8V 时最小 2mA) |
| 7 | IOEV_RTC_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 RTC 事件置为有效 1:输入边沿检测将 RTC 事件置为有效 |
| 6 | IOEV_MCU_WU_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 MCU_WU 事件置为有效 1:输入边沿检测将 MCU_WU 事件置为有效 |
| 5-0 | PORT_ID | R/W | 0h | 选择 DIO17 的用途 注意:除明确要求更改 PORT_ID 值的情况外,不应写入此字段。 0h =通用 IO 7h = AON 32 KHz 时钟 (SCLK_LF) 8h = AUX IO 9h = SSI0_RX:SSI0 RX Ah = SSI0_TX:SSI0 TX Bh = SSI0_FSS:SSI0 FSS Ch = SSI0_CLK:SSI0 CLK Dh = I2C_MSSDA:I2C 数据 Eh = I2C_MSSCL:I2C 时钟 Fh = UART0_RX:UART0 RX 10h = UART0_TX:UART0 TX 11h = UART0_CTS:UART0 CTS 12h = UART0_RTS:UART0 RTS 13h = UART1_RX:UART1 RX 14h = UART1_TX:UART1 TX 15h = UART1_CTS:UART1 CTS 16h = UART1_RTS:UART1 RTS 17h = PORT_EVENT0:端口事件 0 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 18h = PORT_EVENT1: 端口事件 1 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 19h = PORT_EVENT2: 端口事件 2 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ah = PORT_EVENT3: 端口事件 3 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Bh = PORT_EVENT4: 端口事件 4 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ch = PORT_EVENT5: 端口事件 5 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Dh = PORT_EVENT6: 端口事件 6 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Eh = PORT_EVENT7: 端口事件 7 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 20h = CPU_SWV: CPU SWV 21h = SSI1_RX:SSI1 RX 22h = SSI1_TX:SSI1 TX 23h = SSI1_FSS:SSI1 FSS 24h = SSI1_CLK:SSI1 CLK 25h = I2S_AD0:I2S 数据 0 26h = I2S_AD1: I2S 数据 1 27h = I2S_WCLK: I2S WCLK 28h = I2S_BCLK:I2S BCLK 29h = I2S_MCLK:I2S MCLK 2Eh = 射频内核跟踪 2Fh = 射频内核数据输出 0 30h = 射频内核数据输出 1 31h = 射频内核数据输出 2 32h = 射频内核数据输出 3 33h = 射频内核数据输入 0 34h = 射频内核数据输入 1 35h = 射频内核 SMI 数据链路输出 36h = 射频内核 SMI 数据链路输入 37h = 射频内核 SMI 命令链路输出 38h = 射频内核 SMI 命令链路输入 |
图 14-41 展示了 IOCFG18,表 14-48 对其进行了介绍。
返回到汇总表。
DIO18 的配置
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | HYST_EN | IE | WU_CFG | IOMODE | |||
| R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| IOEV_AON_PROG2_EN | IOEV_AON_PROG1_EN | IOEV_AON_PROG0_EN | RESERVED | EDGE_IRQ_EN | EDGE_DET | ||
| R/W-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | R/W-0h | ||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | PULL_CTL | SLEW_RED | IOCURR | IOSTR | |||
| R-0h | R/W-3h | R/W-0h | R/W-0h | R/W-0h | |||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| IOEV_RTC_EN | IOEV_MCU_WU_EN | PORT_ID | |||||
| R/W-0h | R/W-0h | R/W-0h | |||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31 | RESERVED | R | 0h | 保留 |
| 30 | HYST_EN | R/W | 0h | 0:输入迟滞禁用 1:输入迟滞使能 |
| 29 | IE | R/W | 0h | 0:输入禁用 1:输入使能 注意:如果 IO 配置为 AUX PORT_ID = 0x08,则使能将被忽略。 |
| 28-27 | WU_CFG | R/W | 0h | 如果 DIO 配置为 GPIO 或非 AON 外设信号(PORT_ID 0x00 或 >0x08): 00:无唤醒 01:无唤醒 10:如果该焊盘变为低电平,则从关断状态唤醒。 11:如果该焊盘变为高电平,则从关断状态唤醒。 如果 IO 配置为 AON 外设信号或 AUX PORT_ID 0x01-0x08,则该寄存器仅设置是否使能唤醒。 00、01:唤醒禁用 10、11:唤醒使能 极性通过 AON 寄存器进行控制。 注意:当 MSB 置位时,IOC 将停用 DIO 的输出使能。 |
| 26-24 | IOMODE | R/W | 0h | IO 模式 不适用于配置为 AON 外设信号和 AUX PORT_ID 0x01-0x08 的 IO AUX 有自己的 open_source/drain 配置。 0x2: 保留。未定义的行为。 0x3:保留。未定义的行为。 0h = NORMAL:正常输入/输出 1h = INV:反相输入/输出 4h = OPENDR: 开漏, 正常输入/输出 5h = OPENDR_INV:开漏 反相输入/输出 6h = OPENSRC:开源 正常输入/输出 7h = OPENSRC_INV:开源 反相输入/输出 |
| 23 | IOEV_AON_PROG2_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG2 事件置为有效 1:输入边沿检测将 AON_PROG2 事件置为有效 |
| 22 | IOEV_AON_PROG1_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG1 事件置为有效 1:输入边沿检测将 AON_PROG1 事件置为有效 |
| 21 | IOEV_AON_PROG0_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG0 事件置为有效 1:输入边沿检测将 AON_PROG0 事件置为有效 |
| 20-19 | RESERVED | R | 0h | 保留 |
| 18 | EDGE_IRQ_EN | R/W | 0h | 0:无中断生成 1:使能该 IO 的中断生成(仅在 EDGE_DET 已使能时有效) |
| 17-16 | EDGE_DET | R/W | 0h | 使能该 IO 上的边沿检测事件生成 0h = NONE:无边沿检测 1h = 负边沿检测 2h = 正边沿检测 3h = 正负边沿检测 |
| 15 | RESERVED | R | 0h | 保留 |
| 14-13 | PULL_CTL | R/W | 3h | 上拉/下拉控制 1h = DWN:下拉 2h = UP:上拉 3h = DIS:无上拉/下拉 |
| 12 | SLEW_RED | R/W | 0h | 0:标称压摆率 1:在输出驱动器中降低压摆率。 |
| 11-10 | IOCURR | R/W | 0h | 选择该 IO 的 IO 电流模式。 0h = 2MA:低电流 (LC) 模式:IOSTR 设置为 AUTO 时最小值为 2mA 1h = 4MA:高电流 (HC) 模式:IOSTR 设置为 AUTO 时最小值为 4mA 2h = 4_8MA:扩展电流 (EC) 模式:当 IOSTR 设为 AUTO 时,双驱动强度 IO 的最小值为 8mA(标准 IO 的最小值为 4mA) |
| 9-8 | IOSTR | R/W | 0h | 选择该 IO 的驱动强度控制源。 此设置控制低电流 (LC) 模式的驱动强度。可在 IOCURR 中选择更高的驱动强度 0h = 自动驱动强度,由 AON BATMON 根据电池电压控制。(VDDS 时最小 2mA) 1h = 最小驱动强度,由 AON_IOC:IOSTRMIN 控制(默认值为 3.3V 时最小 2mA) 2h = MED:中等驱动强度,由 AON_IOC:IOSTRMED 控制(默认值为 2.5V 时最小 2mA) 3h = 最大驱动强度,由 AON_IOC:IOSTRMAX 控制(默认值为 1.8V 时最小 2mA) |
| 7 | IOEV_RTC_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 RTC 事件置为有效 1:输入边沿检测将 RTC 事件置为有效 |
| 6 | IOEV_MCU_WU_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 MCU_WU 事件置为有效 1:输入边沿检测将 MCU_WU 事件置为有效 |
| 5-0 | PORT_ID | R/W | 0h | 选择 DIO18 的用途 注意:除明确要求更改 PORT_ID 值的情况外,不应写入此字段。 0h =通用 IO 7h = AON 32 KHz 时钟 (SCLK_LF) 8h = AUX IO 9h = SSI0_RX:SSI0 RX Ah = SSI0_TX:SSI0 TX Bh = SSI0_FSS:SSI0 FSS Ch = SSI0_CLK:SSI0 CLK Dh = I2C_MSSDA:I2C 数据 Eh = I2C_MSSCL:I2C 时钟 Fh = UART0_RX:UART0 RX 10h = UART0_TX:UART0 TX 11h = UART0_CTS:UART0 CTS 12h = UART0_RTS:UART0 RTS 13h = UART1_RX:UART1 RX 14h = UART1_TX:UART1 TX 15h = UART1_CTS:UART1 CTS 16h = UART1_RTS:UART1 RTS 17h = PORT_EVENT0:端口事件 0 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 18h = PORT_EVENT1: 端口事件 1 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 19h = PORT_EVENT2: 端口事件 2 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ah = PORT_EVENT3: 端口事件 3 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Bh = PORT_EVENT4: 端口事件 4 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ch = PORT_EVENT5: 端口事件 5 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Dh = PORT_EVENT6: 端口事件 6 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Eh = PORT_EVENT7: 端口事件 7 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 20h = CPU_SWV: CPU SWV 21h = SSI1_RX:SSI1 RX 22h = SSI1_TX:SSI1 TX 23h = SSI1_FSS:SSI1 FSS 24h = SSI1_CLK:SSI1 CLK 25h = I2S_AD0:I2S 数据 0 26h = I2S_AD1: I2S 数据 1 27h = I2S_WCLK: I2S WCLK 28h = I2S_BCLK:I2S BCLK 29h = I2S_MCLK:I2S MCLK 2Eh = 射频内核跟踪 2Fh = 射频内核数据输出 0 30h = 射频内核数据输出 1 31h = 射频内核数据输出 2 32h = 射频内核数据输出 3 33h = 射频内核数据输入 0 34h = 射频内核数据输入 1 35h = 射频内核 SMI 数据链路输出 36h = 射频内核 SMI 数据链路输入 37h = 射频内核 SMI 命令链路输出 38h = 射频内核 SMI 命令链路输入 |
图 14-42 展示了 IOCFG19,表 14-49 对其进行了介绍。
返回到汇总表。
DIO19 的配置
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | HYST_EN | IE | WU_CFG | IOMODE | |||
| R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| IOEV_AON_PROG2_EN | IOEV_AON_PROG1_EN | IOEV_AON_PROG0_EN | RESERVED | EDGE_IRQ_EN | EDGE_DET | ||
| R/W-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | R/W-0h | ||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | PULL_CTL | SLEW_RED | IOCURR | IOSTR | |||
| R-0h | R/W-3h | R/W-0h | R/W-0h | R/W-0h | |||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| IOEV_RTC_EN | IOEV_MCU_WU_EN | PORT_ID | |||||
| R/W-0h | R/W-0h | R/W-0h | |||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31 | RESERVED | R | 0h | 保留 |
| 30 | HYST_EN | R/W | 0h | 0:输入迟滞禁用 1:输入迟滞使能 |
| 29 | IE | R/W | 0h | 0:输入禁用 1:输入使能 注意:如果 IO 配置为 AUX PORT_ID = 0x08,则使能将被忽略。 |
| 28-27 | WU_CFG | R/W | 0h | 如果 DIO 配置为 GPIO 或非 AON 外设信号(PORT_ID 0x00 或 >0x08): 00:无唤醒 01:无唤醒 10:如果该焊盘变为低电平,则从关断状态唤醒。 11:如果该焊盘变为高电平,则从关断状态唤醒。 如果 IO 配置为 AON 外设信号或 AUX PORT_ID 0x01-0x08,则该寄存器仅设置是否使能唤醒。 00、01:唤醒禁用 10、11:唤醒使能 极性通过 AON 寄存器进行控制。 注意:当 MSB 置位时,IOC 将停用 DIO 的输出使能。 |
| 26-24 | IOMODE | R/W | 0h | IO 模式 不适用于配置为 AON 外设信号和 AUX PORT_ID 0x01-0x08 的 IO AUX 有自己的 open_source/drain 配置。 0x2: 保留。未定义的行为。 0x3:保留。未定义的行为。 0h = NORMAL:正常输入/输出 1h = INV:反相输入/输出 4h = OPENDR: 开漏, 正常输入/输出 5h = OPENDR_INV:开漏 反相输入/输出 6h = OPENSRC:开源 正常输入/输出 7h = OPENSRC_INV:开源 反相输入/输出 |
| 23 | IOEV_AON_PROG2_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG2 事件置为有效 1:输入边沿检测将 AON_PROG2 事件置为有效 |
| 22 | IOEV_AON_PROG1_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG1 事件置为有效 1:输入边沿检测将 AON_PROG1 事件置为有效 |
| 21 | IOEV_AON_PROG0_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG0 事件置为有效 1:输入边沿检测将 AON_PROG0 事件置为有效 |
| 20-19 | RESERVED | R | 0h | 保留 |
| 18 | EDGE_IRQ_EN | R/W | 0h | 0:无中断生成 1:使能该 IO 的中断生成(仅在 EDGE_DET 已使能时有效) |
| 17-16 | EDGE_DET | R/W | 0h | 使能该 IO 上的边沿检测事件生成 0h = NONE:无边沿检测 1h = 负边沿检测 2h = 正边沿检测 3h = 正负边沿检测 |
| 15 | RESERVED | R | 0h | 保留 |
| 14-13 | PULL_CTL | R/W | 3h | 上拉/下拉控制 1h = DWN:下拉 2h = UP:上拉 3h = DIS:无上拉/下拉 |
| 12 | SLEW_RED | R/W | 0h | 0:标称压摆率 1:在输出驱动器中降低压摆率。 |
| 11-10 | IOCURR | R/W | 0h | 选择该 IO 的 IO 电流模式。 0h = 2MA:低电流 (LC) 模式:IOSTR 设置为 AUTO 时最小值为 2mA 1h = 4MA:高电流 (HC) 模式:IOSTR 设置为 AUTO 时最小值为 4mA 2h = 4_8MA:扩展电流 (EC) 模式:当 IOSTR 设为 AUTO 时,双驱动强度 IO 的最小值为 8mA(标准 IO 的最小值为 4mA) |
| 9-8 | IOSTR | R/W | 0h | 选择该 IO 的驱动强度控制源。 此设置控制低电流 (LC) 模式的驱动强度。可在 IOCURR 中选择更高的驱动强度 0h = 自动驱动强度,由 AON BATMON 根据电池电压控制。(VDDS 时最小 2mA) 1h = 最小驱动强度,由 AON_IOC:IOSTRMIN 控制(默认值为 3.3V 时最小 2mA) 2h = MED:中等驱动强度,由 AON_IOC:IOSTRMED 控制(默认值为 2.5V 时最小 2mA) 3h = 最大驱动强度,由 AON_IOC:IOSTRMAX 控制(默认值为 1.8V 时最小 2mA) |
| 7 | IOEV_RTC_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 RTC 事件置为有效 1:输入边沿检测将 RTC 事件置为有效 |
| 6 | IOEV_MCU_WU_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 MCU_WU 事件置为有效 1:输入边沿检测将 MCU_WU 事件置为有效 |
| 5-0 | PORT_ID | R/W | 0h | 选择 DIO19 的用途 注意:除明确要求更改 PORT_ID 值的情况外,不应写入此字段。 0h =通用 IO 7h = AON 32 KHz 时钟 (SCLK_LF) 8h = AUX IO 9h = SSI0_RX:SSI0 RX Ah = SSI0_TX:SSI0 TX Bh = SSI0_FSS:SSI0 FSS Ch = SSI0_CLK:SSI0 CLK Dh = I2C_MSSDA:I2C 数据 Eh = I2C_MSSCL:I2C 时钟 Fh = UART0_RX:UART0 RX 10h = UART0_TX:UART0 TX 11h = UART0_CTS:UART0 CTS 12h = UART0_RTS:UART0 RTS 13h = UART1_RX:UART1 RX 14h = UART1_TX:UART1 TX 15h = UART1_CTS:UART1 CTS 16h = UART1_RTS:UART1 RTS 17h = PORT_EVENT0:端口事件 0 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 18h = PORT_EVENT1: 端口事件 1 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 19h = PORT_EVENT2: 端口事件 2 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ah = PORT_EVENT3: 端口事件 3 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Bh = PORT_EVENT4: 端口事件 4 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ch = PORT_EVENT5: 端口事件 5 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Dh = PORT_EVENT6: 端口事件 6 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Eh = PORT_EVENT7: 端口事件 7 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 20h = CPU_SWV: CPU SWV 21h = SSI1_RX:SSI1 RX 22h = SSI1_TX:SSI1 TX 23h = SSI1_FSS:SSI1 FSS 24h = SSI1_CLK:SSI1 CLK 25h = I2S_AD0:I2S 数据 0 26h = I2S_AD1: I2S 数据 1 27h = I2S_WCLK: I2S WCLK 28h = I2S_BCLK:I2S BCLK 29h = I2S_MCLK:I2S MCLK 2Eh = 射频内核跟踪 2Fh = 射频内核数据输出 0 30h = 射频内核数据输出 1 31h = 射频内核数据输出 2 32h = 射频内核数据输出 3 33h = 射频内核数据输入 0 34h = 射频内核数据输入 1 35h = 射频内核 SMI 数据链路输出 36h = 射频内核 SMI 数据链路输入 37h = 射频内核 SMI 命令链路输出 38h = 射频内核 SMI 命令链路输入 |
图 14-43 展示了 IOCFG20,表 14-50 对其进行了介绍。
返回到汇总表。
DIO20 的配置
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | HYST_EN | IE | WU_CFG | IOMODE | |||
| R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| IOEV_AON_PROG2_EN | IOEV_AON_PROG1_EN | IOEV_AON_PROG0_EN | RESERVED | EDGE_IRQ_EN | EDGE_DET | ||
| R/W-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | R/W-0h | ||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | PULL_CTL | SLEW_RED | IOCURR | IOSTR | |||
| R-0h | R/W-3h | R/W-0h | R/W-0h | R/W-0h | |||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| IOEV_RTC_EN | IOEV_MCU_WU_EN | PORT_ID | |||||
| R/W-0h | R/W-0h | R/W-0h | |||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31 | RESERVED | R | 0h | 保留 |
| 30 | HYST_EN | R/W | 0h | 0:输入迟滞禁用 1:输入迟滞使能 |
| 29 | IE | R/W | 0h | 0:输入禁用 1:输入使能 注意:如果 IO 配置为 AUX PORT_ID = 0x08,则使能将被忽略。 |
| 28-27 | WU_CFG | R/W | 0h | 如果 DIO 配置为 GPIO 或非 AON 外设信号(PORT_ID 0x00 或 >0x08): 00:无唤醒 01:无唤醒 10:如果该焊盘变为低电平,则从关断状态唤醒。 11:如果该焊盘变为高电平,则从关断状态唤醒。 如果 IO 配置为 AON 外设信号或 AUX PORT_ID 0x01-0x08,则该寄存器仅设置是否使能唤醒。 00、01:唤醒禁用 10、11:唤醒使能 极性通过 AON 寄存器进行控制。 注意:当 MSB 置位时,IOC 将停用 DIO 的输出使能。 |
| 26-24 | IOMODE | R/W | 0h | IO 模式 不适用于配置为 AON 外设信号和 AUX PORT_ID 0x01-0x08 的 IO AUX 有自己的 open_source/drain 配置。 0x2: 保留。未定义的行为。 0x3:保留。未定义的行为。 0h = NORMAL:正常输入/输出 1h = INV:反相输入/输出 4h = OPENDR: 开漏, 正常输入/输出 5h = OPENDR_INV:开漏 反相输入/输出 6h = OPENSRC:开源 正常输入/输出 7h = OPENSRC_INV:开源 反相输入/输出 |
| 23 | IOEV_AON_PROG2_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG2 事件置为有效 1:输入边沿检测将 AON_PROG2 事件置为有效 |
| 22 | IOEV_AON_PROG1_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG1 事件置为有效 1:输入边沿检测将 AON_PROG1 事件置为有效 |
| 21 | IOEV_AON_PROG0_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG0 事件置为有效 1:输入边沿检测将 AON_PROG0 事件置为有效 |
| 20-19 | RESERVED | R | 0h | 保留 |
| 18 | EDGE_IRQ_EN | R/W | 0h | 0:无中断生成 1:使能该 IO 的中断生成(仅在 EDGE_DET 已使能时有效) |
| 17-16 | EDGE_DET | R/W | 0h | 使能该 IO 上的边沿检测事件生成 0h = NONE:无边沿检测 1h = 负边沿检测 2h = 正边沿检测 3h = 正负边沿检测 |
| 15 | RESERVED | R | 0h | 保留 |
| 14-13 | PULL_CTL | R/W | 3h | 上拉/下拉控制 1h = DWN:下拉 2h = UP:上拉 3h = DIS:无上拉/下拉 |
| 12 | SLEW_RED | R/W | 0h | 0:标称压摆率 1:在输出驱动器中降低压摆率。 |
| 11-10 | IOCURR | R/W | 0h | 选择该 IO 的 IO 电流模式。 0h = 2MA:低电流 (LC) 模式:IOSTR 设置为 AUTO 时最小值为 2mA 1h = 4MA:高电流 (HC) 模式:IOSTR 设置为 AUTO 时最小值为 4mA 2h = 4_8MA:扩展电流 (EC) 模式:当 IOSTR 设为 AUTO 时,双驱动强度 IO 的最小值为 8mA(标准 IO 的最小值为 4mA) |
| 9-8 | IOSTR | R/W | 0h | 选择该 IO 的驱动强度控制源。 此设置控制低电流 (LC) 模式的驱动强度。可在 IOCURR 中选择更高的驱动强度 0h = 自动驱动强度,由 AON BATMON 根据电池电压控制。(VDDS 时最小 2mA) 1h = 最小驱动强度,由 AON_IOC:IOSTRMIN 控制(默认值为 3.3V 时最小 2mA) 2h = MED:中等驱动强度,由 AON_IOC:IOSTRMED 控制(默认值为 2.5V 时最小 2mA) 3h = 最大驱动强度,由 AON_IOC:IOSTRMAX 控制(默认值为 1.8V 时最小 2mA) |
| 7 | IOEV_RTC_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 RTC 事件置为有效 1:输入边沿检测将 RTC 事件置为有效 |
| 6 | IOEV_MCU_WU_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 MCU_WU 事件置为有效 1:输入边沿检测将 MCU_WU 事件置为有效 |
| 5-0 | PORT_ID | R/W | 0h | 选择 DIO20 的用途 注意:除明确要求更改 PORT_ID 值的情况外,不应写入此字段。 0h =通用 IO 7h = AON 32 KHz 时钟 (SCLK_LF) 8h = AUX IO 9h = SSI0_RX:SSI0 RX Ah = SSI0_TX:SSI0 TX Bh = SSI0_FSS:SSI0 FSS Ch = SSI0_CLK:SSI0 CLK Dh = I2C_MSSDA:I2C 数据 Eh = I2C_MSSCL:I2C 时钟 Fh = UART0_RX:UART0 RX 10h = UART0_TX:UART0 TX 11h = UART0_CTS:UART0 CTS 12h = UART0_RTS:UART0 RTS 13h = UART1_RX:UART1 RX 14h = UART1_TX:UART1 TX 15h = UART1_CTS:UART1 CTS 16h = UART1_RTS:UART1 RTS 17h = PORT_EVENT0:端口事件 0 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 18h = PORT_EVENT1: 端口事件 1 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 19h = PORT_EVENT2: 端口事件 2 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ah = PORT_EVENT3: 端口事件 3 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Bh = PORT_EVENT4: 端口事件 4 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ch = PORT_EVENT5: 端口事件 5 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Dh = PORT_EVENT6: 端口事件 6 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Eh = PORT_EVENT7: 端口事件 7 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 20h = CPU_SWV: CPU SWV 21h = SSI1_RX:SSI1 RX 22h = SSI1_TX:SSI1 TX 23h = SSI1_FSS:SSI1 FSS 24h = SSI1_CLK:SSI1 CLK 25h = I2S_AD0:I2S 数据 0 26h = I2S_AD1: I2S 数据 1 27h = I2S_WCLK: I2S WCLK 28h = I2S_BCLK:I2S BCLK 29h = I2S_MCLK:I2S MCLK 2Eh = 射频内核跟踪 2Fh = 射频内核数据输出 0 30h = 射频内核数据输出 1 31h = 射频内核数据输出 2 32h = 射频内核数据输出 3 33h = 射频内核数据输入 0 34h = 射频内核数据输入 1 35h = 射频内核 SMI 数据链路输出 36h = 射频内核 SMI 数据链路输入 37h = 射频内核 SMI 命令链路输出 38h = 射频内核 SMI 命令链路输入 |
图 14-44 展示了 IOCFG21,表 14-51 对其进行了介绍。
返回到汇总表。
DIO21 的配置
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | HYST_EN | IE | WU_CFG | IOMODE | |||
| R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| IOEV_AON_PROG2_EN | IOEV_AON_PROG1_EN | IOEV_AON_PROG0_EN | RESERVED | EDGE_IRQ_EN | EDGE_DET | ||
| R/W-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | R/W-0h | ||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | PULL_CTL | SLEW_RED | IOCURR | IOSTR | |||
| R-0h | R/W-3h | R/W-0h | R/W-0h | R/W-0h | |||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| IOEV_RTC_EN | IOEV_MCU_WU_EN | PORT_ID | |||||
| R/W-0h | R/W-0h | R/W-0h | |||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31 | RESERVED | R | 0h | 保留 |
| 30 | HYST_EN | R/W | 0h | 0:输入迟滞禁用 1:输入迟滞使能 |
| 29 | IE | R/W | 0h | 0:输入禁用 1:输入使能 注意:如果 IO 配置为 AUX PORT_ID = 0x08,则使能将被忽略。 |
| 28-27 | WU_CFG | R/W | 0h | 如果 DIO 配置为 GPIO 或非 AON 外设信号(PORT_ID 0x00 或 >0x08): 00:无唤醒 01:无唤醒 10:如果该焊盘变为低电平,则从关断状态唤醒。 11:如果该焊盘变为高电平,则从关断状态唤醒。 如果 IO 配置为 AON 外设信号或 AUX PORT_ID 0x01-0x08,则该寄存器仅设置是否使能唤醒。 00、01:唤醒禁用 10、11:唤醒使能 极性通过 AON 寄存器进行控制。 注意:当 MSB 置位时,IOC 将停用 DIO 的输出使能。 |
| 26-24 | IOMODE | R/W | 0h | IO 模式 不适用于配置为 AON 外设信号和 AUX PORT_ID 0x01-0x08 的 IO AUX 有自己的 open_source/drain 配置。 0x2: 保留。未定义的行为。 0x3:保留。未定义的行为。 0h = NORMAL:正常输入/输出 1h = INV:反相输入/输出 4h = OPENDR: 开漏, 正常输入/输出 5h = OPENDR_INV:开漏 反相输入/输出 6h = OPENSRC:开源 正常输入/输出 7h = OPENSRC_INV:开源 反相输入/输出 |
| 23 | IOEV_AON_PROG2_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG2 事件置为有效 1:输入边沿检测将 AON_PROG2 事件置为有效 |
| 22 | IOEV_AON_PROG1_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG1 事件置为有效 1:输入边沿检测将 AON_PROG1 事件置为有效 |
| 21 | IOEV_AON_PROG0_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG0 事件置为有效 1:输入边沿检测将 AON_PROG0 事件置为有效 |
| 20-19 | RESERVED | R | 0h | 保留 |
| 18 | EDGE_IRQ_EN | R/W | 0h | 0:无中断生成 1:使能该 IO 的中断生成(仅在 EDGE_DET 已使能时有效) |
| 17-16 | EDGE_DET | R/W | 0h | 使能该 IO 上的边沿检测事件生成 0h = NONE:无边沿检测 1h = 负边沿检测 2h = 正边沿检测 3h = 正负边沿检测 |
| 15 | RESERVED | R | 0h | 保留 |
| 14-13 | PULL_CTL | R/W | 3h | 上拉/下拉控制 1h = DWN:下拉 2h = UP:上拉 3h = DIS:无上拉/下拉 |
| 12 | SLEW_RED | R/W | 0h | 0:标称压摆率 1:在输出驱动器中降低压摆率。 |
| 11-10 | IOCURR | R/W | 0h | 选择该 IO 的 IO 电流模式。 0h = 2MA:低电流 (LC) 模式:IOSTR 设置为 AUTO 时最小值为 2mA 1h = 4MA:高电流 (HC) 模式:IOSTR 设置为 AUTO 时最小值为 4mA 2h = 4_8MA:扩展电流 (EC) 模式:当 IOSTR 设为 AUTO 时,双驱动强度 IO 的最小值为 8mA(标准 IO 的最小值为 4mA) |
| 9-8 | IOSTR | R/W | 0h | 选择该 IO 的驱动强度控制源。 此设置控制低电流 (LC) 模式的驱动强度。可在 IOCURR 中选择更高的驱动强度 0h = 自动驱动强度,由 AON BATMON 根据电池电压控制。(VDDS 时最小 2mA) 1h = 最小驱动强度,由 AON_IOC:IOSTRMIN 控制(默认值为 3.3V 时最小 2mA) 2h = MED:中等驱动强度,由 AON_IOC:IOSTRMED 控制(默认值为 2.5V 时最小 2mA) 3h = 最大驱动强度,由 AON_IOC:IOSTRMAX 控制(默认值为 1.8V 时最小 2mA) |
| 7 | IOEV_RTC_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 RTC 事件置为有效 1:输入边沿检测将 RTC 事件置为有效 |
| 6 | IOEV_MCU_WU_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 MCU_WU 事件置为有效 1:输入边沿检测将 MCU_WU 事件置为有效 |
| 5-0 | PORT_ID | R/W | 0h | 选择 DIO21 的用途 注意:除明确要求更改 PORT_ID 值的情况外,不应写入此字段。 0h =通用 IO 7h = AON 32 KHz 时钟 (SCLK_LF) 8h = AUX IO 9h = SSI0_RX:SSI0 RX Ah = SSI0_TX:SSI0 TX Bh = SSI0_FSS:SSI0 FSS Ch = SSI0_CLK:SSI0 CLK Dh = I2C_MSSDA:I2C 数据 Eh = I2C_MSSCL:I2C 时钟 Fh = UART0_RX:UART0 RX 10h = UART0_TX:UART0 TX 11h = UART0_CTS:UART0 CTS 12h = UART0_RTS:UART0 RTS 13h = UART1_RX:UART1 RX 14h = UART1_TX:UART1 TX 15h = UART1_CTS:UART1 CTS 16h = UART1_RTS:UART1 RTS 17h = PORT_EVENT0:端口事件 0 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 18h = PORT_EVENT1: 端口事件 1 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 19h = PORT_EVENT2: 端口事件 2 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ah = PORT_EVENT3: 端口事件 3 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Bh = PORT_EVENT4: 端口事件 4 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ch = PORT_EVENT5: 端口事件 5 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Dh = PORT_EVENT6: 端口事件 6 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Eh = PORT_EVENT7: 端口事件 7 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 20h = CPU_SWV: CPU SWV 21h = SSI1_RX:SSI1 RX 22h = SSI1_TX:SSI1 TX 23h = SSI1_FSS:SSI1 FSS 24h = SSI1_CLK:SSI1 CLK 25h = I2S_AD0:I2S 数据 0 26h = I2S_AD1: I2S 数据 1 27h = I2S_WCLK: I2S WCLK 28h = I2S_BCLK:I2S BCLK 29h = I2S_MCLK:I2S MCLK 2Eh = 射频内核跟踪 2Fh = 射频内核数据输出 0 30h = 射频内核数据输出 1 31h = 射频内核数据输出 2 32h = 射频内核数据输出 3 33h = 射频内核数据输入 0 34h = 射频内核数据输入 1 35h = 射频内核 SMI 数据链路输出 36h = 射频内核 SMI 数据链路输入 37h = 射频内核 SMI 命令链路输出 38h = 射频内核 SMI 命令链路输入 |
图 14-45 展示了 IOCFG22,表 14-52 对其进行了介绍。
返回到汇总表。
DIO22 的配置
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | HYST_EN | IE | WU_CFG | IOMODE | |||
| R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| IOEV_AON_PROG2_EN | IOEV_AON_PROG1_EN | IOEV_AON_PROG0_EN | RESERVED | EDGE_IRQ_EN | EDGE_DET | ||
| R/W-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | R/W-0h | ||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | PULL_CTL | SLEW_RED | IOCURR | IOSTR | |||
| R-0h | R/W-3h | R/W-0h | R/W-0h | R/W-0h | |||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| IOEV_RTC_EN | IOEV_MCU_WU_EN | PORT_ID | |||||
| R/W-0h | R/W-0h | R/W-0h | |||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31 | RESERVED | R | 0h | 保留 |
| 30 | HYST_EN | R/W | 0h | 0:输入迟滞禁用 1:输入迟滞使能 |
| 29 | IE | R/W | 0h | 0:输入禁用 1:输入使能 注意:如果 IO 配置为 AUX PORT_ID = 0x08,则使能将被忽略。 |
| 28-27 | WU_CFG | R/W | 0h | 如果 DIO 配置为 GPIO 或非 AON 外设信号(PORT_ID 0x00 或 >0x08): 00:无唤醒 01:无唤醒 10:如果该焊盘变为低电平,则从关断状态唤醒。 11:如果该焊盘变为高电平,则从关断状态唤醒。 如果 IO 配置为 AON 外设信号或 AUX PORT_ID 0x01-0x08,则该寄存器仅设置是否使能唤醒。 00、01:唤醒禁用 10、11:唤醒使能 极性通过 AON 寄存器进行控制。 注意:当 MSB 置位时,IOC 将停用 DIO 的输出使能。 |
| 26-24 | IOMODE | R/W | 0h | IO 模式 不适用于配置为 AON 外设信号和 AUX PORT_ID 0x01-0x08 的 IO AUX 有自己的 open_source/drain 配置。 0x2: 保留。未定义的行为。 0x3:保留。未定义的行为。 0h = NORMAL:正常输入/输出 1h = INV:反相输入/输出 4h = OPENDR: 开漏, 正常输入/输出 5h = OPENDR_INV:开漏 反相输入/输出 6h = OPENSRC:开源 正常输入/输出 7h = OPENSRC_INV:开源 反相输入/输出 |
| 23 | IOEV_AON_PROG2_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG2 事件置为有效 1:输入边沿检测将 AON_PROG2 事件置为有效 |
| 22 | IOEV_AON_PROG1_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG1 事件置为有效 1:输入边沿检测将 AON_PROG1 事件置为有效 |
| 21 | IOEV_AON_PROG0_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG0 事件置为有效 1:输入边沿检测将 AON_PROG0 事件置为有效 |
| 20-19 | RESERVED | R | 0h | 保留 |
| 18 | EDGE_IRQ_EN | R/W | 0h | 0:无中断生成 1:使能该 IO 的中断生成(仅在 EDGE_DET 已使能时有效) |
| 17-16 | EDGE_DET | R/W | 0h | 使能该 IO 上的边沿检测事件生成 0h = NONE:无边沿检测 1h = 负边沿检测 2h = 正边沿检测 3h = 正负边沿检测 |
| 15 | RESERVED | R | 0h | 保留 |
| 14-13 | PULL_CTL | R/W | 3h | 上拉/下拉控制 1h = DWN:下拉 2h = UP:上拉 3h = DIS:无上拉/下拉 |
| 12 | SLEW_RED | R/W | 0h | 0:标称压摆率 1:在输出驱动器中降低压摆率。 |
| 11-10 | IOCURR | R/W | 0h | 选择该 IO 的 IO 电流模式。 0h = 2MA:低电流 (LC) 模式:IOSTR 设置为 AUTO 时最小值为 2mA 1h = 4MA:高电流 (HC) 模式:IOSTR 设置为 AUTO 时最小值为 4mA 2h = 4_8MA:扩展电流 (EC) 模式:当 IOSTR 设为 AUTO 时,双驱动强度 IO 的最小值为 8mA(标准 IO 的最小值为 4mA) |
| 9-8 | IOSTR | R/W | 0h | 选择该 IO 的驱动强度控制源。 此设置控制低电流 (LC) 模式的驱动强度。可在 IOCURR 中选择更高的驱动强度 0h = 自动驱动强度,由 AON BATMON 根据电池电压控制。(VDDS 时最小 2mA) 1h = 最小驱动强度,由 AON_IOC:IOSTRMIN 控制(默认值为 3.3V 时最小 2mA) 2h = MED:中等驱动强度,由 AON_IOC:IOSTRMED 控制(默认值为 2.5V 时最小 2mA) 3h = 最大驱动强度,由 AON_IOC:IOSTRMAX 控制(默认值为 1.8V 时最小 2mA) |
| 7 | IOEV_RTC_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 RTC 事件置为有效 1:输入边沿检测将 RTC 事件置为有效 |
| 6 | IOEV_MCU_WU_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 MCU_WU 事件置为有效 1:输入边沿检测将 MCU_WU 事件置为有效 |
| 5-0 | PORT_ID | R/W | 0h | 选择 DIO22 的用途 注意:除明确要求更改 PORT_ID 值的情况外,不应写入此字段。 0h =通用 IO 7h = AON 32 KHz 时钟 (SCLK_LF) 8h = AUX IO 9h = SSI0_RX:SSI0 RX Ah = SSI0_TX:SSI0 TX Bh = SSI0_FSS:SSI0 FSS Ch = SSI0_CLK:SSI0 CLK Dh = I2C_MSSDA:I2C 数据 Eh = I2C_MSSCL:I2C 时钟 Fh = UART0_RX:UART0 RX 10h = UART0_TX:UART0 TX 11h = UART0_CTS:UART0 CTS 12h = UART0_RTS:UART0 RTS 13h = UART1_RX:UART1 RX 14h = UART1_TX:UART1 TX 15h = UART1_CTS:UART1 CTS 16h = UART1_RTS:UART1 RTS 17h = PORT_EVENT0:端口事件 0 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 18h = PORT_EVENT1: 端口事件 1 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 19h = PORT_EVENT2: 端口事件 2 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ah = PORT_EVENT3: 端口事件 3 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Bh = PORT_EVENT4: 端口事件 4 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ch = PORT_EVENT5: 端口事件 5 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Dh = PORT_EVENT6: 端口事件 6 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Eh = PORT_EVENT7: 端口事件 7 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 20h = CPU_SWV: CPU SWV 21h = SSI1_RX:SSI1 RX 22h = SSI1_TX:SSI1 TX 23h = SSI1_FSS:SSI1 FSS 24h = SSI1_CLK:SSI1 CLK 25h = I2S_AD0:I2S 数据 0 26h = I2S_AD1: I2S 数据 1 27h = I2S_WCLK: I2S WCLK 28h = I2S_BCLK:I2S BCLK 29h = I2S_MCLK:I2S MCLK 2Eh = 射频内核跟踪 2Fh = 射频内核数据输出 0 30h = 射频内核数据输出 1 31h = 射频内核数据输出 2 32h = 射频内核数据输出 3 33h = 射频内核数据输入 0 34h = 射频内核数据输入 1 35h = 射频内核 SMI 数据链路输出 36h = 射频内核 SMI 数据链路输入 37h = 射频内核 SMI 命令链路输出 38h = 射频内核 SMI 命令链路输入 |
图 14-46 展示了 IOCFG23,表 14-53 对其进行了介绍。
返回到汇总表。
DIO23 的配置
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | HYST_EN | IE | WU_CFG | IOMODE | |||
| R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| IOEV_AON_PROG2_EN | IOEV_AON_PROG1_EN | IOEV_AON_PROG0_EN | RESERVED | EDGE_IRQ_EN | EDGE_DET | ||
| R/W-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | R/W-0h | ||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | PULL_CTL | SLEW_RED | IOCURR | IOSTR | |||
| R-0h | R/W-3h | R/W-0h | R/W-0h | R/W-0h | |||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| IOEV_RTC_EN | IOEV_MCU_WU_EN | PORT_ID | |||||
| R/W-0h | R/W-0h | R/W-0h | |||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31 | RESERVED | R | 0h | 保留 |
| 30 | HYST_EN | R/W | 0h | 0:输入迟滞禁用 1:输入迟滞使能 |
| 29 | IE | R/W | 0h | 0:输入禁用 1:输入使能 注意:如果 IO 配置为 AUX PORT_ID = 0x08,则使能将被忽略。 |
| 28-27 | WU_CFG | R/W | 0h | 如果 DIO 配置为 GPIO 或非 AON 外设信号(PORT_ID 0x00 或 >0x08): 00:无唤醒 01:无唤醒 10:如果该焊盘变为低电平,则从关断状态唤醒。 11:如果该焊盘变为高电平,则从关断状态唤醒。 如果 IO 配置为 AON 外设信号或 AUX PORT_ID 0x01-0x08,则该寄存器仅设置是否使能唤醒。 00、01:唤醒禁用 10、11:唤醒使能 极性通过 AON 寄存器进行控制。 注意:当 MSB 置位时,IOC 将停用 DIO 的输出使能。 |
| 26-24 | IOMODE | R/W | 0h | IO 模式 不适用于配置为 AON 外设信号和 AUX PORT_ID 0x01-0x08 的 IO AUX 有自己的 open_source/drain 配置。 0x2: 保留。未定义的行为。 0x3:保留。未定义的行为。 0h = NORMAL:正常输入/输出 1h = INV:反相输入/输出 4h = OPENDR: 开漏, 正常输入/输出 5h = OPENDR_INV:开漏 反相输入/输出 6h = OPENSRC:开源 正常输入/输出 7h = OPENSRC_INV:开源 反相输入/输出 |
| 23 | IOEV_AON_PROG2_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG2 事件置为有效 1:输入边沿检测将 AON_PROG2 事件置为有效 |
| 22 | IOEV_AON_PROG1_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG1 事件置为有效 1:输入边沿检测将 AON_PROG1 事件置为有效 |
| 21 | IOEV_AON_PROG0_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG0 事件置为有效 1:输入边沿检测将 AON_PROG0 事件置为有效 |
| 20-19 | RESERVED | R | 0h | 保留 |
| 18 | EDGE_IRQ_EN | R/W | 0h | 0:无中断生成 1:使能该 IO 的中断生成(仅在 EDGE_DET 已使能时有效) |
| 17-16 | EDGE_DET | R/W | 0h | 使能该 IO 上的边沿检测事件生成 0h = NONE:无边沿检测 1h = 负边沿检测 2h = 正边沿检测 3h = 正负边沿检测 |
| 15 | RESERVED | R | 0h | 保留 |
| 14-13 | PULL_CTL | R/W | 3h | 上拉/下拉控制 1h = DWN:下拉 2h = UP:上拉 3h = DIS:无上拉/下拉 |
| 12 | SLEW_RED | R/W | 0h | 0:标称压摆率 1:在输出驱动器中降低压摆率。 |
| 11-10 | IOCURR | R/W | 0h | 选择该 IO 的 IO 电流模式。 0h = 2MA:低电流 (LC) 模式:IOSTR 设置为 AUTO 时最小值为 2mA 1h = 4MA:高电流 (HC) 模式:IOSTR 设置为 AUTO 时最小值为 4mA 2h = 4_8MA:扩展电流 (EC) 模式:当 IOSTR 设为 AUTO 时,双驱动强度 IO 的最小值为 8mA(标准 IO 的最小值为 4mA) |
| 9-8 | IOSTR | R/W | 0h | 选择该 IO 的驱动强度控制源。 此设置控制低电流 (LC) 模式的驱动强度。可在 IOCURR 中选择更高的驱动强度 0h = 自动驱动强度,由 AON BATMON 根据电池电压控制。(VDDS 时最小 2mA) 1h = 最小驱动强度,由 AON_IOC:IOSTRMIN 控制(默认值为 3.3V 时最小 2mA) 2h = MED:中等驱动强度,由 AON_IOC:IOSTRMED 控制(默认值为 2.5V 时最小 2mA) 3h = 最大驱动强度,由 AON_IOC:IOSTRMAX 控制(默认值为 1.8V 时最小 2mA) |
| 7 | IOEV_RTC_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 RTC 事件置为有效 1:输入边沿检测将 RTC 事件置为有效 |
| 6 | IOEV_MCU_WU_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 MCU_WU 事件置为有效 1:输入边沿检测将 MCU_WU 事件置为有效 |
| 5-0 | PORT_ID | R/W | 0h | 选择 DIO23 的用途 注意:除明确要求更改 PORT_ID 值的情况外,不应写入此字段。 0h =通用 IO 7h = AON 32 KHz 时钟 (SCLK_LF) 8h = AUX IO 9h = SSI0_RX:SSI0 RX Ah = SSI0_TX:SSI0 TX Bh = SSI0_FSS:SSI0 FSS Ch = SSI0_CLK:SSI0 CLK Dh = I2C_MSSDA:I2C 数据 Eh = I2C_MSSCL:I2C 时钟 Fh = UART0_RX:UART0 RX 10h = UART0_TX:UART0 TX 11h = UART0_CTS:UART0 CTS 12h = UART0_RTS:UART0 RTS 13h = UART1_RX:UART1 RX 14h = UART1_TX:UART1 TX 15h = UART1_CTS:UART1 CTS 16h = UART1_RTS:UART1 RTS 17h = PORT_EVENT0:端口事件 0 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 18h = PORT_EVENT1: 端口事件 1 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 19h = PORT_EVENT2: 端口事件 2 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ah = PORT_EVENT3: 端口事件 3 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Bh = PORT_EVENT4: 端口事件 4 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ch = PORT_EVENT5: 端口事件 5 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Dh = PORT_EVENT6: 端口事件 6 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Eh = PORT_EVENT7: 端口事件 7 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 20h = CPU_SWV: CPU SWV 21h = SSI1_RX:SSI1 RX 22h = SSI1_TX:SSI1 TX 23h = SSI1_FSS:SSI1 FSS 24h = SSI1_CLK:SSI1 CLK 25h = I2S_AD0:I2S 数据 0 26h = I2S_AD1: I2S 数据 1 27h = I2S_WCLK: I2S WCLK 28h = I2S_BCLK:I2S BCLK 29h = I2S_MCLK:I2S MCLK 2Eh = 射频内核跟踪 2Fh = 射频内核数据输出 0 30h = 射频内核数据输出 1 31h = 射频内核数据输出 2 32h = 射频内核数据输出 3 33h = 射频内核数据输入 0 34h = 射频内核数据输入 1 35h = 射频内核 SMI 数据链路输出 36h = 射频内核 SMI 数据链路输入 37h = 射频内核 SMI 命令链路输出 38h = 射频内核 SMI 命令链路输入 |
图 14-47 展示了 IOCFG24,表 14-54 对其进行了介绍。
返回到汇总表。
DIO24 的配置
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | HYST_EN | IE | WU_CFG | IOMODE | |||
| R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| IOEV_AON_PROG2_EN | IOEV_AON_PROG1_EN | IOEV_AON_PROG0_EN | RESERVED | EDGE_IRQ_EN | EDGE_DET | ||
| R/W-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | R/W-0h | ||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | PULL_CTL | SLEW_RED | IOCURR | IOSTR | |||
| R-0h | R/W-3h | R/W-0h | R/W-0h | R/W-0h | |||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| IOEV_RTC_EN | IOEV_MCU_WU_EN | PORT_ID | |||||
| R/W-0h | R/W-0h | R/W-0h | |||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31 | RESERVED | R | 0h | 保留 |
| 30 | HYST_EN | R/W | 0h | 0:输入迟滞禁用 1:输入迟滞使能 |
| 29 | IE | R/W | 0h | 0:输入禁用 1:输入使能 注意:如果 IO 配置为 AUX PORT_ID = 0x08,则使能将被忽略。 |
| 28-27 | WU_CFG | R/W | 0h | 如果 DIO 配置为 GPIO 或非 AON 外设信号(PORT_ID 0x00 或 >0x08): 00:无唤醒 01:无唤醒 10:如果该焊盘变为低电平,则从关断状态唤醒。 11:如果该焊盘变为高电平,则从关断状态唤醒。 如果 IO 配置为 AON 外设信号或 AUX PORT_ID 0x01-0x08,则该寄存器仅设置是否使能唤醒。 00、01:唤醒禁用 10、11:唤醒使能 极性通过 AON 寄存器进行控制。 注意:当 MSB 置位时,IOC 将停用 DIO 的输出使能。 |
| 26-24 | IOMODE | R/W | 0h | IO 模式 不适用于配置为 AON 外设信号和 AUX PORT_ID 0x01-0x08 的 IO AUX 有自己的 open_source/drain 配置。 0x2: 保留。未定义的行为。 0x3:保留。未定义的行为。 0h = NORMAL:正常输入/输出 1h = INV:反相输入/输出 4h = OPENDR: 开漏, 正常输入/输出 5h = OPENDR_INV:开漏 反相输入/输出 6h = OPENSRC:开源 正常输入/输出 7h = OPENSRC_INV:开源 反相输入/输出 |
| 23 | IOEV_AON_PROG2_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG2 事件置为有效 1:输入边沿检测将 AON_PROG2 事件置为有效 |
| 22 | IOEV_AON_PROG1_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG1 事件置为有效 1:输入边沿检测将 AON_PROG1 事件置为有效 |
| 21 | IOEV_AON_PROG0_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG0 事件置为有效 1:输入边沿检测将 AON_PROG0 事件置为有效 |
| 20-19 | RESERVED | R | 0h | 保留 |
| 18 | EDGE_IRQ_EN | R/W | 0h | 0:无中断生成 1:使能该 IO 的中断生成(仅在 EDGE_DET 已使能时有效) |
| 17-16 | EDGE_DET | R/W | 0h | 使能该 IO 上的边沿检测事件生成 0h = NONE:无边沿检测 1h = 负边沿检测 2h = 正边沿检测 3h = 正负边沿检测 |
| 15 | RESERVED | R | 0h | 保留 |
| 14-13 | PULL_CTL | R/W | 3h | 上拉/下拉控制 1h = DWN:下拉 2h = UP:上拉 3h = DIS:无上拉/下拉 |
| 12 | SLEW_RED | R/W | 0h | 0:标称压摆率 1:在输出驱动器中降低压摆率。 |
| 11-10 | IOCURR | R/W | 0h | 选择该 IO 的 IO 电流模式。 0h = 2MA:低电流 (LC) 模式:IOSTR 设置为 AUTO 时最小值为 2mA 1h = 4MA:高电流 (HC) 模式:IOSTR 设置为 AUTO 时最小值为 4mA 2h = 4_8MA:扩展电流 (EC) 模式:当 IOSTR 设为 AUTO 时,双驱动强度 IO 的最小值为 8mA(标准 IO 的最小值为 4mA) |
| 9-8 | IOSTR | R/W | 0h | 选择该 IO 的驱动强度控制源。 此设置控制低电流 (LC) 模式的驱动强度。可在 IOCURR 中选择更高的驱动强度 0h = 自动驱动强度,由 AON BATMON 根据电池电压控制。(VDDS 时最小 2mA) 1h = 最小驱动强度,由 AON_IOC:IOSTRMIN 控制(默认值为 3.3V 时最小 2mA) 2h = MED:中等驱动强度,由 AON_IOC:IOSTRMED 控制(默认值为 2.5V 时最小 2mA) 3h = 最大驱动强度,由 AON_IOC:IOSTRMAX 控制(默认值为 1.8V 时最小 2mA) |
| 7 | IOEV_RTC_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 RTC 事件置为有效 1:输入边沿检测将 RTC 事件置为有效 |
| 6 | IOEV_MCU_WU_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 MCU_WU 事件置为有效 1:输入边沿检测将 MCU_WU 事件置为有效 |
| 5-0 | PORT_ID | R/W | 0h | 选择 DIO24 的用途 注意:除明确要求更改 PORT_ID 值的情况外,不应写入此字段。 0h =通用 IO 7h = AON 32 KHz 时钟 (SCLK_LF) 8h = AUX IO 9h = SSI0_RX:SSI0 RX Ah = SSI0_TX:SSI0 TX Bh = SSI0_FSS:SSI0 FSS Ch = SSI0_CLK:SSI0 CLK Dh = I2C_MSSDA:I2C 数据 Eh = I2C_MSSCL:I2C 时钟 Fh = UART0_RX:UART0 RX 10h = UART0_TX:UART0 TX 11h = UART0_CTS:UART0 CTS 12h = UART0_RTS:UART0 RTS 13h = UART1_RX:UART1 RX 14h = UART1_TX:UART1 TX 15h = UART1_CTS:UART1 CTS 16h = UART1_RTS:UART1 RTS 17h = PORT_EVENT0:端口事件 0 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 18h = PORT_EVENT1: 端口事件 1 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 19h = PORT_EVENT2: 端口事件 2 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ah = PORT_EVENT3: 端口事件 3 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Bh = PORT_EVENT4: 端口事件 4 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ch = PORT_EVENT5: 端口事件 5 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Dh = PORT_EVENT6: 端口事件 6 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Eh = PORT_EVENT7: 端口事件 7 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 20h = CPU_SWV: CPU SWV 21h = SSI1_RX:SSI1 RX 22h = SSI1_TX:SSI1 TX 23h = SSI1_FSS:SSI1 FSS 24h = SSI1_CLK:SSI1 CLK 25h = I2S_AD0:I2S 数据 0 26h = I2S_AD1: I2S 数据 1 27h = I2S_WCLK: I2S WCLK 28h = I2S_BCLK:I2S BCLK 29h = I2S_MCLK:I2S MCLK 2Eh = 射频内核跟踪 2Fh = 射频内核数据输出 0 30h = 射频内核数据输出 1 31h = 射频内核数据输出 2 32h = 射频内核数据输出 3 33h = 射频内核数据输入 0 34h = 射频内核数据输入 1 35h = 射频内核 SMI 数据链路输出 36h = 射频内核 SMI 数据链路输入 37h = 射频内核 SMI 命令链路输出 38h = 射频内核 SMI 命令链路输入 |
图 14-48 展示了 IOCFG25,表 14-55 对其进行了介绍。
返回到汇总表。
DIO25 的配置
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | HYST_EN | IE | WU_CFG | IOMODE | |||
| R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| IOEV_AON_PROG2_EN | IOEV_AON_PROG1_EN | IOEV_AON_PROG0_EN | RESERVED | EDGE_IRQ_EN | EDGE_DET | ||
| R/W-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | R/W-0h | ||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | PULL_CTL | SLEW_RED | IOCURR | IOSTR | |||
| R-0h | R/W-3h | R/W-0h | R/W-0h | R/W-0h | |||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| IOEV_RTC_EN | IOEV_MCU_WU_EN | PORT_ID | |||||
| R/W-0h | R/W-0h | R/W-0h | |||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31 | RESERVED | R | 0h | 保留 |
| 30 | HYST_EN | R/W | 0h | 0:输入迟滞禁用 1:输入迟滞使能 |
| 29 | IE | R/W | 0h | 0:输入禁用 1:输入使能 注意:如果 IO 配置为 AUX PORT_ID = 0x08,则使能将被忽略。 |
| 28-27 | WU_CFG | R/W | 0h | 如果 DIO 配置为 GPIO 或非 AON 外设信号(PORT_ID 0x00 或 >0x08): 00:无唤醒 01:无唤醒 10:如果该焊盘变为低电平,则从关断状态唤醒。 11:如果该焊盘变为高电平,则从关断状态唤醒。 如果 IO 配置为 AON 外设信号或 AUX PORT_ID 0x01-0x08,则该寄存器仅设置是否使能唤醒。 00、01:唤醒禁用 10、11:唤醒使能 极性通过 AON 寄存器进行控制。 注意:当 MSB 置位时,IOC 将停用 DIO 的输出使能。 |
| 26-24 | IOMODE | R/W | 0h | IO 模式 不适用于配置为 AON 外设信号和 AUX PORT_ID 0x01-0x08 的 IO AUX 有自己的 open_source/drain 配置。 0x2: 保留。未定义的行为。 0x3:保留。未定义的行为。 0h = NORMAL:正常输入/输出 1h = INV:反相输入/输出 4h = OPENDR: 开漏, 正常输入/输出 5h = OPENDR_INV:开漏 反相输入/输出 6h = OPENSRC:开源 正常输入/输出 7h = OPENSRC_INV:开源 反相输入/输出 |
| 23 | IOEV_AON_PROG2_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG2 事件置为有效 1:输入边沿检测将 AON_PROG2 事件置为有效 |
| 22 | IOEV_AON_PROG1_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG1 事件置为有效 1:输入边沿检测将 AON_PROG1 事件置为有效 |
| 21 | IOEV_AON_PROG0_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG0 事件置为有效 1:输入边沿检测将 AON_PROG0 事件置为有效 |
| 20-19 | RESERVED | R | 0h | 保留 |
| 18 | EDGE_IRQ_EN | R/W | 0h | 0:无中断生成 1:使能该 IO 的中断生成(仅在 EDGE_DET 已使能时有效) |
| 17-16 | EDGE_DET | R/W | 0h | 使能该 IO 上的边沿检测事件生成 0h = NONE:无边沿检测 1h = 负边沿检测 2h = 正边沿检测 3h = 正负边沿检测 |
| 15 | RESERVED | R | 0h | 保留 |
| 14-13 | PULL_CTL | R/W | 3h | 上拉/下拉控制 1h = DWN:下拉 2h = UP:上拉 3h = DIS:无上拉/下拉 |
| 12 | SLEW_RED | R/W | 0h | 0:标称压摆率 1:在输出驱动器中降低压摆率。 |
| 11-10 | IOCURR | R/W | 0h | 选择该 IO 的 IO 电流模式。 0h = 2MA:低电流 (LC) 模式:IOSTR 设置为 AUTO 时最小值为 2mA 1h = 4MA:高电流 (HC) 模式:IOSTR 设置为 AUTO 时最小值为 4mA 2h = 4_8MA:扩展电流 (EC) 模式:当 IOSTR 设为 AUTO 时,双驱动强度 IO 的最小值为 8mA(标准 IO 的最小值为 4mA) |
| 9-8 | IOSTR | R/W | 0h | 选择该 IO 的驱动强度控制源。 此设置控制低电流 (LC) 模式的驱动强度。可在 IOCURR 中选择更高的驱动强度 0h = 自动驱动强度,由 AON BATMON 根据电池电压控制。(VDDS 时最小 2mA) 1h = 最小驱动强度,由 AON_IOC:IOSTRMIN 控制(默认值为 3.3V 时最小 2mA) 2h = MED:中等驱动强度,由 AON_IOC:IOSTRMED 控制(默认值为 2.5V 时最小 2mA) 3h = 最大驱动强度,由 AON_IOC:IOSTRMAX 控制(默认值为 1.8V 时最小 2mA) |
| 7 | IOEV_RTC_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 RTC 事件置为有效 1:输入边沿检测将 RTC 事件置为有效 |
| 6 | IOEV_MCU_WU_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 MCU_WU 事件置为有效 1:输入边沿检测将 MCU_WU 事件置为有效 |
| 5-0 | PORT_ID | R/W | 0h | 选择 DIO25 的用途 注意:除明确要求更改 PORT_ID 值的情况外,不应写入此字段。 0h =通用 IO 7h = AON 32 KHz 时钟 (SCLK_LF) 8h = AUX IO 9h = SSI0_RX:SSI0 RX Ah = SSI0_TX:SSI0 TX Bh = SSI0_FSS:SSI0 FSS Ch = SSI0_CLK:SSI0 CLK Dh = I2C_MSSDA:I2C 数据 Eh = I2C_MSSCL:I2C 时钟 Fh = UART0_RX:UART0 RX 10h = UART0_TX:UART0 TX 11h = UART0_CTS:UART0 CTS 12h = UART0_RTS:UART0 RTS 13h = UART1_RX:UART1 RX 14h = UART1_TX:UART1 TX 15h = UART1_CTS:UART1 CTS 16h = UART1_RTS:UART1 RTS 17h = PORT_EVENT0:端口事件 0 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 18h = PORT_EVENT1: 端口事件 1 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 19h = PORT_EVENT2: 端口事件 2 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ah = PORT_EVENT3: 端口事件 3 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Bh = PORT_EVENT4: 端口事件 4 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ch = PORT_EVENT5: 端口事件 5 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Dh = PORT_EVENT6: 端口事件 6 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Eh = PORT_EVENT7: 端口事件 7 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 20h = CPU_SWV: CPU SWV 21h = SSI1_RX:SSI1 RX 22h = SSI1_TX:SSI1 TX 23h = SSI1_FSS:SSI1 FSS 24h = SSI1_CLK:SSI1 CLK 25h = I2S_AD0:I2S 数据 0 26h = I2S_AD1: I2S 数据 1 27h = I2S_WCLK: I2S WCLK 28h = I2S_BCLK:I2S BCLK 29h = I2S_MCLK:I2S MCLK 2Eh = 射频内核跟踪 2Fh = 射频内核数据输出 0 30h = 射频内核数据输出 1 31h = 射频内核数据输出 2 32h = 射频内核数据输出 3 33h = 射频内核数据输入 0 34h = 射频内核数据输入 1 35h = 射频内核 SMI 数据链路输出 36h = 射频内核 SMI 数据链路输入 37h = 射频内核 SMI 命令链路输出 38h = 射频内核 SMI 命令链路输入 |
图 14-49 展示了 IOCFG26,表 14-56 对其进行了介绍。
返回到汇总表。
DIO26 的配置
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | HYST_EN | IE | WU_CFG | IOMODE | |||
| R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| IOEV_AON_PROG2_EN | IOEV_AON_PROG1_EN | IOEV_AON_PROG0_EN | RESERVED | EDGE_IRQ_EN | EDGE_DET | ||
| R/W-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | R/W-0h | ||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | PULL_CTL | SLEW_RED | IOCURR | IOSTR | |||
| R-0h | R/W-3h | R/W-0h | R/W-0h | R/W-0h | |||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| IOEV_RTC_EN | IOEV_MCU_WU_EN | PORT_ID | |||||
| R/W-0h | R/W-0h | R/W-0h | |||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31 | RESERVED | R | 0h | 保留 |
| 30 | HYST_EN | R/W | 0h | 0:输入迟滞禁用 1:输入迟滞使能 |
| 29 | IE | R/W | 0h | 0:输入禁用 1:输入使能 注意:如果 IO 配置为 AUX PORT_ID = 0x08,则使能将被忽略。 |
| 28-27 | WU_CFG | R/W | 0h | 如果 DIO 配置为 GPIO 或非 AON 外设信号(PORT_ID 0x00 或 >0x08): 00:无唤醒 01:无唤醒 10:如果该焊盘变为低电平,则从关断状态唤醒。 11:如果该焊盘变为高电平,则从关断状态唤醒。 如果 IO 配置为 AON 外设信号或 AUX PORT_ID 0x01-0x08,则该寄存器仅设置是否使能唤醒。 00、01:唤醒禁用 10、11:唤醒使能 极性通过 AON 寄存器进行控制。 注意:当 MSB 置位时,IOC 将停用 DIO 的输出使能。 |
| 26-24 | IOMODE | R/W | 0h | IO 模式 不适用于配置为 AON 外设信号和 AUX PORT_ID 0x01-0x08 的 IO AUX 有自己的 open_source/drain 配置。 0x2: 保留。未定义的行为。 0x3:保留。未定义的行为。 0h = NORMAL:正常输入/输出 1h = INV:反相输入/输出 4h = OPENDR: 开漏, 正常输入/输出 5h = OPENDR_INV:开漏 反相输入/输出 6h = OPENSRC:开源 正常输入/输出 7h = OPENSRC_INV:开源 反相输入/输出 |
| 23 | IOEV_AON_PROG2_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG2 事件置为有效 1:输入边沿检测将 AON_PROG2 事件置为有效 |
| 22 | IOEV_AON_PROG1_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG1 事件置为有效 1:输入边沿检测将 AON_PROG1 事件置为有效 |
| 21 | IOEV_AON_PROG0_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG0 事件置为有效 1:输入边沿检测将 AON_PROG0 事件置为有效 |
| 20-19 | RESERVED | R | 0h | 保留 |
| 18 | EDGE_IRQ_EN | R/W | 0h | 0:无中断生成 1:使能该 IO 的中断生成(仅在 EDGE_DET 已使能时有效) |
| 17-16 | EDGE_DET | R/W | 0h | 使能该 IO 上的边沿检测事件生成 0h = NONE:无边沿检测 1h = 负边沿检测 2h = 正边沿检测 3h = 正负边沿检测 |
| 15 | RESERVED | R | 0h | 保留 |
| 14-13 | PULL_CTL | R/W | 3h | 上拉/下拉控制 1h = DWN:下拉 2h = UP:上拉 3h = DIS:无上拉/下拉 |
| 12 | SLEW_RED | R/W | 0h | 0:标称压摆率 1:在输出驱动器中降低压摆率。 |
| 11-10 | IOCURR | R/W | 0h | 选择该 IO 的 IO 电流模式。 0h = 2MA:低电流 (LC) 模式:IOSTR 设置为 AUTO 时最小值为 2mA 1h = 4MA:高电流 (HC) 模式:IOSTR 设置为 AUTO 时最小值为 4mA 2h = 4_8MA:扩展电流 (EC) 模式:当 IOSTR 设为 AUTO 时,双驱动强度 IO 的最小值为 8mA(标准 IO 的最小值为 4mA) |
| 9-8 | IOSTR | R/W | 0h | 选择该 IO 的驱动强度控制源。 此设置控制低电流 (LC) 模式的驱动强度。可在 IOCURR 中选择更高的驱动强度 0h = 自动驱动强度,由 AON BATMON 根据电池电压控制。(VDDS 时最小 2mA) 1h = 最小驱动强度,由 AON_IOC:IOSTRMIN 控制(默认值为 3.3V 时最小 2mA) 2h = MED:中等驱动强度,由 AON_IOC:IOSTRMED 控制(默认值为 2.5V 时最小 2mA) 3h = 最大驱动强度,由 AON_IOC:IOSTRMAX 控制(默认值为 1.8V 时最小 2mA) |
| 7 | IOEV_RTC_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 RTC 事件置为有效 1:输入边沿检测将 RTC 事件置为有效 |
| 6 | IOEV_MCU_WU_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 MCU_WU 事件置为有效 1:输入边沿检测将 MCU_WU 事件置为有效 |
| 5-0 | PORT_ID | R/W | 0h | 选择 DIO26 的用途 注意:除明确要求更改 PORT_ID 值的情况外,不应写入此字段。 0h =通用 IO 7h = AON 32 KHz 时钟 (SCLK_LF) 8h = AUX IO 9h = SSI0_RX:SSI0 RX Ah = SSI0_TX:SSI0 TX Bh = SSI0_FSS:SSI0 FSS Ch = SSI0_CLK:SSI0 CLK Dh = I2C_MSSDA:I2C 数据 Eh = I2C_MSSCL:I2C 时钟 Fh = UART0_RX:UART0 RX 10h = UART0_TX:UART0 TX 11h = UART0_CTS:UART0 CTS 12h = UART0_RTS:UART0 RTS 13h = UART1_RX:UART1 RX 14h = UART1_TX:UART1 TX 15h = UART1_CTS:UART1 CTS 16h = UART1_RTS:UART1 RTS 17h = PORT_EVENT0:端口事件 0 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 18h = PORT_EVENT1: 端口事件 1 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 19h = PORT_EVENT2: 端口事件 2 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ah = PORT_EVENT3: 端口事件 3 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Bh = PORT_EVENT4: 端口事件 4 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ch = PORT_EVENT5: 端口事件 5 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Dh = PORT_EVENT6: 端口事件 6 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Eh = PORT_EVENT7: 端口事件 7 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 20h = CPU_SWV: CPU SWV 21h = SSI1_RX:SSI1 RX 22h = SSI1_TX:SSI1 TX 23h = SSI1_FSS:SSI1 FSS 24h = SSI1_CLK:SSI1 CLK 25h = I2S_AD0:I2S 数据 0 26h = I2S_AD1: I2S 数据 1 27h = I2S_WCLK: I2S WCLK 28h = I2S_BCLK:I2S BCLK 29h = I2S_MCLK:I2S MCLK 2Eh = 射频内核跟踪 2Fh = 射频内核数据输出 0 30h = 射频内核数据输出 1 31h = 射频内核数据输出 2 32h = 射频内核数据输出 3 33h = 射频内核数据输入 0 34h = 射频内核数据输入 1 35h = 射频内核 SMI 数据链路输出 36h = 射频内核 SMI 数据链路输入 37h = 射频内核 SMI 命令链路输出 38h = 射频内核 SMI 命令链路输入 |
图 14-50 展示了 IOCFG27,表 14-57 对其进行了介绍。
返回到汇总表。
DIO27 的配置
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | HYST_EN | IE | WU_CFG | IOMODE | |||
| R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| IOEV_AON_PROG2_EN | IOEV_AON_PROG1_EN | IOEV_AON_PROG0_EN | RESERVED | EDGE_IRQ_EN | EDGE_DET | ||
| R/W-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | R/W-0h | ||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | PULL_CTL | SLEW_RED | IOCURR | IOSTR | |||
| R-0h | R/W-3h | R/W-0h | R/W-0h | R/W-0h | |||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| IOEV_RTC_EN | IOEV_MCU_WU_EN | PORT_ID | |||||
| R/W-0h | R/W-0h | R/W-0h | |||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31 | RESERVED | R | 0h | 保留 |
| 30 | HYST_EN | R/W | 0h | 0:输入迟滞禁用 1:输入迟滞使能 |
| 29 | IE | R/W | 0h | 0:输入禁用 1:输入使能 注意:如果 IO 配置为 AUX PORT_ID = 0x08,则使能将被忽略。 |
| 28-27 | WU_CFG | R/W | 0h | 如果 DIO 配置为 GPIO 或非 AON 外设信号(PORT_ID 0x00 或 >0x08): 00:无唤醒 01:无唤醒 10:如果该焊盘变为低电平,则从关断状态唤醒。 11:如果该焊盘变为高电平,则从关断状态唤醒。 如果 IO 配置为 AON 外设信号或 AUX PORT_ID 0x01-0x08,则该寄存器仅设置是否使能唤醒。 00、01:唤醒禁用 10、11:唤醒使能 极性通过 AON 寄存器进行控制。 注意:当 MSB 置位时,IOC 将停用 DIO 的输出使能。 |
| 26-24 | IOMODE | R/W | 0h | IO 模式 不适用于配置为 AON 外设信号和 AUX PORT_ID 0x01-0x08 的 IO AUX 有自己的 open_source/drain 配置。 0x2: 保留。未定义的行为。 0x3:保留。未定义的行为。 0h = NORMAL:正常输入/输出 1h = INV:反相输入/输出 4h = OPENDR: 开漏, 正常输入/输出 5h = OPENDR_INV:开漏 反相输入/输出 6h = OPENSRC:开源 正常输入/输出 7h = OPENSRC_INV:开源 反相输入/输出 |
| 23 | IOEV_AON_PROG2_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG2 事件置为有效 1:输入边沿检测将 AON_PROG2 事件置为有效 |
| 22 | IOEV_AON_PROG1_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG1 事件置为有效 1:输入边沿检测将 AON_PROG1 事件置为有效 |
| 21 | IOEV_AON_PROG0_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG0 事件置为有效 1:输入边沿检测将 AON_PROG0 事件置为有效 |
| 20-19 | RESERVED | R | 0h | 保留 |
| 18 | EDGE_IRQ_EN | R/W | 0h | 0:无中断生成 1:使能该 IO 的中断生成(仅在 EDGE_DET 已使能时有效) |
| 17-16 | EDGE_DET | R/W | 0h | 使能该 IO 上的边沿检测事件生成 0h = NONE:无边沿检测 1h = 负边沿检测 2h = 正边沿检测 3h = 正负边沿检测 |
| 15 | RESERVED | R | 0h | 保留 |
| 14-13 | PULL_CTL | R/W | 3h | 上拉/下拉控制 1h = DWN:下拉 2h = UP:上拉 3h = DIS:无上拉/下拉 |
| 12 | SLEW_RED | R/W | 0h | 0:标称压摆率 1:在输出驱动器中降低压摆率。 |
| 11-10 | IOCURR | R/W | 0h | 选择该 IO 的 IO 电流模式。 0h = 2MA:低电流 (LC) 模式:IOSTR 设置为 AUTO 时最小值为 2mA 1h = 4MA:高电流 (HC) 模式:IOSTR 设置为 AUTO 时最小值为 4mA 2h = 4_8MA:扩展电流 (EC) 模式:当 IOSTR 设为 AUTO 时,双驱动强度 IO 的最小值为 8mA(标准 IO 的最小值为 4mA) |
| 9-8 | IOSTR | R/W | 0h | 选择该 IO 的驱动强度控制源。 此设置控制低电流 (LC) 模式的驱动强度。可在 IOCURR 中选择更高的驱动强度 0h = 自动驱动强度,由 AON BATMON 根据电池电压控制。(VDDS 时最小 2mA) 1h = 最小驱动强度,由 AON_IOC:IOSTRMIN 控制(默认值为 3.3V 时最小 2mA) 2h = MED:中等驱动强度,由 AON_IOC:IOSTRMED 控制(默认值为 2.5V 时最小 2mA) 3h = 最大驱动强度,由 AON_IOC:IOSTRMAX 控制(默认值为 1.8V 时最小 2mA) |
| 7 | IOEV_RTC_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 RTC 事件置为有效 1:输入边沿检测将 RTC 事件置为有效 |
| 6 | IOEV_MCU_WU_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 MCU_WU 事件置为有效 1:输入边沿检测将 MCU_WU 事件置为有效 |
| 5-0 | PORT_ID | R/W | 0h | 选择 DIO27 的用途 注意:除明确要求更改 PORT_ID 值的情况外,不应写入此字段。 0h =通用 IO 7h = AON 32 KHz 时钟 (SCLK_LF) 8h = AUX IO 9h = SSI0_RX:SSI0 RX Ah = SSI0_TX:SSI0 TX Bh = SSI0_FSS:SSI0 FSS Ch = SSI0_CLK:SSI0 CLK Dh = I2C_MSSDA:I2C 数据 Eh = I2C_MSSCL:I2C 时钟 Fh = UART0_RX:UART0 RX 10h = UART0_TX:UART0 TX 11h = UART0_CTS:UART0 CTS 12h = UART0_RTS:UART0 RTS 13h = UART1_RX:UART1 RX 14h = UART1_TX:UART1 TX 15h = UART1_CTS:UART1 CTS 16h = UART1_RTS:UART1 RTS 17h = PORT_EVENT0:端口事件 0 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 18h = PORT_EVENT1: 端口事件 1 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 19h = PORT_EVENT2: 端口事件 2 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ah = PORT_EVENT3: 端口事件 3 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Bh = PORT_EVENT4: 端口事件 4 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ch = PORT_EVENT5: 端口事件 5 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Dh = PORT_EVENT6: 端口事件 6 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Eh = PORT_EVENT7: 端口事件 7 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 20h = CPU_SWV: CPU SWV 21h = SSI1_RX:SSI1 RX 22h = SSI1_TX:SSI1 TX 23h = SSI1_FSS:SSI1 FSS 24h = SSI1_CLK:SSI1 CLK 25h = I2S_AD0:I2S 数据 0 26h = I2S_AD1: I2S 数据 1 27h = I2S_WCLK: I2S WCLK 28h = I2S_BCLK:I2S BCLK 29h = I2S_MCLK:I2S MCLK 2Eh = 射频内核跟踪 2Fh = 射频内核数据输出 0 30h = 射频内核数据输出 1 31h = 射频内核数据输出 2 32h = 射频内核数据输出 3 33h = 射频内核数据输入 0 34h = 射频内核数据输入 1 35h = 射频内核 SMI 数据链路输出 36h = 射频内核 SMI 数据链路输入 37h = 射频内核 SMI 命令链路输出 38h = 射频内核 SMI 命令链路输入 |
图 14-51 展示了 IOCFG28,表 14-58 对其进行了介绍。
返回到汇总表。
DIO28 的配置
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | HYST_EN | IE | WU_CFG | IOMODE | |||
| R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| IOEV_AON_PROG2_EN | IOEV_AON_PROG1_EN | IOEV_AON_PROG0_EN | RESERVED | EDGE_IRQ_EN | EDGE_DET | ||
| R/W-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | R/W-0h | ||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | PULL_CTL | SLEW_RED | IOCURR | IOSTR | |||
| R-0h | R/W-3h | R/W-0h | R/W-0h | R/W-0h | |||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| IOEV_RTC_EN | IOEV_MCU_WU_EN | PORT_ID | |||||
| R/W-0h | R/W-0h | R/W-0h | |||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31 | RESERVED | R | 0h | 保留 |
| 30 | HYST_EN | R/W | 0h | 0:输入迟滞禁用 1:输入迟滞使能 |
| 29 | IE | R/W | 0h | 0:输入禁用 1:输入使能 注意:如果 IO 配置为 AUX PORT_ID = 0x08,则使能将被忽略。 |
| 28-27 | WU_CFG | R/W | 0h | 如果 DIO 配置为 GPIO 或非 AON 外设信号(PORT_ID 0x00 或 >0x08): 00:无唤醒 01:无唤醒 10:如果该焊盘变为低电平,则从关断状态唤醒。 11:如果该焊盘变为高电平,则从关断状态唤醒。 如果 IO 配置为 AON 外设信号或 AUX PORT_ID 0x01-0x08,则该寄存器仅设置是否使能唤醒。 00、01:唤醒禁用 10、11:唤醒使能 极性通过 AON 寄存器进行控制。 注意:当 MSB 置位时,IOC 将停用 DIO 的输出使能。 |
| 26-24 | IOMODE | R/W | 0h | IO 模式 不适用于配置为 AON 外设信号和 AUX PORT_ID 0x01-0x08 的 IO AUX 有自己的 open_source/drain 配置。 0x2: 保留。未定义的行为。 0x3:保留。未定义的行为。 0h = NORMAL:正常输入/输出 1h = INV:反相输入/输出 4h = OPENDR: 开漏, 正常输入/输出 5h = OPENDR_INV:开漏 反相输入/输出 6h = OPENSRC:开源 正常输入/输出 7h = OPENSRC_INV:开源 反相输入/输出 |
| 23 | IOEV_AON_PROG2_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG2 事件置为有效 1:输入边沿检测将 AON_PROG2 事件置为有效 |
| 22 | IOEV_AON_PROG1_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG1 事件置为有效 1:输入边沿检测将 AON_PROG1 事件置为有效 |
| 21 | IOEV_AON_PROG0_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG0 事件置为有效 1:输入边沿检测将 AON_PROG0 事件置为有效 |
| 20-19 | RESERVED | R | 0h | 保留 |
| 18 | EDGE_IRQ_EN | R/W | 0h | 0:无中断生成 1:使能该 IO 的中断生成(仅在 EDGE_DET 已使能时有效) |
| 17-16 | EDGE_DET | R/W | 0h | 使能该 IO 上的边沿检测事件生成 0h = NONE:无边沿检测 1h = 负边沿检测 2h = 正边沿检测 3h = 正负边沿检测 |
| 15 | RESERVED | R | 0h | 保留 |
| 14-13 | PULL_CTL | R/W | 3h | 上拉/下拉控制 1h = DWN:下拉 2h = UP:上拉 3h = DIS:无上拉/下拉 |
| 12 | SLEW_RED | R/W | 0h | 0:标称压摆率 1:在输出驱动器中降低压摆率。 |
| 11-10 | IOCURR | R/W | 0h | 选择该 IO 的 IO 电流模式。 0h = 2MA:低电流 (LC) 模式:IOSTR 设置为 AUTO 时最小值为 2mA 1h = 4MA:高电流 (HC) 模式:IOSTR 设置为 AUTO 时最小值为 4mA 2h = 4_8MA:扩展电流 (EC) 模式:当 IOSTR 设为 AUTO 时,双驱动强度 IO 的最小值为 8mA(标准 IO 的最小值为 4mA) |
| 9-8 | IOSTR | R/W | 0h | 选择该 IO 的驱动强度控制源。 此设置控制低电流 (LC) 模式的驱动强度。可在 IOCURR 中选择更高的驱动强度 0h = 自动驱动强度,由 AON BATMON 根据电池电压控制。(VDDS 时最小 2mA) 1h = 最小驱动强度,由 AON_IOC:IOSTRMIN 控制(默认值为 3.3V 时最小 2mA) 2h = MED:中等驱动强度,由 AON_IOC:IOSTRMED 控制(默认值为 2.5V 时最小 2mA) 3h = 最大驱动强度,由 AON_IOC:IOSTRMAX 控制(默认值为 1.8V 时最小 2mA) |
| 7 | IOEV_RTC_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 RTC 事件置为有效 1:输入边沿检测将 RTC 事件置为有效 |
| 6 | IOEV_MCU_WU_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 MCU_WU 事件置为有效 1:输入边沿检测将 MCU_WU 事件置为有效 |
| 5-0 | PORT_ID | R/W | 0h | 选择 DIO28 的用途 注意:除明确要求更改 PORT_ID 值的情况外,不应写入此字段。 0h =通用 IO 7h = AON 32 KHz 时钟 (SCLK_LF) 8h = AUX IO 9h = SSI0_RX:SSI0 RX Ah = SSI0_TX:SSI0 TX Bh = SSI0_FSS:SSI0 FSS Ch = SSI0_CLK:SSI0 CLK Dh = I2C_MSSDA:I2C 数据 Eh = I2C_MSSCL:I2C 时钟 Fh = UART0_RX:UART0 RX 10h = UART0_TX:UART0 TX 11h = UART0_CTS:UART0 CTS 12h = UART0_RTS:UART0 RTS 13h = UART1_RX:UART1 RX 14h = UART1_TX:UART1 TX 15h = UART1_CTS:UART1 CTS 16h = UART1_RTS:UART1 RTS 17h = PORT_EVENT0:端口事件 0 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 18h = PORT_EVENT1: 端口事件 1 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 19h = PORT_EVENT2: 端口事件 2 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ah = PORT_EVENT3: 端口事件 3 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Bh = PORT_EVENT4: 端口事件 4 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ch = PORT_EVENT5: 端口事件 5 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Dh = PORT_EVENT6: 端口事件 6 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Eh = PORT_EVENT7: 端口事件 7 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 20h = CPU_SWV: CPU SWV 21h = SSI1_RX:SSI1 RX 22h = SSI1_TX:SSI1 TX 23h = SSI1_FSS:SSI1 FSS 24h = SSI1_CLK:SSI1 CLK 25h = I2S_AD0:I2S 数据 0 26h = I2S_AD1: I2S 数据 1 27h = I2S_WCLK: I2S WCLK 28h = I2S_BCLK:I2S BCLK 29h = I2S_MCLK:I2S MCLK 2Eh = 射频内核跟踪 2Fh = 射频内核数据输出 0 30h = 射频内核数据输出 1 31h = 射频内核数据输出 2 32h = 射频内核数据输出 3 33h = 射频内核数据输入 0 34h = 射频内核数据输入 1 35h = 射频内核 SMI 数据链路输出 36h = 射频内核 SMI 数据链路输入 37h = 射频内核 SMI 命令链路输出 38h = 射频内核 SMI 命令链路输入 |
图 14-52 展示了 IOCFG29,表 14-59 对其进行了介绍。
返回到汇总表。
DIO29 的配置
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | HYST_EN | IE | WU_CFG | IOMODE | |||
| R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| IOEV_AON_PROG2_EN | IOEV_AON_PROG1_EN | IOEV_AON_PROG0_EN | RESERVED | EDGE_IRQ_EN | EDGE_DET | ||
| R/W-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | R/W-0h | ||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | PULL_CTL | SLEW_RED | IOCURR | IOSTR | |||
| R-0h | R/W-3h | R/W-0h | R/W-0h | R/W-0h | |||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| IOEV_RTC_EN | IOEV_MCU_WU_EN | PORT_ID | |||||
| R/W-0h | R/W-0h | R/W-0h | |||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31 | RESERVED | R | 0h | 保留 |
| 30 | HYST_EN | R/W | 0h | 0:输入迟滞禁用 1:输入迟滞使能 |
| 29 | IE | R/W | 0h | 0:输入禁用 1:输入使能 注意:如果 IO 配置为 AUX PORT_ID = 0x08,则使能将被忽略。 |
| 28-27 | WU_CFG | R/W | 0h | 如果 DIO 配置为 GPIO 或非 AON 外设信号(PORT_ID 0x00 或 >0x08): 00:无唤醒 01:无唤醒 10:如果该焊盘变为低电平,则从关断状态唤醒。 11:如果该焊盘变为高电平,则从关断状态唤醒。 如果 IO 配置为 AON 外设信号或 AUX PORT_ID 0x01-0x08,则该寄存器仅设置是否使能唤醒。 00、01:唤醒禁用 10、11:唤醒使能 极性通过 AON 寄存器进行控制。 注意:当 MSB 置位时,IOC 将停用 DIO 的输出使能。 |
| 26-24 | IOMODE | R/W | 0h | IO 模式 不适用于配置为 AON 外设信号和 AUX PORT_ID 0x01-0x08 的 IO AUX 有自己的 open_source/drain 配置。 0x2: 保留。未定义的行为。 0x3:保留。未定义的行为。 0h = NORMAL:正常输入/输出 1h = INV:反相输入/输出 4h = OPENDR: 开漏, 正常输入/输出 5h = OPENDR_INV:开漏 反相输入/输出 6h = OPENSRC:开源 正常输入/输出 7h = OPENSRC_INV:开源 反相输入/输出 |
| 23 | IOEV_AON_PROG2_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG2 事件置为有效 1:输入边沿检测将 AON_PROG2 事件置为有效 |
| 22 | IOEV_AON_PROG1_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG1 事件置为有效 1:输入边沿检测将 AON_PROG1 事件置为有效 |
| 21 | IOEV_AON_PROG0_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG0 事件置为有效 1:输入边沿检测将 AON_PROG0 事件置为有效 |
| 20-19 | RESERVED | R | 0h | 保留 |
| 18 | EDGE_IRQ_EN | R/W | 0h | 0:无中断生成 1:使能该 IO 的中断生成(仅在 EDGE_DET 已使能时有效) |
| 17-16 | EDGE_DET | R/W | 0h | 使能该 IO 上的边沿检测事件生成 0h = NONE:无边沿检测 1h = 负边沿检测 2h = 正边沿检测 3h = 正负边沿检测 |
| 15 | RESERVED | R | 0h | 保留 |
| 14-13 | PULL_CTL | R/W | 3h | 上拉/下拉控制 1h = DWN:下拉 2h = UP:上拉 3h = DIS:无上拉/下拉 |
| 12 | SLEW_RED | R/W | 0h | 0:标称压摆率 1:在输出驱动器中降低压摆率。 |
| 11-10 | IOCURR | R/W | 0h | 选择该 IO 的 IO 电流模式。 0h = 2MA:低电流 (LC) 模式:IOSTR 设置为 AUTO 时最小值为 2mA 1h = 4MA:高电流 (HC) 模式:IOSTR 设置为 AUTO 时最小值为 4mA 2h = 4_8MA:扩展电流 (EC) 模式:当 IOSTR 设为 AUTO 时,双驱动强度 IO 的最小值为 8mA(标准 IO 的最小值为 4mA) |
| 9-8 | IOSTR | R/W | 0h | 选择该 IO 的驱动强度控制源。 此设置控制低电流 (LC) 模式的驱动强度。可在 IOCURR 中选择更高的驱动强度 0h = 自动驱动强度,由 AON BATMON 根据电池电压控制。(VDDS 时最小 2mA) 1h = 最小驱动强度,由 AON_IOC:IOSTRMIN 控制(默认值为 3.3V 时最小 2mA) 2h = MED:中等驱动强度,由 AON_IOC:IOSTRMED 控制(默认值为 2.5V 时最小 2mA) 3h = 最大驱动强度,由 AON_IOC:IOSTRMAX 控制(默认值为 1.8V 时最小 2mA) |
| 7 | IOEV_RTC_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 RTC 事件置为有效 1:输入边沿检测将 RTC 事件置为有效 |
| 6 | IOEV_MCU_WU_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 MCU_WU 事件置为有效 1:输入边沿检测将 MCU_WU 事件置为有效 |
| 5-0 | PORT_ID | R/W | 0h | 选择 DIO29 的用途 注意:除明确要求更改 PORT_ID 值的情况外,不应写入此字段。 0h =通用 IO 7h = AON 32 KHz 时钟 (SCLK_LF) 8h = AUX IO 9h = SSI0_RX:SSI0 RX Ah = SSI0_TX:SSI0 TX Bh = SSI0_FSS:SSI0 FSS Ch = SSI0_CLK:SSI0 CLK Dh = I2C_MSSDA:I2C 数据 Eh = I2C_MSSCL:I2C 时钟 Fh = UART0_RX:UART0 RX 10h = UART0_TX:UART0 TX 11h = UART0_CTS:UART0 CTS 12h = UART0_RTS:UART0 RTS 13h = UART1_RX:UART1 RX 14h = UART1_TX:UART1 TX 15h = UART1_CTS:UART1 CTS 16h = UART1_RTS:UART1 RTS 17h = PORT_EVENT0:端口事件 0 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 18h = PORT_EVENT1: 端口事件 1 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 19h = PORT_EVENT2: 端口事件 2 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ah = PORT_EVENT3: 端口事件 3 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Bh = PORT_EVENT4: 端口事件 4 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ch = PORT_EVENT5: 端口事件 5 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Dh = PORT_EVENT6: 端口事件 6 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Eh = PORT_EVENT7: 端口事件 7 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 20h = CPU_SWV: CPU SWV 21h = SSI1_RX:SSI1 RX 22h = SSI1_TX:SSI1 TX 23h = SSI1_FSS:SSI1 FSS 24h = SSI1_CLK:SSI1 CLK 25h = I2S_AD0:I2S 数据 0 26h = I2S_AD1: I2S 数据 1 27h = I2S_WCLK: I2S WCLK 28h = I2S_BCLK:I2S BCLK 29h = I2S_MCLK:I2S MCLK 2Eh = 射频内核跟踪 2Fh = 射频内核数据输出 0 30h = 射频内核数据输出 1 31h = 射频内核数据输出 2 32h = 射频内核数据输出 3 33h = 射频内核数据输入 0 34h = 射频内核数据输入 1 35h = 射频内核 SMI 数据链路输出 36h = 射频内核 SMI 数据链路输入 37h = 射频内核 SMI 命令链路输出 38h = 射频内核 SMI 命令链路输入 |
图 14-53 展示了 IOCFG30,表 14-60 对其进行了介绍。
返回到汇总表。
DIO30 的配置
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | HYST_EN | IE | WU_CFG | IOMODE | |||
| R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| IOEV_AON_PROG2_EN | IOEV_AON_PROG1_EN | IOEV_AON_PROG0_EN | RESERVED | EDGE_IRQ_EN | EDGE_DET | ||
| R/W-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | R/W-0h | ||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | PULL_CTL | SLEW_RED | IOCURR | IOSTR | |||
| R-0h | R/W-3h | R/W-0h | R/W-0h | R/W-0h | |||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| IOEV_RTC_EN | IOEV_MCU_WU_EN | PORT_ID | |||||
| R/W-0h | R/W-0h | R/W-0h | |||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31 | RESERVED | R | 0h | 保留 |
| 30 | HYST_EN | R/W | 0h | 0:输入迟滞禁用 1:输入迟滞使能 |
| 29 | IE | R/W | 0h | 0:输入禁用 1:输入使能 注意:如果 IO 配置为 AUX PORT_ID = 0x08,则使能将被忽略。 |
| 28-27 | WU_CFG | R/W | 0h | 如果 DIO 配置为 GPIO 或非 AON 外设信号(PORT_ID 0x00 或 >0x08): 00:无唤醒 01:无唤醒 10:如果该焊盘变为低电平,则从关断状态唤醒。 11:如果该焊盘变为高电平,则从关断状态唤醒。 如果 IO 配置为 AON 外设信号或 AUX PORT_ID 0x01-0x08,则该寄存器仅设置是否使能唤醒。 00、01:唤醒禁用 10、11:唤醒使能 极性通过 AON 寄存器进行控制。 注意:当 MSB 置位时,IOC 将停用 DIO 的输出使能。 |
| 26-24 | IOMODE | R/W | 0h | IO 模式 不适用于配置为 AON 外设信号和 AUX PORT_ID 0x01-0x08 的 IO AUX 有自己的 open_source/drain 配置。 0x2: 保留。未定义的行为。 0x3:保留。未定义的行为。 0h = NORMAL:正常输入/输出 1h = INV: 反相输入/输出 4h = OPENDR: 开漏, 正常输入/输出 5h = OPENDR_INV:开漏 反相输入/输出 6h = OPENSRC:开源 正常输入/输出 7h = OPENSRC_INV:开源 反相输入/输出 |
| 23 | IOEV_AON_PROG2_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG2 事件置为有效 1:输入边沿检测将 AON_PROG2 事件置为有效 |
| 22 | IOEV_AON_PROG1_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG1 事件置为有效 1:输入边沿检测将 AON_PROG1 事件置为有效 |
| 21 | IOEV_AON_PROG0_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG0 事件置为有效 1:输入边沿检测将 AON_PROG0 事件置为有效 |
| 20-19 | RESERVED | R | 0h | 保留 |
| 18 | EDGE_IRQ_EN | R/W | 0h | 0:无中断生成 1:使能该 IO 的中断生成(仅在 EDGE_DET 已使能时有效) |
| 17-16 | EDGE_DET | R/W | 0h | 使能该 IO 上的边沿检测事件生成 0h = NONE:无边沿检测 1h = 负边沿检测 2h = 正边沿检测 3h = 正负边沿检测 |
| 15 | RESERVED | R | 0h | 保留 |
| 14-13 | PULL_CTL | R/W | 3h | 上拉/下拉控制 1h = DWN:下拉 2h = UP:上拉 3h = DIS:无上拉/下拉 |
| 12 | SLEW_RED | R/W | 0h | 0:标称压摆率 1:在输出驱动器中降低压摆率。 |
| 11-10 | IOCURR | R/W | 0h | 选择该 IO 的 IO 电流模式。 0h = 2MA:低电流 (LC) 模式:IOSTR 设置为 AUTO 时最小值为 2mA 1h = 4MA:高电流 (HC) 模式:IOSTR 设置为 AUTO 时最小值为 4mA 2h = 4_8MA:扩展电流 (EC) 模式:当 IOSTR 设为 AUTO 时,双驱动强度 IO 的最小值为 8mA(标准 IO 的最小值为 4mA) |
| 9-8 | IOSTR | R/W | 0h | 选择该 IO 的驱动强度控制源。 此设置控制低电流 (LC) 模式的驱动强度。可在 IOCURR 中选择更高的驱动强度 0h = 自动驱动强度,由 AON BATMON 根据电池电压控制。(VDDS 时最小 2mA) 1h = 最小驱动强度,由 AON_IOC:IOSTRMIN 控制(默认值为 3.3V 时最小 2mA) 2h = MED:中等驱动强度,由 AON_IOC:IOSTRMED 控制(默认值为 2.5V 时最小 2mA) 3h = 最大驱动强度,由 AON_IOC:IOSTRMAX 控制(默认值为 1.8V 时最小 2mA) |
| 7 | IOEV_RTC_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 RTC 事件置为有效 1:输入边沿检测将 RTC 事件置为有效 |
| 6 | IOEV_MCU_WU_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 MCU_WU 事件置为有效 1:输入边沿检测将 MCU_WU 事件置为有效 |
| 5-0 | PORT_ID | R/W | 0h | 选择 DIO30 的用途 注意:除明确要求更改 PORT_ID 值的情况外,不应写入此字段。 0h =通用 IO 7h = AON 32 KHz 时钟 (SCLK_LF) 8h = AUX IO 9h = SSI0_RX:SSI0 RX Ah = SSI0_TX:SSI0 TX Bh = SSI0_FSS:SSI0 FSS Ch = SSI0_CLK:SSI0 CLK Dh = I2C_MSSDA:I2C 数据 Eh = I2C_MSSCL:I2C 时钟 Fh = UART0_RX:UART0 RX 10h = UART0_TX:UART0 TX 11h = UART0_CTS:UART0 CTS 12h = UART0_RTS:UART0 RTS 13h = UART1_RX:UART1 RX 14h = UART1_TX:UART1 TX 15h = UART1_CTS:UART1 CTS 16h = UART1_RTS:UART1 RTS 17h = PORT_EVENT0:端口事件 0 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 18h = PORT_EVENT1: 端口事件 1 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 19h = PORT_EVENT2: 端口事件 2 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ah = PORT_EVENT3: 端口事件 3 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Bh = PORT_EVENT4: 端口事件 4 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ch = PORT_EVENT5: 端口事件 5 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Dh = PORT_EVENT6: 端口事件 6 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Eh = PORT_EVENT7: 端口事件 7 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 20h = CPU_SWV: CPU SWV 21h = SSI1_RX:SSI1 RX 22h = SSI1_TX:SSI1 TX 23h = SSI1_FSS:SSI1 FSS 24h = SSI1_CLK:SSI1 CLK 25h = I2S_AD0:I2S 数据 0 26h = I2S_AD1: I2S 数据 1 27h = I2S_WCLK: I2S WCLK 28h = I2S_BCLK:I2S BCLK 29h = I2S_MCLK:I2S MCLK 2Eh = 射频内核跟踪 2Fh = 射频内核数据输出 0 30h = 射频内核数据输出 1 31h = 射频内核数据输出 2 32h = 射频内核数据输出 3 33h = 射频内核数据输入 0 34h = 射频内核数据输入 1 35h = 射频内核 SMI 数据链路输出 36h = 射频内核 SMI 数据链路输入 37h = 射频内核 SMI 命令链路输出 38h = 射频内核 SMI 命令链路输入 |
图 14-54 展示了 IOCFG31,表 14-61 对其进行了介绍。
返回到汇总表。
DIO31 的配置
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | HYST_EN | IE | WU_CFG | IOMODE | |||
| R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| IOEV_AON_PROG2_EN | IOEV_AON_PROG1_EN | IOEV_AON_PROG0_EN | RESERVED | EDGE_IRQ_EN | EDGE_DET | ||
| R/W-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | R/W-0h | ||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | PULL_CTL | SLEW_RED | IOCURR | IOSTR | |||
| R-0h | R/W-3h | R/W-0h | R/W-0h | R/W-0h | |||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| IOEV_RTC_EN | IOEV_MCU_WU_EN | PORT_ID | |||||
| R/W-0h | R/W-0h | R/W-0h | |||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31 | RESERVED | R | 0h | 保留 |
| 30 | HYST_EN | R/W | 0h | 0:输入迟滞禁用 1:输入迟滞使能 |
| 29 | IE | R/W | 0h | 0:输入禁用 1:输入使能 注意:如果 IO 配置为 AUX PORT_ID = 0x08,则使能将被忽略。 |
| 28-27 | WU_CFG | R/W | 0h | 如果 DIO 配置为 GPIO 或非 AON 外设信号(PORT_ID 0x00 或 >0x08): 00:无唤醒 01:无唤醒 10:如果该焊盘变为低电平,则从关断状态唤醒。 11:如果该焊盘变为高电平,则从关断状态唤醒。 如果 IO 配置为 AON 外设信号或 AUX PORT_ID 0x01-0x08,则该寄存器仅设置是否使能唤醒。 00、01:唤醒禁用 10、11:唤醒使能 极性通过 AON 寄存器进行控制。 注意:当 MSB 置位时,IOC 将停用 DIO 的输出使能。 |
| 26-24 | IOMODE | R/W | 0h | IO 模式 不适用于配置为 AON 外设信号和 AUX PORT_ID 0x01-0x08 的 IO AUX 有自己的 open_source/drain 配置。 0x2: 保留。未定义的行为。 0x3:保留。未定义的行为。 0h = NORMAL:正常输入/输出 1h = INV:反相输入/输出 4h = OPENDR: 开漏, 正常输入/输出 5h = OPENDR_INV:开漏 反相输入/输出 6h = OPENSRC:开源 正常输入/输出 7h = OPENSRC_INV:开源 反相输入/输出 |
| 23 | IOEV_AON_PROG2_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG2 事件置为有效 1:输入边沿检测将 AON_PROG2 事件置为有效 |
| 22 | IOEV_AON_PROG1_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG1 事件置为有效 1:输入边沿检测将 AON_PROG1 事件置为有效 |
| 21 | IOEV_AON_PROG0_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 AON_PROG0 事件置为有效 1:输入边沿检测将 AON_PROG0 事件置为有效 |
| 20-19 | RESERVED | R | 0h | 保留 |
| 18 | EDGE_IRQ_EN | R/W | 0h | 0:无中断生成 1:使能该 IO 的中断生成(仅在 EDGE_DET 已使能时有效) |
| 17-16 | EDGE_DET | R/W | 0h | 使能该 IO 上的边沿检测事件生成 0h = NONE:无边沿检测 1h = 负边沿检测 2h = 正边沿检测 3h = 正负边沿检测 |
| 15 | RESERVED | R | 0h | 保留 |
| 14-13 | PULL_CTL | R/W | 3h | 上拉/下拉控制 1h = DWN:下拉 2h = UP:上拉 3h = DIS:无上拉/下拉 |
| 12 | SLEW_RED | R/W | 0h | 0:标称压摆率 1:在输出驱动器中降低压摆率。 |
| 11-10 | IOCURR | R/W | 0h | 选择该 IO 的 IO 电流模式。 0h = 2MA:低电流 (LC) 模式:IOSTR 设置为 AUTO 时最小值为 2mA 1h = 4MA:高电流 (HC) 模式:IOSTR 设置为 AUTO 时最小值为 4mA 2h = 4_8MA:扩展电流 (EC) 模式:当 IOSTR 设为 AUTO 时,双驱动强度 IO 的最小值为 8mA(标准 IO 的最小值为 4mA) |
| 9-8 | IOSTR | R/W | 0h | 选择该 IO 的驱动强度控制源。 此设置控制低电流 (LC) 模式的驱动强度。可在 IOCURR 中选择更高的驱动强度 0h = 自动驱动强度,由 AON BATMON 根据电池电压控制。(VDDS 时最小 2mA) 1h = 最小驱动强度,由 AON_IOC:IOSTRMIN 控制(默认值为 3.3V 时最小 2mA) 2h = MED:中等驱动强度,由 AON_IOC:IOSTRMED 控制(默认值为 2.5V 时最小 2mA) 3h = 最大驱动强度,由 AON_IOC:IOSTRMAX 控制(默认值为 1.8V 时最小 2mA) |
| 7 | IOEV_RTC_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 RTC 事件置为有效 1:输入边沿检测将 RTC 事件置为有效 |
| 6 | IOEV_MCU_WU_EN | R/W | 0h | 使能边沿检测时,此 IO 置为有效的事件 0:输入边沿检测不会将 MCU_WU 事件置为有效 1:输入边沿检测将 MCU_WU 事件置为有效 |
| 5-0 | PORT_ID | R/W | 0h | 选择 DIO31 的用途 注意:除明确要求更改 PORT_ID 值的情况外,不应写入此字段。 0h = 通用 IO 注意:SIP 模块不支持此功能。有关更多详情,请参阅器件特定数据表。 7h = AON 32KHz 时钟 (SCLK_LF) 8h = AUX IO 9h = SSI0_RX: SSI0 RX Ah = SSI0_TX:SSI0 TX Bh = SSI0_FSS:SSI0 FSS Ch = SSI0_CLK:SSI0 CLK Dh = I2C_MSSDA:I2C 数据 Eh = I2C_MSSCL:I2C 时钟 Fh = UART0_RX:UART0 RX 10h = UART0_TX:UART0 TX 11h = UART0_CTS:UART0 CTS 12h = UART0_RTS:UART0 RTS 13h = UART1_RX:UART1 RX 14h = UART1_TX:UART1 TX 15h = UART1_CTS:UART1 CTS 16h = UART1_RTS:UART1 RTS 17h = PORT_EVENT0:端口事件 0 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 18h = PORT_EVENT1: 端口事件 1 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 19h = PORT_EVENT2: 端口事件 2 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ah = PORT_EVENT3: 端口事件 3 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Bh = PORT_EVENT4: 端口事件 4 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Ch = PORT_EVENT5: 端口事件 5 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Dh = PORT_EVENT6: 端口事件 6 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 1Eh = PORT_EVENT7: 端口事件 7 通过 EVENT 模块中的寄存器进行选择(例如 EVENT:GPT0ACAPTSEL.EV、EVENT:UDMACH14BSEL.EV 等),可用作通用 IO 事件 20h = CPU_SWV: CPU SWV 21h = SSI1_RX:SSI1 RX 22h = SSI1_TX:SSI1 TX 23h = SSI1_FSS:SSI1 FSS 24h = SSI1_CLK:SSI1 CLK 25h = I2S_AD0:I2S 数据 0 26h = I2S_AD1: I2S 数据 1 27h = I2S_WCLK: I2S WCLK 28h = I2S_BCLK:I2S BCLK 29h = I2S_MCLK:I2S MCLK 2Eh = 射频内核跟踪 2Fh = 射频内核数据输出 0 30h = 射频内核数据输出 1 31h = 射频内核数据输出 2 32h = 射频内核数据输出 3 33h = 射频内核数据输入 0 34h = 射频内核数据输入 1 35h = 射频内核 SMI 数据链路输出 36h = 射频内核 SMI 数据链路输入 37h = 射频内核 SMI 命令链路输出 38h = 射频内核 SMI 命令链路输入 |