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.

[参考译文] TM4C129DNCPDT:如何通过 TM4C129从 ADS9224R 读取并行 SPI 数据

Guru**** 2378650 points
Other Parts Discussed in Thread: ADS9224R, TM4C129DNCPDT, EK-TM4C1294XL
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1208448/tm4c129dncpdt-how-to-read-parallel-spi-data-from-ads9224r-by-tm4c129

器件型号:TM4C129DNCPDT
主题中讨论的其他器件:ADS9224REK-TM4C1294XL

您好!  

 我的 SPI/SSI 工作正常、但我无法从 ADS9224R ADC 模块读取并行数据。

 我使用的是 TM4C129DNCPDT 和 Tivaware driverlib。  

原理图  

  

TM4C129DNCPDT 和 ADS9224R 之间的数据通信

从通道2和通道3、我们确保并行数据来自 ADS9224R IC。

我能够使用 SSIDataGet (SSI0_BASE、&ADCA)读取 MISOA (SSI0XDAT1)。 但如何读取 MISOB (SSI0XDAT2)?

此致、

Sumit Chaulya

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

     您是否尝试 以单倍数据速率或双倍数据速率与 ADS9224R 连接? 如果您尝试  使用 单数据速率(SPI-xy-D-SDR)与 ADS9224R 连接、则 TM4C129可使用 SSI 模块的双向 SSI 功能来支持它。 有关 Bi-SSI 功能的详细信息、请参阅数据表。 请注意、双向 SSI 仅仅是将带宽增加一倍。 例如、在旧 SPI 模式下、读取16位数据通常需要16个 SPI 周期。 在高级双向 SSI 模式下、您可以一次读取两位、并将 SPI 周期数减少到8。 TM4C129无法并行读取两个独立的 ADS9224R 通道(双倍数据速率)。 您的原理图连接似乎建议与读取两个独立通道一样、并行读取 MISOA 和 MISOB。 这是 TM4C129无法支持的功能。  

     对于 bi-SSI、您可以参考 C:\ti\TivaWare_C_Series-2.2.0.295\examples\boards\ek-tm4c1294xl\ssi_quad_mode。 这是一个四路 SSI 示例。 如果您只需要从一个给定的 ADC 通道一次读取2位、则可以轻松适应双向 SSI。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Charles。  

         感谢您的答复。 查尔斯,我需要你的一个小帮助。

         是否可以通过一条 SPI (一个 MISO)线路读取(ADS9224R)两个 ADC 通道 CH_A 和 CH_B?

    谢谢。此致、

    总结  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Sumit、

    如前所述、TM4C129 SSI 模块无法读取两个不同的数据 ADS9224R  同步通道。 这就像让两个 SSI 模块同时读取两个器件一样。 说了这么多、我看到一个您可以探索的可能选项。 将 SSI 模块配置为双向 SSI 模式、就像您正在读取一个 ADC 通道、但每次读取两个位一样。 配置  用于的 ADS9224R  SPI-01-S-DDR 模式。  在双向 SSI 模式下、  MCU 不知道您是在一次读取一个通道、还是在一个通道中一次读取两个位。 完成 SPI 读取事务后、处理器需要处理接收到的数据、以便为通道 A 和通道 B 提取数据  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Charles。  

         感谢您的答复。 我们有以下问题、

    1.我们是否可以使用上述建议的方法接收完整的数据位? 由于 Bi-SSI 模式仅支持8位/通道、并且  ADC 将有两个16位输出、同时提供数据输出。 通道 A 16位、通道 B 16位。

    2.我们已将 SSI0XDAT1连接到 ADC 的通道 A、并将 SSI0XDAT2连接到 ADC 的通道 B。 双 SPI 模式是否支持 SSI0XDAT2上的数据?  

    ADC (ADS9224R) 侧是否可以将两个 ADC 通道数据压入一个输出 MISO 通道?

    谢谢。此致

    总结  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    1. 我们是否能够使用上述建议的方法接收完整的数据位? 由于 Bi-SSI 模式仅支持8位/通道、并且  ADC 将有两个16位输出、同时提供数据输出。 通道 A 16位、通道 B 16位。[/引号]

    您将需要执行两个双向 SSI 事务。  

    2.我们已将 SSI0XDAT1连接到 ADC 的通道 A、并将 SSI0XDAT2连接到 ADC 的通道 B。 双 SPI 模式是否支持 SSI0XDAT2上的数据?  

    [/报价]

    为何不使用 SSI0XDAT0和 SSI0DATA1? SSI0DATA2不在双 SSI 模式下使用。 它仅用于 Quad-SSI 模式。  

    17.3.3高级、双路和四路 SSI 功能
    双 SSI 使用两个数据引脚、SSInXDAT0和 SSInXDAT1、这两个引脚可配置为接收或
    发送数据。 在四路 SSI 模式下、SSInXDAT0、SSInXDAT1、SSInXDAT2和 SSInXDAT3是允许的
    一次接收或发送四位数据。 请注意、在双 SSI 和四 SSI 数据传输中
    仅为半双工

    ADC (ADS9224R) 侧是否可以将两个 ADC 通道数据压入一个输出 MISO 通道?

    [/报价]

    我不这么认为。 话虽如此、这更多地是转换器论坛需要解决的问题。 请使用器件型号  ADS9224R 发布新问题、以便那里的专家可以帮助您解决问题。 但据我了解、无法将两个 ADC 通道数据压入一个 MISO 引脚。  

    [/quote]
    [/quote][/quote]