A protocol framework that enables easy and clean implementation of CAN communication paths. Optimized for speed, flexibility and size, and built with high portability in mind.
The μC/OS CAN module reduces development efforts to embed CAN. Developers need only an understanding of signals, messages and bus configurations. Different abstraction layers can be used independently.
The μC/OS CAN module can communicate via one or more CAN buses simultaneously. The bus management layer organizes the CAN buses and distributes messages to different device drivers. The device driver layer buffers the CAN messages to be sent and received. All hardware dependencies are capsulated in this layer. An embedded target can also have multiple, different CAN controllers.
A validation suite provides all documentation necessary to support the use of the μC/OS CAN module in safety-critical systems.
The features of the µC/OS CAN module include:
This layer gives access to logical signals, located in one or more CAN messages. Changes in signals can be checked, and predefined actions executed.
The message layer organizes all information necessary for sending and receiving CAN messages. Identifier, data length code (DLC) and data (and linked signals) are bundled and dedicated to one or more buses.
The CANopen stack is a scalable solution for limited-resource embedded systems. The stack is delivered in ANSI-C source code and can be compiled with any ANSI-C compliant compiler. The stack is available as CANopen Slave along with a windows application for the automatic source code generation of the object directory and EDS files.
CANopen Slave is full featured product designed for CANopen protocol handling. It supports the following features:
CANopen Config is a windows application for configuration of the object directory and the EDS-file of all CANopen stack variants. The tool allows the template-based generation of ANSI-C code and EDS files.
The µC/OS CAN module requires the following amount of RAM on the embedded product.
|Maximum ROM Footprint (Unscaled)||7.5 kB (on MPC565) to 11.7 kB (on MPC5200B)|
|RAM usage||Configuration dependent:
• 29 bytes (unscaled without padding)
• 11 bytes (scaled without padding)
• 10 bytes (unscaled without padding)
• 3 bytes (scaled without padding)
The following is a list of objects available for use with Micrium's CANopen Slave.
|SDO Server||Up to 127||Up to 127||Up to 127|
|SDO Client||No||No||Up to 127|
|SDO Exp. Transfer||Yes||Yes||Yes|
|SDO Normal Transfer||No||Yes||Yes|
|SDO Block Transfer||No||Yes||Yes|
|PDO Producer||Up to 512||Up to 512||Up to 512|
|PDO Consumer||Up to 512||Up to 512||Up to 512|
|PDO Com. Parameter||Static||Dynamic||Dynamic|
|PDO Remote Transfer||No||No||No|
|NMT Heartbeat Producer||Yes||Yes||Yes|
|NMT Heartbeat Consumer||No||No||Yes|
|NMT Node Guarding||No||No||No|
|EMCY History Size||1||Up to 250||Up to 250|
|OD String Length||Up to 4||Up to 4||Unlimited|
The µC/OS CAN module is supported on a wide range of MCUs.
This table shows the current architectures of our silicon partners that we have CAN device controller support for.
If you don’t see the driver you are looking for please contact our sales department. We can give you the latest information on new driver development.
|Analog Devices||ADSP BF537|
Micrium embedded components are priced as individual modules or as bundled solutions. Check out our licensing page for more information.
Micrium's user documentation is available online on the Micrium documentation site.