ZHCSNZ0B November 2022 – November 2023 TCAL6408
PRODUCTION DATA
输入端口寄存器(寄存器 0)反映引脚的输入逻辑电平,无论配置寄存器将引脚定义为输入还是输出。输入端口寄存器为只读。写入此寄存器时将不起作用。默认值 (X) 由外部应用的逻辑电平决定。在执行读取操作之前,系统将连同命令字节发送写入传输,以指示 I2C 器件接下来将访问输入端口寄存器。
位 | I-7 | I-6 | I-5 | I-4 | I-3 | I-2 | I-1 | I-0 |
默认值 | X | X | X | X | X | X | X | X |
输出端口寄存器(寄存器 1)显示由配置寄存器定义为输出的引脚的输出逻辑电平。该寄存器中的位值对定义为输入的引脚没有影响。反过来,从该寄存器读取的值反映了控制输出选择的触发器中的值,而不是实际的引脚值。
位 | O-7 | O-6 | O-5 | O-4 | O-3 | O-2 | O-1 | O-0 |
默认值 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
极性反转寄存器(寄存器 2)允许对配置寄存器定义为输入的引脚进行极性反转。如果对该寄存器中的某个位进行设置(写入”1“),则相应端口引脚的极性会反转。如果该寄存器中的某个位被清除(写入”0“),则相应端口引脚的原始极性会保留。
位 | P-7 | P-6 | P-5 | P-4 | P-3 | P-2 | P-1 | P-0 |
默认值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
配置寄存器(寄存器 3)配置 I/O 引脚的方向。如果该寄存器中的某个位设置为 1,则相应端口引脚被启用为具有高阻抗输出驱动器的输入。如果该寄存器中的某个位被清除为 0,则相应端口引脚被启用为输出。
位 | C-7 | C-6 | C-5 | C-4 | C-3 | C-2 | C-1 | C-0 |
默认值 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
输出驱动强度寄存器控制 P 端口 GPIO 缓冲器的输出驱动电平。每个 GPIO 都可以通过两个寄存器控制位独立地配置为所需的输出电流电平。例如,端口 P7 由寄存器 41(位 7 和 6)控制,端口 P6 由寄存器 41(位 5 和 4)控制,依此类推。GPIO 的输出驱动电平编程为 00b = 0.25x 驱动强度、01b = 0.5x 驱动强度、10b = 0.75x 驱动强度或 11b = 1x,以实现全驱动强度能力。
位 | CC-3 | CC-3 | CC-2 | CC-2 | CC-1 | CC-1 | CC-0 | CC-0 |
默认值 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
位 | CC-7 | CC-7 | CC-6 | CC-6 | CC-5 | CC-5 | CC-4 | CC-4 |
默认值 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
输入锁存寄存器启用和禁用 P 端口 GPIO 引脚的输入锁存功能。该寄存器仅在引脚配置为输入端口时有效。当输入锁存寄存器位为 0 时,不锁存相应的输入引脚状态。相应输入引脚的状态变化会产生中断。读取输入寄存器会清除中断。如果在读取输入端口寄存器之前输入返回到其初始逻辑状态,则中断被清除。
将输入锁存寄存器位设置为 1 时,会锁存相应的输入引脚状态。输入状态的变化会产生一个中断,输入逻辑值被加载到输入端口寄存器(寄存器 0 和 1)的相应位中。读取输入端口寄存器会清除中断。但是,如果输入引脚在读取输入端口寄存器之前返回其初始逻辑状态,则不会清除中断,并且输入端口寄存器的相应位会保持引发中断的逻辑值。
例如,如果 P4 输入处于逻辑 0 状态,然后转换为逻辑 1 状态,再返回逻辑 0 状态,则输入端口寄存器将捕获此更改并生成中断(如果未屏蔽)。当对输入端口 0 寄存器执行读取操作时,假设没有其他输入发生变化,中断将被清除,并且输入端口寄存器的第 4 位将读取“1”。输入端口寄存器第 4 位的下一次读取现在应读取“0”。
当非锁存输入与锁存输入同时切换状态,然后返回其原始状态时,中断保持激活。输入寄存器的读取只反映了锁存输入状态的变化,同时也清除了中断。如果输入锁存寄存器从锁存配置变为非锁存配置,并且输入逻辑值恢复到其原始状态,中断将被清除。
如果输入引脚从锁存输入变为非锁存输入,则从输入端口寄存器读取会反映当前端口逻辑电平。如果输入引脚从非锁存输入变为锁存输入,则从输入寄存器读取会反映锁存逻辑电平。
位 | L-7 | L-6 | L-5 | L-4 | L-3 | L-2 | L-1 | L-0 |
默认值 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
上拉/下拉使能寄存器允许用户启用或禁用 GPIO 引脚上的上拉/下拉电阻器。将该位设置为逻辑 1 可以选择上拉/下拉电阻。将该位设置为逻辑 0 会断开上拉/下拉电阻与 GPIO 引脚的连接。当 GPIO 配置为输出时,电阻被禁用。使用上拉/下拉选择寄存器选择上拉或下拉电阻。
位 | PE-7 | PE-6 | PE-5 | PE-4 | PE-3 | PE-2 | PE-1 | PE-0 |
默认值 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
上拉/下拉选择寄存器允许用户通过编程相应的寄存器位来配置每个 GPIO,以具有上拉或下拉电阻。将某个位设置为逻辑 1 会为该 GPIO 引脚选择一个 100kΩ 的上拉电阻。将某个位设置为逻辑 0 会为该 GPIO 引脚选择一个 100kΩ 的下拉电阻。如果通过寄存器 43 禁用上拉/下拉功能,则写入该寄存器对 GPIO 引脚没有影响。
位 | PUD-7 | PUD-6 | PUD-5 | PUD-4 | PUD-3 | PUD-2 | PUD-1 | PUD-0 |
默认值 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
上电时,中断屏蔽寄存器默认为逻辑 1,在系统启动期间禁用中断。可以通过将相应的屏蔽位设置为逻辑 0 来启用中断。
如果输入改变了状态,并且中断屏蔽寄存器中的相应位为 1,则屏蔽中断并且不断言中断引脚。如果中断屏蔽寄存器中的相应位设置为 0,则中断引脚被断言。
当输入改变了状态,并且产生的中断被屏蔽时,将中断屏蔽寄存器位设置为 0 将导致中断引脚被断言。如果当前已经是中断源的输入的中断屏蔽位设置为 1,则中断引脚被解除断言。
位 | M-7 | M-6 | M-5 | M-4 | M-3 | M-2 | M-1 | M-0 |
默认值 | 1 |
1 |
1 | 1 | 1 | 1 | 1 | 1 |
中断状态寄存器是一个只读寄存器,用于识别中断源。读取时,逻辑 1 表示相应的输入引脚是中断源。逻辑 0 表示输入引脚不是中断源。当中断屏蔽寄存器中的相应位设置为 1(已屏蔽)时,中断状态位将返回逻辑 0。
位 | S-7 | S-6 | S-5 | S-4 | S-3 | S-2 | S-1 | S-0 |
默认值 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
输出端口配置寄存器选择按端口推挽或开漏 I/O 级。逻辑 0 会将 I/O 配置为推挽式(Q1 和 Q2 处于活动状态,请参阅图 7-2)。逻辑 1 将 I/O 配置为开漏(Q1 被禁用,Q2 处于活动状态),建议的命令序列是在配置寄存器 (03) 将端口引脚设置为输出之前,对该寄存器 (4F) 进行编程。
位 | 被保留 | ODEN-0 | ||||||
默认值 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |