I tried the search and didn't see a great answer.
I have 500kbps CAN Bus coming in on pins 1-2 and 1Mbit CAN on pins 3-4. I have one CAN module and only ever need to use 1 bus at a time. So my options are to split the lines somehow.
- Running current is not an issue.
- I can wake on either bus.
- Non-isolated CAN bus, typical stuff.
- The termination should be different for the 1mbps bus and the 500kpbs buses.
- I am space limited on the PCB! Cost limited after space but it's definitely #2.
My options as I see them...
1. Run dual transceivers. Sub options:
A. Use transceivers that I can power down with a mosfet or some other switch, most transceiver claim to disconnect from bus when unpowered.
B. Put transistor/switch on the lines between the micro and transceiver. So in this way I can stop the RX and TX signals from getting to the "wrong" transceiver at any time. pin >> termination transceiver >> switch >> micro
C. Use the Micro's pin remapping. Carefully place the transceivers so that they are wired to valid micro lines, but internally in the micro I can switch these. This seems like the best option - but I'm planning for the possibility that I can't remap for some reason.
(seems like best option) 2. Split/Mux the CAN Bus lines to a single transceiver. So that pin >> transistor/switch >> termination >> transceiver >> micro.
Things I'm not sure of:
- Best option?
- Others options?
- Not entirely sure how to determine if splitting or multiplexing transceivers will work or if it might add too much capacitance or some other weird electrical issue.
- There are special transceivers with SLEEP pins (vs Standby which would NOT work as it allows signals to RX) but I didn't want to lock into a specific transceiver unless there was a good reason.
Any advice would be very welcome! Thanks