Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Doubt on CAN lines

Status
Not open for further replies.
I have this doubt can dominant is represented by logic 0, can recessive is represented by logic 1 how is this? I mean for dominant bit, I know the difference between can high line and can low line is 2volts. For recessive it is 0 volts and there are two lines of high and low, but we are speaking of a single logic level. I am not able to understand.
 
I have this doubt can dominant is represented by logic 0, can recessive is represented by logic 1 how is this?


Whether a HIGH or LO is represents a logic 1 or 0 is purely up to how the designer (and how the other designers of other equipment interfacing with that component) want to interpret it.

It is like a traffic light. Red = stop and green = go. But if we wanted to, red = go and green = stop. It's just that the designer and people who will be working with the part have to agree with each other. What it actually is doesn't matter.

For recessive it is 0 volts and there are two lines of high and low, but we are speaking of a single logic level. I am not able to understand.

In both differential and non-differential signals, you are measuring the voltage difference between two lines.

But In non-differential lines, one line always sits at at the same reference voltage and does not change (usually GND or 0V) while the voltage on the other line changes.
fig2.gif

But in a differential line like the CAN bus, both lines changes in opposite directions. You do not have one line that remains at a fixed static reference voltage. The voltage between the two lines gets closer for one logic level (moves towards a mid-point voltage) and moves farther apart for the opposite logic level.

The HI and LO name for the line is just a name for the lines since one line can have a higher voltage during certain logic states. It's not referring to actual logic levels. You could just name the lines A and B instead of HI and LO.

It's also possible in some protocols for the two differential lines to completely swap voltages with each other for different logic levels, rather than just moving together or away from each other. In this case it doesn't make much sense to names the lines HI and LO.

canbus_waveform_2.pngCAn0-waveform.gif
 
Last edited:
The main reason for the can bit 0 being recessive high is that it doesnt interfere with other devices.
To have a logic zero the can device just opens the bus, or makes the pin connected to the bus high impedance, this allows the pull up resistor to pull the line high.
On a vehicle which is what can was designed for if a device fails, a fuse blows or malfunctions it can be designed so that most likely the device just releases the bus, or goes high impedance, meaning that all other devices sharing the same bus are able to still work instead of everything hanging.
Can doesnt specify bit rates or voltages, that depends on the manufact.
 
On a vehicle which is what can was designed for if a device fails, a fuse blows or malfunctions it can be designed so that most likely the device just releases the bus, or goes high impedance, meaning that all other devices sharing the same bus are able to still work instead of everything hanging. ...
My emphasis.
Clever. Makes sense. I wonder if aviation "fly by wire" uses a similar scheme (I certainly hope so... :woot:).
 
Yes very much so Bob.

When you are designing a bus with things like abs and air bags operating off it the last thing you need is a blown courtesy light stopping the air bags saving your life (allthough these have a can bus connection I think its just for on board diagnosis not for deployment, but I'm sure you get my drift).
 
Yeah, I think fly-by-wire just means there is a computer within the control system somewhere in that you don't have a direct mechanical connection to the control surfaces. You're sending electrical signals from your control stick rather than being directly connected with a mechanical linkages. Not that multiple actuators are on a network.
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top