This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
好的、我在尝试将 MCU 连接到 ADSEVM 板时遇到了一些严重问题。
我正在使用异步中断模式、但我的输出没有变化。 它只是我看到的0xFF04。
您好、Charles、
您的时钟信号的频率极受限制、此时看起来像锯齿波。 您将不会满足基本逻辑电平要求、也不会满足具有类似数字时钟信号的设置/保持时间要求。 您能否确认、由于测量技术差、波形看起来不像这样?
我觉得他们在绿色信号的长时间释放的基础上看起来确实是这样的、因为您在设计中放置了电容器或电缆电容、您可能会在数字线路上具有很大的电容。 请移除电容、看看情况是否会变得更好。
这是由于时钟相位设置不匹配造成的。
谢谢
查尔斯
很抱歉我没有早点回来、但上周大部分时间我都不在办公室。
当我上周说器件通信应该精确时、我意味着器件需要特定的输入并给出特定的响应。 如果通信未接收到正确的命令或数据、则可能无法执行该命令。 但是、我认为这不是这里发生的情况。
您能否检查用于向器件发送 ADC 数据的 SPI 版本? 下面是 SPI 通信的一个波形图。 在这里、您将一个0655发送到器件作为解锁:
但是、您的 SCLK 的下降边沿看起来与 DIN 线的下降边沿一致。 传输时应确保数据在 SCLK 的下降沿计时、以便 DIN 在 SCLK 的上升沿转换。 如果您看第15页的数据表图1、则通信是 CPOL=0和 CPHA=1。 看起来就像您将其设置为 CPOL=0和 CPHA=0一样。 另一种说法是、您似乎将微控制器写入设置为 SPI 模式0、而应将其设置为 SPI 模式1。 您可以使用带宽更高的示波器来确认这一点。
最后要提到的一点是从 DOUT 结果中看到的斜率。 当您升高/CS 时、DOUT 线路会变为高阻抗。 在没有任何上拉的情况下、DOUT 可能会悬空至电源。 我认为这就是您在这里看到的内容。
吴约瑟
查尔斯
很抱歉我没有早点回来、但上周大部分时间我都不在办公室。
当我上周说器件通信应该精确时、我意味着器件需要特定的输入并给出特定的响应。 如果通信未接收到正确的命令或数据、则可能无法执行该命令。 但是、我认为这不是这里发生的情况。
您能否检查用于向器件发送 ADC 数据的 SPI 版本? 下面是 SPI 通信的一个波形图。 在这里、您将一个0655发送到器件作为解锁:
但是、您的 SCLK 的下降边沿看起来与 DIN 线的下降边沿一致。 传输时应确保数据在 SCLK 的下降沿计时、以便 DIN 在 SCLK 的上升沿转换。 如果您看第15页的数据表图1、则通信是 CPOL=0和 CPHA=1。 看起来就像您将其设置为 CPOL=0和 CPHA=0一样。 另一种说法是、您似乎将微控制器写入设置为 SPI 模式0、而应将其设置为 SPI 模式1。 您可以使用带宽更高的示波器来确认这一点。
最后要提到的一点是从 DOUT 结果中看到的斜率。 当您升高/CS 时、DOUT 线路会变为高阻抗。 在没有任何上拉的情况下、DOUT 可能会悬空至电源。 我认为这就是您在这里看到的内容。
吴约瑟
完美地提到了 Joseph,这是唯一的问题。
对于制造商来说、时钟相位表示法似乎不同。 Microchip 的表示法与 TI 的表示法不同。
必须为时钟相位写入0而不是1。
非常感谢您的观看。 我使用 PIC32只是作为参考。 这都是由于 SPI 缺乏标准化。
查尔斯
我很高兴我的评论对我有所帮助。 如果您有其他问题、请再次在论坛上发帖。
吴约瑟