Other Parts Discussed in Thread: DRV8143-Q1
器件型号: DRV8143-Q1
尊敬的团队:
我在设计中使用 DRV8143SQRXYRQ1 SPI (S) Varint 与 ESP32-S3。
当我尝试读取器件 ID 时、可以读取器件 ID (0xBA)。
但在获取器件 ID 后、我无法写入 comman 寄存器。 SPI 写入失败。
这是原理图。

下面是我的代码日志。
I (288) 主器件:CS2 器件 ID(尝试 1):0xBA
I (298) MAIN:CS2 FAULT_SUMMARY=0x00
I (298) 主通道:CS2 STATUS1=0x00
I (298) 主:CS2 STATUS2=0x00
I (308) MAIN:清除故障并等待 CS2 就绪状态
I (308) drv8143:通过命令寄存器执行软件复位
i (318) drv8143:清除前的 FAULT_SUMMARY:0x00
i (318) drv8143:发送 CLR_FLT 命令(命令:0x80)
i (328) drv8143:SPI 写入:reg=0x08、data=0x80、TX_Bytes=[0x08 0x80]
I (328) drv8143:SPI 写入完成、RX_BYTES=[0xE0 0x00]
I (388) drv8143:SPI 写入:reg=0x08、data=0x00、TX_Bytes=[0x08 0x00]
I (388) drv8143:SPI 写入完成、RX_BYTES=[0xE0 0x00]
i (408) drv8143:清除后的 FAULT_SUMMARY:0x00
I (408) drv8143: 所有故障均已成功清除
I (408) MAIN:CS2 FAULT_SUMMARY(解锁前):0x00
I (408) 主:将 CS2 驱动至活动状态
i (408) drv8143:解锁前的命令寄存器:0x00
I (418) drv8143:正在解锁 CONFIG 寄存器...
I (418) drv8143:写入命令=0x01 以解锁配置
I (428) drv8143:SPI 写入:reg=0x08、data=0x01、TX_Bytes=[0x08 0x01]
I (428) drv8143:SPI 写入完成、RX_Bytes=[0xE0 0x00]
i (458) drv8143:配置解锁后的命令写入:0x00
W (458) drv8143:配置解锁验证失败(命令=0x00)
I (458) drv8143:正在解锁 SPI_IN 寄存器...
i (458) drv8143:写入命令=0x10 以解锁 SPI_IN
i (458) drv8143:SPI 写入:reg=0x08、data=0x10、TX_Bytes=[0x08 0x10]
I (468) drv8143:SPI 写入完成、RX_Bytes=[0xE0 0x00]
I (498) drv8143:SPI_IN 解锁写入之后的命令:0x00
W (498) drv8143:SPI_IN 解锁验证失败(命令=0x00)
I (498) drv8143:尝试 1:更新 CONFIG4 (0x47 -> 0x42)
I (498) drv8143:SPI 写入:reg=0x0D、data=0x42、TX_Bytes=[0x0D 0x42]
I (508) drv8143:SPI 写入完成、rx_bytes=[0xE0 0x47]
I (508) drv8143:尝试 1:写入 SPI_IN=0x01(高侧打开)
I (518) drv8143:SPI 写入:reg=0x09、data=0x01、TX_Bytes=[0x09 0x01]
I (518) drv8143:SPI 写入完成、rx_bytes=[0xE0 0x00]
I (528) drv8143:尝试 1:SPI_IN 验证=0x00
W (528) drv8143:尝试 1:SPI_IN 验证不匹配
i (548) drv8143:解锁前命令寄存器:0x00
I (548) drv8143:正在解锁配置寄存器...
I (548) drv8143:写入命令=0x01 以解锁配置
I (548) drv8143:SPI 写入:reg=0x08、data=0x01、TX_Bytes=[0x08 0x01]
I (558) drv8143:SPI 写入完成、RX_Bytes=[0xE0 0x00]
I (578) drv8143:配置解锁写入之后的命令:0x00
W (578) drv8143:配置解锁验证失败(命令=0x00)
I (578) drv8143:正在解锁 SPI_IN 寄存器...
I (578) drv8143:写入命令=0x10 以解锁 SPI_IN
i (578) drv8143:SPI 写入:reg=0x08、data=0x10、TX_Bytes=[0x08 0x10]
I (588) drv8143:SPI 写入完成、rx_bytes=[0xE0 0x00]
i (618) drv8143:SPI_IN 解锁写入之后的命令:0x00
W (618) drv8143:SPI_IN 解锁验证失败(命令=0x00)
i (618) drv8143:尝试 2:更新 CONFIG4 (0x47 -> 0x42)
I (618) drv8143:SPI 写入:reg=0x0D、data=0x42、TX_Bytes=[0x0D 0x42]
I (628) drv8143:SPI 写入完成、rx_bytes=[0xE0 0x47]
I (628) drv8143:尝试 2:写入 SPI_IN=0x01(高侧打开)
i (638) drv8143:SPI 写入:reg=0x09、data=0x01、TX_Bytes=[0x09 0x01]
i (638) drv8143:SPI 写入完成、rx_bytes=[0xE0 0x00]
I (648) drv8143:尝试 2:SPI_IN 验证=0x00
W (648) drv8143:尝试 2:SPI_IN 验证不匹配
I (668) drv8143:解锁前命令寄存器:0x00
I (668) drv8143:正在解锁配置寄存器...
I (668) drv8143:写入命令=0x01 以解锁配置
I (668) drv8143:SPI 写入:reg=0x08、data=0x01、TX_Bytes=[0x08 0x01]
I (678) drv8143:SPI 写入完成、RX_BYTES=[0xE0 0x00]
I (698) drv8143:配置解锁写入后的命令:0x00
W (698) drv8143:配置解锁验证失败(命令=0x00)
I (698) drv8143:正在解锁 SPI_IN 寄存器...
I (698) drv8143:写入命令=0x10 以解锁 SPI_IN
i (698) drv8143:SPI 写入:reg=0x08、data=0x10、TX_Bytes=[0x08 0x10]
I (708) drv8143:SPI 写入完成、rx_bytes=[0xE0 0x00]
I (738) drv8143:SPI_IN 解锁写入之后的命令:0x00
W (738) drv8143:SPI_IN 解锁验证失败(命令=0x00)
I (738) drv8143:尝试 3:更新 CONFIG4 (0x47 -> 0x42)
I (738) drv8143:SPI 写入:reg=0x0D、data=0x42、TX_Bytes=[0x0D 0x42]
I (748) drv8143:SPI 写入完成、rx_bytes=[0xE0 0x47]
I (748) drv8143:尝试 3:写入 SPI_IN=0x01(高侧打开)
I (758) drv8143:SPI 写入:reg=0x09、data=0x01、TX_Bytes=[0x09 0x01]
I (758) drv8143:SPI 写入完成、RX_BYTES=[0xE0 0x00]
I (768) drv8143:尝试 3:SPI_IN 验证=0x00
W (768) drv8143:尝试 3:SPI_IN 验证不匹配
e (788) main:CS2 set_output_state failed:esp_ERR_INVALID_STATE
I (788) MAIN:CS2 STATUS1(活动后)=0x00
I (788) MAIN:CS2 STATUS2(ACTIVE 之后)=0x00
i (788) main:初始化完成。
此致、
Marvin

