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.

[参考译文] TMS320F280049C-Q1:TMS320F280049C-Q1

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1043915/tms320f280049c-q1-tms320f280049c-q1

器件型号:TMS320F280049C-Q1
主题中讨论的其他器件:TMS320F280049C

你(们)好。

我使用的是 tms320f280049c 控制器。 我对 ADC 有疑问。 如果我想在不产生 ADC 中断的情况下知道转换结束(EOC)状态、该怎么做? 请有人告诉我。   

谢谢、此致、  

Akshay  

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

    您好、Akshay、

    EOC 仅进入 ADC 中断逻辑(根据 TRM 第13.7章)。  希望了解您在生成中断时的顾虑。  也许我们可以解决这个问题。

    此致、

    Joseph

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

    您好、Joseph、

    由于 功能安全问题、我无法在项目中使用中断。 我可以使用延迟来完成转换、但效率很低。 这就是为什么我还在想其他的东西!

    也许我可以阻止向 CPU 传播中断的过程?

    谢谢、此致、

    Akshay

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

    您好、Akshay、

    ADCCTL1寄存器中有位和字段、您可以像 ADCBSY 和 ADCBSYCHN 以及寄存器 ADCSOCFLG1一样进行轮询。  这将指示 ADC 是否正在转换(繁忙)、转换或当前正在转换的最后一个 SOC 是什么、或者哪个 SOC 接收到触发信号。  您可能会编写一个例程来轮询这些寄存器、以了解何时接收到启动转换的触发信号。  有一个自由运行的12位时钟 ADCCOUNTER 、它相对于 SYSCLK 进行计数、SYSCLK 与用于控制转换的时钟相同(S/H、EOC、 量化 -请参考 TRM 第13.12章中的 ADC 时序图)。  随附的表中包含时序图、用于指示 SOC S+H 过期后、当 tEOC 和 tLAT (量化延迟时间-数字值将在 ADC 结果寄存器中可用)事件发生后所需的 SYSCLK 周期数。  根据使用的预分频器、该表将具有不同的 tEOC 和 tLAT 值。

    使用上述寄存 器时会有警告:寄存器轮询将会产生 CPU 开销、自由运行计数器将在4095 SYSCLK 计数后溢出、并将再次重新启动、因此您需要注意这一点。  读取 SOC 启动/触发器和 ADC 计数器时的 CPU 开销很大、可能会导致缺少 tEOC / tLAT 事件、并可能导致从 ADC 结果寄存器读取错误的结果。  我们还没有尝试过这种方法、也没有这方面的示例、但这是您可能可以尝试和试验的方法。

    此致、

    Joseph