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.

Problem with HALT mode on Piccolo TMS320F28027PT

Other Parts Discussed in Thread: TMS320F28055, TMS320F28035, TMS320F28069, CONTROLSUITE

Hello everybody, 

I have a question/problem with the HALT mode on the piccolo F28027 (control stick) device. When I use the header - file example (Example_2802xHaltWake) and put a High to Low transition on GPIO 0 (for wakeup) the whole program starts from the beginning (with the initializing process and so on), and switch in HALT mode again..... it doesn't call the ISR and continue the program after the IDLE instruction.... this only works if the signal on GPIO 0 is low till it comes to the EINT point after the restart.... then it calls the ISR and it toggles the GPIO 1 etc.....

So my problem is, that the program always starts from the beginning, initializes all my peripherals and switch in HALT mode again, what I don't want. Can you help me with that problem?

Thanks in advance

Gerhard

  • Gerhard,

     

    If the wakeup signal is noisy, device may reset and you might see this behavior. How do you generate/supply the wakeup pulse? Could you try using a “clean” pulse (such as generated by another MCU) as suggested in Datasheet in the footnotes of “Figure 6-14. HALT Wake-Up Using GPIOn”.

     

    Regards,
    Vamsi

  • Hi Vamsi,

     

    I already generated the wakeup pulse various ways. With a pullup to 3V3 und a pushbutton to GND, with an external real-time clock which has an alarm function and generates an output pulse (a high to low transition)... So i think that these are clean pulses, aren't they?

     

    Best regards

    Gerhard

  • Gerhard,

    First method of wakeup pulse generation that you mentioned might cause lot of noise.  Second method of wakeup pulse generation that you mentioned using real-time clock might be less noisy, but, you might want to check the wakeup signal coming to GPIO in an oscilloscope and see whether the signal is clean without ringing/noise or not.  If the piccolo device and the pulse generation circuits are on two different circuit boards, then you might want to connect grounds of the two boards together.

    Regards,
    Vamsi

     

     

     

  • Dear Vamsi,

     

    I measured both pulses and they're not really noisy. We made a video to show this phenomenon.

    Here is the link: http://www.smaxtec.com/texas/

    On the multimeter you see the current consumption (appr. 70 mA in HALT and 130 mA in normal respectively initializing mode). 

    You can see that i generate the wakeup - pulse only with a wire to GND, maybe this is a little bit noisy but i have the same problem with an external part (of course i connected the two GNDs of both boards). On the scope you can see GPIO 0 on channel 1 (this is the interrupt) and GPIO1 on channel 2, which should toggle after wakeup (like the header file example).

    At the beginning of the video, after I clicked on the button, the piccolo is in HALT mode (70 mA). After that, I forced GPIO 0 to GND (for several ms), you can see that the program starts from the beginning, because the current consumption is 130 mA and switch to 70 mA (HALT mode) again and nothing happens on channel 2, that means that the ISR isn't called.

    I did it a second time, where we only filmed the multimeter and scope.

    Thanks in advance and kind regards

    Gerhard

  • Gerhard,

     

    If you use the approach (touching ground manually) that you visualized to produce wakeup pulse, I am pretty sure that the wakeup pulse will be very noisy.  You might not see the noise on scope because of oscilloscope sampling artifacts.  Try generating a clean wakeup pulse; you can use another MCU to generate the wakeup pulse.  

     

    Another thing that I noticed is that you are measuring halt mode current as 70mA.  Generally Halt mode current will range from uA to few mA.  I think you are not measuring the current consumed by MCU alone.

     

    Thanks and regards,

    Vamsi

  • Hi Vamsi,

     

    I found out that the control stick was broken, I ordered a new one, now it works....

    Thanks for your help

     

    Kind regards,

    Gerhard

  • Hi I am unable to enter  in IDLE mode or HALT mode can you please help or share sample code if you have ... <kamiljsr@gmail.com> ... i am trying on TMS320F28035, TMS320F28055, and TMS320F28069, none of the device going in IDLE or HALT mode ...  this is very urgent ... Thanks in advance ..

    With Regards

    Kamil

  • Are you using the examples provided in controlSUITE which were mentioned in the original post?

    Regards, Joe

  • yes i have tried that but it is not working ...

  • Can you be more specific about what is not working?  For example:

    ...The example code does not build...

    ...The code builds, but I never reach the IDLE instruction when stepping through example...

    ...I reach the IDLE instruction, but do not see a reduction in current... (if so, how do you measure the supply current?)

    Also what hardware are you using (i.e. control cards, custom boards, kits, etc.)?