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.

[参考译文] ADS8329:使用 MSP432e401Y SSI 端口#39;s FSS 信号手动触发 ADS8329

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1427844/ads8329-manual-trigger-ads8329-using-msp432e401y-ssi-port-s-fss-signal

器件型号:ADS8329
主题中讨论的其他器件: MSP432E401Y

工具与软件:

你(们)好、

我正在使用 MSP432E401Y 和 ADS8329对基带信号进行采样。 MSP432的 SSI 端口用于读取转换结果。   GPIO 管脚 PF5用作触发每个 ADC 转换的触发信号。  

问题是、我清除 PINT PF5、然后设置 PF5以触发 ADC、然后读取结果。 我在两个读取帧之间获得较大的延迟、并且 ADC 采样周期约为2us (示波器结果可以在该链接中找到- https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1427196/msp432e401y-msp432e401y-ssidataget-delay/5473065#5473065)。

这远大于所需的1us 转换周期(1MHz 采样率)、我想要获得更高的转换率。 我是否可以将 SSI 端口的 FSS 信号用作 ADS8329的/CNVST 信号? 这样、我无需清除然后设置 PF4、我可以节省一些时间来实现更快的转换。  

非常感谢、

Zhonghai.        

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

    尊敬的 Zhonghai:

    [报价 userid="515862" url="~/support/data-converters-group/data-converters/f/data-converters-forum/1427844/ads8329-manual-trigger-ads8329-using-msp432e401y-ssi-port-s-ssd-signal"]可否将 fss 端口的 FSS 信号用作 ADS8329的/CNVST 信号?

    我已将您的问题转发给我们的 ADS8329专家、以确认上述问题。  

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

    尊敬的 Charles:

    非常感谢。  

    Zhonghai.

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

    中海

    从我对 FSS 的看法上看、这似乎是最适合用作 FS 上的 ADS8329/CS 的。  请参阅 ADS8329数据表中的图1。  CONVST 触发转换周期开始、完成后、引脚4 (EOC/INT)变为有效状态、向 MSP432发出数据传输开始信号。  您是否可以改用 CONVST 的计时器输出?  然后使用 EOC/INT 在 MSP432上触发中断 以收集16位转换结果。

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

    您好、Tom、

    使用电流配置(PF5用作触发信号)、我可以获得大约2us 的 ADC 采样时间(500kHz 采样率)。

     当前代码如下。   

     适用于(I=0;I<15;I++)

    //手动触发采样、/CNVST 处于低电平至少40ns
    GPIOPinWrite (GPIO_PORTF_BASE、GPIO_PIN_4、0);
    SSIDataPut (SSI0_BASE、i);
    SSIDataGet (SSI0_BASE、&SAMPLE_DATA[i]);
    GPIOPinWrite (GPIO_PORTF_BASE、GPIO_PIN_4、GPIO_PIN_4);
    while (SSIBusy (SSI0_BASE)
    {}
    }   

    如果我使用一个计时器来触发 ADC、并使用一个中断来读取结果、那么我能够获得一个更高的采样率吗?

    非常感谢、

    Zhonghai.

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

    这个问题最好由 Charles 回答。  在我看来、如果您能把定时器(或 PWM)设置成以您所需的采样速率触发、那么只要您在下一个中断前得到传输的16位转换结果、就应该没问题!

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

    谢谢!

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

    尊敬的 

    Tom 建议我使用一个计时器来触发 ADC 和使用中断来读取 ADS8329结果。  

    e2e.ti.com/.../5475101

    您是否对中断将使用的时间(多少微秒)有一个估算?  

    在中断中、将只有以下代码。

    SSIDataPut (SSI0_BASE、i);
    SSIDataGet (SSI0_BASE、&SAMPLE_DATA[i]);
    while (SSIBusy (SSI0_BASE)
    {}

    非常感谢、

    Zhonghai.

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

    尊敬的 Zhonghai:

     我同意 Tom 的意见、您可以使用一个计时器以所需的采样率生成超时中断。 在中断 ISR 中、您可以执行 SSIDataGet ()。 我没有关于在计时器超时后何时进入 ISR 的准确计时信息。 但对于 M4处理器、中断延迟通常很短、大约在几个周期内。 由于您是在 ISR 中发送/接收 SPI 数据、因此我认为您无需轮询 SSIBusy 标志。 你为什么不试一下,让我知道发生了什么。  

     我也想给你一个提示,我将成为 OOO 一个星期。 请预计我的未来回复会延迟。