AT91 SAM7X BasicCAN


The goal of this project is to show how to configure the CAN controller and how to manage CAN message transfers
.
Two mailboxes are used: one configured in transmission, the other in reception. The CAN controller tries to send on the bus messages through the mailbox 0 and waits for messages on mailbox 1.

The BasicCAN project example must run on two different boards as there is only one CAN connector by AT91SAM7X-EK board...
So, it is necessary to use two boards linked together by a CAN bus to run successfully the project.
The number of received and transmitted messages is displayed through the DBGU by a serial UART connection (115.2 Kbps, 8 data bits, no parity, 1 stop bit, no flux control).

This project is dedicated to the AT91SAM7Xxxx device and its corresponding Evaluation Board, the AT91SAM7X-EK.

Software tools

Related Documentation

Litterature Number Reference

ARM-Based Software Package
6016
AT91SAM7Xxxx Datasheet
6120
Bosch CAN Specification 2.0 Part A and Part B
-
CAN ISO Standardization:
Road vehicles -- Controller area network (CAN) ISO/11898
-

Source Files

Description Files

../src
Source code directory
../src/main.c (main.h)
Main application
../src/can.c CAN Specific code
../src/trace.h
Trace functions include file
../src/AT91SAM7X-EK.h
Evaluation Board Features Definition File
srcxxx/
Specific IDE source code directory
srcxxx/Cstartup.s79
Assembler Cstartup code
srcxxx/Cstartup.c
C Cstartup code
srcxxx/project.h
Project specific include file
srcxxx/at91sdio.c (at91sdio.h)
Stdio functions redefinition