F40-43a (1041604), страница 41

Файл №1041604 F40-43a (Раздаточные материалы) 41 страницаF40-43a (1041604) страница 412017-12-26СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 41)

1.3216C8051F040/1/2/318. Контроллер локальной сети (CAN0)ПРИМЕЧАНИЕ: В микроконтроллеры семейства C8051F04x интегрирован CAN-контроллер BOSCH.В данном разделе приводится краткое описание CAN-контроллера, а также описывается интерфейсвзаимодействия между процессорным ядром CIP-51 и встроенным CAN-контроллером BOSCH. Болееподробная информация о работе CAN-контроллера приведена в руководстве Bosch’s C_CAN User’s Manual(revision 1.2).Микроконтроллеры C8051F40/1/2/3 имеют встроенный контроллер локальной сети (CAN), которыйпозволяет осуществлять последовательный обмен данными по протоколу CAN. Данный CAN-контроллеробеспечивает работу в сети CAN в соответствии со спецификациями Bosch 2.0A (базовый CAN) и 2.0B(расширенный CAN). CAN-контроллер состоит из CAN-ядра, ОЗУ сообщений (отдельного от ОЗУ CIP-51),конечного автомата обработки сообщений и регистров управления. Silicon Labs CAN-контроллер представляетсобой контроллер протокола и не имеет драйверов физического уровня (т.е.

приемопередатчиков). На рис. 18.1приведен пример типичной конфигурации шины CAN.Silicon Labs CAN-контроллер обеспечивает последовательный обмен данными со скоростью до1Мбит/сек., хотя эта скорость может быть ограничена физической средой, выбранной для передачи данных пошине CAN.

СAN-процессор имеет 32 буфера сообщений, которые могут быть настроены для передачи илиприема данных. Поступающие данные, буферы сообщений и их маски идентификаторов сохраняются в ОЗУсообщений CAN-контроллера. Все функции протокола, связанные с передачей данных и фильтрациейпоступающих сообщений, выполняются CAN-контроллером, а не ядром CIP-51. Это обеспечиваетминимальную нагрузку на процессор при осуществлении взаимодействия по протоколу CAN. CIP-51настраивает CAN-контроллер, принимает полученные данные и выдает данные для передачи с помощьюрегистров специального назначения CAN-контроллера.Рисунок 18.1.

Типичная конфигурация шины CAN.C8051F04xCANTXCANRXCANприемопередатчикРазвязка/Буфер (при необходимости)Устройство,поддерживающеепротокол CANУстройство,поддерживающеепротокол CANCANCANприемопередатчикприемопередатчикРазвязка/Буфер (при необходимости)Развязка/Буфер (при необходимости)CAN_HRRCAN_L217Ред. 1.3C8051F040/1/2/318.1. Функционирование контроллера CAN.CAN-контроллер,реализованныйвМКсемействаC8051F04x,представляетсобойполнофункциональный Bosch CAN модуль и полностью соответствует спецификации CAN 2.0B. На рис.

18.2приведена структурная схема CAN-контроллера. CAN-ядро реализует последовательную передачу/прием(CANTX/CANRX) данных, преобразование форматов сообщений (последовательный/параллельный), а такжедругие функции протокола, такие как передачу данных и фильтрацию поступающих сообщений. ОЗУсообщений содержит 32 буфера сообщений, которые можно передать в CAN-сеть или заполнить данными изCAN-сети.

Регистры CAN и обработчик сообщений обеспечивают интерфейс обмена данными иуведомлениями между CAN-контроллером и ядром CIP-51.Функционирование и использование CAN-контроллера подробно описано в руководстве пользователяBosch CAN User’s Guide, которое следует использовать при настройке CAN-контроллера. В данном Datasheetописывается, как обеспечить доступ к CAN-контроллеру.Типичная последовательность действий для инициализации CAN-контроллера состоит из следующихшагов:Шаг 1. Установить в регистре SFRPAGE страницу CAN0_PAGE.Шаг 2. Установить в 1 биты INIT и CCE регистра управления CAN. (Описания бит приведены вруководстве Bosch CAN User’s Guide).Шаг 3.

Установить временные параметры в регистре BTR и в дополнительном регистре BRP.Шаг 4. Инициализировать каждый буфер сообщений или установить его бит MsgVal в состояние NOTVALID.Шаг 5. Сбросить в 0 бит INIT.Обращение к регистру управления CAN (CAN0CN), регистру тестирования CAN (CAN0TST) ирегистру состояния CAN (CAN0STA) CAN-контроллера возможно в режимах прямой или косвенной адресациис помощью регистров специального назначения (SFR) CIP-51. Все другие CAN-регистры должны адресоватьсяс помощью метода косвенной индексации, описанного в разделе “Использование регистров CAN0ADR,CAN0DATH и CAN0DATL для доступа к CAN-регистрам”.Рисунок 18.2.

