Re: question about can bus

Heinz-Jürgen Oertel <[email protected]>
Newsgroups gmane.comp.hardware.bus.can
Organization privat
Message-ID <[email protected]>
Am Montag 08 April 2013, 12:28:42 schrieb Lacassaigne Jean-Francois:
> Hi,
> 
> thanks for your reply.
> while reading it, i realize that i was not really clear in my question.
> 
> I'm using only the physical layer of the can bus (not the protocol).
> the protocol is a custom made protocol.
> so there is no ack message (right now) when a command is received.
> 
> All work fine as long as i've only the PC sending command like "Device XX 
> put your Output #YY to ON"
> Device XX could even reply to the PC without trouble as no one else is going 
> to talk
> 
> Problem is that now, i need to add some devices who need to send messages to 
> the PC like "I'm device ZZ, my Input #WW just changed to On state"

The 'real' CAN controller does this by supervising the CAN bus
and sends (using TX) only  if the bus is free - some bit times recessive.
If more than one node sends at the same time,
the CAN controller starts with its CAN specific arbitration phase
to determine if it can use the bus after the arbitration was won.


> I know that one solution would be to use a can controller between my 
> microcontroller and the can transceiver, but it's not an option as i've 
> already hundreds of Output device produced and in service.
>
> Jean-Francois
> 
That is the first time I heard about using the CAN transceivers
without a CAN controller.
The CAN controller manages the bus access and it is the protocol
which manages the multi-master access.
You have to organize i similar process.

Regards
    Heinz

> 
> 
> -----Message d'origine----- 
> From: Kees Zagers
> Sent: Monday, April 08, 2013 11:44 AM
> To: [email protected]
> Subject: Re: [CANLIST] question about can bus
> 
> Hello Jean-Francois,
> 
> Greetings from the Netherlands.
> 
> First of all it should be clear what you understand with "Listen only".
> 
> If you mean: a node which has a standard CAN controller, but it is listening 
> only to what other nodes are doing, it is still an active CAN node. This 
> means it gives an Acknowledge when it receives a correct message and sends 
> an Errorframe when it is not correct.
> 
> If you mean: a node which has a CAN controller which can be switched to a 
> "Listen Only" or "Passive" state (e.g. SJA1000),  you can only read out the 
> messages with such a node. This is not active on the bus and will not send 
> Acknowledges nor Errorframes.
> 
> Rule 1: You should have at least two active nodes on a CANbus to let it work 
> anyway. The transmitting node is expecting an ACK at the end of the message 
> and if it does not see this, it sends the same information continously. The 
> second node can be an "active listen-only" node, not a passive one.
> 
> Rule 2: The ACK and errorframes are generated by the CAN controller; not the 
> CAN transceiver. So a CAN node with just a CAN transceiver is not a CAN node 
> at all; it is just a physical interface to the bus, converting the dominant 
> and recessive levels of the CANbus to logical levels for the receive input 
> of the CAN controller and on the other side it converts the logical levels 
> of the transmit output of the CAN controller to dominant/recessive levels on 
> the CANbus.
> 
> So your statement: "* listen only devices having only can bus transceiver." 
> is NOT TRUE.
> 
> Hope to have clarified the situation by this.
> 
> Kees Zagers
> SI-Kwadraat B.V.
> 
> [email protected]
> 
> 
> --
> Archives and useful links: http://groups.yahoo.com/group/CANbus
> Subscribe and unsubscribe at www.vector.com/canlist/
> Report any problems to <[email protected]>
--
Archives and useful links: http://groups.yahoo.com/group/CANbus
Subscribe and unsubscribe at www.vector.com/canlist/
Report any problems to <[email protected]>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.