The CAN controller operates in AMBA bus systems where both the AMBA AHB bus and the APB bus are present. The AMBA APB bus is used for configuration, control and status handling. The AMBA AHB bus is used for retrieving and storing CAN messages in memory external to the CAN controller. This memory can be located on-chip, as shown in the block diagram, or external to the chip. The CAN controller supports transmission and reception of sets of messages by use of circular buffers located in memory external to the core. Separate transmit and receive buffers are assumed.
Reception and transmission of sets of messages can be ongoing simultaneously. After a set of message transfers has been set up via the AMBA APB interface the DMA controller initiates a burst of read accesses on the AMBA AHB bus to fetch messages from memory, which are performed by the AHB master. The messages are then transmitted by the CAN core. When a programmable number of messages have been transmitted, the DMA controller issues an interrupt.
- CAN-2.0 protocol
- Message transmission
- Message filtering and reception
- Synchronization message reception
- Status and monitoring
- Interrupt generation
- Redundancy selection
- AMBA AHB master and APB slave interfaces
- Compatible with AMBA-2.0
- Source code
- Synplify project file
- VHDL test bench
- Template design for LEON3 processor
- FPGA evaluation board (optional)