Alexey Andrushevich

MSCAN communication problem between two SofTec EVB9S08DZ60

Discussion created by Alexey Andrushevich on Jul 11, 2008
Latest reply on Jul 14, 2008 by Alexey Andrushevich
Hello everybody!
 
I am facing the problem in CAN bus communication between 2 equal SofTec evaluation boards
with MCU 9S08DZ60 mounted. I have downloaded to the both boards the same software. The only difference is the message id which is unique for every board.
 
First I was trying to run the example from AN 3034. But the program was always stucking at
     while ((CANTFLG & txbuffer) != txbuffer);  /* Wait for Transmission
                                                  * completion
                                                  */
of CANSendFrame function.
 
Then I have read here about the possible solution by the Processor Expert Initialization usage. After putting the MSCAN into Normal Operation Mode in Processor Expert instead of default Listen Only Mode the more details have become known about the problem.
 
Everytime the program reaches the end of Processor Expert generated CAN1_SendFrameExt function,
the InterruptError routine is called. And then every second InterruptError routine call is followed
by CAN1_OnBusOff(void).
  
Both boards have equal timing settings: Time segment1 - 10, Time segment2 - 3, sync jump width - 3,
125kbit/s bit rate...
 
The measured resistance between CANH and CANL is around 60 Ohms.
 
The wire connection is composed by CANH, CANL, GND. The boards are equipped with TJA-1040 CAN-transciever.
 
Does anybody have any ideas how to solve the problem?

Thanks in advance to everyone.

Outcomes