[riot-notifications] [RIOT-OS/RIOT] can stm32: add a driver for STM32 bxCAN peripheral (#6178)

Vincent Dupont notifications at github.com
Mon Mar 25 16:25:09 CET 2019


First, you can't connect two CAN controllers directly, you need CAN transceivers in between, as in this picture:
```
    +----------------+        +-----------------+                +-----------------+        +----------------+
    |                |   TX   |                 |    CAN High    |                 |   TX   |                |
    | CAN Controller +--------> CAN Transceiver +----------------+ CAN Transceiver <--------+ CAN Controller |
    |                |        |                 |                |                 |        |                |
    |     STM32      <--------+                 +----------------+                 +-------->     STM32      |
    |                |   RX   |                 |    CAN Low     |                 |   RX   |                |
    +----------------+        +-----------------+                +-----------------+        +----------------+
```

Most of the transceivers have a low power mode where they can only pass received signals but not emit signals, so you have to ensure they are in normal mode.

The bus also needs to be terminated by a 120 ohm reistor at both ends of the bus (between CAN high and CAN low), see https://en.wikipedia.org/wiki/CAN_bus#/media/File:CAN_ISO11898-2_Network.png .

Missing ACK means that no node on the bus ACK'ed the frame (after the transmission, all nodes on the bus should write an ACK bit on the bus).

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/RIOT-OS/RIOT/pull/6178#issuecomment-476246760
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.riot-os.org/pipermail/notifications/attachments/20190325/25c9522b/attachment.html>


More information about the notifications mailing list