Use priority to identify each product.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.
Jis
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.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.
Jis
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: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.
thanks
jis