ZHCSYT1A August 2025 – October 2025 TXE8116
PRODUCTION DATA
軟件復(fù)位廣播是 SPI 總線上的控制器發(fā)出的命令,指示支持該命令的 SPI 目標(biāo)器件復(fù)位為上電默認(rèn)狀態(tài)。
TXE8116/TXE8124 器件采用 24 位 SPI 幀進(jìn)行通信。例如,要通過(guò)軟件復(fù)位命令觸發(fā)寄存器復(fù)位,控制器可將 SPI 幀配置如下:
| B23 | B22 | B21 | B20 | B19 | B18 | B17 | B16 | B15 | B14 | B13 | B12 | B11 | B10 | B9 | B8 | B7 | B6 | B5 | B4 | B3 | B2 | B1 | B0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
// 定義 SPI 寄存器地址
#define REGISTER_CMD_BYTE 0x1A // 復(fù)位寄存器的寄存器命令字節(jié)
#define DATA_BITS 0x2 // 將 B1 設(shè)置為 1,將 B0 設(shè)置為 0 以觸發(fā)寄存器復(fù)位
#define READ_WRITE_BIT 0 // 0 表示寫(xiě)入操作,1 表示讀取操作
// 用于將 24 位 SPI 幀發(fā)送到 I/O 擴(kuò)展器(MSB 優(yōu)先)的函數(shù)
void SPI_Send(uint32_t data) {
// 使用硬件 SPI 外設(shè)逐位發(fā)送 24 位數(shù)據(jù)(MSB 優(yōu)先)
for (int i = 23; i >= 0; i--) {
SPI_Transmit((data >> i) & 0x01); // 首先移出 MSB
}
}
// 用于將軟件復(fù)位命令發(fā)送到 SPI I/O 擴(kuò)展器的函數(shù)
void SPI_Software_Reset(void) {
uint32_t frame = 0;
// 設(shè)置讀取/寫(xiě)入位(位 23)
frame |= (READ_WRITE_BIT << 23);
// 設(shè)置寄存器地址(位 20-16)
frame |= (REGISTER_CMD_BYTE << 16);
// 設(shè)置數(shù)據(jù)位(位 7-0)
frame |= (DATA_BITS & 0xFF); // 確保我們僅使用低 8 位
// 將 CS 拉至低電平以選擇目標(biāo)器件
CS_LOW();
// 發(fā)送構(gòu)建的 SPI 幀(MSB 優(yōu)先)
SPI_Send(frame);
// 將 CS 拉至高電平以在傳輸后取消選擇器件
CS_HIGH();
}