ZHCSXA8 November 2024 LP5899
PRODUCTION DATA
除了 SOFTRESET_CRC 之外,每條命令都有兩個版本。即使 CRC 值不正確,類型名稱末尾沒有 CRC 的版本也始終執(zhí)行。僅當接收到的 CRC 與基于命令字和數(shù)據(jù)字計算出的 CRC 匹配時,才會執(zhí)行類型名稱末尾帶有 CRC 的版本。
以 FWD 開頭的命令通過 CCSI 控制器轉(zhuǎn)發(fā)接收到的數(shù)據(jù)字。只要數(shù)據(jù)長度大于 0,CCSI 控制器就會自動插入一個起始位、校驗位和一個 END 字節(jié)。因此,一條 SPI 命令的 SPI 數(shù)據(jù)字被視為一條 CCSI 命令,該命令在第一個 SPI 數(shù)據(jù)字之前具有 1 個起始位,在每個數(shù)據(jù)字之后具有一個校驗位,在最后一個 SPI 數(shù)據(jù)字之后具有一個 END 字節(jié)。
以 REG 開頭的命令用于寫入和讀取 LP5899 器件的寄存器。DATA_RD 命令返回 RXFIFO 中存儲的數(shù)據(jù)。
以 FWD、REG_WR 和 SOFTRESET_CRC 開頭的命令會返回 STATUS 寄存器和通過 STATUS 寄存器計算出的 CRC??梢酝ㄟ^ SPICTRL 寄存器中的 SPI_ACK_DIS 位來禁用此確認。在確認被禁用的情況下執(zhí)行 SOFTRESET_CRC 時必須小心。在這種情況下,TI 建議在發(fā)送下一條命令之前至少等待一個 SPI 字。
每當 LP5899 器件在 SDO 引腳上將數(shù)據(jù)返回到控制器時,控制器必須在 SCLK 引腳上提供足夠的時鐘脈沖以移出數(shù)據(jù)。TI 建議在提供時鐘脈沖以移出數(shù)據(jù)的同時將 SDI 引腳保持在邏輯高電平。
FWD_WR_CRC(轉(zhuǎn)發(fā)寫入 CRC 命令)
返回到 SPI 命令表
FWD_WR_CRC 命令由器件中的 CCSI 控制器用于傳輸數(shù)據(jù)字。SPI 外設(shè)接收到的所有數(shù)據(jù)字都存儲在 TXFIFO 中。僅當接收到的 CRC 與基于命令字和數(shù)據(jù)字計算出的 CRC 匹配時,CCSI 控制器才開始傳輸。這意味著 TXFFLVL 不影響該傳輸?shù)拈_始。SPI 控制器必須注意到,數(shù)據(jù)長度小于 TXFIFO 的大小。此 SPI 命令支持多達 512 個數(shù)據(jù)字并返回 STATUS 寄存器和通過 STATUS 寄存器計算出的 CRC。FWD_WR_CRC 命令轉(zhuǎn)發(fā) 2 個數(shù)據(jù)字的示例如圖 7-10 所示。
FWD_WR(轉(zhuǎn)發(fā)寫入命令)
返回到 SPI 命令表
FWD_WR 命令由器件中的 CCSI 控制器用于傳輸數(shù)據(jù)字。SPI 外設(shè)接收到的所有數(shù)據(jù)字都存儲在 TXFIFO 中。如果滿足以下一個或多個條件,CCSI 控制器會開始傳輸。
FWD_WR_END_CRC(具有 END 字節(jié)的轉(zhuǎn)發(fā)寫入 CRC 命令)
返回到 SPI 命令表
FWD_WR_END_CRC 命令由器件中的 CCSI 控制器用于傳輸數(shù)據(jù)字。SPI 外設(shè)接收到的所有數(shù)據(jù)字都存儲在 TXFIFO 中。僅當接收到的 CRC 與基于命令字和數(shù)據(jù)字計算出的 CRC 匹配時,CCSI 控制器才開始傳輸。這意味著 TXFFLVL 不影響該傳輸?shù)拈_始。在 CCSI 控制器傳輸完所有數(shù)據(jù)字后,會附加指定數(shù)量的額外 END 字節(jié)。數(shù)據(jù)字的傳輸和額外 END 字節(jié)的傳輸被視為 2 條單獨的 CCSI 命令。此 SPI 命令支持多達 31 個數(shù)據(jù)字并返回 STATUS 寄存器和通過 STATUS 寄存器計算出的 CRC。FWD_WR_END_CRC 命令轉(zhuǎn)發(fā) 0 數(shù)據(jù)字(因此不插入一個 END 字節(jié))和 3 個額外 END 字節(jié)的示例如圖 7-12 所示。
FWD_WR_END(具有 END 字節(jié)的轉(zhuǎn)發(fā)寫入命令)
返回到 SPI 命令表
FWD_WR_END 命令由器件中的 CCSI 控制器用于傳輸數(shù)據(jù)字。SPI 外設(shè)接收到的所有數(shù)據(jù)字都存儲在 TXFIFO 中。如果滿足以下一個或多個條件,CCSI 控制器會開始傳輸。
FWD_RD_END_CRC(具有 END 字節(jié)的轉(zhuǎn)發(fā)讀取 CRC 命令)
返回到 SPI 命令表
FWD_RD_END_CRC 命令由器件中的 CCSI 控制器用于傳輸數(shù)據(jù)字。SPI 外設(shè)接收到的所有數(shù)據(jù)字都存儲在 TXFIFO 中。僅當接收到的 CRC 與基于命令字和數(shù)據(jù)字計算出的 CRC 匹配時,CCSI 控制器才開始傳輸。這意味著 TXFFLVL 不影響該傳輸?shù)拈_始。在 CCSI 控制器傳輸完所有數(shù)據(jù)字后,會附加指定數(shù)量的額外 END 字節(jié)。數(shù)據(jù)字的傳輸和額外 END 字節(jié)的傳輸被視為 2 條單獨的 CCSI 命令。CCSI 外設(shè)接收到的用于該命令的所有數(shù)據(jù)字都存儲在 RXFIFO 中。此 SPI 命令支持多達 32 個數(shù)據(jù)字并返回 STATUS 寄存器和通過 STATUS 寄存器計算出的 CRC。FWD_RD_END_CRC 命令轉(zhuǎn)發(fā) 2 個數(shù)據(jù)字和 1 個額外 END 字節(jié)的示例如圖 7-14 所示。
FWD_RD_END(具有 END 字節(jié)的轉(zhuǎn)發(fā)讀取命令)
返回到 SPI 命令表
FWD_RD_END 命令由器件中的 CCSI 控制器用于傳輸數(shù)據(jù)字。SPI 外設(shè)接收到的所有數(shù)據(jù)字都存儲在 TXFIFO 中。如果滿足以下一個或多個條件,CCSI 控制器會開始傳輸。
DATA_RD_CRC(數(shù)據(jù)讀取 CRC 命令)
返回到 SPI 命令表
DATA_RD_CRC 命令用于從 RXFIFO 讀取數(shù)據(jù)字。僅當接收到的 CRC 與基于命令字計算出的 CRC 匹配時,該器件才會返回所請求的數(shù)據(jù)字數(shù)以及基于數(shù)據(jù)字計算出的 CRC。當 CRC 失敗時,SDO 保持為邏輯高電平。DATA_RD_CRC 命令請求 4 個數(shù)據(jù)字的示例如圖 7-16 所示。
DATA_RD(數(shù)據(jù)讀取命令)
返回到 SPI 命令表
DATA_RD 命令用于從 RXFIFO 讀取數(shù)據(jù)字。即使接收到的 CRC 與基于命令字計算出的 CRC 不匹配,該器件也會返回所請求的數(shù)據(jù)字數(shù)以及基于數(shù)據(jù)字計算出的 CRC。當接收到的 CRC 與基于命令字計算出的 CRC 不匹配時,F(xiàn)AULT 引腳會被拉至低電平(未屏蔽時)并設(shè)置 FLAG_SPI_CRC 標志。DATA_RD 命令請求 3 個數(shù)據(jù)字的示例如圖 7-17 所示。
REG_WR_CRC(寄存器寫入 CRC 命令)
返回到 SPI 命令表
REG_WR_CRC 命令用于寫入 LP5899 器件的內(nèi)部寄存器。該命令包含一個字段,用于指示要寫入的第一個寄存器的地址。SPI 外設(shè)接收到的所有數(shù)據(jù)字都存儲在影子寄存器中。僅當接收到的 CRC 與基于命令字和數(shù)據(jù)字計算出的 CRC 匹配時,才更新寄存器。該命令返回 STATUS 寄存器和通過 STATUS 寄存器計算出的 CRC。REG_WR_CRC 命令寫入 3 個寄存器的示例如圖 7-18 所示。
REG_WR(寄存器寫入命令)
返回到 SPI 命令表
REG_WR 命令用于寫入 LP5899 器件的內(nèi)部寄存器。該命令包含一個字段,用于指示要寫入的第一個寄存器的地址。SPI 外設(shè)接收到的所有數(shù)據(jù)字均直接寫入寄存器。這意味著 CRC 不會影響寄存器的寫入。當接收到的 CRC 與基于命令字計算出的 CRC 不匹配時,F(xiàn)AULT 引腳會被拉至低電平(未屏蔽時)并設(shè)置 FLAG_SPI_CRC 標志。該命令返回 STATUS 寄存器和通過 STATUS 寄存器計算出的 CRC。REG_WR_CRC 命令寫入 2 個寄存器的示例如圖 7-19 所示。
REG_RD_CRC(寄存器讀取 CRC 命令)
返回到 SPI 命令表
REG_RD_CRC 命令用于讀取 LP5899 器件的內(nèi)部寄存器。該命令包含一個字段,用于指示要讀取的第一個寄存器的地址。僅當接收到的 CRC 與基于命令字計算出的 CRC 匹配時,該器件才會返回所請求的寄存器字數(shù)以及基于寄存器字計算出的 CRC。當 CRC 失敗時,SDO 保持為邏輯高電平。REG_RD_CRC 命令讀取 1 個寄存器的示例如圖 7-20 所示。
REG_RD(寄存器讀取命令)
返回到 SPI 命令表
REG_RD 命令用于讀取 LP5899 器件的內(nèi)部寄存器。該命令包含一個字段,用于指示要讀取的第一個寄存器的地址。即使接收到的 CRC 與基于命令字計算出的 CRC 不匹配,該器件也會返回所請求的寄存器字數(shù)以及基于寄存器字計算出的 CRC。當接收到的 CRC 與基于命令字計算出的 CRC 不匹配時,F(xiàn)AULT 引腳會被拉至低電平(未屏蔽時)并設(shè)置 FLAG_SPI_CRC 標志。REG_RD 命令讀取 3 個寄存器的示例如圖 7-21 所示。
SOFTRESET_CRC(軟復(fù)位 CRC 命令)
返回到 SPI 命令表
SOFTRESET_CRC 命令用于將所有內(nèi)部寄存器復(fù)位為默認值并同步 CCSI 控制器和外設(shè)。該命令在以下情況下執(zhí)行:
所有內(nèi)部寄存器復(fù)位后,之前設(shè)置的大部分故障標志都會被清除。只有 FLAG_POR 和 FLAG_ERR 會復(fù)位為高電平。此外,RXFIFO 中存儲的所有數(shù)據(jù)將無法訪問。如果 LED 菊花鏈中有 CCSI 命令尚未被 CCSI 外設(shè)接收到,則無法再檢查 CCSI CRC 診斷,因為計算出的 CRC 值已被清除,以便在 CCSI 控制器和 CCSI 外設(shè)之間進行同步。TI 建議在傳輸 SOFTRESET_CRC 命令后,傳輸?shù)?END 字節(jié)數(shù)與菊花鏈中的 LED 驅(qū)動器數(shù)相同。這將清除任何已傳輸?shù)?CCSI 命令,因此會保持同步。當器件處于失效防護模式時,SOFTRESET_CRC 命令會使器件進入正常模式。未成功的 SOFTRESET_CRC 命令會記錄在 STATUS 寄存器的 FLAG_SRST 位中。SOFTRESET_CRC 命令的示例如圖 7-22 所示。