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.

TMS320F28377D dual CPU redundant?

Other Parts Discussed in Thread: TMS320F28377D

When I reading TRM of TMS320F28377D , I understood that I can operate both CPU parallely and CPU1 will always act as Master.

Is there any way that I can configure the CPU2 as redundant to CPU1,      (that is under failure of CPU1, CPU2 will take over all activities of CPU1,) similar to lockstep architecture.

Because I feel, this has very good features for motor control compared to Hercules, which has lockstep architeture. If I am able to implement similar to this, Delfino will be a awesome controller.

Thanks & Regards,

Rathinavel

  • Hi,

    There are certain operations which only CPU1 can perform on this device (e.g. PINMUX configuration). Though most of these operations are realted to device initialization, incase CPU1 fails, CPU2 will not be able to change such configuration which only CPU1 has control. 

    Regards,

    Vivek Singh   

  • Hi ,

    Thanks for the reply.

    Consider that ,I dont need to change any settings,     when CPU1 fails, CPU2 will still continue to work or it will stop functioning?

    Thanks & Regards,

    Rathinavel

  • Rathinavel,

    CPU 1 and 2 are independent so far as their code goes.  They also have their own flash and RAM.  They do share some common peripherals.  If one CPU were to "Fail", the other CPU would continue operating in so far as it can.  So, if for example a single gate inside one CPU were to go bad and cause that CPU to stop working correctly, the other CPU would continue working.  Anything that working CPU relied on the failed CPU for, such as GPIO configuration for example, would not be available.  It's also possible that the working CPU would get stuck during operation too if it was doing some handshaking with the failed CPU (e.g., stuck in a polling loop).  You'd need to craft your code carefully so that after the initialization phase of the software, a failure of one CPU will not affect the other CPU.

    Regards,

    David

  • Hi David,

    Thanks for the info. Its very useful one.

    Thanks & Regards,

    Rathinavel