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.

LAUNCHXL-F28027F: Powered from inverter EVM8301

Part Number: LAUNCHXL-F28027F

Hi

I made a program to control the three phases inverter EVM8301 booster pack as a single phase inverter (2 legs) which is connected to a Launchpad F28027F

The programs works fine when Launchpad 27F is connected to USB and when I plug the EVM8301 booster pack and powered it by external supply Vdc=10V (but without removing JP1..3 3.3V / GND)

If I remove the USB while still having the JP1..3 ON) the Inverter red LED Fault becomes ON and the inverter output is shutdown, but my prog is still running correctly (OLED display, ADC, ...)

If I remove the JP1..3 to let the EVM8301 booster pack power the Launchpad using it own power, my program on the Launchpad 27F do not work! 

It has 3.3V but 27F program don't work

but if I connect the USB to 5V I have the Fault Red LED ON and Inverter shutdown and then the 27F starts running!!! but Inverter shutdown

Then if I remove the 5V USB, the inverter is no more shutdown (Led red off) and the 27F is still running and stay in this state until I remove external power of EVM8301

this is strange and I don't understand.

While self powering even if I press reset button, this doesn't boot the 27F

So in order to let it work I have to connect/disconnect the USB...

Any clues? Thanks 

  • the main routine of my program

    void main(void)
    {
      // Only used if running from FLASH
      // Note that the variable FLASH is defined by the project
      #ifdef FLASH
      // Copy time critical code and Flash setup code to RAM
      // The RamfuncsLoadStart, RamfuncsLoadEnd, and RamfuncsRunStart
      // symbols are created by the linker. Refer to the linker files.
      memCopy((uint16_t *)&RamfuncsLoadStart,(uint16_t *)&RamfuncsLoadEnd,(uint16_t *)&RamfuncsRunStart);
    
      #ifdef CSM_ENABLE
        //copy .econst to unsecure RAM
        if(*econst_end - *econst_start)
          {
            memCopy((uint16_t *)&econst_start,(uint16_t *)&econst_end,(uint16_t *)&econst_ram_load);
          }
    
        //copy .switch ot unsecure RAM
        if(*switch_end - *switch_start)
          {
            memCopy((uint16_t *)&switch_start,(uint16_t *)&switch_end,(uint16_t *)&switch_ram_load);
          }
      #endif
      #endif
    
      // initialize the hardware abstraction layer
      halHandle = HAL_init(&hal,sizeof(hal));
    
      // initialize the user parameters
      USER_setParams(&gUserParams);
    
      // set the hardware abstraction layer parameters
      HAL_setParams(halHandle,&gUserParams);
    
      // setup faults
      HAL_setupFaults(halHandle);
    
      // init inside HAL : InitI2CGpio();	// init I2C GPIO
      InitVar();
    
      // initialize the interrupt vector table
      HAL_initIntVectorTable(halHandle);	//ADCINT1 et I2CINT1A
    
      // enable the ADC interrupts
      HAL_enableAdcInts(halHandle);
    
      // enable global interrupts
      HAL_enableGlobalInts(halHandle);
    
      // enable debug interrupts
      HAL_enableDebugInt(halHandle);
    
      // disable the PWM
      HAL_disablePwm(halHandle);
    //debug: enable the PWM
      HAL_enablePwm(halHandle);
    
    #ifdef DRV8301_SPI
      // turn on the DRV8301 if present
      HAL_enableDrv(halHandle);
      // initialize the DRV8301 interface
      HAL_setupDrvSpi(halHandle,&gDrvSpi8301Vars);
    #endif
    
      InitI2C();		// init I2C OLED config
    
      // For ever loop
      while(true)
      {
       if (Flags.RefreshOLED) RefreshOLED();
      }
    } // end of main() function
    

  • Please refer to the schematic of LaunchXL-F28027F, you may set S1 on LaunchXL-F28027F as below to set boot mode jumpers to "boot to Flash".

    S1 (1-ON, 2-ON, 3-OFF).
  • thanks, that solve the issue, the booting is ok.
    Can you explain me why it was booting from Flash (when S1 was ON ON ON)?

    With S1 (1-ON, 2-ON, 3-OFF), we no can longer do debugging but still do flashing program with that if I connect the USB, is it correct?
  • Set S1 to set GPIO37=1, GPIO34=1 and TRSTn=0 to set the boot mode to "Get Mode" which is boot from flash in default. For more information on the 2802x boot modes refer to the device specific Boot ROM chapter in the Technical Reference Manual.
    You can't program the flash since the JTAG emulator is disconnected by setting TRSTn=0 of S1.