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.

[参考译文] BOOSTXL-DRV8301:分流电流测量和 ADC 样片

Guru**** 2482105 points
Other Parts Discussed in Thread: BOOSTXL-DRV8301, MOTORWARE

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

https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1187375/boostxl-drv8301-shunt-current-measurement-and-adc-samples

器件型号:BOOSTXL-DRV8301
主题中讨论的其他器件: MOTORWARE

C2000 uC 如何同步 ADC 样本以确保在低侧 FET 导通时进行采样? 我遵循实验室指南和 focf\guides"。 没有提到 ADC 是如何与低侧 FET 导通同步的。 我无法理解这是如何完成的。  

以下是 Motorware 中用于 BoostXL-DRV8301和28027F UC 的 Lab01b 中的代码。

//确认 ADC 中断
HAL_acqAdcInt (halHandle、ADC_IntNumber_1);

//转换 ADC 数据
HAL_readAdcData (halHandle、&gAdcData);


静态内联空 HAL_readAdcData (HAL_Handle handle、HAL_AdcData_t * pAdcData)

HAL_Obj * obj =(HAL_Obj *)句柄;

_IQ 值;
_IQ Current_SF = HAL_getCurrentScaleFactor (handle);
_IQ VOLTAGE_SF = HAL_getVoltageScaleFactor (handle);


//转换电流 A
//根据勘误 sprz342f 对第一个样本进行两次采样,忽略第一个样本
值=(_IQ) ADC_readResult (obj->adcHandle、ADC_ResultNumber_1);
值=_IQ12mpy (value、curry_SF)- obj->adcBias.I.value[0];//除以2^numAdcBits = 2^12
pAdcData->I.value[0]=值;

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

    尊敬的 Aliphossein:

    感谢您的提问!

    今天是 TI 假日、但我们的目标是在本周结束前提供响应。

    此致、

    Anthony

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

    我想我已经弄清楚了:请评论一下这是否正是发生的事情

    1- PWM1设置为递增递减计数器

    2-当计数器= COMPA 时,EPM1A 将变为高电平,并且将变为高电平。 当 counter=compa 时、它变为低电平、并且它正在递减计数

    3- EPWM1 SOCA 配置为在计数器到达零时变为高电平。 它在第三个事件上生成中断。 这可确保在更新新参数之前完成 mainISR 计算。  

    4:ADC 配置为使用 EPWM1的 SOCA 作为转换信号的开始。  

    5 - ADC 在完成总线电压转换后发出中断  

    6:主 ISR 在 ADC 中断条件下执行、并计算三个 PWM 周期内的所有内容

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

    感谢 Aliphossein、

    我需要仔细检查代码以确保您的理解正确。 我打算深入研究这一点、下周初再见。  

    此致、

    Anthony  

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

    尊敬的 Aliphossein:

    昨天晚上我看了一段时间、我认为您是正确的、但由于我 不是很熟悉代码、我花了一段时间。 我确信这与在低侧 FET 导通时触发 ISR 相关、但我正在尝试深入研究 hal.c 文件中的 ePWM 初始化代码、以更好地了解正在发生的情况。  

    此致、

    Anthony Lodi

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

    尊敬的 Aliphossein:

    我很抱歉耽误你的时间! 我联系了一位更博学的团队成员、他说您的理解似乎是正确的。 他说、PWM SOC (TCNT = 0)用于触发 ADC 并生成 ADC 转换结束(EOC) 、从而为 ISR 发出中断。

    此致、

    Anthony Lodi