The C_CAN is a CAN IP module that can be realized as a stand-alone device, as part of an ASIC, or as a FPGA. The C_CAN performs communication according to ISO 11898-1 (identical to Bosch CAN specification 2.0 parts A and B). For connection to the physical layer additional transceiver hardware is required.
For communication on a CAN network, individual Message Objects are configured. The Message Objects and Identifier Masks are stored in the Message RAM. All functions concerning the handling of messages are implemented in the Message Handler. Those functions are the acceptance filtering, the transfer of messages between the CAN_Core and the Message RAM, and the handling of transmission requests as well as the generation of the module interrupt. The register set of the C_CAN can be accessed directly by an external CPU via the module interface. These registers are used to control/configure the CAN_Core and the Message Handler and to access the Message RAM. The ASIC version is delivered with the AMBA APB bus interface from ARM. For Altera FPGAs the Altera Avalon bus interface is provided, for Lattice FPGAs the Wishbone interface. They can easily be replaced by a user-defined module interface.

