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.

[参考译文] SPI 发送/接收数据和 ADC 执行转换所需的最大时间(也称为 ADC EOC)

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/585902/max-time-taken-for-the-spi-to-send-receive-data-and-adc-to-perform-conversion-aka-adc-eoc

从处理器源代码文件中、reg240.h hw_reg_spists.flag.bit6对应于 SPI 中断状态标志、 而 hw_reg_ADCTRL1.flag.bit7表示正在进行 ADC 转换。

根据我们的要求 、我们需要花费最大时间

1:SPI 来发送/接收数据、这基本上将 SPI 中断标志设置为1。

2、类似地、ADC 转换所需的最大时间通过将 ADC EOC 标志置为0来表示。

因为、参考手册缺少相同的数据。

提前感谢、

Baba

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

    Baba、

    数据表中有 SPI 事务ADC 转换的时序图。  这些是否足够?

    Tommy

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

    感谢您的参与。 根据上述基准、我们无法看到最大时序。
    更明确的是、我们的要求是提供以下信息:

    当驱动器将数据放入 SPI 数据寄存器时、控制器必须等待的最长时间是多少、才能获得传输中断。
    2、类似地、ADC 转换所需的最大时间通过将 ADC EOC 标志置为0来表示。
    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    除上述情况外,还需要消除另一个疑问。

    更改默认 SPI 配置。 我们需要按照参考手册遵循以下顺序:

    1) 1)将 SPI SW 复位位位位位(SPICCR.7在9-18页)设置为1。
    2) 2)初始化 SPI 配置、格式、波特率和引脚功能、如所示
    所需的。
    3) 3)清除 SPI SW 复位位位位。

    注意:使用 SPI SW 复位位位位进行正确的 SPI 初始化
    以防止在或作为期间发生不必要和不可预见的事件
    初始化更改的结果、设置 SPI SW 复位位位位位(中的 SPICCR.7
    第9-18页的图9-8)、然后进行初始化更改
    初始化完成后将该位清零。

    即使按照以下顺序、代码也能正常工作。
    1) 1)将 SPI SW 复位位位位设置为1。
    2) 2)清除 SPI SW 复位位位位。
    3) 3)初始化 SPI 配置、格式、波特率和引脚功能、如所示
    所需的。

    请您告诉我本说明中所述的不必要和不可预见的事件是通过违反顺序而发生的。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 user="Baba Tej Bottcha ]1. 当驱动器将数据放入 SPI 数据寄存器时、控制器必须等待多久才能收到传输中断。[/QUERPILE]

    一般来说、SPI 将在下一个 SYSCLK 周期立即开始传输、并且一旦字符传输完成、中断就会被置为有效。

    传输字符所需的实际时间取决于您的 SPI 配置。  例如、SYSCLK 频率、波特率和字符大小都会影响完成一个传输所需的时间。

    [引用 user="Baba Tej Botcha"]2. 同样、ADC 转换所需的最长时间也可通过将 ADC EOC 标志设置为0来指示。[/引述]

    数据表波形中显示了 ADC 转换的状态机时序行为。  SOC 到 EOC 的持续时间以 ADC 时钟和 SYSCLK 周期为单位、因此您需要考虑时钟周期。

    [引述 user="Baba Tej Bottcha "]您能否告诉我注意到"说明"中所述的不必要和不可预见的事件是通过违反顺序而发生的。[/引述]

    我无法评论这种未定义的行为。  没有文档说明如果不遵循该序列可能会发生什么情况。  我建议您遵循参考指南中的建议。

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

    Tommy 的回复是否回答了您的问题?