4 releases (breaking)
0.5.0 | Mar 4, 2024 |
---|---|
0.4.0 | Oct 24, 2023 |
0.3.0 | Apr 24, 2023 |
0.2.0 | Dec 15, 2022 |
0.1.0 |
|
#741 in Embedded development
909 downloads per month
Used in atsame54_xpro
505KB
12K
SLoC
MCAN
The M_CAN is a CAN IP module that can be realized as a standalone device, as part of an ASIC or on an FPGA. It performs communication according to ISO11898-1:2015. It supports Classical CAN and CAN FD (CAN with Flexible Data-rate). Additional transceiver hardware is required for connection to the CAN physical layer. The message storage is intended to be a single or dual-ported Message RAM outside of the module. It is connected to the M_CAN via the Generic Master Interface. Depending on the chosen integration, multiple M_CAN controllers may share the same Message RAM. The Host CPU is connected via the 32-bit Generic Interface.[^1]
[^1]: Bosch M_CAN
Repository content
This repository provides two crates:
mcan
It contains a platform-agnostic HAL for MCAN, with support for
- classical CAN and CAN FD with bitrate switching
- message transmission using dedicated buffers, FIFO and priority queue
- message reception using dedicated buffers and two FIFOs
- message transmission cancellation
- filter settings
mcan-core
It contains traits meant to be implemented by target HALs in order to resolve platform-specific details
Acknowledgement
MCAN HAL was developed by Grepit AB and financed by Volvo Cars Corporation
This project is not affiliated with Robert Bosch GmbH
and as such
should be considered unofficial.
Authors
License
Licensed under either of:
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Dependencies
~485KB