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.

[参考译文] TMS320F280039C:有关 TMS320F280039C 中 ADC 中断时序的阐释

Guru**** 2513185 points
Other Parts Discussed in Thread: TMS320F280039C

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1546691/tms320f280039c-clarification-on-adc-interrupt-timing-in-tms320f280039c

器件型号:TMS320F280039C


工具/软件:

您好:

我正在使用 TMS320F280039C LaunchPad 并使用 ADC 模块的噪声 基于 ADC_ex2_SoC_EPWM 示例。 在我的设置中:

ADC SOC0 由触发 ePWM1 ADCSOCA AT 内存 = 做出响应 ( 向上计数模式 )。
ADC 转换完成后、采用 生成中断  (出现在采集窗口的末尾)。
ePWM1 的实际应用 100kHz 指定 向上计数模式
我正在录制 EPWM 计数器值 在中断时并始终观察两者之间的值 90 至 93
给定的 SYSCLK = 120MHz 、每个 EPWM 周期为 8.33ns 、因此中断大约发生 750ns (= 90 * 8.33ns)。

我了解 ADC 时序、如下所示:

ADCCLK = 60MHz、预分频器= 2
ADC 转换时间 =(9 *(1/120E6))+(11 *(1/60E6))= 258.3E-9 秒

但是、我看到了大约一半的延迟 750ns 、此时间比计算的时间长很多 258ns 。 这会留下大约必要的间隙 492ns

您能帮助我了解导致这种额外延迟的原因吗?\

此外、以下是相关的拆卸说明:

237{
adcA1isr():
008800:761B ASP
008801:FFF0 推送 RB
008802:0005 推送 AR1H:AR0H
008803:ABBD MOVL *SP++、XT
008804:A8BD MOVL *SP++、XAR4
008805:A0BD MOVL *SP++、XAR5
008806:C2BD MOVL *SP++、XAR6
008807:C3BD MOVL * SP++、XAR7
008808:E20000BD MOV32 *SP++、STF
00880a:E20300BD MOV32 *SP++、R0H
00880c:E20301BD MOV32 *SP++、R1H
00880e:E20302BD MOV32 *SP++、R2H
008810:E20303BD MOV32 *SP++、R3H
008812:E6300600 SETFLG RNDF32=1、RNDF64=1
008814:FF69 SPM #0
008815:2942 CLRC OVM|PAGE0
008816:5616 CLRC AMODE
239 isr Tick_Entry = EPWM_getTimeBaseCounterValue (myEPWM0_BASE);
008817:FF204000 MOV ACC、#16384
008819:764092F1 LCR EPWM_getTimeBaseCounterValue
00881b:761F02A0 MOVW DP、#0x2a0
00881d:9609 MOV @0x9、铝制
243 GPIO_togglePin (myGPIO0);
00881e:0216 MOVB ACC、#22
00881f:76408E69 LCR GPIO_togglePin

此致、

Prathamesh。

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

    您好 Prathamesh、

    请求迟交答复。 您能否分享上述代码的 C 代码片段(这将更容易解码) ?

    BR、

    Nilesh

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

    另外、为该配置保留的 ACQPS 值是多少?

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

    您好 Prathamesh、

    让我浏览代码、尝试查看我是否可以复制我这边的问题、该问题将在周末更新。  

    BR、

    Nilesh

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

    您好 Prathamesh、

    我看了一下代码。  

    因此 ADC 转换由“EPWM_enableADCTrigger (myEPWM0_base、EPWM_SOC_A);“ & EPWM_setTimeBaseCounterMode (EPWM1_BASE、EPWM_COUNTER_MODE_UP) 触发;在此 EPWM 计数器将开始计数。  

    看起来这些是 ePWM 配置功能本身的一部分、该功能会在配置 ADC 以启动转换之前启动计数器。  

    这将取决于配置的顺序。 这可能会增加该延迟。  

    您能否尝试按照原始示例配置上述行、以查看延迟是减少还是消除。 (也需要从 ePWM 配置功能中删除这条线路)

    请告诉我这是否有效。

    BR、

    Nilesh