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.

how difficult is it to swap phase b & C feedback currents in Motorware ADC source .c .h files (adc only?_

Other Parts Discussed in Thread: TMS320F28069M, MOTORWARE

Hello:

 we has a TMS320F28069M design where the board layout swapped the current feedback loops between phase B and phase C of a BLDC motor

(i.e. ADC/A0 pin 23 with ADC/B6 pin 34). Can someone in Motorware-17 land tell me where I need to swap ADC channel assignments

from Motorware 17 sources? I know that it's not just the channel but the sequencing of the channels. Trying to avoid a relayout. I am on CCS 6.2.0

thanks

Jim

  • You can configure it in HAL_setupAdcs(HAL_Handle handle) of hal.c based on your hardware.

    void HAL_setupAdcs(HAL_Handle handle)
    {
    ...

    //configure the SOCs for hvkit_rev1p1
    // EXT IA-FB
    ADC_setSocChanNumber(obj->adcHandle,ADC_SocNumber_0,ADC_SocChanNumber_A1);
    ADC_setSocTrigSrc(obj->adcHandle,ADC_SocNumber_0,ADC_SocTrigSrc_EPWM1_ADCSOCA);
    ADC_setSocSampleDelay(obj->adcHandle,ADC_SocNumber_0,ADC_SocSampleDelay_9_cycles);

    // EXT IA-FB
    // Duplicate conversion due to ADC Initial Conversion bug (SPRZ342)
    ADC_setSocChanNumber(obj->adcHandle,ADC_SocNumber_1,ADC_SocChanNumber_A1);
    ADC_setSocTrigSrc(obj->adcHandle,ADC_SocNumber_1,ADC_SocTrigSrc_EPWM1_ADCSOCA);
    ADC_setSocSampleDelay(obj->adcHandle,ADC_SocNumber_1,ADC_SocSampleDelay_9_cycles);

    // EXT IB-FB
    ADC_setSocChanNumber(obj->adcHandle,ADC_SocNumber_2,ADC_SocChanNumber_B1);
    ADC_setSocTrigSrc(obj->adcHandle,ADC_SocNumber_2,ADC_SocTrigSrc_EPWM1_ADCSOCA);
    ADC_setSocSampleDelay(obj->adcHandle,ADC_SocNumber_2,ADC_SocSampleDelay_9_cycles);

    // EXT IC-FB
    ADC_setSocChanNumber(obj->adcHandle,ADC_SocNumber_3,ADC_SocChanNumber_A3);
    ADC_setSocTrigSrc(obj->adcHandle,ADC_SocNumber_3,ADC_SocTrigSrc_EPWM1_ADCSOCA);
    ADC_setSocSampleDelay(obj->adcHandle,ADC_SocNumber_3,ADC_SocSampleDelay_9_cycles);

    ...
    }