CAN Interface
RL-CAN
RL-ARM includes a generic CAN interface layer which provides a standard programming API for all supported microcontrollers. RL-CAN provides a quick and easy way to implement a CAN network, and provides code portability, should you need to migrate your code to another microcontroller.
Features
RTX Functions
The RL-CAN runs interrupt service routines using RTX Kernel functions for Mailbox Management and Memory Allocation. The RL-CAN uses one Memory Pool for all CAN messages and two mailbox arrays.
Generic Software Layer
The generic software layer allows users to apply the same interface across different targets and to easily switch from one target to another without changing the main application code. The RL-CAN API supports:
- Initialize/Start CAN Communication
- Define CAN message objects for RX/TX
- Send, request, and receive CAN messages
Hardware Dependent Layer
The RL-CAN hardware layer enables the generic software interface to function on many different targets, with each target having its own hardware layer implementation. The Hardware Layer supports the following devices:
- Atmel SAM7 & SAM9
- NXP LPC17xx, LPC21xx, LPC23xx, LPC24xx, & LPC29xx
- STMicroelectronics STR7, STR9, & STM32
- Texas Instruments Stellaris family
Further Information
RL-CAN Primer
This paper clearly expains the details of using CAN and helps you to implement a successful CAN-enabled system.
Note
- RL-CAN must be used with the RTX Real-Time Kernel