Подписка на новости

Опрос

Нужны ли комментарии к статьям? Комментировали бы вы?

Реклама

 

2003 №9

Компоненты поддержки интерфейса CAN от компании Microchip

Афанасьев Илья


Компания Microchip выпускает полный комплект микросхем для построения высоконадежных CAN-сетей для автомобильной, медицинской и промышленной электроники. Среди продукции Microchip есть Flash-микроконтроллеры с аппаратной поддержкой стандарта CAN2.0В и протокола DeviceNet; автономные контроллеры CAN для подключения к любым микроконтроллерам; расширители CAN-шины — устройства, управляемые по CAN для мониторинга, измерения сигналов датчиков и управления несложными исполнительными устройствами; драйверы физической линии, соответствующие стандарту ISO11898.

Flash-микроконтроллеры семейства PIC18Fxxx с подделжкой стандарта CAN 2.0B

Семейство Flash-микроконтроллеров от Microchip PIC18Fхх8со встроенным CAN-контроллером стандарта CAN2.0B является одним из самых миниатюрных и производительных. Обеспечивая производительность 10 MIPS при тактовой частоте 10 МГц иработая в широком диапазоне питающих напряжений от 2 до 5,5 В, PIC18F248, PIC18F258, PIC18F448 и PIC18F458 позволяют создавать устройства, нетолько успешно решающие сложные задачи управления, но и одновременно поддерживающие связь ссистемой по CAN-шине.

Встроенный CAN-контроллер в PIC18Fхх8 поддерживает скорость передачи данных до 1 Мбит/с, содержит приемник с двумя буферами и двумя уровнями приоритета, шесть полных фильтров приемника, две маски. Три буфера передатчика доступны для программного указания приоритетов. Предусмотрены: автоматический выход из «спящего» режима при активности на шине, встроенный низкочастотный фильтр для минимизации ложных стартов из-за помех, программируемое «замыкание шлейфа» для организации самоконтроля, программируемая скорость передачи данных и самосинхронизация по модулю таймера.

Особенности:

  • полная поддержка стандарта CAN 2.0B c возможностью самопрограммирования;
  • производительность 10 MIPS при тактовой частоте 10 МГц (свключенным умножением частоты на 4);
  • архитектура и система команд оптимизирована под компилятор языка С;
  • аппаратное умножение 8-разрядных чисел за один такт;
  • аппаратный стек глубиной 31;
  • большой объем памяти на кристалле — до 64 кбайт;
  • многообразие встроенных периферийных модулей, в том числе USART с поддержкой LIN-интерфейса и специализированный ШИМ для управления электродвигателями.

В новых Flash-микроконтроллерах Microchip PIC18F8680/6680/8585/6585 появился значительно усовершенствованный модуль CAN — ECAN, поддерживающий стандарт Bosh CAN 2.0B, аппаратную поддержку протокола DeviceNet и режим работы буфера FIFO. Новый модуль ECAN имеет несколько режимов работы и обеспечивает полную совместимость с микроконтроллерами с обычным CAN-модулем.

Модуль ECAN может работать в трех режимах.

В режиме «0» — поддержка стандартного CAN-модуля, аналогичного используемому в контроллерах PIC18Fхх8.

В режиме «1» добавляются быстрые буферы для передачи и приема: 3 отдельных TX, 2 быстрых RX и 6 независимо конфигурируемых TX/RX-буферов. В режиме «1» доступны 16 приемных фильтров, 2 маски и возможность автоматического ответа на удаленный запрос RTR.

В режиме «2» входные буферы RX организуются в буфер FIFO на 8 сообщений и принимаемые данные не зависят от настройки фильтров. Такая схема очень хорошо подходит для организации обмена между сетями (построение мостов, маршрутизаторов и т. д.), то есть в тех задачах, где требуется принимать весь поток с шины.

В микроконтроллерах PIC18Fxx8x встроен усовершенствованный модуль USART, способный аппаратно поддерживать RS232, RS485 и протокол LIN. Этот модуль — EUSART позволяет не только самостоятельно принимать и передавать данные, разгружая ядро, но и автоматически определять скорость принимаемых данных, а в состоянии SLEEP принимать информацию с шины и давать сигнал «пробуждения» контроллеру при возникновении активности на шине в соответствии со спецификацией стандарта LIN.

Изготовленные по уникальной Flash-технологии PEEC, микроконтроллеры PIC18Fхххх обеспечивают высокую надежность и допускают до 1 млн циклов перезаписи энергонезависимой памяти данных EEPROM и до 100 тыс. циклов перезаписи программной памяти Flash. Это позволяет сохранять большие массивы данных непосредственно в программной памяти микроконтроллера с возможностью быстрого извлечения и модификации при помощи команд табличного чтения-записи.

