CAN-контроллер SAM7 может обрабатывать все типы фреймов (фреймы данных, удалённые фреймы, фреймы ошибки и перегрузки) и обеспечивает быстродействие 1 Мбит/с. Операции CAN-контроллера осуществляются пользователем через набор специальных регистров модуля CAN. В составе модуля CAN имеется 8 независимых объектов сообщений (почтовых ящиков).
Любой из почтовых ящиков может программироваться как приёмный буферный блок (даже как непоследовательный буфер). Для приёма определённых сообщений один или несколько объектов сообщений могут быть замаскированы с целью их неучастия в буферизации. Когда буфер полон, может быть сгенерировано прерывание.
Любой почтовый ящик может программироваться для передачи. Несколько запрограммированных для передачи почтовых ящиков могут быть разрешены одновременно. При этом приоритет может быть задан для каждого почтового ящика независимо.
Внутренний 16-битный таймер модуля CAN используется, чтобы "помечать" каждое принятое и посланное сообщение. Как только разрешается контроллер CAN, производится запуск этого таймера. Этот счётчик может быть сброшен приложением или автоматически после завершения приёма в последнем почтовом ящике. CAN-контроллер содержит логику поддержки протокола Time Triggered Communication (TTC).
Линии ввода/вывода
Выводы, используемые для обмена с помощью интерфейса CAN, могут быть мультиплексированы с линиями РЮ. В связи с этим необходимо предварительно запрограммировать контроллер РЮ, чтобы задать для выводов CAN их периферийные функции. Если линии ввода/вывода CAN не используются приложением, то они могут использоваться для других целей в контроллере РЮ.
