Discussion in 'General Electronics Chat' started by jismagic, Jun 14, 2014.
Can i switch a CAN (Controller area network) lines with a analog multiplexer?
That depends on your deep understanding of CAN signaling requirements. In my estimation it is a foolish thing to do because an analog switch is far more expensive than a CAN transceiver whose costs benefit from the economies of scale provided by the use of CAN in automotive and industrial applications. Certainly you WANT a capable transceiver if you are driving any length of cable or trying for a high baudrate.
Thanks for reply.
I am trying to send CAN message to 3 different products , one after another. I cannot connect all of them in one bus because all are same product and hence I will not who is responding. That's where I thought of a switch. I am trying to avoid 3 transceivers because I may have more products in future and I do not want to add as I never use them together.
Use priority to identify each product.
That is the wrong approach. The solution to your problem is to divide up the CAN identifier space so you can accomplish two different things. When a master sends out a "broadcast" request, all devices respond but use different identifiers. All responses will be received and arbitration will keep two or more responders from stepping on each other's messages. The second thing you want is for a master or peer to send out a request to a specific node and only that node responds.
The bad thing with switching nodes on and off the network is that they may go BUS OFF which means they become deaf and dumb which is a bad bad thing. You want ALL nodes on a network listening and looking for errors ALL the time. Trust me on this.
Clearly you need to learn more about how CAN actually works instead of just assuming that you know.
Not sure how to prioritise
since we have same message coming from 3 product. how do i control what is sent from other side.
I have a pic attached which explains the problem.
i have no control over product. I can request for data and receive response.
You need to look deeper into the products. Of course they are all the same and of course they all have the same software, but it does not follow that they all produce the same response. In many CAN implementations there is the ability to set a node address which is used by the salve node to construct the identifier which it attaches to the CAN data. If the product cannot do this it violates one of the cardinal rules of CAN networks:
Cardinal Rule of CAN
Two nodes MUST NOT TRANSMIT the same IDENTIFIER. If they do, arbitration becomes impossible. You must dig deeper into the product documentation or find another product.