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.
I have two arm11 boards with CAN ports on them. The circuit diagram of the CAN bus is showed as the image below.
I'm trying to make the two boards communicate via CAN bus. But the receiver board couldn't get any message from the CAN bus. So I measured the outputs of CANH and CANL.
On CANH, the dominate state was 2.2V and recessive state of CANH was 2V. On CANL, they were1.2V and 2V respectively. So I can get a differential outputs of 1V (dominate) and 80mV (recessive). I tried to use both board to send message, but the output were all the same. It seems that outputs were lower than the outputs listed on the SN65HVD230 data sheet. So what might be the problem? Is it possible that the transceivers are faulty?
BTW, when I disconnected the power, the resistances between CANH and GND and between CANL and GND were all 14kO.
To which point are you referencing the CANH and CANL measurements?
Are all grounds connected together?
How much cabling is between the boards and are you running a CAN ground to make sure there is no ground shift between the points?
Are these measurements made with a scope (the steady state values of dominant or recessive) or DMM?
There is 120 ohm termination on the schematic and you mentioned 2 boards implying point to point, are these 2 resistors of 120 ohm in parallel the only load on the bus?
What data rate are you trying to use? With a 10k ohm pull down to GND on Rs you are limiting the slew rate of the driver and if you are trying to transmit to fast the signals may not have reached full dominant depending on this combination of bit rate, cable length, but loading and the slew rate set by 10k ohm.
A plot of CANH, CANL, TXD, RXD on both boards referenced to hopefully a common ground would be helpful.
For more information on Multi-Channel Power Management ICs:
Find the right power solution for your processor or FPGA. Visit www.ti.com/SoCPower today!
We are glad that we were able to resolve this issue, and will now proceed to close this thread.
If you have further questions related to this thread, you may click "Ask a related question" below. The newly created question will be automatically linked to this question.
In reply to Scott Monroe:
Thank you very much for your reply.
For your questions:
1. To which point are you referencing the CANH and CANL measurements? I measured the outputs of CANH and CANL with reference to the ground.
2. Are all grounds connected together?
All the grounds are connected together.
3. How much cabling is between the boards and are you running a CAN ground to make sure there is no ground shift between the points? CANH, CANL, and GND of each board are connected correspondingly. As the GND is connected together, I think there is no ground shift.
4. Are these measurements made with a scope (the steady state values of dominant or recessive) or DMM? They were measured with oscilloscope.
5. are these 2 resistors of 120 ohm in parallel the only load on the bus?
Yes, I didn't apply additional resistor.
6. What data rate are you trying to use?
I used to 125K bitrate to transmit the data.
CANH to GND CANL to GND
CANH to CANL TXD to GND
RXD to GND
Sorry about those images. I only have an old oscilloscope in my lab. I have to use my phone to grab those plots.
As I'm not EE student, I might miss some important steps. Let me know if any proceeding are needed.
In reply to lord utopia:
Sorry for the delay in getting a response, Scott is out on vacation and I was not subscribed to the thread. Could you take a couple more screen shots for me? Since you are communication at 125kbps, the bit time is therefore 8µs. If you could take a screen shot of the TXD, RXD, CANH and CANL lines with horizontal division of around 10µs (so there is no possibility of aliasing, some of your plots are 100µs or 250µs), and also change the vertical division to 0.5V/division or 1V per division so I can see the entire height of the signal.
Also, how long is your cable, and are there only two nodes on the network total?
Again I apologize for the delay.
In reply to John Griffith:
Is this question still open? Did you resolve your problem? If you no longer need any help please close the thread so we know.
Really sorry for the delay of my response. Didn't see the reply until I got the email this morning. Apologize for the delay again. The problem of the CAN bus is still bothering me.
I took some new images of the waveform on CANH, CANL, RX and TX to GND according to your last reply. Hope I did it right.
CANH to GND CANL to GND
TX to GND RX to GND
Those waveforms are the same with those I measured before.
The cable is about 10 inches.
No worries about the delay, just checking back. A lot of times the issues get resolved but we never find out.
Are you operating the device in slope control mode? What is the state of the CAN_MODE node? If it high (and can drive more than the 10kΩ load) you should be in standby mode, if it is high impedance you will be in slope control mode, and if it is low you would be in normal high speed mode.
Also, I am a little confused about the screen shots you are sending. Are you only showing one signal per plot? All of the plots appear to have two traces on them. Most have a noisy signal that looks like a bunch of spikes that has a frequency of around 400kHz, and then a signal that looks close to what we would expect on top of that. Is there any other test going on while you are taking the screenshots?
Lastly, could you try and disconnect the bus from one of the nodes and just look at the D, R CANH, and CANL pin of just on device to ensure it is operating normally?
Just to verify, there are only three wires shared between the two boards? GND, CANH and CANL. You don't have other cables running with them that could be coupling onto your scope probes?
Thank you for your reply.
I checked the issues you mentioned in you last reply:
1. The CAN_MODE node is connected to a SPI1_CLK pin of the controller (CAN bus was using the SPI0 pins of the controller). When I used the scope to measure the waveform on RS pin, I got a waveform similar to square wave. I think this might be the reason why the CAN bus was not working properly?
2. I was also confused about the waveforms. But the GND, CANH and CANL wires were the only three wires connected to the bus. The waveforms didn't change even if I disconnected one node from the bus (only one node and one 120 ohm resistor were left on the bus, the resistor was connected to CANH and CANL).
1. The CAN_MODE node is connected to a SPI1_CLK pin of the controller (CAN bus was using the SPI0 pins of the controller). When I used the scope to measure the waveform on RS pin, I got a waveform similar to square wave. I think this might be the reason why the CAN bus was not working properly? I think that if the part is going in and out of different modes that it could cause the messages to be corrupted or not received correctly. Can you try and tie that pin to ground so the device is in high speed normal mode. When you do this is the issue resolved?
2. I was also confused about the waveforms. But the GND, CANH and CANL wires were the only three wires connected to the bus. The waveforms didn't change even if I disconnected one node from the bus (only one node and one 120 ohm resistor were left on the bus, the resistor was connected to CANH and CANL). Once we resolve the mode issue, we can see if these waeforms clean up.
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.