New answers tagged

0

You only have three transmit mailboxes. That means that you can set only three frames pending for transmit by the bxCAN controller. Others have to wait in software buffers. If you did not implement the error handlers of CAN bus and cancel transmission when they fail (eg: bus full, no acknowledge or arbitation failure) you will eventually use up all ...


0

If you wish to connect two or more CAN controllers/microcontrollers to the Tx/Rx lines of the transceiver while at the same time communicating with the rest of the bus, then no, that isn't possible. Each controller/MCU needs its own CAN transceiver. You can then connect the CANH + CANL lines together on the PCB, as well as route them to the connector. Also ...


1

Everything related to the clock is configured by the software running on the MCU. This includes what is the clock source (internal/external), the clock multiplication with PLL (if it is used or not), enabling and dividing down the clocks for buses and peripherals. There is no way we can know without looking at the source code how your software team has set ...


0

High is the default state for the tranceiver, it allows all other nodes to overwrite the bits by pulling it low. As used in the arbitration process or error flags. If it were reversed overwriting bits would be difficult since it would require a large amount of current going into the active transceivers.


0

Why does CAN Bus represents signals with an inverted logic, high voltage for a logic 0 and low voltage for a logic 1? CAN bus has two data wires: - Pictures from here. Therefore it drives one high whilst driving the other low. The fact that CAN Hi happens to be a high voltage when a logical 0 is being produced is countered by CAN Lo being a zero.


0

Possibly because pullup resistors might create the HIGH, which will put the CAN driver into recessive mode, allowing other drivers to use the bus. Part of fail-safe thinking.


4

The way your diagram is laid out this is exactly the same (electrically) as using drops at each node. Essentially, you need all of the CANL signals to be in parallel and the same for CANH. Since you are running the CAN backbone to each node with what is basically a very short drop you should be fine. A daisy chain configuration would have a CAN input and a ...


Top 50 recent answers are included