Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Stenin Lab / C8051F60-67-устройство МК.pdf
Скачиваний:
150
Добавлен:
10.02.2015
Размер:
5.19 Mб
Скачать

C8051F060/1/2/3/4/5/6/7

19. Контроллер локальной сети (CAN0)

ПРИМЕЧАНИЕ: CAN-контроллер BOSCH интегрирован в микроконтроллеры C8051F060/1/2/3. В данном разделе приводится краткое описание CAN-контроллера, а также описывается интерфейс взаимодействия между процессорным ядром CIP-51 и встроенным CAN-контроллером BOSCH. Более подробная информация о работе CAN-контроллера приведена в руководстве Bosch’s C_CAN User’s Manual (revision 1.2).

Микроконтроллеры C8051F60/1/2/3 имеют встроенный контроллер локальной сети (CAN), который позволяет осуществлять последовательный обмен данными по протоколу CAN. Данный CAN-контроллер обеспечивает работу в сети CAN в соответствии со спецификациями Bosch 2.0A (базовый CAN) и 2.0B (расширенный CAN). CAN-контроллер состоит из CAN-ядра, ОЗУ сообщений (отдельного от ОЗУ CIP-51), конечного автомата обработки сообщений и регистров управления. Silicon Labs CAN-контроллер представляет собой контроллер протокола и не имеет драйверов физического уровня (т.е. приемопередатчиков). На рис. 19.2 приведен пример типичной конфигурации шины CAN.

Silicon Labs CAN-контроллер обеспечивает последовательный обмен данными со скоростью до 1Мбит/сек., хотя эта скорость может быть ограничена физической средой, выбранной для передачи данных по шине CAN. СAN-процессор имеет 32 буфера сообщений, которые могут быть настроены для передачи или приема данных. Поступающие данные, буферы сообщений и их маски идентификаторов сохраняются в ОЗУ сообщений CAN-контроллера. Все функции протокола, связанные с передачей данных и фильтрацией поступающих сообщений, выполняются CAN-контроллером, а не ядром CIP-51. Это обеспечивает минимальную нагрузку на процессор при осуществлении взаимодействия по протоколу CAN. CIP-51 настраивает CAN-контроллер, принимает полученные данные и выдает данные для передачи с помощью регистров специального назначения (SFR). Частота тактирования CAN-контроллера (fSYS, или CAN_CLK в C_CAN User’s Guide) равна тактовой частоте CIP-51 (SYSCLK).

225

Ред. 1.2

 

 

C8051F060/1/2/3/4/5/6/7

Рисунок 19.1. Структурная схема контроллера CAN.

CANTX

CANRX

C8051F060/1/2/3

 

CAN контроллер

 

 

 

 

S

TX

RX

CAN_CLK

Y

S

BRP

 

Ядро

предделитель

C

 

(fsys)

 

L

 

CAN

 

K

 

 

 

CIP-51

 

ОЗУ сообщений

 

MCU

 

РЕГИСТРЫ

S

(32 буфера сообщений)

 

F

 

 

 

R

 

 

 

's

 

Обработчик прерываний

Прерывание

 

Рисунок 19.2. Типичная конфигурация шины CAN.

 

C8051F04x

 

 

 

 

 

 

 

Устройство,

 

 

 

Устройство,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CANTX

CANRX

 

 

поддерживающее

 

 

поддерживающее

 

 

 

 

 

протокол CAN

 

 

 

протокол CAN

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CAN

 

 

 

 

 

 

 

CAN

 

 

 

 

CAN

 

 

 

 

приемопередатчик

 

 

 

 

приемопередатчик

 

 

 

 

приемопередатчик

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Развязка/Буфер (при необходимости)

Развязка/Буфер (при необходимости)

Развязка/Буфер (при необходимости)

 

 

CAN_H

R

 

R

 

 

CAN_L

Ред. 1.2

226

C8051F060/1/2/3/4/5/6/7

19.1. Функционирование контроллера CAN.

CAN-контроллер, реализованный в МК C8051F060/1/2/3, представляет собой полнофункциональный Bosch CAN модуль и полностью соответствует спецификации CAN 2.0B.

Функционирование и использование CAN-контроллера подробно описано в руководстве пользователя Bosch CAN User’s Guide, которое следует использовать при настройке и использовании CAN-контроллера. В данном Datasheet фирмы Silicon Labs описывается, как обеспечить доступ к CAN-контроллеру.

Обращение к регистру управления CAN (CAN0CN), регистру тестирования CAN (CAN0TST) и регистру состояния CAN (CAN0STA) CAN-контроллера возможно в режимах прямой или косвенной адресации

спомощью регистров специального назначения (SFR) CIP-51. Все другие CAN-регистры должны адресоваться

спомощью метода косвенной индексации, описанного в разделе “Использование регистров CAN0ADR, CAN0DATH и CAN0DATL для доступа к CAN-регистрам”.

227

Ред. 1.2