器件型号: TDA4APE-Q1
尊敬的专家:
我们正在开发基于 TDA4APE 的电路板、我们使用 DRV8889 步进驱动器芯片来实现摄像头的焦点调整。 TDA4APE 和 DRV8889 之间的通信和控制通过 SPI 完成。 在内核设备树中、我将 DRV8889 配置为 spidev 设备、以便 通过用户空间中的/dev/spidevx.x 字符设备对其进行控制。
目前、我能够通过 SPI 读取和写入 DRV8889 的寄存器。 但是、当我读取 DRV8889 故障状态寄存器的值时、DRV8889 会指示 SPI 通信错误、如下图所示。


我使用逻辑分析仪捕获 SPI 信号、并注意、在实际通信开始之前、SPI 的 CS 线路有一个非常短暂(大约几百纳秒)的下拉。 我怀疑这个异常波形会导致 DRV8889 将其解释为 SPI 通信故障。

进一步的测试表明、CS 线路上的这种异常下拉仅发生在第一次读取/写入操作之前。 如果以短时间间隔(例如不超过 1 秒)连续执行寄存器读取/写入操作、则在后续通信波形中不会观察到此类异常下拉。 但是、如果在恢复读取/写入操作之前经过更长的间隔(例如 3 秒或更长时间)、则异常下拉波形会再次出现。
这种现象是否表明异常下拉是由 SPI 器件驱动器引起的? 这是否建议 SPI 驱动程序在总线空闲一段时间后重新初始化?
此致。


