Структурная схема контроллера CAN.CANTXC8051F040/1/2/3CANRXCAN контроллерTXRXCAN_CLKBRPпредделительЯдроCAN(fsys)SYSCLKCIP-51MCUОЗУ сообщений(32 буфера сообщений)Обработчик прерыванийРед. 1.3РЕГИСТРЫSFR'sПрерывание218C8051F040/1/2/318.1.1. Тактирование контроллера CAN.Частота тактирования CAN-контроллера (fsys) определяется системной тактовой частотой CIP-51(SYSCLK). Следует иметь ввиду, что обычно требуется использовать внешний генератор (например, генераторс кварцевым резонатором) для обеспечения высокой точности временных параметров, определяемыхспецификацией на протокол CAN. Дополнительная информация по этой теме приведена в разделе “4.10.4Oscillator Tolerance Range” руководства пользователь Bosch CAN User’s Guide.18.1.2.

Пример расчета частоты тактирования CAN-контроллера для передачиданных со скоростью 1Мбит/сек.Этот пример показывает, как настроить временные параметры CAN-контроллера для обмена даннымисо скоростью 1Мбит/сек. В табл. 18.1 приведены системные параметры, необходимые для расчета.Таблица 18.1. Основные системные параметры.ПараметрСистемная тактовая частота CIP-51(SYSCLK)Значение22,1184 МГцЧастота тактирования CAN-контроллера(fsys)Период тактирования CAN-контроллера(tsys)Период дискретизации CAN-контроллера(tq)Длина шины CANВремя задержки распространения(Прим. 3)22,1184 МГцОписаниеВнешний генератор функционирует в режиме скварцевым резонатором. Кварцевый резонатор22,1184 МГц подключен между выводамиXTAL1 и XTAL2.Определяется частотой SYSCLK.Определяется как 1/ fsys45,211 нсОпределяется как tsys х BRP.См.

примечание 1 и примечание 2.Задержка распространения сигнала между CANузлами составляет 5 нс/м.2 х (задержка петли приемопередатчика +задержка линии)45,211 нс10 м400 нсПримечание1: Период дискретизации CAN-контроллера (tq) представляет собой минимальныйинтервал времени, различаемый CAN-контроллером. Временные параметры часто определяются в целыхединицах периода дискретизации.Примечание 2: Предварительный делитель скорости (частоты) передачи данных (Baud Rate Prescaler BRP) определяется как значение дополнительного регистра BRP плюс 1.

После сброса дополнительный регистрBRP принимает значение 0х0000; предварительный делитель скорости (частоты) передачи данных после сбросаимеет значение 1.Примечание 3: Определяется спецификацией ISO-11898 на приемопередатчики. CAN не определяетпараметры физического уровня.Рисунок 18.3. Четыре сегмента битового интервала CANБитовый интервал CAN (4…25 tq)||Sync_Seg1 tqProp_SegPhase_Seg1Phase_Seg21 … 8 tq1 … 8 tq1 … 8 tq| 1 tq |219Точка выборкиРед. 1.3C8051F040/1/2/3Каждый бит, передаваемый по сети CAN, состоит из 4-х сегментов (Sync_Seg, Prop_Seg, Phase_Seg1 иPhase_Seg2), как показано на рис. 18.3.

Сумма этих сегментов определяет битовый интервал CAN (1/скоростьпередачи в битах). В данном примере требуется получить скорость передачи 1 Мбит/сек.; поэтомунеобходимый битовый интервал составляет 1000 нс.Мы будем устанавливать длину 4-х битовых сегментом таким образом, чтобы их сумма как можноточнее соответствовала необходимому битовому интервалу. Т.к. длина каждого сегмента задается целымчислом периодов дискретизации, то наиболее точно требуемому значению соответствует битовый интервал,равный 22 tq (994.642 нс), которому соответствует скорость передачи 1.00539 Мбит/сек. Prop_Seg не долженбыть менее времени задержки распространения (400 нс); мы выбираем 9 tq (406.899 нс).Оставшиеся периоды дискретизации (tq) в битовом интервале делятся между сегментами Phase_Seg1 иPhase_Seg2, как показано в уравнении 18.2.

