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.

[参考译文] TM4C129ENCPDT:连接8通道 SPI ADC

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1013610/tm4c129encpdt-interfacing-8-channel-spi-adc

器件型号:TM4C129ENCPDT
主题中讨论的其他器件:ADS1278

您好!

我有一个新项目需要连接 TI ADC 芯片 ADS1278。 这是一个24位模数转换器芯片、具有8条输入线路和8条数据输出线路。 8条 DOUT 线路是具有单个共享 CLK 信号的串行 SPI 输出。

为了与芯片通信、我必须使用8个 SPI 端口、这些端口应该与芯片共用同一条时钟线。 ADC 芯片将被 Salve 连接到 uController。 ADC 提供中断输出、uContoller 可以使用该输出开始在全部8条 DOUT 线路上收集 ADC 数据。 但是、我不确定 uController 如何收集数据、因为 ADC 的所有8个通道都将在 ADC 芯片的8个 SPI-DOUT 引脚上同步传输数据。

或者、如果我解释相同的问题、假设 uController 正在等待输入中断线路。 当中断发生时、uController 需要在8条 SPI MISO 线路上收集数据、以便共享 SPI 时钟、并且所有8条 SPI-MISO 线路上的数据使用公共时钟线路同时计时。

我提前感谢您的帮助。

此致、

Sahil  

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

    我想您会发现这个模型很难。 第一个挑战是 TM4C129E 只有4个 SSI 单元[参考数据表(SPMS441B)表1-1]。 第二个将尝试从一个时钟中使所有主器件运行(同步)。  

    我怀疑使用 TDM 模式(根据 SBAS367F 表14、格式= 001)会更容易、其中所有数据都在 DOUT1上输出、并且只需要1个 SSI。

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

    您好、Sahil、

    我同意 Bruce 的观点。 TM4C 无法尝试在离散模式下执行此操作。 使用 TDM 模式、因此您不会遇到任何问题、因为您只需要一个 SSI 端口。

    此致、

    Ralph Jacobi

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

    您好!

    感谢您的回复。  

    还有一个问题、ADC 芯片需要 CLK 输入。 我没有在 MHz 范围内使用 PWM。 而不是深入到 uController 的数据表中。 您能回答一下 uController 是否能够以大约10MHz 的输出提供 PWM、我将使用它来为 ADC 芯片的 CLK 引脚供电。

    如有其他选择,请提出建议。

    此致、

    Sahil

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

    您好、Sahil、

    这是没有问题的、PWM 时钟可以来自系统时钟、因此您可以为其提供一个高达60MHz 的源时钟来启动、然后从此处设置 PWM 周期和脉冲宽度。

    此致、

    Ralph Jacobi

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

    我不知道是否值得这么做、但您可以使用配置为高级双模的四个 SSI 模块。 一个是主器件、另三个是从器件。 您将主时钟输出路由到 ADC 和三个从时钟输入引脚。 将  每个 SSI 模块的 SSInXDAT0和 SSInXDAT1连接到8个 ADC 输出中的一个。 然后、您将执行两次8位 SSI 读取(在主器件和三个从器件上)、以从8条 ADC 线路中读取8位数据。 问题在于 、来自两个 ADC 输出的数据将合并为每个 SSI 读取的两个字节。 将数据分离回8个单独的 ADC 通道需要相当多的 CPU 周期、因此可能不值得这样做。

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

    谢谢 Bob。 我认为您以前的想法可能是一个简单的解决方案。