Микроконтроллеры помимо стандартного модуля ШИМ содержат расширенный модуль ECCP, с помощью которого можно реализовать ШИМ с 10-разрядным разрешением, который может управлять мостовой и полумостовой схемами, что пригодится при создании модулей управления электромоторами. Также в семейство встроена поддержка SPI и I2C (режим мастера и ведомого), программируемые модули BOD (сброс при снижении напряжения питания) и LVD (детектор пониженного напряжения), 9-битный адресуемый USART, 5 таймеров, модуль ICD для внутрисхемной отладки и программирования, встроенный 10-разрядный АЦП. PIC18Fхх8 имеют до 32 кбайт, а PIC18Fхх8х до 64 кбайт Flash-памяти программ, память данных — до 1,5 кбайт ОЗУ и до 1 кбайт энергонезависимой EEPROM.

Контроллеры доступны в 28-, 40-, 44-, 64- и 80-выводных корпусах PDIP, SOIC, TQFP, PLCC и малогабаритном QFN.

В микроконтроллерах PIC18Fхххх предусмотрен режим внутрисхемной отладки, при котором непосредственно в работающем устройстве можно проверить и отладить работу программного обеспечения, есть режимы работы в реальном времени, пошаговый режим, устанавливаемая точка останова, просмотр и изменение содержимого программной памяти, EEPROM и ОЗУ. Очень удобно для отладки использовать PIC18Fхххх совместно с 32-разрядной интегрированной средой MPLAB-IDE 6.хх и внутрисхемным отладчиком-программатором MPLAB-ICD2 (DV164007).

Для удаленного обновления программного обеспечения непосредственно через шину CAN (или другой используемый в задаче интерфейс) пригодится режим самопрограммирования. На сайте компании Microchip вы можете найти пример загрузчик через CAN-шину.

Ядро и система команд PIC18Fхххх оптимизирована для работы с компиляторами языков высокого уровня, прежде всего языка С. Можно воспользоваться как компилятором Microchip С-18, так и продукцией известных фирм HI-TECH и IAR.

Контроллеры шины CAN

MCP2510 — аппаратный контроллер CAN-интерфейса, имеет встроенные режимы разделения приема и передачи, многоуровневое буферирование, систему масок и фильтров, систему генерации сигналов прерывания. Используя данный контроллер шины CAN, разработчик не занимается реализацией протокола передачи данных, определением занятости сети, ошибками и т. д., а полностью сосредотачивается на решении собственно поставленной задачи для основного микроконтроллера. Обмен информацией между основным контроллером и CAN-контроллером производится по шине SPI.

Таблица 1. Основные характеристики микроконтроллеров CAN
Основные характеристики микроконтроллеров CAN

Примечания:

PSP —параллельный порт slave.
MI2C —Master/Slave I2C.
ECAN —усовершенствованный модуль CAN 2.0B.
AUSART —модуль USART с поддержкой адресации (9й бит).
EUSART —усовершенствованный модуль USART споддержкой LIN.
ЕССР —усовершенствованный модуль ССР (сравнения, захвата, ШИМ) с поддержкой управления двигателями.

Построение шины в таком случае выглядит:

  • основной контроллер, реализующий задачу обработки данных и управления;
  • контроллер CAN, реализующий протокол CAN-шины;
  • драйвер, реализующий физический уровень CAN-шины.

Автономный аппаратный CAN-контроллер нового поколения MCP2515 — модифицированная, pin-to-pin совместимая с MCP2510 версия контроллера, которая будет выпускаться для замены контроллера MCP2510.

Новый CAN-контроллер MCP2515 является самым простым в использовании, малогабаритным и наиболее эффективным в применении по соотношению «цена — возможности» предлагает дополнительные функции, включая более высокую производительность, эффективную фильтрацию данных, имеет выход начала фрейма и использует интерфейс SPI, который позволяет легко подключить любой микроконтроллер.

Микросхема MCP2515 может работать на частоте 40 МГц и обеспечивает обмен по SPI на частоте до 10 МГц. Это особенность позволяет контроллеру гораздо быстрее обмениваться данными, чем его прототипу MCP2510.

Кроме того, MCP2515 может фильтровать сообщения по первым двум байтам данных и 11 битам идентификатора. Эта свойство уменьшает затраты микроконтроллера при поддержке протоколов верхнего уровня, например DeviceNet, которые используют байты данных в дополнение к битам идентификатора.

MCP2515 предлагает полезные особенности для реализации систем, основанных на временных слотах, таких, как TTCAN. Возможен режим с одним слотом, который гарантирует, что сообщение будет передано сразу, независимо от потери арбитража или ошибки фрейма. Кроме того, вывод «начало фрейма» (SOF) призван помочь в осуществлении протоколов, основанных на временном разделении слотов, или в диагностике шины CAN.

MCP2515 — преемник первого автономнго CAN-контроллера MCP2510. По сравннию с MCP2510 контроллер MCP2515 обепечивает более чем в два раза высокую производительность, и имеет полную совместмость по выводам и функциям, что помож в переходе на новое изделие. CAN-контролер может работать с абсолютно любым мкроконтроллером благодаря управлени по шине SPI.

