ZHCSYN0B July 2025 – July 2026 TPLD2001
PRODUCTION DATA
当配置为 I2C 时,宏单元使用以下 IO:
TPLD2001 支持:
仅限外设/目标模式
标准模式、快速模式和快速+ 模式
可通过 IO 或 OTP 存储器配置 4 位硬件地址
双向 I2C 总线由串行时钟 (SCL) 线和串行数据 (SDA) 线组成。当连接到器件的输出级时,两条线都必须通过上拉电阻器连接到正电源。数据传输仅在总线不忙时才开始。
TPLD 的目标器件地址来源于 OTP(一次性可编程存储器),且最高有效字节可选择来自 IO,TPLD 仅在器件上电时对 IO 进行采样,这使得相应的 GPIO 可在电路设计中用作数字输入。此外,还可以通过将 I2C_IO_LAT 位设置为逻辑 1 来启用 IO 锁存,以便在通电期间连续采样。
当 SCL 输入为高电平时,控制器发送 START 条件(SDA 输入/输出上由高电平到低电平转换)启动与该器件的 I2C 通信。在发送 START 条件之后,会发送器件硬件地址字节,首先发送最高有效位 (MSB),包括数据方向位 (R/W)。
接收到有效地址字节后,该器件以确认 (ACK) 响应,在 ACK 相关时钟脉冲的高电平期间,SDA 输入/输出为低电平。响应器器件的地址输入不得在 START 条件和 STOP 条件之间更改。
在 I2C 总线上,在每个时钟脉冲期间仅传输一个数据位。在时钟周期的高脉冲期间,SDA 线上的数据必须保持稳定,因为此时数据线上的变化会被解释为控制命令(START 或 STOP)。
控制器会发送 STOP 条件,即当 SCL 输入为高电平时,SDA 输入/输出由低电平到高电平转换。
在 START 和 STOP 条件之间,可以将任意数量的数据字节从发送器传输到接收器。每个八位字节后跟一个 ACK 位。发送器必须先释放 SDA 线,接收器才能发送 ACK 位。做出应答的器件必须在 ACK 时钟脉冲期间下拉 SDA 线路,这样,在 ACK 相关时钟周期的高脉冲期间,SDA 线路稳定为低电平。当响应接收方被寻址时,响应接收方必须在每收到一个字节后生成一个 ACK。类似地,控制器必须在控制器从响应器发送器接收到每个字节之后生成一个 NACK。必须满足设置和保持时间才能正常运行。
控制器接收器通过在最后一个字节已经从响应器计时输出之后不生成确认 (NACK) 来向响应器发送器发送数据结束信号。这是由控制器接收器通过将 SDA 线保持为高电平来完成的。在这种情况下,发送器必须释放数据线,才能使控制器生成 STOP 条件。
在向 TPLD2001 写入或读取数据时,可以通过向地址 0x0FD 的第 0 位写入逻辑 0,启用地址自动递增功能。可通过写入逻辑 1 禁用。请注意,对于 I2C,地址自动递增仅在特定的扩展或页面地址内有效。因此,如果使用突发读取或写入操作,请记住 0x0FF 会回滚到 0x000。
要向 TPLD2001 传输数据或写入数据,总线控制器必须发送器件硬件地址并将最低有效位 (LSB) 设置为逻辑 0。接下来的两个字节设置寄存器地址,然后是写入的数据。一次写入帧中发送的数据字节数没有限制。
若要从 TPLD2001 中读取数据,总线控制器必须首先发送 TPLD2001 硬件地址,并将 LSB 设置为逻辑 1。后续字节包含先前写入地址中的数据,如果启用了地址自动递增功能,则包含下一个地址中的数据。
软件复位调用是控制器在 I2C 总线上发送的一条命令,用于指示所有支持该命令的设备复位至上电默认状态。通过将 I2C_RST_EN 位设置为逻辑 1,可以启用对该软件复位调用的侦听。为了使软件复位正常工作,I2C 总线必须能够正常工作,并且任何器件都不能挂起总线。
软件复位广播定义为以下步骤:
成功完成上述步骤后,器件会执行复位,将所有寄存器值恢复为上电默认值。