ZHCSXB4 October 2024 TAA3040
ADVANCE INFORMATION
该器件中的某些事件可能需要主机处理器干预,并可用于触发主机处理器的中断。一个此类事件是音频串行接口 (ASI) 总线错误。如果检测到 ASI 总线错误时钟出现任何故障,该器件会关闭录音通道,例如:
当检测到 ASI 总线时钟错误时,该器件会尽快关闭录音通道。解决所有 ASI 总线时钟错误后,器件音量会恢复到之前的状态,以恢复录音通道。在 ASI 总线时钟错误期间,如果将时钟错误中断屏蔽寄存器位 INT_MASK0[7] (P0_R51_D7) 设置为低电平,则内部中断请求 (IRQ) 中断信号会置为低电平有效。此外还可以通过锁存的故障状态寄存器位 INT_LTCH0 (P0_R54) 读回该时钟故障,该寄存器是一个只读寄存器。读取锁存故障状态寄存器 INT_LTCH0 会清除所有锁存故障状态。此外,该器件可配置为在 GPIO1 或 GPOx 引脚上路由内部 IRQ 中断信号,也可配置为开漏输出,以便这些引脚与其他器件的开漏中断输出进行线与连接。
通过设置 INT_POL (P0_R50_D7) 寄存器位,可以将 IRQ 中断信号配置为低电平有效或高电平有效极性。通过对 INT_EVENT[1:0] (P0_R50_D[6:5]) 寄存器位进行编程,该信号也可以配置为单个脉冲或一系列脉冲。如果中断配置为一系列脉冲,则事件将触发脉冲开始;当读取锁存的故障状态寄存器以确定中断原因时,脉冲将停止。
该器件还支持只读实时状态寄存器,以确定通道是上电还是断电,以及器件是否处于睡眠模式。这些状态寄存器位于 P0_R118 (DEV_STS0) 和 P0_R119 (DEV_STS1) 中。
该器件具有一个多功能 GPIO1 引脚,该引脚可针对所需的特定功能进行配置。此外,如果通道不用于模拟输入录音,则可以通过配置位于 CHx_CFG0 寄存器中的 CHx_INSRC[1:0] 寄存器位,将该通道的模拟输入引脚(INxP 和 INxM)改为多功能引脚(GPIx 和 GPOx)。该器件最多支持四个 GPO 引脚和四个 GPI 引脚。表 6-46 展示了这些多功能引脚用于各种功能的所有可能分配。
行 | 引脚功能(4) | GPIO1 | GPO1 | GPO2 | GPO3 | GPO4 | GPI1 | GPI2 | GPI3 | GPI4 |
---|---|---|---|---|---|---|---|---|---|---|
— | — | GPIO1_CFG | GPO1_CFG | GPO2_CFG | GPO3_CFG | GPO4_CFG | GPI1_CFG | GPI2_CFG | GPI3_CFG | GPI4_CFG |
— | — | P0_R33[7:4] | P0_R34[7:4] | P0_R35[7:4] | P0_R36[7:4] | P0_R37[7:4] | P0_R43[6:4] | P0_R43[2:0] | P0_R44[6:4] | P0_R44[2:0] |
A | 引脚禁用 | S(1) | S(默认值) | S(默认值) | S(默认值) | S(默认值) | S(默认值) | S(默认值) | S(默认值) | S(默认值) |
B | 通用输出 (GPO) | S | S | S | S | S | NS(2) | NS | NS | NS |
C | 中断输出 (IRQ) | S(默认值) | S | S | S | S | NS | NS | NS | NS |
D | 辅助 ASI 输出 (SDOUT2)(3) | S | S | S | S | S | NS | NS | NS | NS |
E | PDM 时钟输出 (PDMCLK) | S | S | S | S | S | NS | NS | NS | NS |
F | MiCBIAS 开/关输入 (BIASEN) | S | NS | NS | NS | NS | NS | NS | NS | NS |
G | 通用输入 (GPI) | S | NS | NS | NS | NS | S | S | S | S |
H | 主时钟输入 (MCLK) | S | NS | NS | NS | NS | S | S | S | S |
I | ASI 菊花链输入 (SDIN) | S | NS | NS | NS | NS | S | S | S | S |
J | PDM 数据输入 1 (PDMDIN1) | S | NS | NS | NS | NS | S | S | S | S |
K | PDM 数据输入 2 (PDMDIN2) | S | NS | NS | NS | NS | S | S | S | S |
L | PDM 数据输入 3 (PDMDIN3) | S | NS | NS | NS | NS | S | S | S | S |
M | PDM 数据输入 4 (PDMDIN4) | S | NS | NS | NS | NS | S | S | S | S |
每个 GPOx 或 GPIOx 引脚都可以通过使用 GPOx_DRV[3:0] 或 GPIO1_DRV[3:0] 寄存器位,独立设置为所需的驱动配置设置。表 6-47 列出了驱动配置设置。
P0_R33_D[3:0]:GPIO1_DRV[3:0] | GPIO1 的 GPIO 输出驱动配置设置 |
---|---|
000 | GPIO1 引脚设置为高阻抗(悬空) |
001 | GPIO1 引脚设置为驱动为低电平有效或高电平有效 |
010(默认值) | GPIO1 引脚设置为驱动为低电平有效或弱高电平(片上上拉) |
011 | GPIO1 引脚设置为驱动为低电平有效或高阻态(悬空) |
100 | GPIO1 引脚设置为驱动为弱低电平(片上下拉)或高电平有效 |
101 | GPIO1 引脚设置为驱动为高阻态(悬空)或高电平有效 |
110 和 111 | 保留(不使用这些设置) |
同样,GPO1 至 GPO4 引脚可以分别使用 GPO1_DRV (P0_R34) 至 GPO4_DRV (P0_R37) 寄存器位进行配置。
当配置为通用输出 (GPO) 时,可以通过写入 GPIO_VAL 或 GPOx_VAL (P0_R41) 寄存器来驱动 GPIO1 或 GPOx 引脚值。当配置为通用输入 (GPI) 时,GPIO_MON (P0_R42) 寄存器可用于读回 GPIO1 引脚的状态。同样,当配置为通用输入 (GPI) 时,GPI_MON (P0_R47) 寄存器可用于读回 GPIx 引脚的状态。