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/TMS320F28379D:使用 ADC PPB 的过零检测

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/870425/ccs-tms320f28379d-zero-crossing-detection-using-adc-ppb

器件型号:TMS320F28379D

工具/软件:Code Composer Studio

您好!

我尝试使用 ADC PPB 进行过零检测。 我已使用 ADC_PPB_LIMits 代码作为参考。 通过对代码进行一些更改,我尝试观察 ISR 是否在过零后被调用。 因此在我的代码中,我已配置相应的寄存器来设置 ADC 过零检测标志。 然而、尽管 在从值为0至1伏的函数发生器提供正弦信号后进行了正确的 ADC 转换(正如我在表达式窗口中看到的那样)、但不会发生过零。 在我的代码中,我在 ADC_ppb_ISR 中设置了一个名为 toggle_count 的变量,该变量应在每次过零时计数,但不会发生。 请建议。 我随附了修改后的代码供您参考。   e2e.ti.com/.../doubt.txt

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

    您好、Tushar、

    您需要设置 OFFREF、以便 PPB 知道信号中的交叉点位置。   

    如果您的信号为0至1V 且 VREFHI 为3.0V、则交叉点通常会被视为0.5V、因此(0.5V/3V)*4096 = 683 LSB、因此您应该向 PPB 逻辑块的 OFFREF 写入683。  

    写入 OFFREF 的结果应该是您的 ADCPPBxRESULT 现在将是有符号的、过零将能够检测它何时超过0 (实际上对应于代码683 = 0.5V)。  

       

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

    谢谢主席先生。