Automotive and Embedded Networks

cancel
Showing results for 
Search instead for 
Did you mean: 

How to solve the pci-can2 software problem (code 8) when it is useless after reinstall the NI-CAN drive software?

I`m using a PCI-CAN2 in my CAN platform .which have two nodes.One is PC ,and the other one is a simulator based on 51series singlechip. A message is  sent from the simulator to PC through the PCI-can2 card ,and I can see the message in the MAX explorer at the beginning .but after sending several messages ,the PCI-CAN2 card show a software problem (code 8),and the communication between the can channel and the simulator is stopped,the simulator have a problem called that "the SJA1000 BUS has closed"
 
According to the operation mannual , I reinstall the NI-CAN software 2.3 . but the problem is not solved .Maybe the PCI-can2 have a selfprotect program such as jump or others ? or I chose a wrong termination resistor? (The simulator have a 120om termination resistor itself,and I have not added any other resistor to the circuit )
 
Can anybody help me???
 
 
0 Kudos
Message 1 of 5
(3,945 Views)
Hi,

As the NI-CAN driver software does not define an error '8' or 'code 8', I assume that you have a 3rd party software that uses the PCI-CAN card to communicate with your 51 series chip, correct?  What is the name of that software?

The termination is not fully established. The CAN specification requires 120 ohms on both ends of the bus. As your simulator is already terminated, you need to add a 120 ohm resistor at the other end of the cable, as the (high-speed) PCI-CAN card is not internally terminated. Usually one would add that resistor between the CAN_H and CAN_L lines directly on the connector.

-B2k
0 Kudos
Message 2 of 5
(3,938 Views)
The simulator is called DP-51,and the communication software is KEIL-c51.The program which call the simulator to send a simple message to the PC through the BUS is an addition example code with the simulator which is written in keilc51.LABview and MAX is ueed  in PC to send and receive messages.But when the error happened I was only using the BUS monitor in the MAX explorer ,without Labview programs to see whether the communication was set up.
At the beginning,I could see the messages sent from the simulator in the bus monitor.and all the parts worked well.but after the same message was sent for more than 30 times ,the PCI-CAN card suddenly showed an error and the BUS was closed.Later the selftest of the PCI-CAN card in the MAX was failed which indicate that an unknown software/hardware problem happen.The same problem has also appeared when I try the "Object-to-Object_TransmitByCall" example code that I just nonnected the can0 and can1 dirrectly with no termination resistor.
I have tried to reinstall the NI-CAN,moved the PCI-can card to another PCI slot ,but the sefttest always failed and I can`t go on.You know,I`m a newcommer and not familiar with the settings .So could you please give me some help?
 
Thanks a lot!!
0 Kudos
Message 3 of 5
(3,934 Views)
Hi,

When you say “but after the same message was sent for more than 30 times, the PCI-CAN card suddenly showed an error and the BUS was closed.”, what exact error (the numerical value) did you get (I don’t mean the one displayed when the self test in MAX failed, but the one from the application)?
Do you still see the error when you close all open applications and try to communicate again after the error occurred the first time? Does rebooting the system help?

-B2k
0 Kudos
Message 4 of 5
(3,925 Views)
Thank you very much for your support ! ! The problem is solved when I move the card to another PC ,and maybe it is because of the hardware conflict between the card and my mainboard or other reasons.Whatever ,thank you for your help:)
0 Kudos
Message 5 of 5
(3,910 Views)