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.

[参考译文] TMS320F28374D:ADC 时序问题您能检查我的测试结果并进行解释吗?

Guru**** 2434370 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/940887/tms320f28374d-adc-issue-in-timing-can-you-kindly-check-my-test-results-and-explain

器件型号:TMS320F28374D
主题中讨论的其他器件:C2000WARE

大家好,  

在附加 的字中,您还可以看到代码和示波器 screndshot,基本上 ,ADC 时序与预期不符:

ADC 时序问题详细信息:

条件

  • SYSCLK 为200MHz、为5ns。

 

  • ePWM 在40kHz 周期内触发 ADC SOC。

 

附加字中的代码

 

  • 使用同一通道 ADCA CH_IN0配置了三个 ADC SOC。
    • 仅首先启用 SOC0。 然后、我启用了其余的两个进行比较。 当我这么做时、我还将 ADC_setInterruptSource 更新 ADC_SOC_NUMBER0 ADC_SOC_NUMBER2

 

附加字中的代码

 

  • 在 SOC2结束时触发 ADC ISR
  • 使用 ADC DMA

 

测试

  • 在 ADC SOC0结束时触发 ADC ISR
    • 黄色:PWM 同步脉冲
    • 蓝色: ADC ISR 启动
    • SOC0的 ADC 采样时间为1us (S/H 窗口设置为200、即200 x 5ns = 1us)
    • PWM 同步脉冲上升沿到 ADC ISR 起始点之间的时间大约为1.42us。 我没有包括 GPIO 设置时间延迟、但它看起来额外的420ns 比数据表中规定的值长。

 

附加字中的作用域

 

  • 在 ADC SOC2结束时触发 ADC ISR
    • 黄色:PWM 同步脉冲
    • 蓝色: ADC ISR 启动
    • SOC0的 ADC 采样时间为2.5us (请参阅上面的代码。 S/H 窗口设置为500、即500 x 5ns = 2.5us)
    • PWM 同步脉冲上升沿到 ADC ISR 起始点之间的时间大约为6.34us。 这不能给我始终如一的结果。 我希望2.5us +延迟。

 

 谢谢你  

此致

Carloe2e.ti.com/.../ADC-TIMING-Issues--details.docx

 

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

    卡洛、

    我在.docx 中看到了测量的意图、但仍有许多低级细节被遗漏。  测量代码是否从现有的 C2000Ware 示例开始?  这是否在 TI 电路板上运行?

    Tommy

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

    [引用 user="tlee"]测量代码是否从现有 的 C2000Ware 示例开始?

    这将大大有助于确保代码库良好、然后我可以从示例中提取低级细节。

    [报价用户="tlee"]此操作是否在 TI 电路板上运行?

    同样、使用 TI 电路板时、重现任何问题也会更容易。

    [报价用户="tlee"]我在.docx 中看到测量的意图、但有许多低级细节被遗漏。

    例如、.docx 假设 ADC 转换时间仅由 TSH 组成、并忽略色调转换和锁定时间。

    由于支持的最大 ADC 时钟频率、因此 TINT 时间进一步取决于 ADC 预分频设置:

    这些因素需要包含在转换时间计算中。

    我还在.docx 中看到、SOC2生成的中断的预期转换时间仅考虑 SOC2 ACQPS 的 TSH、 但是、ADC 似乎配置为转换 SOC0 -> SOC1 -> SOC2、因此需要计算色调时间、将其作为所有三个 SOC 完成的累计时间。

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

    您好、被叫方、

    要回答您的问题:

    测量代码是否从现有 的 C2000Ware 示例开始?

    >>不、但非常关注使用 API 函数的示例。

    这是否在 TI 电路板上运行?

    >>是的、它在 controlCARD 上运行。

    我有以下问题。

    • 在时序图中、tLAT 和 tint 时间是相同的、但在表中、tLAT 时间更长。  
    • 44 SYSCLK (200MHz)为220ns。   
    • 在 ADC 配置中、SOC 之间的采样时间至少为500ns。 因此、我不确定时间是如何累积的。 即使是累积的,6美元似乎太长了。 在哪里可以找到相关信息(例如时序图等)、计算转换和中断触发时间、并使用电路板进行验证?

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

    [引用用户="Justin Ryu1]]在时序图中,tLAT 和 tint 时间是相同的,但在表中,tLAT 时间更长。 [/报价]

    表中的时序是准确的。  应将该图视为展示关键状态序列的抽象行为模型。

    [引用 user="Justin Ryu1]]在 ADC 配置中,SOC 之间的采样时间至少为500ns。 因此、我不确定时间是如何累积的。 即使是累积的,6美元似乎太长了。 在哪里可以找到相关信息(例如、时序图等)、计算转换和中断触发时间并与电路板进行验证?

    时序图和表格旨在为计算 ADC 转换时间提供基础。  但是、计算会受到一定要跟踪的多种可编程行为的影响。

    从.docx 中提供的有限信息来看、ADC 看起来需要在触发 ADC 中断之前执行全部三个 SOC。  这将是1100个累积 S/H 周期(5.5us)+转换时间(可能为220ns、具体取决于 ADC 配置)。

    我在离线时收到了一些其他详细信息、我将对此进行研究。

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

    [引用 user="tlee"]我在离线时收到了一些其他详细信息,我将查看这些信息。

    看起来 ADC 预分频配置为 SYSCLK/4并具有延迟中断、因此 TINT 时间应为41个 SYSCLK 周期。

    为了实现更精确的延迟测量、您可以考虑使用 ePWM 时基计数来确定从 ADC 触发到 ISR 执行所经历的100MHz ePWM 节拍数:

    ADC_TICKs = ePWM_getTimeBaseCounterValue (EPWM1_base)- ePWM_getCounterCompareValue (EPWM1_base、ePWM_COUNTER_COMPARE_A);

    如果只需对 SOC2进行分析、则应更改 SOC0和 SOC1的触发器设置、以便不会使用 SOC2作为批处理执行。  默认情况下、SOC0和 SOC1具有更高的优先级。  有关 SOC 行为的详细信息、请参阅 TRM

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

    [引用 user="tlee">根据.docx 中提供的有限信息、看起来 ADC 需要在触发 ADC 中断之前执行全部三个 SOC。  这将是1100个累积 S/H 周期(5.5us)+转换时间(可能为220ns、具体取决于 ADC 配置)。[/引用]

    数学校正。  它将是:

    SOC0 = 5ns *(200 ACQPS + 41 tEOC)= 1.205us
    SOC1 = 5ns *(400 ACQPS + 41 tEOC)= 2.205us
    SOC2 = 5ns *(500 ACQPS + 41色调)= 2.705us

    SOC0 + SOC1 + SOC2 = 6.115us

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

    我使用累积 SOC 采样时间对其进行了测试和验证。 我给出了如下的采样时间、以测量1us、2us 和3us。

    SOC0 = 5ns *(200 ACQPS + 41 tEOC)= 1.205us
    SOC1 = 5ns *(200 ACQPS + 41 tEOC)= 1.205us
    SOC2 = 5ns *(200 ACQPS + 41色调)= 1.205us

    SOC0 + SOC1 + SOC2 = 3.615us。  

    我测量了从示波器开始的时间、结果是3.82us。 我认为、GPIO 置位延迟可能接近200ns。  

    我还验证了与 SOC 对应的 ADC 电压读数。  

    谢谢您!

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

    Justin、

    很高兴听到您的测量结果现在更接近预期。

    Tommy