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.

[参考译文] TMS320F28377S:CMPSS 迟滞

Guru**** 2469120 points
Other Parts Discussed in Thread: TMS320F28377S

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/945533/tms320f28377s-cmpss-hysteresis

器件型号:TMS320F28377S

你(们)好

我们使用的是 TMS320F28377S 的 CMPSS

在 DAC 设置为 VREF (2048)的1/2 (VREF 为 VDAC 引脚的3.0V)和外部电压发生器的情况下、我们测量了跳闸电压、包括0->1和1->0

所有电压均在1.455V +/- 10mV 范围内

但我们发现、磁滞的值约为3mV、以我们在 COMPHYSCTL 中写入的值(0至4)为准

(为此,我们使用 CMPSS_setHystersis (vBase_ul、vHys_guh)函数)

该测量通过以下方式完成:

我们使用从1.4V 开始的直流电压发生器并增加电压,持续监视 CMPSS_getStatus (vBase_ul)的输出

当输出变为1时、我们跟踪电压并开始降低电压

当设置为最大值时、我们将期望大约35mV (48 DAC LSB)的迟滞、但我们无法测量它

对于所有 CMPSS (高电平和低电平)、行为都是相同的  

请提出任何建议?

顺便说一下、我们使用方波和 ePWM 输出来测量时间和滤波器响应、它们符合预期。

谢谢

Antonio

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

    安东尼奥

    在尝试测量迟滞时、来自通用工作台设备的直流信号往往会携带不可忽略的噪声量。  对于盲测量、建议使用具有 UV 范围内噪声的高精度源(盲意味着您只依赖所需的源电压电平)。  如果使用软件查找跳闸、比较器输出锁存器会很有帮助。

    要使用噪声源测量迟滞、您需要使用示波器进行跳闸测量。  使用示波器的最小和最大电压测量值来确定有效的比较器输入电压电平扫描。  使用到 GPIO 引脚的异步 COMPOUT 路径直接观察比较器输出--一旦输出开始变化(并且很可能发生振荡),电平就被限定。

    建议两种方法都在 VDAC 和输入引脚上使用大量旁路电容、以滤除尽可能多的噪声。

    Tommy

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

    你(们)好

    感谢您的回答以及改进测量的建议

    我将尝试执行这些措施、并将通知您

    只需添加一些信息:

    我使用了 Agilent 波形发生器作为信号源

    为了检查输入电压、我从同一输入引脚上的内部 ADC 读取这些值:实际上、我的软件让我持续读取2000个样本@ 5us 周期上的平均值。 此值通常仅显示2 LSB 与 预期值之间的变化:1.500V 表示在所有通道上进行2046 - 2048次计数、而 LSB 时间没有或1次变化(在我看来、这是一种非常好的行为)  

    关于 CMPSS 设置:

    在48LSB 的迟滞和 DACVAL = 2048的情况下、标称(不含偏移和误差计算)阈值电压应为:

    0 -> 1:3V (VREFDAC)*(2048 + 48/2)/4095 = 1.517V

    1 -> 0:3V *(2048 - 48/2)/4095 = 1.483V

    我是说、迟滞是否以标称电压为中心?

    否则、一个阈值保持在标称值、所有迟滞都朝向高(或低)电压?

     通过仿真器访问 COMPHYSCTL 寄存器时、我注意到可以写入4个位、而不是手册中指定的3个位

    0到4之间的有效值是否符合规定?

    提前感谢

    Antonio

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

    [引用 user="Antonio Cattaneo"]要检查输入电压、我在同一输入引脚上从内部 ADC 读取值:实际上、我的软件让我持续读取2000个样本@ 5us 周期的平均值。 此值通常仅显示2 LSB 与 预期值之间的变化:1.500V 表示所有通道上的2046 - 2048个计数、且 LSB 时间没有或1个 LSB 变化(在我看来、这是一种非常好的行为) [/QUERQ]

    这是否与跳闸检测并行完成?  注意 ADC 引入的噪声注入。

    [引述 USER="Antonio Cattaneo"]我的意思是:磁滞是否以标称电压为中心?

    数据表中有一个图 显示了迟滞应用于1->0转换。

    [引用 user="Antonio Cattaneo"] 通过仿真器访问 COMPHYSCTL 寄存器时,我注意到可以写入4个位,而不是手册中指定的3个位

    您能否包含此内容的屏幕截图?  唯一有效的位是 COMPHYSCTL[2:0]。

    [报价用户="Antonio Cattaneo"]是否为指定的0到4之间的有效值?

    是的、文档是正确的。

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

    你(们)好

    关于您的问题:

    是的、ADC 采集与跳闸检测并行完成

    我附加了 CCS 中 COMPHYSCTL 的屏幕截图。 我尝试在寄存器中写入0xFFFF、结果就是这样

    我是否尝试使用读取它  

    EALLOW;
    vHysGE_guh = HWREGH (vBase_ul + CMPSS_O_COMPHYSCTL);
    EDIS;

    在 vHysGET_guh 中、我获得值0xF

    根据您的建议、我尝试使用 示波器和来测量到 GPIO 的异步 COMPOUT 路径的跳闸阈值;我停止了 ADC 采集

    以下值是将 DACVAL 设置为一半(1500mV)时的阈值(以 mV 为单位):未计算校准。 由于没有迟滞、输出非常不稳定、在另一种情况下、我还会遇到一些干扰

    0->1->0   

    1464 1464  COMPHYSCTL = 0
    1462 1457  COMPHYSCTL = 1.
    1462 1451  COMPHYSCTL = 2
    1462 1442  COMPHYSCTL = 3.
    1462 1433  COMPHYSCTL = 4

    这正是我所期望的!

    非常感谢

    Antonio

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

    安东尼奥

    我很高兴您能够确认该行为。

    关于迟滞控制位、只有 COMPHYS[2:0]起作用。  COMPHYS[3]被保留、其中"保留"可涵盖广泛的实现方案。  在这种情况下、该位在寄存器中实现为可写位、但它不控制模块中的任何内容。

    Tommy