Мы выбираем Phase_Seg1 = 6 tq и Phase_Seg2 = 6 tq.Уравнение 18.2. Расчет фазовых сегментовPhase_Seg1 + Phase_Seg2 = Битовый интервал – (Sync_Seg + Prop_Seg)Примечание 1: Если сумма Phase_Seg1 + Phase_Seg2 четная, то Phase_Seg2 = Phase_Seg1.В противном случае Phase_Seg2 = Phase_Seg1 +1.Примечание 2: Длительность Phase_Seg2 должна быть не менее 2 tq.Ширина перехода синхронизации (Synchronization Jump Width - SJW) определяется из уравнения 18.3.Этот параметр используется для определения значения, которое необходимо записать в регистр BTR, а такжедля определения требуемой точности генератора.

Т.к. в качестве источника системных тактовых импульсов мыиспользуем кварцевый генератор, то нет необходимости рассчитывать точность генератора.Уравнение 18.3. Ширина перехода синхронизации (SJW)SWJ = min(4, Phase_Seg1)Значение, записываемое в регистр BTR, можно вычислить, используя уравнение 18.4. Вдополнительном регистре BRP остается значение, записываемое в него после сброса.Уравнение 18.4.

Расчет значения регистра BTRBRPE = BRP - 1 = Дополнительный регистр BRP = 0x0000SJWp = SJW - 1 = min ( 4, 6 ) - 1 = 3TSEG1 = (Prop_Seg + Phase_Seg1 - 1) = 9 + 6 - 1 = 14TSEG2 = (Phase_Seg2 - 1) = 5Регистр BTR = (TSEG2 * 0x1000) + (TSEG1 * 0x0100) + (SJWp * 0x0040) + BRPE = 0x5EC0Ред. 1.3220C8051F040/1/2/3Для инициализации регистров временных параметров CAN необходимо выполнить последовательностьдействий, состоящую из следующих шагов:Шаг 1. Установить в регистре SFRPAGE страницу CAN0_PAGE.Шаг 2.

Установить в 1 биты INIT и CCE регистра управления CAN, доступного через SFR регистрCAN0CN.Шаг 3. Записать в регистр CAN0ADR значение 0х03, указывающее на регистр BTR.Шаг 4. Записать значение 0х5ЕС0 в SFR регистры [CAN0DATH:CAN0DATL], чтобы установитьрегистр BTR, используя метод косвенной индексации, описанный в разделе 18.2.5.Шаг 5. Выполнить другие действия по инициализации CAN.221Ред. 1.3C8051F040/1/2/318.2.

Регистры CAN.Регистры CAN классифицируются следующим образом:1.2.3.4.Регистры протокола CAN-контроллера: регистр управления CAN, регистр прерывания, регистрконтроля ошибок, регистр состояния шины, регистр тестирования.Интерфейсные регистры буферов сообщений: Используются для настройки 32 буферов сообщений,для передачи данных в буферы сообщений и приема данных из них.

Процессорное ядро CIP-51обращается к ОЗУ сообщений CAN посредством интерфейсных регистров буферов сообщений.При записи номера буфера сообщения в регистр запроса команды IF1 или IF2 содержимоесоответствующих интерфейсных регистров (IF1 или IF2) будет передано в буфер сообщений,находящийся в ОЗУ CAN, или получено из него.Регистры обработчика сообщений: Эти регистры доступны только для чтения. Они используютсяядром CIP-51 для получения информации о буферах сообщений (флаги MSGVLD, ожиданиезапроса передачи, флаги поступления новых данных) и об отложенных прерываниях (который избуферов сообщений вызвал прерывание или условие возникновения прерывания).Регистры специального назначения (SFR) ядра CIP-51: Пять регистров, расположенные в памятиCIP-51, обеспечивают прямой доступ к некоторым регистрам протокола CAN-контроллера ииндексный косвенный доступ ко всем регистрам CAN.18.2.1.

Регистры протокола CAN-контроллераРегистры протокола CAN-контроллера используются для настройки CAN-контроллера, обслуживанияпрерываний, слежения за состоянием шины и перевода контроллера в тестовые режимы работы. Доступ крегистрам протокола CAN-контроллера осуществляется через SFR регистры CIP-51 с помощью индексногометода. К некоторым регистрам протокола CAN-контроллера можно обращаться непосредственно путемадресации SFR регистров в памяти CIP-51.К регистрам протокола CAN-контроллера относятся: регистр управления CAN (CAN0CN), регистрсостояния CAN (CAN0STA), регистр тестирования CAN (CAN0TST), регистр счетчика ошибок, регистр BTR идополнительный регистр BRP (регистр предварительного делителя скорости передачи данных).

Характеристики

Тип файла
PDF-файл
Размер
4,96 Mb
Тип материала
Высшее учебное заведение

Список файлов учебной работы

Раздаточные материалы
Описания к различным сериям микроконтроллеров
Описания некоторых систем передачи данных
Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6417
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее