ZHCSX81 October 2024 LP5899-Q1
PRODUCTION DATA
除了 SOFTRESET_CRC 之外,每条命令都有两个版本。即使 CRC 值不正确,类型名称末尾没有 CRC 的版本也始终执行。仅当接收到的 CRC 与基于命令字和数据字计算出的 CRC 匹配时,才会执行类型名称末尾带有 CRC 的版本。
以 FWD 开头的命令通过 CCSI 控制器转发接收到的数据字。只要数据长度大于 0,CCSI 控制器就会自动插入一个起始位、校验位和一个 END 字节。因此,一条 SPI 命令的 SPI 数据字被视为一条 CCSI 命令,该命令在第一个 SPI 数据字之前具有 1 个起始位,在每个数据字之后具有一个校验位,在最后一个 SPI 数据字之后具有一个 END 字节。
以 REG 开头的命令用于写入和读取 LP5899-Q1 器件的寄存器。DATA_RD 命令返回 RXFIFO 中存储的数据。
以 FWD、REG_WR 和 SOFTRESET_CRC 开头的命令会返回 STATUS 寄存器和通过 STATUS 寄存器计算出的 CRC。可以通过 SPICTRL 寄存器中的 SPI_ACK_DIS 位来禁用此确认。在确认被禁用的情况下执行 SOFTRESET_CRC 时必须小心。在这种情况下,TI 建议在发送下一条命令之前至少等待一个 SPI 字。
每当 LP5899-Q1 器件在 SDO 引脚上将数据返回到控制器时,控制器必须在 SCLK 引脚上提供足够的时钟脉冲以移出数据。TI 建议在提供时钟脉冲以移出数据的同时将 SDI 引脚保持在逻辑高电平。
FWD_WR_CRC(转发写入 CRC 命令)
返回到 SPI 命令表
FWD_WR_CRC 命令由器件中的 CCSI 控制器用于传输数据字。SPI 外设接收到的所有数据字都存储在 TXFIFO 中。仅当接收到的 CRC 与基于命令字和数据字计算出的 CRC 匹配时,CCSI 控制器才开始传输。这意味着 TXFFLVL 不影响该传输的开始。SPI 控制器必须注意到,数据长度小于 TXFIFO 的大小。此 SPI 命令支持多达 512 个数据字并返回 STATUS 寄存器和通过 STATUS 寄存器计算出的 CRC。FWD_WR_CRC 命令转发 2 个数据字的示例如图 7-10 所示。
FWD_WR(转发写入命令)
返回到 SPI 命令表
FWD_WR 命令由器件中的 CCSI 控制器用于传输数据字。SPI 外设接收到的所有数据字都存储在 TXFIFO 中。如果满足以下一个或多个条件,CCSI 控制器会开始传输。
FWD_WR_END_CRC(具有 END 字节的转发写入 CRC 命令)
返回到 SPI 命令表
FWD_WR_END_CRC 命令由器件中的 CCSI 控制器用于传输数据字。SPI 外设接收到的所有数据字都存储在 TXFIFO 中。仅当接收到的 CRC 与基于命令字和数据字计算出的 CRC 匹配时,CCSI 控制器才开始传输。这意味着 TXFFLVL 不影响该传输的开始。在 CCSI 控制器传输完所有数据字后,会附加指定数量的额外 END 字节。数据字的传输和额外 END 字节的传输被视为 2 条单独的 CCSI 命令。此 SPI 命令支持多达 31 个数据字并返回 STATUS 寄存器和通过 STATUS 寄存器计算出的 CRC。FWD_WR_END_CRC 命令转发 0 数据字(因此不插入一个 END 字节)和 3 个额外 END 字节的示例如图 7-12 所示。
FWD_WR_END(具有 END 字节的转发写入命令)
返回到 SPI 命令表
FWD_WR_END 命令由器件中的 CCSI 控制器用于传输数据字。SPI 外设接收到的所有数据字都存储在 TXFIFO 中。如果满足以下一个或多个条件,CCSI 控制器会开始传输。
FWD_RD_END_CRC(具有 END 字节的转发读取 CRC 命令)
返回到 SPI 命令表
FWD_RD_END_CRC 命令由器件中的 CCSI 控制器用于传输数据字。SPI 外设接收到的所有数据字都存储在 TXFIFO 中。仅当接收到的 CRC 与基于命令字和数据字计算出的 CRC 匹配时,CCSI 控制器才开始传输。这意味着 TXFFLVL 不影响该传输的开始。在 CCSI 控制器传输完所有数据字后,会附加指定数量的额外 END 字节。数据字的传输和额外 END 字节的传输被视为 2 条单独的 CCSI 命令。CCSI 外设接收到的用于该命令的所有数据字都存储在 RXFIFO 中。此 SPI 命令支持多达 32 个数据字并返回 STATUS 寄存器和通过 STATUS 寄存器计算出的 CRC。FWD_RD_END_CRC 命令转发 2 个数据字和 1 个额外 END 字节的示例如图 7-14 所示。
FWD_RD_END(具有 END 字节的转发读取命令)
返回到 SPI 命令表
FWD_RD_END 命令由器件中的 CCSI 控制器用于传输数据字。SPI 外设接收到的所有数据字都存储在 TXFIFO 中。如果满足以下一个或多个条件,CCSI 控制器会开始传输。
DATA_RD_CRC(数据读取 CRC 命令)
返回到 SPI 命令表
DATA_RD_CRC 命令用于从 RXFIFO 读取数据字。仅当接收到的 CRC 与基于命令字计算出的 CRC 匹配时,该器件才会返回所请求的数据字数以及基于数据字计算出的 CRC。当 CRC 失败时,SDO 保持为逻辑高电平。DATA_RD_CRC 命令请求 4 个数据字的示例如图 7-16 所示。
DATA_RD(数据读取命令)
返回到 SPI 命令表
DATA_RD 命令用于从 RXFIFO 读取数据字。即使接收到的 CRC 与基于命令字计算出的 CRC 不匹配,该器件也会返回所请求的数据字数以及基于数据字计算出的 CRC。当接收到的 CRC 与基于命令字计算出的 CRC 不匹配时,FAULT 引脚会被拉至低电平(未屏蔽时)并设置 FLAG_SPI_CRC 标志。DATA_RD 命令请求 3 个数据字的示例如图 7-17 所示。
REG_WR_CRC(寄存器写入 CRC 命令)
返回到 SPI 命令表
REG_WR_CRC 命令用于写入 LP5899-Q1 器件的内部寄存器。该命令包含一个字段,用于指示要写入的第一个寄存器的地址。SPI 外设接收到的所有数据字都存储在影子寄存器中。仅当接收到的 CRC 与基于命令字和数据字计算出的 CRC 匹配时,才更新寄存器。该命令返回 STATUS 寄存器和通过 STATUS 寄存器计算出的 CRC。REG_WR_CRC 命令写入 3 个寄存器的示例如图 7-18 所示。
REG_WR(寄存器写入命令)
返回到 SPI 命令表
REG_WR 命令用于写入 LP5899-Q1 器件的内部寄存器。该命令包含一个字段,用于指示要写入的第一个寄存器的地址。SPI 外设接收到的所有数据字均直接写入寄存器。这意味着 CRC 不会影响寄存器的写入。当接收到的 CRC 与基于命令字计算出的 CRC 不匹配时,FAULT 引脚会被拉至低电平(未屏蔽时)并设置 FLAG_SPI_CRC 标志。该命令返回 STATUS 寄存器和通过 STATUS 寄存器计算出的 CRC。REG_WR_CRC 命令写入 2 个寄存器的示例如图 7-19 所示。
REG_RD_CRC(寄存器读取 CRC 命令)
返回到 SPI 命令表
REG_RD_CRC 命令用于读取 LP5899-Q1 器件的内部寄存器。该命令包含一个字段,用于指示要读取的第一个寄存器的地址。仅当接收到的 CRC 与基于命令字计算出的 CRC 匹配时,该器件才会返回所请求的寄存器字数以及基于寄存器字计算出的 CRC。当 CRC 失败时,SDO 保持为逻辑高电平。REG_RD_CRC 命令读取 1 个寄存器的示例如图 7-20 所示。
REG_RD(寄存器读取命令)
返回到 SPI 命令表
REG_RD 命令用于读取 LP5899-Q1 器件的内部寄存器。该命令包含一个字段,用于指示要读取的第一个寄存器的地址。即使接收到的 CRC 与基于命令字计算出的 CRC 不匹配,该器件也会返回所请求的寄存器字数以及基于寄存器字计算出的 CRC。当接收到的 CRC 与基于命令字计算出的 CRC 不匹配时,FAULT 引脚会被拉至低电平(未屏蔽时)并设置 FLAG_SPI_CRC 标志。REG_RD 命令读取 3 个寄存器的示例如图 7-21 所示。
SOFTRESET_CRC(软复位 CRC 命令)
返回到 SPI 命令表
SOFTRESET_CRC 命令用于将所有内部寄存器复位为默认值并同步 CCSI 控制器和外设。该命令在以下情况下执行:
所有内部寄存器复位后,之前设置的大部分故障标志都会被清除。只有 FLAG_POR 和 FLAG_ERR 会复位为高电平。此外,RXFIFO 中存储的所有数据将无法访问。如果 LED 菊花链中有 CCSI 命令尚未被 CCSI 外设接收到,则无法再检查 CCSI CRC 诊断,因为计算出的 CRC 值已被清除,以便在 CCSI 控制器和 CCSI 外设之间进行同步。TI 建议在传输 SOFTRESET_CRC 命令后,传输的 END 字节数与菊花链中的 LED 驱动器数相同。这将清除任何已传输的 CCSI 命令,因此会保持同步。当器件处于失效防护模式时,SOFTRESET_CRC 命令会使器件进入正常模式。未成功的 SOFTRESET_CRC 命令会记录在 STATUS 寄存器的 FLAG_SRST 位中。SOFTRESET_CRC 命令的示例如图 7-22 所示。