Читаем Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С полностью

Флаг режима пробуждения WUPM (бит 1) регистра CMCR1 позволяет программисту устанавливать тип пробуждения, которое контроллер msCAN12 должен обнаружить перед выводом ЦП из спящего режима. Когда этот бит установлен, контроллер msCAN12 выведет ЦП из спящего режима только при появлении на шине CAN импульса определенной длительности. Бит WUPM устанавливается, чтобы предотвратить выход из спящего режима при любых сбоях или шумах, появившихся на CAN шине. Когда этот бит очищен, контроллер msCAN12 выводит ЦП из спящего режима при любом переходе шины из рецессивного в доминантное состояние.

Бит CLKSRC используется для выбора источника синхронизации контроллера msCAN12. Если этот бит сброшен, используется внешний тактовый генератор. Если этот бит установлен, в качестве источника синхронизации контроллера msCAN12 назначается внутренняя импульсная последовательность, частота которой вдвое превышает частоту ECLK (см. система тактирования).

Регистр CBTR0 определяет число периодов тактовой частоты msCAN12, из которого будет состоять квант времени синхронизации. На рис. 9.25 показано содержимое CBTR0. Назначение битов 7 и 6 мы рассмотрим ниже. Остальные биты в регистре, BRP5-BRP0, используются для масштабирования источника синхронизации msCAN12, чтобы генерировать желательный квант времени синхронизации. Снова напомним, что регистр может быть установлен только тогда, когда установлен бит SFTRES в CMCR0. Таблица 9.1 показывает как могут быть конфигурированы биты BRP5-BRP0, чтобы установить желательный масштаб.

Рис. 9.25. Формат регистра синхронизации шины CBTR0


BRP5BRP4BRP3BRP2BRP1BRP0Значение масштаба (P)
0000001
0000012
0000103
0000114
11111164

Таблица 9.1. Конфигурация системы масштабирования кванта времени


Контроллер msCAN12 использует квант времени в качестве временной базы, чтобы решить проблемы синхронизации. Как был упомянуто при обсуждении протокола CAN, для удобства синхронизации период времени присутствия каждого бита на CAN шине разделен на четыре сегмента: sync_seg

, prop_seg, phase_seg1 и phase_seg2. В msCAN12 эти четыре сегмента отображены тремя сегментами: sync_seg, time segment 1 и time segment 2. При этом sync_seg протокола CAN непосредственно отображается в sync_seg msCAN12, prop_seg и phase_seg1 протокола CAN отображается в time segment 1, а phase_seg2 протокола CAN отображается в time segment 2 контроллера msCAN12.

Сегмент sync_seg используется, чтобы синхронизировать узлы CAN сети. Сегмент имеет длину, равную одному кванту времени. В течение этого периода контроллер msCAN12 ожидает фронт сигнала. Длительность time segment 1 может составлять от 4 до 16 квантов времени, что определяется состоянием битов 0…3 регистра синхронизации шины CBTR1 (рис. 9.26). Длительность этого сегмента должна программироваться в соответствии с задержкой распространения передатчика и приемника, а также фазовой ошибкой фронта сигнала. Продолжительность сегмента time segment 2 составляет от 2 до 8 квантов времени, и может также программироваться, с помощью битов 4, 5 и 6 регистра CBTR1. Таким образом, продолжительность времени передачи одного бита может составлять от 7 до 25 квантов времени в зависимости от установки битов в регистре CBTR1.

Рис. 9.26. Формат регистра CBTR1


Биты от 0 до 3 (TSEG13, TSEG12, TSEG11, и TSEG10) используются, чтобы установить длительность time segment 1, в соответствии с табл. 9.2. Биты от 4 до 6 (TSEG22, TSEG21 и TSEG20) используются, чтобы конфигурировать время time segment 2, как показано в табл. 9.3. Бит SAMP определяет, будет ли использоваться одна или три выборки, чтобы измерить принимаемый бит сообщения. Если бит SAMP установлен, используются три выборки, если он очищен, то только одна. Регистр CBTR1 может изменяться только при установленном бите SFTRES в регистре CMCR0.

TSEG13TSEG12TSEG11TSEG10time segment 1
00001 квант времени
00012 кванта времени
00103 кванта времени
00114 кванта времени
111116 квантов времени

Таблица 9.2. Конфигурация длительности time segment 1


TSEG22TSEG21TSEG20time segment 2
0001 квант времени
0012 кванта времени
0103 кванта времени
0114 кванта времени
1118 квантов времени

Таблица 9.3. Конфигурация длительности time segment 2


Перейти на страницу:

Похожие книги

C# 4.0: полное руководство
C# 4.0: полное руководство

В этом полном руководстве по C# 4.0 - языку программирования, разработанному специально для среды .NET, - детально рассмотрены все основные средства языка: типы данных, операторы, управляющие операторы, классы, интерфейсы, методы, делегаты, индексаторы, события, указатели, обобщения, коллекции, основные библиотеки классов, средства многопоточного программирования и директивы препроцессора. Подробно описаны новые возможности C#, в том числе PLINQ, библиотека TPL, динамический тип данных, а также именованные и необязательные аргументы. Это справочное пособие снабжено массой полезных советов авторитетного автора и сотнями примеров программ с комментариями, благодаря которым они становятся понятными любому читателю независимо от уровня его подготовки. Книга рассчитана на широкий круг читателей, интересующихся программированием на C#.Введите сюда краткую аннотацию

Герберт Шилдт

Программирование, программы, базы данных
Программирование. Принципы и практика использования C++ Исправленное издание
Программирование. Принципы и практика использования C++ Исправленное издание

Специальное издание самой читаемой и содержащей наиболее достоверные сведения книги по C++. Книга написана Бьярне Страуструпом — автором языка программирования C++ — и является каноническим изложением возможностей этого языка. Помимо подробного описания собственно языка, на страницах книги вы найдете доказавшие свою эффективность подходы к решению разнообразных задач проектирования и программирования. Многочисленные примеры демонстрируют как хороший стиль программирования на С-совместимом ядре C++, так и современный -ориентированный подход к созданию программных продуктов. Третье издание бестселлера было существенно переработано автором. Результатом этой переработки стала большая доступность книги для новичков. В то же время, текст обогатился сведениями и методиками программирования, которые могут оказаться полезными даже для многоопытных специалистов по C++. Не обойдены вниманием и нововведения языка: стандартная библиотека шаблонов (STL), пространства имен (namespaces), механизм идентификации типов во время выполнения (RTTI), явные приведения типов (cast-операторы) и другие. Настоящее специальное издание отличается от третьего добавлением двух новых приложений (посвященных локализации и безопасной обработке исключений средствами стандартной библиотеки), довольно многочисленными уточнениями в остальном тексте, а также исправлением множества опечаток. Книга адресована программистам, использующим в своей повседневной работе C++. Она также будет полезна преподавателям, студентам и всем, кто хочет ознакомиться с описанием языка «из первых рук».

Бьёрн Страуструп , Ирина Сергеевна Козлова , Бьерн Страуструп , Валерий Федорович Альмухаметов

Программирование, программы, базы данных / Базы данных / Программирование / Учебная и научная литература / Образование и наука / Книги по IT