Українська      English    Registration   |  
 Customer Login   
By the cast     Site search
  Example: PIC12F629
Home - Publications - Publications microchip

CAN продукция фирмы Microchip

    В системах сбора и обработки информации наряду с RS485, все чаще и чаще применяется протокол передачи CAN. Это связано с высокими скоростями обмена и высокой помехоза щищенностью данного протокола. В статье рассмотрены основы CAN и приведена подборка устройств фирмы Microchip для работы с ним.

    Промышленная сеть CAN (Controller Area Network) была создана в конце 80х годов фирмой Robert Bosch GmbH (Германия) как решение для распределенных систем, работающих в режиме реального времени. Первыми преимущество CAN сети заметили в автомобильной промышленности, где всего два провода смогли заменить целую паутину. Первой фирмой, применившей CAN протокол, является DaimlerBenz. CAN нашел применение в системе управления двигателем. Затем и большин ство европейских автомобильных концерном стали широко внедрять CAN в своих автомобилях (Audi, BMW, Renault, Saab, Volkswagen, Volvo). Именно по этому у большинства инженеров сложилось устойчивое представление о CAN, как о чисто автомобильном протоколепередачи данных.

    Это ошибочное мнение! Достаточно взглянуть на практически любой промышленный контроллер, и Вы непременно увидите разъем для подключения к CAN шине.

    Что же такое CAN шина и чем она привлекательна для обычного пользователя?

    CAN – последовательная шина с пе редачей в режиме NRZ (NonReturnto Zero) с поддержкой одновременной работы многих устройств, что означает возможность для всех узлов CANсети передавать данные и одновременно нескольким узлам запрашивать шину. Среда CAN не является адресной средой в привычном, для разработчика, виде. Вместо адреса устройства в CAN применен идентификатор. Для небольших локальных задач идентификатор может самостоятельно выбираться разработчиком. Сложные системы обычно основываются на стандартных CAN протоколах высокого уровня, где каждой группе устройств присваивается свой независимый уникальный идентификатор. Идентификатор является адресом передающего устройства, а так же на его основе вырабатывается приоритет во время передачи данных. Любой узел в сети на основе идентификатора может принять решение – принимать или не принимать сообщение. CAN модули фирмы Microchip имеют специализированные фильтрами и масками, по зволяющие на аппаратном уровне отфильтровывать ненужные сообщение, не загружая ядро микроконтроллера.

    Основными преимуществами CAN перед другими протоколами являются:
        • Прием/передача сообщения осуществляется на аппаратном уровне. Прием данных осуществляется аппаратно на основе идентификатора, масок и фильтров. Если во время передачи данных произошел какой либо сбой, то повтор передачи также осуществляется аппаратно.
        • Неразрушающий аппаратный арбитраж. В случае одновременной передачи несколькими устройствами узел с наивысшим приоритетом гарантированно передаст сообщение без потерь.
        • Аппаратный подсчет контрольной суммы с использованием циклического кода.
        • Использование аппаратного bitstuffing. Автоматически вставляется бит инверсной полярности, если число битов одной полярности превышает 5 бит, что позволяет использовать CAN в инфракрасных и радиосетях.
        • Гарантированное обнаружение ошибок передачи данных. В случае обнаружения ошибки одним узлом специальный механизм «распространения ошибки» не позволит ошибочному сообщению быть принятым другими узлами сети.

    Как показала практика, первым вопросом любого разработчика обязательно будет "А какая максимальная скорость на такойто длине провода?". В табл. 1 Вы найдете ответ на этот вопрос.


Tабл. 1.

    Фирма Microchip выпускает несколько типов CAN устройств.
    Первый тип таких устройств – отдельно стоящие CAN контроллеры.
    Этот семейство насчитывает всего два устройства – MCP2510 и MCP2515.
    MPC2515 является улучшенной версией MCP2510 и совместимы как "нога вногу", так и программно. Данная серия представляет собой отдельно стоящий CAN контроллер, работающий под управлением SPI шины данных. Это позволяет подключить данный контроллер практически к любому микроконтроллеру, имеющему аппаратный, либо программный SPI интерфейс.
    Основные особенности CAN контроллера MCP2515:
        • реализована поддержка протоколаCAN v2.0B:
        • скорость передачи данных до 1 Мбит/с;
        • 08 байт в поле данных;
        • стандартные, расширенные фреймы и фреймы удаленного запроса;
        • два принимающих буфера с приоритетом хранения данных;
        • две маски и шесть 29 битных фильтров доступа;
        • возможна дополнительная фильтрация по первым двум байтам данных (для стандартных фреймов);
        • три передающих буфера с приоритетами передачи и возможностью отмены сообщения
        • высокоскоростной модуль SPI (до 10 МГц), поддержка режимов 0.0 и 1.1;
        • выход тактовой частоты с программируемым предделителем, может использоваться для тактирования внешних устройств.

    Для ознакомления с возможностями данных CAN контроллеров фирмой Microchip разработана специализированная плата MCP2510/2515 CAN Developer’s Kit (номер для заказа DV251001).
    Детальную информацию Вы можете найти в документе по ссылке: http://ww1.microchip.com/downloads/en/DeviceDoc/51416a.pdf

    Второй тип устройств – микроконтроллеры со встроенным CAN модулем.
    В настоящее время фирма Microchip выпускает микроконтроллеры с модулями двух типов – CAN и ECAN.
    Стандартный модуль CAN обладает следующими характеристиками:
        • полностью соответствует CAN 2.0 B ACTIVE;
        • скорость передачи данных до 1 Мбит/с;
        • стандартные, расширенные фреймы и фреймы удаленного запроса;
        • идентификатор 29 бит;
        • 08 байт в поле данных;
        • три передающих буфера с приоритетами передачи;
        • два принимающих буфера;
        • две маски и шесть фильтров доступа.
    Модуль ECAN обладает рядом дополнительных возможностей, что существенно расширяет область применения ECAN микроконтроллеров. ECAN модуль полностью соответствует CAN 2.0B ACTIVE и может находиться в одном из трех режимов:

    MODE0
    В этом режиме модуль ECAN полностью соответствует стандартному модулю CAN. Данный режим работы может быть использован для быстрого перехода с CAN на ECAN микроконтроллеры.

    MODE1
    Данный режим идентичен режиму MODE0, но имеет дополнительные аппаратные ресурсы. MODE1 обладает такими характеристиками:
        • две маски доступа и 16 фильтров доступа;
        • фильтр RXF15 может быть запрограммирован как дополнительная маска. В режиме приема стандартных фреймов часть фильтра может быть настроена на работу с полем данных. Длина данных, подлежащих фильтрации, задается пользователем и составляет 0..18 бит. В дополнение к двум принимающим и трем передающим модулям добавлены шесть буферов. Любой из дополнительных буферов может настраиваться пользователем либо как передающий, либо как принимающий. Также этот эти буферы могут быть настроены для автоматического ответа на RTR запрос.

    MODE2
    В данном режиме два и более принимающих буфера могут быть сконфигурированы в виде FIFO буфера. Любое сообщение, прошедшее через любой фильтр, связанный с любым буфером, образующим FIFO, автоматически попадает в буфер FIFO. Глубина буфера FIFO указывается пользователем и может составлять 28 вложений. Фильтр RXF15 может быть запрограммирован как дополнительная маска.
    Для детального ознакомления с возможностями CAN контролеров фирмы Microchip выпущено несколько демоплат. Для 28/40 выводных микроконтроллеров предназначены демоплаты PICDEM™ CANLIN 2 Development Kit (номер для заказа DM163011) и PICDEM™ CAN LIN 3 Development Kit (номер для заказа DM163015). Более детальную информацию можно найти по адресу http://ww1.microchip.com/downloads/en/DeviceDoc/51418b.pdf.
    Фирма Microchip предлагает несколько семейств CAN микроконтроллеров (см. табл. 2)


Tабл. 2.

    Третий тип устройств – CAN расширители.
    Очень часто системы сбора информации строятся по принципу master slave, где устройство типа slave может выполнять несколько элементарных действий – определение состояния концевого выключателя, измерение напряжения, определение положения реостата, управление простейшими исполнительными механизмами (включено/выключено, открыто/закрыто). Для реализации подобных систем разработчики очень часто применяют микроконтроллеры со встроенным CAN интерфейсом. Затем следует длительная процедура настройки встроенного модуля CAN и разработка соответствующего протокола общения между модулями. В конечном итоге получается дорогостоящее устройство, что обусловлено применением микроконтроллера. Если для Master устройства такой подход полностью оправдан, то для Slave это неприемлемо. Для реализации недорогих распределенных систем сбора данных идеально подходит серия MCP250xx. Эти CAN расширители представляют собой CAN ядро, модули ШИМ и АЦП, а также порты ввода вывода. Память программ отсутствует. Память данных ОЗУ условно можно разделить на два блока – настройки внутренних модулей и память данных пользователя, в которой может храниться общая информация об устройстве. Общение с внешним миром происходит непосредственно через CAN. Внутренняя структура данной серии приведена на рис. 1.


Рис. 1.

    При помощи CAN сообщений Вы можете изменять состояние портов ввода/вывода, просматривать состояние АЦП, изменять частоту и скважность ШИМ. Также есть возможность автоматического формирования CAN расширителем посылки в случае какоголибо условия, например, если напряжение на входе АЦП превышает определенное значение. Отличительные особенности данных CAN расширителей приведены в табл. 3.


Табл. 3.

    Быстро начать разработку CAN сети с использованием данных устройств Вам поможет демоплата MCP250XX CAN I/O Expanders Developer’s Kit (номер для заказа DV250501).
    Более детальную информацию можно найти по адресу http://ww1.microchip.com/downloads/en/DeviceDoc/51266c.pdf.
    Физический уровень CAN представлен в фирме Microchip высокоскоростным CAN трансивером MCP2551. Данный трансивер полностью соответствует спецификации ISO11898 и обеспечивает скорость передачи1 Мбит/с.

ЗАКЛЮЧЕНИЕ

    CAN протокол передачи данных оптимизирован для систем, в которых передаются и принимаются относительно небольшие объемы данных (если сравнивать с USB и Ethernet, которые предназначены для передачи значительно больших блоков информации), доступных одного или для всех устройств в сети. Продуманная система арбитража позволяет любому из устройств в сети иметь одинаковое право на передачу данных, а в случае одновременной передачи позволяет предотвратить утерю сообщения.
    Так как протокол основывается на сообщениях, а не на адресах, все сообщения принимаются каждым устройством и все сообщения проверяются и подтверждаются каждым устройством, независимо от того, кому предназначается сообщение. Это позволяет осуществлять пересылку данных по принципу точка-точка, или передавать сообщения сразу всем устройствам, при этом формат посылки не изменяется. Быстрая и надежная передача данных со встроенным механизмом оповещения об ошибке еще один большой плюс CAN. Этот механизм позволяет оставаться сети "на плаву", автоматически отключаю узел, генерирующий ошибки. Это позволяет гарантированно передать сообщение даже если в сети находится поврежденное устройство. Все эти преимущества CAN и его главенствующее положение в автомобилестроении и системах автоматики подталкивает к развитию и другие отрасли промышленности.

Вернуться назад