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.

TMS320F28P659DK-Q1: How to wake up and detect wake up source?

Part Number: TMS320F28P659DK-Q1

Tool/software:

Hello Support Team,

I am able to wake up with GPIO pin 11 on TMS320F28P659DK-Q1 device but i have below few questions

  • we can be able to wake on level-based trigger like 0V or 3.3V supply?
  • we can be able to wake on Falling and rising edge both.?
  • How wake on CAN Rx Pin possible as we dont have GPIO less than 63?
  • How to identify wake up source in case of Multiple wake up sources?
  • Hello Sandeep,

    Apologies for such a late response, this issue was delayed in the assignment process.

    1) GPIO-based wakeup only works via pulse-based trigger as described in the TRM.

    2) The above screenshot define the requirements for the GPIO wakeup signal. A combination of both falling edge (drive low) and rising edge (drive high) are required to enable the full wakeup sequence.

    3) What CAN Transceiver is being used here? What is meant by:

    we dont have GPIO less than 63

    4) This is highly dependent on how you implement multiple wake-up sources. While it is clear that the SYSCTL_GPIOLPMSEL[0:1] registers determine the possible options available for wakeup, I am not aware of any clear mechanism determine which of the GPIOx options actually trigger the wakeup if enabled. I will reach out to our design team for additional insight. In the meantime, if you could provide additional details about your wakeup requirements/use-case that could help us in identifying possible solutions.

    Best Regards,

    Zackary Fleenor

  • Thank you, Zackary Fleenor for response!

    here is my response for your answer

    1. I need to understand pule based means wake up source like IGN (in vehicle case) shall become high to low and low high to generate wake up? or only High to low or low to high pulse is enough?

    2. can we configure wake up trigger like level or edge (High to Low or Low to High)?

    3.we are using TJA1044: High-Speed CAN Transceiver with Standby Mode

    GPIO0 to GPIOO63 are the pins only supporting wakeup capability, but CAN RX pin is above this GPIO number for microcontroller TMS320F28P659DK-Q1.

    in this case how we can support CAN wake up functionality?

    4.Please check with your design team to know the which GPIO pin causes wake up? this is needed to take action based on wakeup.

    Thank you!

    Sandeep Moghe

  • Hey Sandeep,

    You are very welcome, and glad to provide further explanation here wherever needed.

    1) A high to low AND low to high signal will be needed to generate the wakeup.

    2) As indicated above, since both transitions are required to initiate the wakeup sequence, this is not a configurable option.

    3) This may require some additional circuitry to account for this use case, but it could be possible to route the CAN RX signal to two different pins based on if the device was in/out of LPM with an external mux. When in LPM and waiting for GPIO wakeup signal, the mux would route the transciever RX signal to the wakeup GPIO, once wakeup has happened, software would need to flip the mux to route the signal back to the original CAN_RX pin for proper CAN functionality.

    Which CAN_RX pin are you currently using? is there any option to use another CAN instance or set of mux options to bring it out on a valid GPIO wakeup pin?

    It may also be possible to utilize the INPUT/OUTPUT crossbars to account for this pin change, but it depends on their functionality during the LPM but will still require significant Application/SW comprehension to set the appropriate configurations before entering and upon exiting the low power mode.

    4) I am still waiting on a response here and will ping the team for additional clarification. Thank you for your patience in the meantime.

    Best Regards,

    Zackary Fleenor

  • Hi Sandeep,

    There is not a way to determine which GPIO source triggered the wakeup as it is just a LOGCIAL OR of all possible GPIO options that have been configured as possible wakeup sources.

    Please let us know what additional queries you have after reviewing all the information provided.

    Best Regards,

    Zackary Fleenor

  • Hello Fleenor,

    Thank you for your reply!

    we are using HALT mode as Low power mode to go to sleep mode for our ECU.

    in this case as per TI document it is saying only min 5usec(H-L-H) pulse can wake the device, but in our case for single GPIO pin (if configured only one wake up source) then low to high pulse also can wake the device. but if i configure the multiple GPIO pins as wake-up source, then low to high is not working for all pins? can you provide more details on these points.?as practically not all GPIO wake up sources generates pulses some are trigger based like High to low or low to high, in this case how we can configure wake up source if we have Low to High/High to low (edge trigger) as wake up source with HALT Mode? we choose HALT mode to reduce further power consumption

    Thank you!

  • Hello Sandeep,

    There is no provision in the device for edge triggered wakup. I don't beleive you would have executed the entire flow for entering/exiting HALT mode if you were able to use a signle low to high pulse to "Wake" the device as this doesn't meet the critera laid forth in the device documentation. You will need a pulse-based trigger to properly execute the Wakeup from HALT sequence.

    Can you provide scope shots of all the wakeup pins and their status before, during, and after entering/exiting HALT mode? 

    Best Regards,

    Zackary Fleenor