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

line 7   while ((CAN0CTL1 | 0x01) == 0) /*режим инициализации CAN */

line 8   {

line 9    CAN0CTL0 = CAN0CTL0 | 0x01

line 10  }

line 11  CANOBTR0 = 0xC1; /*установка бита синхронизации CAN*/

line 12  CAN0BTR1 = 0xF7;

line 13  CAN01DM0 = 0xFF; /*прием всех сообщений */

line 14  CAN01DM1 = 0xFF;

line 15  CAN01DM2 = 0xFF;

line 16  CAN01DM3 = 0xFF;

line 17  CAN01DM4 = 0xFF;

line 18  CAN01DM5 = 0xFF;

line 19  CAN01DM6 = 0xFF;

line 20  CAN01DM7 = 0xFF;

line 21  CAN0CTL0 = CAN0CTL0 & 0xFE; /*выход CAN из режима инициализации */

line 22  while ((CAN0CTL0 & 0x10) == 0){} /*ожидание синхронизации */

line 23  /*ожидание сообщения */

line 24  while ((CAN0RFLG & 0x01) == 0){} /*ожидание флага сообщения */

line 25  CAN0RFLG = CAN0RFLG | 0x01; /*очистка флага */

line 26  asm("swi");

line 27 } /* конец основной программы */

Мы видим, что первое отличие этой программы от предыдущей — это спецификация для регистров маскирования приемника в строках с 13-й до 20-ю. Команды устанавливают все биты маскирования в состояние логической 1, игнорируя весь код, поступающий на соответствующие приемные регистры. Таким образом все сообщения с любым содержанием для четырех регистров идентификатора будут приняты CAN контроллером.

Основное различие между двумя программами начинается в строке 23. По команде в строке 24 МК ожидает заполнения приемного буфера, команда в строке 25 очищает флаг приемника. Команда в последней строке останавливает программу, после чего МК мы можем проверить получение данных, рассматривая содержание приемного буфера, размещенного в ячейках от $0160 до $016F.

Приведенные прикладные программы показывают простейший сценарий, в котором действуют только два узла CAN сети. Мы предельно упростили пример, чтобы помочь Вам освоить начальное программирование CAN контроллеров в составе 68HC12. Для простоты мы избегали использования любых прерываний и запрограммировали контроллеры CAN таким образом, чтобы они могли принимать сообщения с любыми идентификаторами битами.

<p>9.6. Контроллер последовательного обмена BDLC</p>

Ранние версии 68HC12, например MC68HC912B32 и MC68HC12BE32, не имеют модулей CAN. Вместо этого, контроллеры содержат другой модуль сетевой связи — контроллер связи байтов данных (byte data link controller — BDLC). Этот модуль Вы можете увидеть в составе МК MC68HC912B32 на рис. 1.3. Модуль контроллера BDLC был разработан для подключения МК семейства 68HC12 к информационной сети, которая использует протокол J1850 общества автомобильных инженеров (SAE).

Сети передачи данных класса В протокола SAE J1850 предназначены для последовательной передачи данных на скоростях до 125 кб/с. Модуль BDLC использует переменный формат длительности временного интервала передачи бита, помехоподвляющие фильтры, механизм определения коллизий и циклический контроль избыточности для контроля за сохранностью переданных данных. Сообщение протокола J1850 состоит из начального символа кадра, приоритета сообщения, идентификатора сообщения, фактических данных, байта контрольной суммы CRC и символа конца данных. Модуль может функционировать в трех режимах: режиме с отключенным питанием (1), режиме сброса (2) и рабочем режиме (3). Кроме того, модуль BDLC поддерживает три энергосберегающих режима: BDLC и ЦП в режиме ожидания (1), BDLC в режиме останова, ЦП в режиме ожидания (2), BDLC и ЦП в режиме останова (3).

Модуль BDLC 68HC12 состоит из конечного автомата, мультиплексора, двух приемных и двух передающих регистров данных. Пять регистров управления используются, чтобы конфигурировать модуль BDLC для выбора источника тактирования, скорости передачи информации, режима работы, кодирования битов, разрешения прерываний. Три дополнительных регистра (регистр порта управления DLC, регистр порта данных DLC и регистр порта направления передачи данных DLC) используются, чтобы конфигурировать порт BDLC как универсальный порт ввода-вывода.

Протоколы SAE J1850 и CAN конкурируют в области управления локальными контроллерными сетями. Текущая тенденция показывает, что CAN протокол приобретает большую популярность среди пользователей, занимающихся промышленным применением, стремясь покрыть весь сектор локальных контроллерных сетей.

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

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

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных