|
![]() MCU User Forum
![]() How to handle the error status for Bosch-CAN on C8051F500
|
| next newest topic | next oldest topic |
| Author | Topic: How to handle the error status for Bosch-CAN on C8051F500 |
|
dingyg99 Member |
Dear All: We have implemented our CAN communication based on the example code in: C:\SiLabs\MCU\Examples\C8051F50x_51x\CAN\F50x_CAN0_Receive.c C:\SiLabs\MCU\Examples\C8051F50x_51x\CAN\F50x_CAN0_Transmit.c We have merged the Tx and Rx interrupt ISR into one ISR to support Tx and Rx meantime. In this simple application model, we found a strange issue, below is a brief description: (2) Programming (by Keil IDE) the 1st client and then power off it, then re-power up it, the master node can NEVER communicate with this node. (3) Keep the programmed client 1st re-power up, then re-power up the master node, the communication can NEVER recovery. We have tried lots of times on this issue, NO one success to recovery communications between the master and client 1st. So we want to know what happens on the client 1st, we program the client in debug mode in Keil IDE by the programming cable, but the communication can 100% recovery! Then what is the differentce between offline mode programming and the online debug mode?
We can print out the CAN0 status register of the master node when the client 1st is off-line programmed and power up again(can not communication with master node). It is found the CAN0STAT is 0X63. How should we handle the error status with CAN0STAT is 0X63? Accoring to the Boch CAN manual, the CAN core is in error passive state. How to get rid of this state? Thanks & Best Regards! IP: Logged |
|
Tsuneo Member |
On the power cycle case, Try manual reset at the reset pin of the receiver MCU, after power up and CAN bus connection. Does it recover the communication? If so, attach an external supervisor chip at the reset pin.
a) Driven by CAN transceiver - J7 is SER_PWR side, but no debug adapter is connected In this set up, +5V trace on the board shows 2.82V
+5V trace on the board shows 0.32V
It is caused by absence of ACK from the receiver. Tsuneo [This message has been edited by Tsuneo (edited August 10, 2010).] IP: Logged |
All times are CT (US) | next newest topic | next oldest topic |
![]() |
|
Have you seen our MCU Knowledge Base?