Контроллеры CAN MCP2515 используются в автомобильной, промышленной технике, робототехнике, устройствах электропитания. MCP2515 доступен в индустриальном температурном диапазоне в корпусах SOIC и PDIP. Кроме того, Microchip модернизирует комплект разработчика (DV251001) для поддержки MCP2515.

Расширители CAN-шины

MCP250хх — серия CAN-расширителей (табл.2). Она разработана для несложных приложений, не требующих использования основного микроконтроллера. Микросхемы полностью управляются от внешних устройств через CAN-шину, поддерживают скорость связи до 1 Мбит/с.

Таблица 2. Расширители CAN шины
Таблица 2. Расширители CAN шины

Любое устройство на шине может обратиться к расширителю для опроса входных сигналов, выдачи управляющих сигналов, для измерения уровня аналогового сигнала с помощью встроенного АЦП или управления исполнительными механизмами с помощью двух ШИМ, с возможностью задания разных частот для каждого канала.

Драйвер CAN-шины MCP2551

MCP2551 — новинка от фирмы Microchip. Данная микросхема является высокоскоростным CAN-приемопередатчиком, реализующим согласование уровней контроллера и CAN-шины. Драйвер рассчитан на скорость передачи до 1 Мбит/с в сетях с напряжением в шине 12 или 24 В, соответствует стандарту ISO11898, имеет сбалансированный выходной драйвер для уменьшения электромагнитного излучения, имеет режим пониженного потребления, выпускается в стандартном 8-выводном корпусе. Драйвер MCP2551 имеет несколько видов защиты:

  • защита от продолжительного короткого замыкания на шине;
  • защита от кратковременных импульсных выбросов на шине до ±250 В;
  • устойчивость к ESD до 4 кВ;
  • автоматическая термозащита.

Поддержка разработчиков

На сайте компании Microchip можно ознакомиться с примерами применения CAN-устройств для разных задач. Все примеры сопровождаются подробным описанием и текстами программ на языках С или ассемблера. В примере AN877 описан пример реализации протокола DeviceNet, а в AN878 — подпрограммы на языке С для работы с модулем ECAN. Особый интерес представляет пример реализации бутлоадера (обновления программного обеспечения микроконтроллерных узлов) через CAN-сеть (AN247). С помощью простой программы загрузчика, находящейся в памяти контроллера, входящего в сеть, можно удаленно обновить его программное обеспечение. Этот пример будет полезен разработчикам автомобильной и промышленной электроники, доступ к которой во время эксплуатации ограничен или затруднен.

Набор разработчика для построения систем с CAN-интерфейсом (DV251001) поможет разработчику в сжатые сроки не только овладеть навыками построения CAN-интерфейса, но и создать и запрограммировать свою собственную сеть. Благодаря низкой стоимости создания демонстрационного макета и демонстрации основных возможностей CAN-интерфейса комплект идеально подходит для разработчиков автомобильной, промышленной и измерительной техники. На плате размещены сокеты для PIC-контроллеров, специальный разъем для контроля за всеми выводами MCP2510 и место для монтажа собственных компонентов. Также установлены приемопередатчики с возможностью настойки при помощи перемычек на различные конфигурации шины, а использование дополнительного разъема наплате для подключения к PC позволит наблюдать трафик CAN-сообщений на экране компьютера. Передаваемые сообщения формируются с помощью простого в использовании Windows-интерфейса. На плате к выводам приемника и передатчика подключены светодиоды, демонстрирующие интенсивность трафика. Есть возможность задавать как цифровые, так и аналоговые сигналы, передавать их от одного узла CAN к другому, а затем и в персональный компьютер, где они отображаются в дешифрированном формате для упрощения понимания контекста сообщений.

Набор разработчика для построения CAN-узлов на базе расширителей MCP250XX (DV250501) предназначен для быстрого создания несложных CAN-узлов на базе микросхемрасширителей CAN семейства MCP250хх. Применение этих микросхем не требует дополнительного микроконтроллера. Имеется возможность работы как с цифровыми, так ианалоговыми сигналами, управление встроенным ШИМ. Основные достоинства комплекта:

  • демонстрация и быстрая разработка систем на базе расширителей MCP250XX;
  • программирование MCP250хх с помощью входящего в комплект программатора и программного обеспечения;
  • внутрисхемное программирование MCP250хх;
  • возможность работы с внешней CAN-шиной.

Комплект поставки включает плату, источник питания, образцы микросхем MCP250хх, LPT-кабель для связи с компьютером, а также всю необходимую документацию и программное обеспечение.

Компания Microchip имеет полный набор микросхем для создания разнообразных устройств с поддержкой интерфейса CAN2.0В. Интегрированные решения позволяют создавать многофункциональные и миниатюрные недорогие устройства, а возможность использования микросхем одного производителя для комплексного решения задачи максимально облегчит и ускорит разработку изделия и обеспечит его быстрый выход нарынок.

Скачать статью в формате PDF  Скачать статью Компоненты и технологии PDF

 


Другие статьи по данной теме:

Сообщить об ошибке