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.

Power saving with TM4C1230E6PM and CAN

Other Parts Discussed in Thread: TM4C1230E6PM

Hello all, I have designed the TM4C1230E6PM into a device that is controlled over CAN.  The device uses multiple peripherals and works very well, but I need to get the idle power down a bit.  The unit only needs to be active after receiving a CAN message that has a specific Message ID.  Other ID messages will be sent on the bus, and each device will need to ignore all but the ones with its specific Message ID.

From what I can tell in the posts and documentation I've seen so far, the uC needs to be fully active, as well as the CAN interface and associated GPIO, in order to respond to CAN messages.  I cannot really use any of the sleep or hibernation modes to keep the CAN discrimination active.  Would you agree with this?  Did I miss something?

Is there another Ti uC that I could consider that might have a more autonomous CAN layer that will allow a bit more power optimization, such as putting the uC to sleep and waking it when the specific Message ID is received?

One thing that might feed into this; I am running the uC with a 16mHz clock , but the CAN bus speed is only 10k.  There are no other clock sensitive circuits in the device (but I am using several ADC channels in its awake functionality).  Maybe I can optimize clock circuitry as well with such a slow CAN bus, and save a bit more power?

Thanks for all your help.

  • Hello Mark,

    Unfortunately, you are correct in that the TM4C is not capable of a wake on CAN message feature. However, CAN transceivers often have a wake signal that get asserted when CAN activity is detected. This wake signal could be connected to a GPIO used as a wakeup pin. This may or may not be sufficient in your application since it would not be exclusive to the CAN ID for the specific TM4C node and CAN Bus activity may be such that doesn't allow any or very little hibernation of the node.

    I think the best opportunity you might have for power optimization would be reduction of the system clock. If you just consider the CAN baud rate (you mention 10k and I assume this is 10kbits/sec), you should be able to significantly reduce the system clock. However, you need to also consider impact on other system level operations.

    For recommendation on another device, I would need to know what your requirements are in regard to overall power consumption and the use case. We have our Hercules line of MCU that are designed for use in automotive applications where this is very common; however, they do not have very efficient power profiles even in sleep mode (depends on temperature use case).
  • Hello Chuck, thank you for the answer, that was exactly what I needed to know.