ZHCSYC2A May 2025 – September 2025 TXE8116-Q1 , TXE8124-Q1
ADVANCE INFORMATION
本章提供每个寄存器的说明,寄存器地址是 TXE8116-Q1/TXE8124-Q1 SPI 字中的第一个和第二个字节,默认值是寄存器中的上电默认值,即 TXE8116-Q1/TXE8124-Q1 SPI 字中的第三个字节。
本章不考虑 B23(读取/写入位)和 B8(多端口位)。B23 上的高电平 (1) 选择读取操作,而 B23 上的低电平 (0) 选择写入操作。要启用多端口,需要在 B8 上设置高电平 (1)。
暂存寄存器(寄存器地址:0x0,默认值:0x0)
暂存寄存器是一种测试寄存器,用于从空白寄存器读取代码/向空白寄存器写入代码,并解决任何编码问题。
器件 ID 寄存器(寄存器地址:0x100,默认值:0x1)
器件 ID 寄存器是一个只读寄存器,具有器件 ID。
| 器件 ID | 器件 |
|---|---|
| 1 | TXE8124-Q1 |
| 0 | TXE8116-Q1 |
输入端口寄存器(寄存器地址:0x200 - 0x220,默认值:0x0)
输入端口寄存器反映 IO 引脚的输入逻辑电平。输入端口寄存器为只读;对这些寄存器的写入无效。
| 端口 ID | 寄存器地址 | 位值 |
|---|---|---|
| 0 | 0x200 | 0 - 低电平;1 - 高电平 |
| 1 | 0x210 | |
| 2(对 TXE8116-Q1 无效) | 0x220 |
输出端口寄存器(寄存器地址:0x300 - 0x320,默认值:0x0)
输出端口寄存器显示由方向配置寄存器定义为输出的 IO 引脚的输出逻辑电平。这些寄存器中的位值对定义为输入的 IO 引脚没有影响。
| 端口 ID | 寄存器地址 | 位值 |
|---|---|---|
| 0 | 0x300 | 0 - 低电平;1 - 高电平 |
| 1 | 0x310 | |
| 2(对 TXE8116-Q1 无效) | 0x320 |
方向配置寄存器(寄存器地址:0x400 - 0x420,默认值:0x0)
方向配置寄存器配置 I/O 引脚的方向。如果这些寄存器中的某个位设置为 0,则相应端口引脚被启用为高阻抗输入。如果这些寄存器中的某个位设置为 1,则相应端口引脚被启用为输出。
| 端口 ID | 寄存器地址 | 位值 |
|---|---|---|
| 0 | 0x400 | 0 - 输入;1 - 输出 |
| 1 | 0x410 | |
| 2(对 TXE8116-Q1 无效) | 0x420 |
极性反转寄存器(寄存器地址:0x500 - 0x520,默认值:0x0)
极性反转寄存器允许对方向配置寄存器定义为输入或输出的 IO 引脚进行极性反转。如果这些寄存器中的某个位设置为 1,则相应端口引脚的极性在输入寄存器反转。如果该寄存器中的某个位设置为 0,则相应端口的极性不会反转。
在输入模式下,如果启用极性反转,尽管存在内部状态切换,但不会生成中断。
| 端口 ID | 寄存器地址 | 位值 |
|---|---|---|
| 0 | 0x500 | 0 - 非反转;1 - 反转 |
| 1 | 0x510 | |
| 2(对 TXE8116-Q1 无效) | 0x520 |
推挽/漏极开路选择寄存器(寄存器地址:0x600 - 0x620,默认值:0x0)
推挽/漏极开路选择寄存器可配置输出类型。如果这些寄存器中的某个位设置为 0,则相应端口引脚被启用为推挽输出。如果这些寄存器中的某个位设置为 1,则相应端口引脚被启用为漏极开路输出。| 端口 ID | 寄存器地址 | 位值 |
|---|---|---|
| 0 | 0x600 | 0 - 推挽;1 - 漏极开路 |
| 1 | 0x610 | |
| 2(对 TXE8116-Q1 无效) | 0x620 |
上拉或下拉使能寄存器(寄存器地址:0x800 - 0x820,默认值:0x0)
上拉或下拉使能寄存器允许用户启用或禁用 I/O 引脚上的上拉/下拉电阻器。将该位设置为 1 可以选择上拉/下拉电阻器。将该位设置为逻辑 0 会断开上拉/下拉电阻器与 I/O 引脚的连接。
| 端口 ID | 寄存器地址 | 位值 |
|---|---|---|
| 0 | 0x800 | 0 - 禁用;1 - 启用 |
| 1 | 0x810 | |
| 2(对 TXE8116-Q1 无效) | 0x820 |
上拉或下拉选择寄存器(寄存器地址:0x900 - 0x920,默认值:0x0)
通过对上拉/下拉选择寄存器进行编程,可将 I/O 端口配置为具有上拉或下拉电阻器。将某个位设置为 1 会为该 I/O 引脚选择一个 100kΩ 的上拉电阻器。将某个位设置为 0 会为该 I/O 引脚选择一个 100kΩ 的下拉电阻器。如果上拉/下拉使能为 0,则写入该寄存器不会对 I/O 引脚产生影响。
| 端口 ID | 寄存器地址 | 位值 |
|---|---|---|
| 0 | 0x900 | 0 - 100kΩ 下拉;1 - 100kΩ 上拉 |
| 1 | 0x910 | |
| 2(对 TXE8116-Q1 无效) | 0x920 |
总线保持器寄存器(寄存器地址:0xA00 - 0xA20,默认值:0x0)
总线保持器寄存器启用或禁用 I/O 引脚的输入锁存功能。这些寄存器仅在 IO 引脚配置为输入引脚时有效。当总线保持器寄存器中的某个位为 0 时,不会锁存相应输入 IO 引脚的状态。
| 端口 ID | 寄存器地址 | 位值 |
|---|---|---|
| 0 | 0xA00 | 0 - 禁用;1 - 启用 |
| 1 | 0xA10 | |
| 2(对 TXE8116-Q1 无效) | 0xA20 |
智能中断寄存器(寄存器地址:0xB00,默认值:0x0)
当智能中断寄存器位设置为 0(智能中断已启用)时,任何输入引脚的状态变化都会生成中断,如果输入返回到其初始状态,则会清除中断。
当智能中断寄存器位设置为 1(智能中断已禁用)时,任何输入引脚的状态变化都会生成中断,并且如果输入返回到其初始状态,则不会清除中断。读取中断状态标志寄存器将清除中断。
此功能在端口级别启用,无法配置单个 I/O。由于该器件中有 3 个端口,因此位 3 至位 7 被保留。
| 寄存器地址 | 位值 | |||||||
|---|---|---|---|---|---|---|---|---|
| 0xB00 | B3 - B7 | B2 | B1 | B0 | ||||
| 保留 | 0 - 端口 2 已启用;1 - 端口 2 已禁用 | 0 - 端口 1 已启用;1 - 端口 1 已禁用 | 0 - 端口 0 已启用;1 - 端口 0 已禁用 | |||||
中断屏蔽寄存器(寄存器地址:0xC00 - 0xC20,默认值:0xFF)
中断屏蔽寄存器默认设置为 1。可以通过将相应的屏蔽位设置为 0 来启用中断。
如果中断屏蔽寄存器中的相应位设置为 1,则屏蔽中断并且中断引脚不会置为有效。如果中断屏蔽寄存器中的相应位设置为 0,中断引脚将置为有效。该器件中有 3 个中断屏蔽寄存器。
| 端口 ID | 寄存器地址 | 位值 |
|---|---|---|
| 0 | 0xC00 | 0 - 禁用;1 - 启用 |
| 1 | 0xC10 | |
| 2(对 TXE8116-Q1 无效) | 0xC20 |
输入干扰滤波器使能寄存器(寄存器地址:0xD00 - 0xD20,默认值:0x0)
GPIO 的所有输入都有干扰滤波器。默认情况下,这些滤波器处于禁用状态。要启用干扰滤波器,输入干扰滤波使能器寄存器中 I/O 引脚的相应位应设置为 1。该器件中有 3 个输入干扰滤波器使能寄存器。
| 端口 ID | 寄存器地址 | 位值 |
|---|---|---|
| 0 | 0xD00 | 0 - 禁用;1 - 启用 |
| 1 | 0xD10 | |
| 2(对 TXE8116-Q1 无效) | 0xD20 |
中断标志状态寄存器(寄存器地址:0xE00 - 0xE20,默认值:0x0)
任何输入引脚的状态变化都会生成中断,这会为输入设置相应的中断标志寄存器。如果输入返回到其初始状态,中断标志寄存器将保持为 1,直到其被读取,然后中断被清除。
只读中断标志状态寄存器用于标识中断源。如果值为 1,则表示相应的输入引脚是中断源,否则表示输入引脚不是中断源。
当中断屏蔽寄存器中的相应位设置为 1(已屏蔽)时,中断状态位将返回 0。该器件中有 3 个中断标志状态寄存器。
| 端口 ID | 寄存器地址 | 位值 |
|---|---|---|
| 0 | 0xE00 | 0 - 无;1 - 中断源 |
| 1 | 0xE10 | |
| 2(对 TXE8116-Q1 无效) | 0xE20 |
中断端口状态寄存器(寄存器地址:0xF00,默认值:0x0)
只读中断端口状态寄存器用于标识中断源的 IO 端口。如果该值为 1,则表示中断源来自给定 IO 端口中的引脚。如果该值为 0,则表示 IO 端口中的输入引脚都不是中断源。
| 寄存器地址 | 位值 | |||||||
|---|---|---|---|---|---|---|---|---|
| 0xF00 | B3 - B7 | B2 | B1 | B0 | ||||
| 保留 | 0 - 无;1 - 端口 2 中断 | 0 - 无;1 - 端口 1 中断 | 0 - 无;1 - 端口 0 中断 | |||||
失效防护使能寄存器(寄存器地址:0x1200 - 0x1300,默认值:0x0)
该器件可将复位引脚配置为失效防护引脚,从而进入失效防护状态。失效防护使能寄存器用于将引脚功能从复位更改为失效防护。该寄存器的内容会在 POR 事件或其他故障情况下被清除。每次如果有故障情况(会向 SPI 控制器生成中断,失效防护故障状态寄存器用来指明中断源),SPI 控制器都必须重新写入此寄存器。
必须写入两个失效防护使能寄存器,对 I/O 配置进行编程,以确保冗余。如果这些寄存器中任何一个损坏,并且内容不匹配,则会生成一个中断。该器件中有两个失效防护使能寄存器。
| 寄存器地址 | 位值 | |||||||
|---|---|---|---|---|---|---|---|---|
| B1 - B7 | B0 | |||||||
| 0x1200 | 保留 | 0 - 禁用;1 - 启用 | ||||||
| 0x1300 | 保留 | |||||||
失效防护方向配置寄存器(寄存器地址:0x1400 - 0x1520,默认值:0x0)
当器件进入失效防护状态时,失效防护方向配置寄存器会配置 I/O 引脚的方向。如果这些寄存器中的某个位设置为 0,则相应 IO 引脚在失效防护模期间启用为高阻抗输入。如果这些寄存器中的某个位设置为 1,则相应 IO 引脚在失效防护模式期间启用为输出。
必须写入两个失效防护方向配置寄存器,对 I/O 配置进行编程,以确保冗余。如果这些寄存器中任何一个损坏,并且内容不匹配,则会生成一个中断。
| 端口 ID | 寄存器地址 | 位值 |
|---|---|---|
| 0 | 0x1400 | 0 - 输入;1 - 输出 |
| 0x1500 | ||
| 1 | 0x1410 | |
| 0x1510 | ||
| 2(对 TXE8116-Q1 无效) | 0x1420 | |
| 0x1520 |
失效防护输出寄存器(寄存器地址:0x1600 - 0x1720,默认值:0x0)
失效防护输出寄存器显示由失效防护方向配置寄存器定义为输出的引脚的输出电平。这些寄存器中的位值对定义为输入的 IO 引脚没有影响。
必须写入两个失效防护输出寄存器,对 I/O 配置进行编程,以确保冗余。如果这些寄存器中任何一个损坏,并且内容不匹配,则会生成一个中断。
| 端口 ID | 寄存器地址 | 位值 |
|---|---|---|
| 0 | 0x1600 | 0 - 低电平;1 - 高电平 |
| 0x1700 | ||
| 1 | 0x1610 | |
| 0x1710 | ||
| 2(对 TXE8116-Q1 无效) | 0x1620 | |
| 0x1720 |
失效防护冗余校验寄存器(寄存器地址:0x1800,默认值:0x0)
写入所有失效防护冗余寄存器(失效防护配置 + 失效防护输出 + 失效防护引脚的器件配置 [如果适用])后,SPI 控制器必须对这些寄存器启用冗余校验。
| 寄存器地址 | 位值 | |||||||
|---|---|---|---|---|---|---|---|---|
| 0x1800 | B1 - B7 | B0 | ||||||
| 保留 | 0 - 禁用;1 - 启用 | |||||||
故障状态寄存器(寄存器地址:0x1900,默认值:0x1)
故障状态寄存器中的位在故障情况下设置。针对 POR 恢复,B0 位设置为 1。当失效防护寄存器不同步时,B1 位设置为 1。当器件处于失效防护模式时,设置 B2 位。即使故障情况消失,这些标志也不会清除,而是通过读取操作来清除。
| 寄存器地址 | 位值 | |||||||
|---|---|---|---|---|---|---|---|---|
| 0x1900 | B3 - B7 | B2 | B1 | B0 | ||||
| 保留 | 重复失效防护模式设置 | 寄存器不匹配 | POR | |||||
软件复位寄存器(寄存器地址:0x1A00,默认值:0x0)
软件复位寄存器中的 B0 位用于触发器件复位,B1 为 1、B0 为 0 用于触发寄存器复位。当进入复位状态时,该寄存器自动清零。
| 寄存器地址 | 复位模式 | 位值 | |||||||
|---|---|---|---|---|---|---|---|---|---|
| B2 - B7 | B1 | B0 | |||||||
| 0x1A00 | 器件复位 | 保留 | 1 | ||||||
| 寄存器复位 | 保留 | 1 | 0 | ||||||