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.

[参考译文] TMS320F280039C:TMS320F280039C

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1207908/tms320f280039c-tms320f280039c

器件型号:TMS320F280039C
主题中讨论的其他器件:TIDM-02010SysConfig

您好!

您能帮助我了解如何为自定义目标板配置 ADC 模块吗? 我不明白以下示例中是如何配置 ADC 的:

//三分流器
#define MTR1_ADC_TRIGGER_SOC ADC_TRIGGER_EPWM1_SOCA // EPWM1_SOCA
#define MTR1_ADC_I_SAMPLEWINDOW 18.
#define MTR1_ADC_V_SAMPLEWINDOW 26.

#define MTR1_IU_ADC_BASE ADCC_BASE // ADCC-B12/C2*
#define MTR1_IV_ADC_BASE ADCB_BASE // ADCB-A11/B10*/C0
#define MTR1_IW_ADC_BASE ADCA_BASE // ADCA-A14*/B14/C4

#define MTR1_IU_ADCRES_BASE ADCCRESULT_BASE // ADCC-B12/C2*
#define MTR1_IV_ADCRES_BASE ADCBRESULT_BASE // ADCB-A11/B10*/C0
#define MTR1_IW_ADCRES_BASE ADCARESULT_BASE // ADCA-A14*/B14/C4


#define MTR1_IU_ADC_CH_NUM ADC_CH_ADCIN2 // ADCC-B12/C2*
#define MTR1_IV_ADC_CH_NUM ADC_CH_ADCIN10 // ADCB-A11/B10*/C0
#define MTR1_IW_ADC_CH_NUM ADC_CH_ADCIN14 // ADCA-A14*/B14/C4

#define MTR1_IU_ADC_SOC_NUM ADC_SOC_SOC_NUMBER1 // ADCC-B12/C2*-SOC1-PPB1
#define MTR1_IV_ADC_SOC_NUM ADC_SOC_NOLOG1 // ADCB-A11/B10*/C0 -SOC1-PPB1
#define MTR1_IW_ADC_SOC_NUM ADC_SOC_NOLOG1 // ADCA-A14*/B14/C4 -SOC1-PPB1

#define MTR1_IU_ADC_PPB_NUM ADC_PPB_NUMBER1 // ADCC-B12/C2*-SOC1-PPB1
#define MTR1_IV_ADC_PPB_NUM ADC_PPB_NUMBER1 // ADCB-A11/B10*/C0 -SOC1-PPB1
#define MTR1_IW_ADC_PPB_NUM ADC_PPB_NUMBER1 // ADCA-A14*/B14/C4 -SOC1-PPB1

如果您有任何问题或想要更多信息、请告诉我。

如果需要、我可以提供原理图参考、以便使用 F280039C 设置目标器件。

