Компоненты и технологии, № 9'2003
Компоненты поддержки интерфейса CAN
от компании Microchip
Компания Microchip выпускает полный комплект микросхем для построения высоконадежных CAN-сетей для автомобильной, медицинской и промышленной электроники. Среди продукции Microchip есть Flash-микроконтроллеры с аппаратной поддержкой стандарта CAN2.0B и протокола DeviceNet; автономные контроллеры CAN для подключения к любым микроконтроллерам; расширители CAN-шины — устройства, управляемые по CAN для мониторинга, измерения сигналов датчиков и управления несложными исполнительными устройствами; драйверы физической линии, соответствующие стандарту ISO11898.
Илья Афанасьев
Flash-микроконтроллеры семейства PIC18Fxxx с поддержкой стандарта CAN 2.0B
Семейство Flash-микроконтроллеров от Microchip PIC18Fxx8 со встроенным 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.
Компоненты и технологии, № 9'2003
Изготовленные по уникальной 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.
Таблица 1. Основные характеристики микроконтроллеров
Тип I 8 О & С 1- ’£ 1- 8 № VO 8 с J= <л _8 ОЗУ данных, EEPROM данных Порты I/O Каналов 10-битных АЦП а. о ш а. о о S 3 а. Таймеры 8/16 бит Поддержка ICD Дополнительная периферия Тип корпуса
PIC18F248 16384 768 256 23 5 1/1/1 1/3 V CAN 2.0B, AUSART, SPI, MI2C DIP, SOIC
PIC18F258 32768 1536 256 23 5 1/1/1 1/3 V CAN 2.0B, AUSART, SPI, MI2C, PSP DIP, SOIC
PIC18F448 16384 768 256 34 8 5/1/1 1/3 V CAN 2.0B, AUSART, SPI, MI2C, PSP DIP, TQFP, PLCC
PIC18F458 32768 1536 256 34 8 5/1/1 1/3 V CAN 2.0B, AUSART, SPI, MI2C, PSP DIP, TQFP, PLCC
PIC18F2680 65536 3027 1024 25 10 2/1/1 1/3 V ECAN 2.0B, EUSART, SPI, MI2C DIP, SOIC
PIC18F4680 65536 3027 1024 36 13 2/1/1 1/3 V ECAN 2.0B, EUSART, SPI, MI2C, PSP DIP, TQFP, QFN
PIC18F6680 65536 3027 1024 52 12 5/1/1 1/3 V ECAN 2.0B, EUSART, SPI, MI2C, PSP TQFP, PLCC
PIC18F8680 65536 3328 1024 68 16 5/1/1 1/3 V ECAN 2.0B, EUSART, SPI, MI2C, PSP TQFP
PIC18F6585 49152 3328 1024 52 12 5/1/1 1/3 V ECAN 2.0B, EUSART, SPI, MI2C, PSP TQFP, PLCC
PIC18F8585 49152 3328 1024 68 16 5/1/1 1/3 V ECAN 2.0B, EUSART, SPI, MI2C, PSP TQFP
Примечания:
PSP — параллельный порт slave.
MI2C — Master/Slave I2C.
ECAN — усовершенствованный модуль CAN 2.0B.
AUSART — модуль USART с поддержкой адресации (9-й бит).
EUSART — усовершенствованный модуль USART с поддержкой LIN.
ЕССР — усовершенствованный модуль ССР (сравнения, захвата, ШИМ) с поддержкой управления двигателями.
Контроллеры шины CAN
MCP2510 — аппаратный контроллер CAN-интерфейса, имеет встроенные режимы разделения приема и передачи, многоуровневое буферирование, систему масок и фильтров, систему генерации сигналов прерывания. Используя данный контроллер
шины CAN, разработчик не занимается реализацией протокола передачи данных, определением занятости сети, ошибками и т. д., а полностью сосредотачивается на решении собственно поставленной задачи для основного микроконтроллера. Обмен информацией между основным контроллером и CAN-контроллером производится по шине SPI. Построение шины в таком случае выглядит:
• основной контроллер, реализующий задачу обработки данных и управления;
• контроллер 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 Мбит/с.
Любое устройство на шине может обратиться к расширителю для опроса входных сигналов, выдачи управляющих сигналов, для измерения уровня аналогового сигнала с помощью встроенного АЦП или управле-
Компоненты и технологии, № 9'2003
Таблица 2. Расширители CAN-шины
Расши- ритель CAN Число входов- выходов ШИМ (10 бит) АЦП (10 бит) Возможность работы с однопроводной шиной
MCP25020 8 - - -
MCP25025 8 2 - V
MCP25050 8 2 4 -
MCP25055 8 2 4 V
ния исполнительными механизмами с помощью двух ШИМ, с возможностью задания разных частот для каждого канала.
Драйвер CAN-шины MCP2551
MCP2551 — новинка от фирмы Microchip. Данная микросхема является высокоскоростным CAN-приемопередатчиком, реализующим согласование уровней контроллера и CAN-шины. Драйвер рассчитан на скорость передачи до 1 Мбит/с в сетях с напряжением в шине 12 или 24 В, соответствует стандарту ISO 11898, имеет сбалансированный выходной драйвер для уменьшения электромагнитного излучения, имеет режим пониженного потребления, выпускается в стандартном 8-выводном корпусе. Драйвер MCP2551 имеет несколько видов защиты:
• защита от продолжительного короткого замыкания на шине;
• защита от кратковременных импульсных выбросов на шине до ±250 В;
• устойчивость к ESD до 4 кВ;
• автоматическая термозащита.
Поддержка разработчиков
На сайте компании Microchip можно ознакомиться с примерами применения CAN-устройств для разных задач. Все примеры сопровождаются подробным описанием и тек-
стами программ на языках С или ассемблера. В примере AN877 описан пример реализации протокола DeviceNet, а в AN878 — подпрограммы на языке С для работы с модулем ECAN. Особый интерес представляет пример реализации бутлоадера (обновления программного обеспечения микроконтроллер-ных узлов) через CAN-сеть ^N247). С помощью простой программы загрузчика, находящейся в памяти контроллера, входящего в сеть, можно удаленно обновить его программное обеспечение. Этот пример будет полезен разработчикам автомобильной и промышленной электроники, доступ к которой во время эксплуатации ограничен или затруднен.
Набор разработчика для построения систем с CAN-интерфейсом (DV251001) поможет разработчику в сжатые сроки не только овладеть навыками построения CAN-интерфейса, но и создать и запрограммировать свою собственную сеть. Благодаря низкой стоимости создания демонстрационного макета и демонстрации основных возможностей CAN-интерфейса комплект идеально подходит для разработчиков автомобильной, промышленной и измерительной техники. На плате размещены сокеты для PIC-контроллеров, специальный разъем для контроля за всеми выводами MCP2510 и место для монтажа собственных компонентов. Также установлены приемопередатчики с возможностью настойки при помощи перемычек на различные конфигурации шины, а использование дополнительного разъема на плате для подключения к PC позволит наблюдать трафик CAN-сообщений на экране компьютера. Передаваемые сообщения формируются с помощью простого в использовании Windows-интерфейса. На плате к выводам приемника и передатчика подключены све-
тодиоды, демонстрирующие интенсивность трафика. Есть возможность задавать как цифровые, так и аналоговые сигналы, передавать их от одного узла CAN к другому, а затем и в персональный компьютер, где они отображаются в дешифрированном формате для упрощения понимания контекста сообщений.
Набор разработчика для построения CAN-узлов на базе расширителей MCP250XX (DV250501) предназначен для быстрого создания несложных CAN-узлов на базе микросхем-расширителей CAN семейства MCP250хх. Применение этих микросхем не требует дополнительного микроконтроллера. Имеется возможность работы как с цифровыми, так и аналоговыми сигналами, управление встроенным ШИМ. Основные достоинства комплекта:
• демонстрация и быстрая разработка систем на базе расширителей MCP250XX;
• программирование MCP250хх с помощью входящего в комплект программатора и программного обеспечения;
• внутрисхемное программирование MCP250хх;
• возможность работы с внешней CAN-шиной.
Комплект поставки включает плату, источник питания, образцы микросхем MCP250хх, LPT-кабель для связи с компьютером, а также всю необходимую документацию и программное обеспечение.
Компания Microchip имеет полный набор микросхем для создания разнообразных устройств с поддержкой интерфейса CAN2^. Интегрированные решения позволяют создавать многофункциональные и миниатюрные недорогие устройства, а возможность использования микросхем одного производителя для комплексного решения задачи максимально облегчит и ускорит разработку изделия и обеспечит его быстрый выход на рынок.