尊敬的先生/女士:
根据 e2e 上的答案、 如果我要使用 uC 的标准 SPI 外设、我应该在 SDO 线路上使用 D 触发器。 当我尝试使用 CPOL=0、CPHA=1通过内置 SPI 外设与 STM32F412通信 ADS8353时、读取帧时没有问题、因为在 uC 上的 SDO 和 MISO 引脚之间没有任何滤波器。 我尝试与 ADC 进行通信的速度尽量慢(125kHz CLK)、帧之间等待时间很长(1us)、速度也一样快(25MHz CLK、[我知道它超出规格]、200ns CS 高电平)、我没有发现任何差异。 uC 获得的转换结果在这两种情况下均符合预期、并且寄存器的回读也如数据表中所述、在这两种情况下、我都没有看到数据下降。 另一方面、当我在示波器上使用 SPI 解码功能时、SDO 数据会按照串行通信上链接的 e2e 问题中的说明进行内联解码(根据 SPI 规范被一个位监听)。
我所使用的电流设置(ADC 安装在分线板上并放置在试验电路板上、UC 安装在 Nucleo 开发板上、两者均通过10cm 的导线连接) 是否会导致这样的延时、使 UC 看到 SDO 数据被移位、从而使其正确读取? 在具有 ADC 的正确 PCB 上、靠近放置 uC 是否可能不会出现此类延迟、并且接收到的数据将被移位一位? 在这种情况下、使用触发器而不是仅在 UC 的软件中将接收到的数据移动一位有什么好处? 我在这里缺少什么吗?
此致、
韩国