谢谢!
William

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

    您好、William、

    这是什么示例工程? 通用电机实验室或 TIDM-02010?

    对于定制板、您只需更改 hal.h 文件中的定义。 这些定义在 hal.c 文件中的 HAL_setupADCs ()函数中用于配置 ADC 模块。

    在代码注释中、星号用于标记默认配置的 ADC 通道。 例如,ADC-C 通道2由以下(C2*)表示。 这将与用于检测 U 相电流的 F28003x 器件/原理图上的相应引脚相匹配。 希望这对您的部分问题有所帮助。

    #define MTR1_IU_ADC_BASE ADCC_BASE // ADCC-B12/C2*

    此致!

    Kevin 老师

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

    尊敬的 Kevin:

    当前问题的概述是在我们的自定义目标板上配置 ADC 通道。  我以" universal_motorcontrol_lab_f28003x "CCS 项目。  我更改了以使用内部振荡器、因为我们的目标板没有晶体振荡器。  然后我改变了 hal.c hal.h 文件的目录 不会 将 GPIO_35 (TDI)和 GPIO_37 (TDO)设置为 GPIO 引脚、因为这会阻止我通过 JTAG 进行连接和仿真。   

    然后、我在 hal.h 文件中更改了以下源代码:

    //!MOTOR1_DCLINKSS,三分流器

    //三分流器

    #define MTR1_ADC_TRIGGER_SOC ADC_TRIGGER_EPWM1_SOCA         // EPWM1_SOCA

    #define MTR1_ADC_I_SAMPLEWINDOW    18.

    #define MTR1_ADC_V_SAMPLEWINDOW    26.

     

    #define MTR1_IU_ADC_BASE ADCC_BASE                     // ADCC-B12/C2*

    #define MTR1_IV_ADC_BASE ADCB_BASE                     // ADCB-A11/B10*/C0

    #define MTR1_IW_ADC_BASE ADCA_BASE                     // ADCA-A14*/B14/C4

     

    #define MTR1_IU_ADCRES_BASE ADCCRESULT_BASE            // ADCC-B12/C2*

    #define MTR1_IV_ADCRES_BASE ADCBRESULT_BASE            // ADCB-A11/B10*/C0

    #define MTR1_IW_ADCRES_BASE ADCARESULT_BASE            // ADCA-A14*/B14/C4

     

    #define MTR1_IU_ADC_CH_NUM ADC_CH_ADCIN2               // ADCC-B12/C2*

    #define MTR1_IV_ADC_CH_NUM ADC_CH_ADCIN10              // ADCB-A11/B10*/C0

    #define MTR1_IW_ADC_CH_NUM ADC_CH_ADCIN14              // ADCA-A14*/B14/C4

     

    #define MTR1_IU_ADC_SOC_NUM ADC_SOC_SOC_NUMBER1            // ADCC-B12/C2*-SOC1-PPB1     

    #define MTR1_IV_ADC_SOC_NUM    ADC_SOC_NUMBER1        // ADCB-A11/B10*/C0 -SOC1-PPB1

    #define MTR1_IW_ADC_SOC_NUM ADC_SOC_SOC_NUMBER1            // ADCA-A14*/B14/C4 -SOC1-PPB1

     

    #define MTR1_IU_ADC_PPB_NUM ADC_PPB_NUMBER1            // ADCC-B12/C2*-SOC1-PPB1     

    #define MTR1_IV_ADC_PPB_NUM ADC_PPB_NUMBER1            // ADCB-A11/B10*/C0 -SOC1-PPB1

    #define MTR1_IW_ADC_PPB_NUM ADC_PPB_NUMBER1            // ADCA-A14*/B14/C4 -SOC1-PPB1

     

    // CMPSS

    #define MTR1_CMPSS_U_BASE CMPSS3_BASE       

    #define MTR1_CMPSS_V_BASE CMPSS1_BASE       

    #define MTR1_CMPSS_W_BASE CMPSS3_BASE       

     

    #define MTR1_XBAROUTPUT XBAR_OUTPUT7         

     

    #define MTR1_IU_CMPHP_SEL ASYSCTL_CMPHPMUX_SELECT_3         // CMPSS3-B12/C2*

    #define MTR1_IU_CMPLP_SEL ASYSCTL_CMPLPMUX_SELECT_3         // CMPSS3-B12/C2*,不适用

     

    #define MTR1_IV_CMPHP_SEL ASYSCTL_CMPHPMUX_SELECT_1         // CMPSS1-A11/B10*/C0

    #define MTR1_IV_CMPLP_SEL ASYSCTL_CMPLPMUX_SELECT_1         // CMPSS1-A11/B10*/C0

     

    #define MTR1_IW_CMPHP_SEL      ASYSCTL_CMPHPMUX_SELECT_3   // CMPSS3-A14*/B14/C4、不适用

    #define MTR1_IW_CMPLP_SEL      ASYSCTL_CMPLPMUX_SELECT_3   // CMPSS3-A14*/B14/C4

     

    #define MTR1_IU_CMPHP_MUX      1                           // CMPSS3-B12/C2*

    #define MTR1_IU_CMPLP_MUX      1                           // CMPSS3-B12/C2*

     

    #define MTR1_IV_CMPHP_MUX      1                           // CMPSS1-A11/B10*/C0

    #define MTR1_IV_CMPLP_MUX      1                           // CMPSS1-A11/B10*/C0

     

    #define MTR1_IW_CMPHP_MUX      4                           // CMPSS3-A14*/B14/C4

    #define MTR1_IW_CMPLP_MUX      4                           // CMPSS3-A14*/B14/C4

     

    #define MTR1_IU_XBAR_EPWM_MUX XBAR_EPWM_MUX04_CMPSS3_CTRIPH        // CMPSS3-HP

    #define MTR1_IV_XBAR_EPWM_MUX XBAR_EPWM_MUX00_CMPSS1_CTRIPH_OR_L   // CMPSS1-HP&LP

    #define MTR1_IW_XBAR_EPWM_MUX XBAR_EPWM_MUX05_CMPSS3_CTRIPL        // CMPSS3-LP

     

    #define MTR1_IU_XBAR_MUX XBAR_MUX04                // CMPSS3-HP

    #define MTR1_IV_XBAR_MUX XBAR_MUX00                // CMPSS1-HP&LP

    #define MTR1_IW_XBAR_MUX XBAR_MUX05                // CMPSS3-LP

     

    #define MTR1_IU_XBAR_OUT_MUX XBAR_OUT_MUX04_CMPSS3_CTRIPOUTH         // CMPSS3-HP、未使用

    #define MTR1_IV_XBAR_OUT_MUX XBAR_OUT_MUX00_CMPSS1_CTRIPOUTH_OR_L    // CMPSS1-HP&LP、未使用

    #define MTR1_IW_XBAR_OUT_MUX XBAR_OUT_MUX05_CMPSS3_CTRIPOUTL         // CMPSS3-LP、未使用

    #endif    //!MOTOR1_DCLINKSS,三分流器

     

    // ADC -电压、相位和直流总线

    #define MTR1_VU_ADC_BASE ADCA_BASE                     // ADCA-A6*

    #define MTR1_VV_ADC_BASE ADCB_BASE                     // ADCB-A2/B6*/C9

    #define MTR1_VW_ADC_BASE ADCC_BASE                     // ADCC-A3/B9/C7*

    #define MTR1_VDC_ADC_BASE ADCC_BASE                    // ADCC-B2/C6*

    #define MTR1_POT_ADC_BASE ADCB_BASE                    // ADCB-B3*

     

    #define MTR1_VU_ADCRES_BASE ADCARESULT_BASE            // ADCA-A6*

    #define MTR1_VV_ADCRES_BASE ADCBRESULT_BASE            // ADCB-A2/B6*/C9

    #define MTR1_VW_ADCRES_BASE ADCCRESULT_BASE            // ADCC-A3/B9/C7*

    #define MTR1_VDC_ADCRES_BASE ADCCRESULT_BASE           // ADCC-B2/C6*

    #define MTR1_POT_ADCRES_BASE ADCBRESULT_BASE           // ADCB-B3*

     

    #define MTR1_VU_ADC_CH_NUM ADC_CH_ADCIN6               // ADCA-A6*

    #define MTR1_VV_ADC_CH_NUM ADC_CH_ADCIN6               // ADCB-A2/B6*/C9

    #define MTR1_VW_ADC_CH_NUM ADC_CH_ADCIN7               // ADCC-A3/B9/C7*

    #define MTR1_VDC_ADC_CH_NUM ADC_CH_ADCIN6              // ADCC-B2/C6*

    #define MTR1_POT_ADC_CH_NUM ADC_CH_ADCIN3              // ADCB-B3*

     

    #define MTR1_VU_ADC_SOC_NUM ADC_SOC_NOLOG2            // ADCA-A6*        -SOC2

    #define MTR1_VV_ADC_SOC_NUM ADC_SOC_SOC_number2            // ADCB-A2/B6*/C9  -SOC2

    #define MTR1_VW_ADC_SOC_NUM ADC_SOC_SOC_number2            // ADCC-A3/B9/C7*  -SOC2

    #define MTR1_VDC_ADC_SOC_NUM ADC_SOC_SOC_Number3           // ADCC-B2/C6*     -SOC3

    #define MTR1_POT_ADC_SOC_NUM ADC_SOC_Number3           // ADCB-B3*        -SOC3

     

    //中断

    #define MTR1_PWM_INT_BASE MTR1_PWM_U_BASE              // EPWM1

     

    #define MTR1_ADC_INT_BASE ADCC_BASE                    // ADCC-C6 -SOC3

    #define MTR1_ADC_INT_NUM       ADC_INT_NUMBER1        // ADCC_INT1-SOC3

    #define MTR1_ADC_INT_SOC       ADC_SOC_Number3        // ADCC_INT1-SOC3

     

    #define MTR1_PIE_INT_NUM INT_ADCC1                     // ADCC_INT1-SOC3

    #define MTR1_INT_ACK_GROUP     INTERRUPT_ACK_GROUP1   // ADCC_INT1-CPU_INT1

     

    //! \short 定义 PWM 死区下降沿延迟计数(系统时钟)

    #define MTR1_PWM_DBFED_CNT     5          // 50ns

     

    //! \short 定义 PWM 死区上升沿延迟计数(系统时钟)

    #define MTR1_PWM_DBRED_CNT     5          // 50ns

     

    // BSXL8323RH_RevB 结束

     

    并将其更改为此内容、以尝试适应我的自定义目标板、该板具有 F280039CSPM:

    //!MOTOR1_DCLINKSS,三分流器

    //三分流器

    #define MTR1_ADC_TRIGGER_SOC ADC_TRIGGER_EPWM1_SOCA         // EPWM1_SOCA

    #define MTR1_ADC_I_SAMPLEWINDOW    18.

    #define MTR1_ADC_V_SAMPLEWINDOW    26.

     

    #define MTR1_IU_ADC_BASE ADCC_BASE                     // ADCC-B12/C2*

    #define MTR1_IV_ADC_BASE ADCB_BASE                     // ADCB-A11/B10*/C0

    #define MTR1_IW_ADC_BASE ADCA_BASE                     // ADCA-A14*/B14/C4

     

    #define MTR1_IU_ADCRES_BASE ADCCRESULT_BASE            // ADCC-B12/C2*

    #define MTR1_IV_ADCRES_BASE ADCBRESULT_BASE            // ADCB-A11/B10*/C0

    #define MTR1_IW_ADCRES_BASE ADCARESULT_BASE            // ADCA-A14*/B14/C4

     

    // WILLIAM

    #define MTR1_IU_ADC_CH_NUM ADC_CH_ADCIN11               // ADCC-B12/C2*

    #define MTR1_IV_ADC_CH_NUM ADC_CH_ADCIN4              // ADCB-A11/B10*/C0

    #define MTR1_IW_ADC_CH_NUM ADC_CH_ADCIN10              // ADCA-A14*/B14/C4

    //#define MTR1_IU_ADC_CH_NUM ADC_CH_ADCIN2               // ADCC-B12/C2*

    //#define MTR1_IV_ADC_CH_NUM ADC_CH_ADCIN10              // ADCB-A11/B10*/C0

    //#define MTR1_IW_ADC_CH_NUM ADC_CH_ADCIN14              // ADCA-A14*/B14/C4

     

    #define MTR1_IU_ADC_SOC_NUM ADC_SOC_SOC_NUMBER1            // ADCC-B12/C2*-SOC1-PPB1     

    #define MTR1_IV_ADC_SOC_NUM    ADC_SOC_NUMBER1        // ADCB-A11/B10*/C0 -SOC1-PPB1

    #define MTR1_IW_ADC_SOC_NUM ADC_SOC_SOC_NUMBER1            // ADCA-A14*/B14/C4 -SOC1-PPB1

     

    #define MTR1_IU_ADC_PPB_NUM ADC_PPB_NUMBER1            // ADCC-B12/C2*-SOC1-PPB1     

    #define MTR1_IV_ADC_PPB_NUM ADC_PPB_NUMBER1            // ADCB-A11/B10*/C0 -SOC1-PPB1

    #define MTR1_IW_ADC_PPB_NUM ADC_PPB_NUMBER1            // ADCA-A14*/B14/C4 -SOC1-PPB1

     

    // CMPSS

    //#define MTR1_CMPSS_U_BASE CMPSS3_BASE       

    //#define MTR1_CMPSS_V_BASE CMPSS1_BASE       

    //#define MTR1_CMPSS_W_BASE CMPSS3_BASE       

     

    //#define MTR1_XBAROUTPUT XBAR_OUTPUT7         

     

    //#define MTR1_IU_CMPHP_SEL      ASYSCTL_CMPHPMUX_SELECT_3   // CMPSS3-B12/C2*

    //#define MTR1_IU_CMPLP_SEL ASYSCTL_CMPLPMUX_SELECT_3         // CMPSS3-B12/C2*,不适用

     

    //#define MTR1_IV_CMPHP_SEL ASYSCTL_CMPHPMUX_SELECT_1         // CMPSS1-A11/B10*/C0

    //#define MTR1_IV_CMPLP_SEL ASYSCTL_CMPLPMUX_SELECT_1         // CMPSS1-A11/B10*/C0

     

    //#define MTR1_IW_CMPHP_SEL ASYSCTL_CMPHPMUX_SELECT_3         // CMPSS3-A14*/ B14/C4,不适用

    //#define MTR1_IW_CMPLP_SEL ASYSCTL_CMPMUX_SELECT_3         // CMPSS3-A14*/B14/C4

     

    //#define MTR1_IU_CMPHP_MUX      1                           // CMPSS3-B12/C2*

    //#define MTR1_IU_CMPLP_MUX      1                           // CMPSS3-B12/C2*

     

    //#define MTR1_IV_CMPHP_MUX      1                           // CMPSS1-A11/B10*/C0

    //#define MTR1_IV_CMPLP_MUX      1                           // CMPSS1-A11/B10*/C0

     

    //#define MTR1_IW_CMPHP_MUX      4                           // CMPSS3-A14*/B14/C4

    //#define MTR1_IW_CMPLP_MUX      4                           // CMPSS3-A14*/B14/C4

     

    #define MTR1_IU_XBAR_EPWM_MUX XBAR_EPWM_MUX04_CMPSS3_CTRIPH        // CMPSS3-HP

    #define MTR1_IV_XBAR_EPWM_MUX XBAR_EPWM_MUX00_CMPSS1_CTRIPH_OR_L   // CMPSS1-HP&LP

    #define MTR1_IW_XBAR_EPWM_MUX XBAR_EPWM_MUX05_CMPSS3_CTRIPL        // CMPSS3-LP

     

    #define MTR1_IU_XBAR_MUX XBAR_MUX04                // CMPSS3-HP

    #define MTR1_IV_XBAR_MUX XBAR_MUX00                // CMPSS1-HP&LP

    #define MTR1_IW_XBAR_MUX XBAR_MUX05                // CMPSS3-LP

     

    //#define MTR1_IU_XBAR_OUT_MUX XBAR_OUT_MUX04_CMPSS3_CTRIPOUTH         // CMPSS3-HP,未使用

    //#define MTR1_IV_XBAR_OUT_MUX XBAR_OUT_MUX00_CMPSS1_CTRIPOUTH_OR_L    // CMPSS1-HP&LP,未使用

    //#define MTR1_IW_XBAR_OUT_MUX XBAR_OUT_MUX05_CMPSS3_CTRIPOUTL         // CMPSS3-LP,未使用

    #endif    //!MOTOR1_DCLINKSS,三分流器

     

    // ADC -电压、相位和直流总线

    #define MTR1_VU_ADC_BASE ADCA_BASE                     // ADCA-A6*

    #define MTR1_VV_ADC_BASE ADCB_BASE                     // ADCB-A2/B6*/C9

    #define MTR1_VW_ADC_BASE ADCC_BASE                     // ADCC-A3/B9/C7*

    #define MTR1_VDC_ADC_BASE ADCC_BASE                    // ADCC-B2/C6*

    #define MTR1_POT_ADC_BASE ADCB_BASE                    // ADCB-B3*

     

    #define MTR1_VU_ADCRES_BASE ADCARESULT_BASE            // ADCA-A6*

    #define MTR1_VV_ADCRES_BASE ADCBRESULT_BASE            // ADCB-A2/B6*/C9

    #define MTR1_VW_ADCRES_BASE ADCCRESULT_BASE            // ADCC-A3/B9/C7*

    #define MTR1_VDC_ADCRES_BASE ADCCRESULT_BASE           // ADCC-B2/C6*

    #define MTR1_POT_ADCRES_BASE ADCBRESULT_BASE           // ADCB-B3*

     

    //#define MTR1_VU_ADC_CH_NUM ADC_CH_ADCIN6               // ADCA-A6*

    //#define MTR1_VV_ADC_CH_NUM ADC_CH_ADCIN6               // ADCB-A2/B6*/C9

    //#define MTR1_VW_ADC_CH_NUM ADC_CH_ADCIN7               // ADCC-A3/B9/C7*

    //#define MTR1_VDC_ADC_CH_NUM ADC_CH_ADCIN6              // ADCC-B2/C6*

    //#define MTR1_POT_ADC_CH_NUM ADC_CH_ADCIN3              // ADCB-B3*

    #define MTR1_VU_ADC_CH_NUM ADC_CH_ADCIN1               // ADCA-A6*

    #define MTR1_VV_ADC_CH_NUM ADC_CH_ADCIN6               // ADCB-A2/B6*/C9

    #define MTR1_VW_ADC_CH_NUM ADC_CH_ADCIN5               // ADCC-A3/B9/C7*

    #define MTR1_VDC_ADC_CH_NUM ADC_CH_ADCIN0              // ADCC-B2/C6*

    #define MTR1_POT_ADC_CH_NUM ADC_CH_ADCIN8              // ADCB-B3*

     

    #define MTR1_VU_ADC_SOC_NUM ADC_SOC_NOLOG2            // ADCA-A6*        -SOC2

    #define MTR1_VV_ADC_SOC_NUM ADC_SOC_SOC_number2            // ADCB-A2/B6*/C9  -SOC2

    #define MTR1_VW_ADC_SOC_NUM ADC_SOC_SOC_number2            // ADCC-A3/B9/C7*  -SOC2

    #define MTR1_VDC_ADC_SOC_NUM ADC_SOC_SOC_Number3           // ADCC-B2/C6*     -SOC3

    #define MTR1_POT_ADC_SOC_NUM ADC_SOC_Number3           // ADCB-B3*        -SOC3

     

    //中断

    #define MTR1_PWM_INT_BASE MTR1_PWM_U_BASE              // EPWM1

     

    #define MTR1_ADC_INT_BASE ADCC_BASE                    // ADCC-C6 -SOC3

    #define MTR1_ADC_INT_NUM       ADC_INT_NUMBER1        // ADCC_INT1-SOC3

    #define MTR1_ADC_INT_SOC       ADC_SOC_Number3        // ADCC_INT1-SOC3

     

    #define MTR1_PIE_INT_NUM INT_ADCC1                     // ADCC_INT1-SOC3

    #define MTR1_INT_ACK_GROUP     INTERRUPT_ACK_GROUP1   // ADCC_INT1-CPU_INT1

     

    //! \short 定义 PWM 死区下降沿延迟计数(系统时钟)

    #define MTR1_PWM_DBFED_CNT     5          // 50ns

     

    //! \short 定义 PWM 死区上升沿延迟计数(系统时钟)

    #define MTR1_PWM_DBRED_CNT     5          // 50ns

     

    // BSXL8323RH_RevB 结束

     

    我的目标板具有以下原理图:

    我需要正确转换所有模数信号。  但现在我的主要重点是正确转换电机相电流、相电压和电池电压。  我检查了硬件、电流反馈电路在没有预期电流的情况下测量到1.65VDC、在标称总线电压为9.9VDC 的情况下、电池电压测量到2.5VDC、而相电压反馈在没有电机反电动势的情况下测量到0VDC、所有这些都符合预期。  然而、在调试模式下、CCS 中的 A/D 值到处都在抖动。  因此、我假设我缺少某些内容或没有正确配置某些内容、但我还没有找到这些内容。  在下面您可以观察到 adcData 的两个屏幕截图、并且它正在弹跳很多次。  

    我通读了电机控制 SDK 通用工程和实验以及 F280039C 的数据表和技术参考手册、但没有找到解决方案。    

    如果您有任何其他问题、敬请告知。 我期待在您的帮助下了解我缺少什么。


    谢谢!

    William

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

    此外、我将使用编译该项目 flash_lib_DRV8323RH_3Sc 配置。

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

    您好、William、

    您使用哪个构建级别进行测试? 您应该按顺序运行它们、并在进入下一个级别之前验证操作是否正常。

    下面你可以观察到 adcData 的两个屏幕截图,并且它正在大量反弹。

    在该示例中、您是否正在运行您的电机? 它有助于使用 CCS 图形工具或将参数输出到器件的 DAC 上来绘制参数。 这样、您就可以看到相电流/电压的形状是否正确。

    此致!

    Kevin 老师

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

    尊敬的 Kevin:

    构建级别1、且未连接电机。

    此致、

    William

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

    您好、William、

    构建级别1且未连接电机。

    好的、我想我现在更好地理解这个问题、但请帮我确认一下。

    我检查了硬件,电流反馈电路的测量值为1.65VDC,没有预期电流,电池电压测量值为2.5 VDC,标称总线电压为9.9 VDC,相电压反馈测量值为0 VDC,没有电动机反电流,这一切都符合预期。  [/报价]

    以上是基于使用万用表/示波器检查感测信号的结果。 这不是 C2000 ADC 读数。

    但是、CCS 在调试模式下的 A/D 值却在四处反弹。  因此、我假设我缺少某些内容或没有正确配置某些内容、但我还没有找到这些内容。  在下面您可以观察到 adcData 的两个屏幕截图、并且它正在弹跳很多次。  [/报价]

    此时 PWM 是否在切换? 如果是、我想知道是否会有 PWM 到 ADC 信号的一定耦合。

    您能否使用 CCS 图形工具绘制感测到的电流和电压值、以查看其是否有一些形状? 此外、您已经验证电流和电压偏移值是否正确(按照用户指南)。

    此致!

    Kevin 老师

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

    尊敬的 Kevin:

    正确、您提到的上述内容基于使用示波器检查信号的结果、而不是 C2000 ADC 读数。 如我在屏幕截图中所示、ADC 读数是零星的。

    ADC 读数在 PWM 开启和关闭的情况下进行监控、两种情况下都是弹跳/零星的。   

    我没有使用 CCS 图形工具绘制电流和电压值、因为在没有电机运行、因此没有电压、没有电流和 PWM 的情况下、ADC 值应该在示波器上读出我测量的直流值(如上所述)。  电流和电压偏移值也不正确。  出于某些原因、ADC 模块无法正确转换。  这是我遇到的主要问题。 我认为这与固件中的设置和配置有关、但我不确定是什么。

    此致、

    William

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

    尊敬的 Kevin:

    下面显示的是我的原理图中 VBATT_REF 引脚的示波器波形,该引脚与 F280039CSPM (A11_B10_C0*)的引脚12相关。

    如您所见、没有振荡、信号为稳定的2.56V 直流电压、与3178 UDEC 的 ADC 值相关。  

    请告诉我您认为可能导致此问题的其他原因。  我注意到 SysConfig 文件中显示此 ADC"C0"引脚不是引脚12、是否可能是由于不同的 F280039C 封装(我们使用的是64引脚封装)而导致的错误?

    此致、

    William

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

    您好、William、

    感谢您提供示波器波形。 此信号和您显示的 ADC 读数上没有明显的噪声、信号上必须有一些剧烈的噪声(即看到2000-4000个 ADC 读数摆动)。

    我注意到 SysConfig 文件中显示此 ADC"C0"引脚不是引脚12、是否可能是由于不同的 F280039C 封装(我们使用的是64引脚封装)而导致的错误?

    这不应产生任何影响。 无论封装引脚如何、SysConfig 都将配置特定的 ADC 通道。

    让我们继续讨论、并在论坛外进行调试。 一旦我们找到解决方案、就可以将其发布在此 E2E 上进行关闭。

    此致!

    Kevin 老师

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

    确定了主要问题、VREFHI 引脚上缺少一个接地的外部电容器/VREFLO。 添加电容器后、ADC 采样工作正常。

    此致!

    Kevin 老师