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.

[参考译文] CCS/TMS570LS0714:ADC 模块的连续转换模式

Guru**** 2482105 points
Other Parts Discussed in Thread: TMS570LS0714, HALCOGEN

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/707920/ccs-tms570ls0714-continuous-convension-mode-of-adc-module

器件型号:TMS570LS0714
主题中讨论的其他器件: HALCOGEN

工具/软件:Code Composer Studio

尊敬的 E2E:

  最近、我尝试使用 TMS570LS0714的 ADC 模块从 ECU 读取电压。我对 AD 模块的连续转换模式有一些问题。

 

(1)当我仅使用具有连续转换模式的 ADC1组事件(未使用 ADC1组1和 ADC1组2)时、AD 模块将在多长时间内从 GxBUF 中获得新的转换?

 

(2)当我没有及时阅读新的会议结果时,会发生什么情况?

 

(3)如何在读取转换结果和写入转换结果之间保持平衡(使 GxINTCR 值返回到 s_adcFifoSize 值)?

 

以下是我在 Halcogen 中配置的 ADC 模块:

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

    总 ADC 时间为:tTOTAL=CHN*tCHANNEL +(CHN-1)*5*tVCLK,其中 tCHANNEL = tDISCHARGE + tSAMPLE + tCONVERSITION
    CHN 是所选组的通道数
    tCHANNEL:测量每个通道的时间
    tVCLK:VCLK 周期

    HALCoGen 配置 GUI 中给出了 tTOTAL

    2.当 ADC 模块尝试将更多的转换结果存储到已满的组结果内存时,就会出现溢出的情况。 在这种情况下、ADC 允许两个选项。

    如果组操作模式控制寄存器中的 OVR_RAM_IGN 位置位,则 ADC 模块将忽略组结果存储器的内容,并换行以使用新转换的结果覆盖存储器。

    如果 OVR_RAM_IGN 位未置位,则应用程序必须在溢出情况下读出组的结果存储器;只有这样,ADC 才能继续向存储器写入新的结果。

    3、ADC 模块能够为每个组的固定转换数产生中断。 组存储器阈值寄存器决定 CPU 中断前组存储器区域中必须有多少转换结果。 当使用中断来读取转换结果时、这个特性可被用来大大减少 CPU 负载。 在触发组转换之前,需要配置组的阈值寄存器。

    每当阈值计数器从+1转换为0时,它就会设置组的阈值中断标志,如果启用组的阈值中断,CPU 就会中断。 CPU 在从存储器中读取转换结果后应清除中断标志。