Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С
Шрифт:
Глава 9
РАСПРЕДЕЛЕННЫЕ СЕТИ С ИНТЕРФЕЙСОМ msCAN
ПОСЛЕ ИЗУЧЕНИЯ ГЛАВЫ ВЫ СМОЖЕТЕ:
• Рассказать о назначении информационных промышленных сетей;
• Описать протокол CAN;
• Рассказать об аппаратных средствах, необходимых для объединения в CAN сеть нескольких микропроцессорных контроллеров;
• Создать программу синхронизации контроллеров в CAN;
• Описать различия между модулем msCAN семейства HC12 и модулем msCAN семейства HCS12;
• Создать программу для модуля msCAN12, позволяющую осуществлять связь с другими узлами CAN сети;
• Кратко рассказать о работе контроллера последовательного обмена BDLC, также позволяющего
В этой главе, мы изучим еще один тип контроллера последовательного обмена, который наряду с ранее рассмотренными модулями SPI и SCI, присутствует в составе МК семейства 68HC12/HCS12. Сначала мы кратко остановимся на информационных сетях из обычных компьютеров, рассмотрим проблемы, связанные с их организацией. Далее мы исследуем возможность создания распределенных систем на основе микроконтроллеров, изучим аппаратные средства и режимы работы специального сетевого интерфейса msCAN в составе МК 68HC12/HCS12, научимся составлять простые программы для обмена сообщениями между несколькими узлами распределенной системы управления с обменом по протоколу CAN.
9.1. Компьютерные сети
Система, состоящая из некоторого количества компьютеров, объединенных локальной вычислительной сетью, имеет ряд преимуществ перед совокупностью отдельных компьютеров. Одной из основных причин, по которым целесообразно объединять независимые компьютеры в сеть, является способность совместно использовать ресурсы. Например, при создании сети компьютеров в офисе, нет необходимости оснащать каждый компьютер отдельным принтером. Принтер, связанный с информационной сетью, может использоваться всеми компьютерами этой сети. Точно так же программные ресурсы могут быть распределены между объединенными в сеть компьютерами. Тогда каждый компьютер сети может обращаться к необходимым программам, которые хранятся на жестком диске другого компьютера. В дополнение к совместному использованию программ, информационные сети позволяют быстро обмениваться данными. Наиболее ярко преимущества обмена информацией по сети демонстрирует гигантская сеть Internet. Каждый пользователь Internet имеет доступ к чрезвычайно обширному объему данных, хранящихся в миллионах компьютеров во всем мире. И в заключение, сегодняшние компьютерные сети облегчают связь между пользователями компьютеров, увеличивая производительность, эффективность работы и прибыль компании.
Существует множество различных типов компьютерных сетей. Глобальная сеть (WAN — Wide Area Network), такая, например, как Internet — это компьютерная сеть, которая охватывает большую область информационных ресурсов, включая компьютерные ресурсы многих государств, стран и целых континентов. Локальная сеть (LAN — Local Area Network) — это сеть, которая существует внутри учреждения, компании, или организации — например, сеть для вашей школы или вашей компании. Малая локальная сеть (SAN — Small Area Network) — это компьютерная сеть, созданная для небольшого офиса или для нескольких домашних компьютеров. При этом типе сети число компьютеров, связанных с сетью, обычно не превышает десяти.
9.2. Промышленные сети
В этой главе мы рассмотрим локальные промышленные сети, которые объединяют некоторое количество встраиваемых микропроцессорных систем. Поскольку встраиваемые системы в соответствие с их назначением принято также именовать именовать контроллерами (от слова control — управлять), то один из наиболее перспективных стандартов промышленных сетей назвали CAN (Controller Area Network). Сети CAN появились в середине 1980-ых в автомобильной промышленности, когда возникла необходимость связать несколько микроконтроллеров автомобиля с целью повышения эффективность управления.
Рис. 9.1. Простая локальная контроллерная сеть для автомобиля
Все сети должны иметь протоколы — правила, по которым устанавливается связь между компонентами сети. Эти правила включают общие данные о длине, синхронизации передаваемых или получаемых битов, методах проверки правильности полученного сообщения, и способах согласования большого числа узлов сети, одновременно осуществляющих обмен информацией.
9.3. Сети с протоколом CAN
В этом разделе мы подробно рассмотрим локальные контроллерные сети c протоколом CAN. В частности мы изучим принципы работы интерфейсного модуля msCAN12 в составе микроконтроллеров 68HC12/HCS12 и шаги, необходимые, чтобы конфигурировать и программировать модули msCAN12 для связи с другими такими же модулями CAN. В частности мы изучим принципы работы интерфейсного модуля msCAN12 в составе микроконтроллеров 68HC12/HCS12 и шаги, необходимые, чтобы конфигурировать и программировать модули msCAN12 для связи с другими такими же модулями при их совместной работе в сети. Но прежде чем начать обсуждение свойств периферийных модулей msCAN12, опишем протокол обмена, используемый в CAN сетях.
9.3.1. Протокол CAN
Протокол CAN был первоначально создан для автомобильных прикладных решений. Но вскоре концепции и преимущества CAN привлекли внимание разработчиков из других областей промышленности, и этот протокол стал одним из самых распространенных методов работы с сетями для небольших распределенных систем реального времени. Мы проведем здесь лишь краткое рассмотрение этого протокола; более подробную информацию читатели могут найти в дополнительной литературе, приведенной в конце этой главы.
Последняя редакция протокола CAN (версия 2.0) состоит из двух частей: части A (стандартный формат) и В (расширенный формат). Часть A представлена следующими тремя уровнями: объектным, уровнем передачи и физическим уровнем. Объектный уровень является связующим звеном между уровнем передачи и прикладной программой, выполняемой центральным процессором МК. На этом уровне происходят все программные обработки CAN-сообщений. Уровень передачи обеспечивает полное соответствие сообщения стандартному протоколу обмена, в то время, как на физическом уровне происходит реальная передача сигналов сообщения.
Часть В версии 2.0 протокола касается уровня передачи данных и физического уровня. Уровень передачи данных в свою очередь включает в себя подуровень управления логическими связями LLC (Logical Link Control) и подуровень управления доступом к среде MAC (Medium Access Control). Совокупность функций, выполняемых подуровнями LLC, MAC и физическим уровнем, соответствует функциям объектного уровня, уровня передачи и физического уровня для части A протокола CAN 2.0. На рис. 9.2 показаны части A и B протокола CAN 2.0. В дальнейшем мы будем в равной степени использовать термины из частей A и B протокола CAN 2.0.