Одноплатные контроллеры фирмы Phytec -
решения для CAN и CANopen
В статье рассматриваются мезонинные контроллерные модули фирмы Phytec, сочетающие высокую функциональность, быстродействие и малые размеры. Phytec выпускает одноплатные контроллеры на базе микроконтроллеров семейств 8051/C500, 251, 51XA, C166/ST10, Power PC, x86. Особое внимание уделяется технологии CAN и протоколу CANopen. В данной статье речь пойдет о модулях с микроконтроллерами семейств C500 и С166 фирмы Infineon.
Сергей Копытин
При разработке промышленных контроллерных систем часто отдают предпочтение готовым контроллерным модулям. Использование такой технологии оправдано для сложных систем мониторинга и управления при ограниченном времени, отведенном на проект. Однако при большом выборе готовых плат разных производителей не всегда удается подобрать необходимую конфигурацию. При этом оптимальным является сочетание собственной разработки и готового контроллерного ядра, которое позволяет получить требуемые характеристики и избавиться от лишних функций. Использование мезонинных плат, содержащих контроллер и память, позволяет решить эту проблему. Мезонином называется плата, вставляемая в основную плату (носитель) и располагающаяся параллельно плате-носителю. На носителе, в свою очередь, установлены разъемы для мезонинных модулей.
Хорошим примером такого решения являются высокоинтегрированные одноплатные контроллерные модули фирмы Phytec (www. phytec .com, ww w.phytec .de), которые сочетают высокую функциональность, быстродействие и малые размеры.
Преимущества модулей Phytec
1. Быстрая реализация проекта
Одноплатные контроллеры Phytec позволяют реализовать готовый проект в предельно сжатые сроки. При сравнении проекта с использованием такого модуля и собственной разработки очевиден выигрыш по времени, трудоемкости, материалам и издержкам. За счет массового производства и заводского тестирования использование высокоинтегрированных мезонинных модулей является экономически выгодным решением и позволяет решить многие технические проблемы в промышленности.
2. Flash-технология
На всех модулях Phytec установлена Flash-память, которая программируется с помощью сервисной программы FlashTools. Программирование модуля может быть произведено на оценочной плате Development Board (рис. 1). Для этого следует вставить программируемый модуль штыревыми контактами в ответные разъемы оценочной платы, соединить ее с COM-портом персонального компьютера и подключить питание. При вызове FlashTools на экране монитора появляется меню загрузки кода поль-
кода через COM-порт персонального компьютера и интерфейс RS-232 на плате разработки Phytec отображается на экране монитора. По завершении загрузки плату разработки можно переключить в исполнительный режим для тестирования программы. Если программа содержит ошибки, FlashTools позволяет легко перепрограммировать модуль. По завершении программирования Flash-памяти модуль Phytec отсоединяют от платы разработки и подключают к основной плате-носителю.
Рис. 1. Оценочная плата Development Board
3. CAN
Многие мезонинные модули с микроконтроллерами (МК) C505C, C515C, C164CI, C167CR, C167CS содержат CAN-контроллер. CAN (Controller Area Network) — это двухпроводная, последовательная, асинхронная шина с равноправными узлами, подавлением синфазных помех и с хорошим соотношением цена/производительность. CAN дает возможность осуществить обмен данными на скорости вплоть до 1 Mбод, обеспечивает высокую помехоустойчивость, разгружает микроконтроллер от обработки сообщений и дает возможность объединить с помощью CAN-шины для обмена сообщениями 30 и более узлов. CAN-протокол подобен Ethernet и позволяет заменить громоздкие жгуты проводов дифференциальной парой. Однако в отличие от Ethernet схема обнаружения конфликтов в CAN поддерживает безотлагательное прохождение сообщений с высшим приоритетом.
4. Модульная концепция
Все модули Phytec разработаны с учетом возможности дальнейшего наращивания при подключении периферийных модулей. Все основные сигналы микроконтроллера выводятся на стандартные штырьковые разъемы на краях платы. Это позволяет мезонинные модули просто подключать друг к другу.
— ТТ ОЛТ ггтч_
бой плате-носителю, когда модуль вставляется в ответные разъемы, подобно большой микросхеме.
5. Компактные и быстродействующие решения
За счет использования современной SMD и многослойной технологии достигаются весьма компактные размеры модуля. Типичными являются модули размером со спичечный коробок или кредитную карточку. Однако есть совсем миниатюрные модули CANopen Chip-505 и DIPmodul-164, выполненные в конструктиве DIP-40 и вставляемые в соответствующую колодку на плате-носителе. При этом полностью используются вычислительные и управляющие ресурсы микроконтроллера. Разработка и монтаж модулей осуществляются в соответствии с надежными промышленными методами и общепринятыми стандартами.
6. Гибкая конфигурация
За счет дополнительных посадочных мест стандартная конфигурация памяти может быть легко изменена, если требуется больший или меньший объем ОЗУ и/или ПЗУ. Подобным же образом на плате могут быть установлены различные МК в PLCC, QFP или BGA корпусах, если они совместимы по цоколевке или для них предусмотрено несколько посадочных мест (например, на miniMODUL C517A/C509). Гибкость конфигурации позволяет разработчику выбрать плату, отвечающую поставленным требованиям.
7. Новые модули phyCORE
phyCORE — это новое поколение мезонинных модулей Phytec. Они характеризуются еще большей плотностью упаковки, а также улучшенными характеристиками по электромагнитной эмиссии благодаря тщательному проектированию печатной платы. В сильно зашумленной среде электромагнитная эмиссия на плате вызывается неэффективным заземлением выводов питания электронных компонентов. Поэтому примерно 20 % контактов разъема модуля phyCORE заземлены.
Печатная плата phyCORE имеет следующую структуру: два слоя земли (GND), один слой питания (Vcc) от 3 до 5 сигнальных слоев. Для подавления шумов и наводок на верхнем и нижнем сигнальных слоях установлена сетка фильтрующих конденсаторов емкостью
1 нФ и 100 нФ, подключенных к земле. Восприимчивость к электромагнитным помехам также снижена ввиду малой длины печатных проводников на плате. В зависимости от сложности модуля phyCORE используется либо стандартный разъем с расстоянием между контактами 2,54 мм, либо для минимизации размеров печатной платы высокоинтегрированный SMD-разъем Molex с шагом контактов 0,635 мм.
8. Гарантированно быстрая разработка
Все платы Phytec доступны в варианте
поставки Rapid Development Kit, в состав которого входят мезонинный модуль и плата-носитель Development Board, служащая для программирования модуля и тестирования программного обеспечения. Кроме того, в комплект поставки включены кабель для RS-232, сетевой адаптер, Spectrum CD-ROM
с программным обеспечением и документация в печатном виде User's Manual и QuickStart Manual.
CD-ROM содержит утилиту FlashTools и демо-версии инструментальных средств разработки фирмы Keil Software (www. keil .com), документацию, статьи по применению. В руководстве по быстрому запуску QuickStart Manual описывается, как подключить модуль к персональному компьютеру, загрузить и вы-
полнить различные демонстрационные программы.
Кроме Rapid Development Kit есть обширный набор стартовых комплектов Starter Kit (www. microcontroller .ru\mcs\tools), выполненных на основе оценочных плат kitCON в EURO-формате (160x100 мм). На плате KitCON установлены все периферийные устройства, необходимые для немедленного запуска, включая два разъема DB-9 и разъем питания.
Модули с МК семейства C500 Infineon
На протяжении 20 лет, прошедших с момента появления первого микроконтроллера 8051, данное семейство сильно разрослось. В мезонинных модулях Phytec microMODUL, miniMODUL и phyCORE поддержаны многие из МК 8051. Используемые логические сигналы и порты МК, включая АЦП, программируемые таймеры-счетчики, выведены на три разъема на краях платы с шагом контактов 2,54 мм, что позволяет подключать модуль на плату-носитель как большую микросхему. Для подключения внешней периферии предусмотрены свободные сигналы Chip-Select. Связь с компьютером осуществляется по RS-232. Flash-память программируется с помощью утилиты FlashTools, задание карты памяти также осуществляется программно. Прилагаются следующие оценочные инструментальные средства для семейства 8051: C-компилятор, ассемблер и отладчик фирмы Keil Software. Все модули поставляются в стандартном и промышленном температурном диапазоне и характеризуются
малым потреблением (100-150 мА при напряжении питания 5 В).
В табл. 1 приведены характеристики модулей с МК Иіпеоп серии С500.
Модули с МК семейства С166 Іпгїпеоп
Семейство 16-разрядных микроконтроллеров С166 было разработано фирмой Siemens и выпускается сейчас ее дочерней фирмой
Infineon. Семейство C166 содержит микроконтроллер с различным уровнем периферии и производительности. Они удовлетворяют требованиям широкого спектра специфических приложений. Основными характеристиками C166 являются: RISC-подобное ядро, тесная связь периферийных устройств с ядром ЦПУ, управляемый событиями прямой доступ к памяти, единое адресное пространство для памяти программ и данных, регистров и портов ввода/вывода. Эффективное программирование МК С166 достигается благодаря мощной системе команд. Цикл выполнения команды при тактовой частоте 20 и 25 МГц составляет 100 и 80 нс соответственно.
Модули Phytec, построенные на основе МК С166, имеют следующие общие характеристики. Подключение периферии осуществляется с помощью свободных сигналов Chip-Select. Для связи с компьютером используется интерфейс RS-232, через который осуществляется программирование Flash-памяти с помощью утилиты FlashTools и задание карты памяти. Это позволяет легко загружать и изменять код пользователя в процессе работы. Все модули поставляются в стандартном и расширенном температурном диапазонах от 0 до +70 °С и от -40 до +85 °С.
Основные сигналы и порты МК выведены на стандартные разъемы, расположенные по краям модуля. Шаг контактов разъема составляет 2,54 мм. Исключением являются nanoMODUL-164CAN и phyCORE-167CAN, где шаг контактов 1,27 и 0,635 мм соответственно. Напряжение питания для всех модулей составляет +5 В, потребление не превышает
Таблица 1
Рис. 2. microMODUL-8051 На модуле microMODUL-8051 (рис. 2), имеющем размер со спичечный коробок (51x36 мм), благодаря использованию программируемой логики может быть установлен целый ряд микроконтроллеров семейства 8051 в корпусах PLCC-44 или QFP-44. При использовании МК Infineon С504 и С505СА доступен 8-канальный АЦП с разрешением 10 бит. В МК С504 дополнительно присутствует 6-канальное устройство считывания на лету/сравнения САРСОМ6 для выработки сигналов ШИМ, а в МК С505СА — встроенный CAN. Стандартная конфигурация памяти: 32 (до 128) КВ SRAM и 128 (до 512) КВ Flash для записи кода пользователя.
Рис. 3. miniMODUL-515/CAN miniMODUL-515/CAN (рис. 3} с интерфейсом Full 2.0В CAN содержит МК С515С и имеет размер кредитной карточки (85x55 мм). На нем установлены 32 (до 160) КВ SRAM и 128 (до 512} КВ Flash-памяти. Модуль содержит 8-канальный АЦП, три программируемых таймера-счетчика и CAN-интерфейс. Трансивер RS-232 опционально конфигурируется как RS-485.
Рис. 4. miniMODUL-517/509 На miniMODUL-517/509 (рис. 4} может быть установлен один из микроконтроллеров Infineon С517А (или С509), которые содержат 4 (5) таймера, 12 (15) каналов АЦП, два последовательных интерфейса/ Watchdog-Time г, восемь указателей данных, 5 (6) портов и арифметическое устройство с аппаратной поддержкой умножения и деления. Типовая конфигурация памяти: 32 КВ SRAM и 128 КВ Flash. На модуле установлены два трансивера R5-232, второй из которых может быть сконфигурирован как RS-485. Модуль имеет размер кредитной карточки (55x85 мм).
Таблица 2
Рис. 5. nanoMODU L-164CAN
NanoMODUL-164/CAN (рис. 5) имеет размеры спичечного коробка 47x38 мм. Установленный на модуле МК C164CI при времени цикла 100 не, обеспечивает быструю обработку данных. 8 каналов АЦП с 10-разрядным разрешением, интерфейс Full 2.0В CAN, линии портов и сигналы микроконтроллера выведены на разъем с шагом контактов 1,27 мм, установленный на краях модуля. Стандартная конфигурация памяти - по 256 КВ для SRAM и Flosh-памяти.
Рис. 6. microMODUL-165/166
На microMODUL-165 /166 (рис. 6) может быть установлен один из МК С165 или 80С166 с частотой тактового генератора 40 МГц и циклом 100 не. В первом случае реализована не мультиплексная шина адреса - данных, а во втором - режим 8-разрядной мультиплексной шины. Конфигурация памяти: по 256 КВ (128 КВ для 80С166) SRAM и Flash-памяти. MicroMODUL имеет размер со спичечный коробок 51 х36 мм, для связи с внешним миром на нем установлен последовательный интерфейс RS-232 (плюс RS-485 для 80С166).
Рис. 7. miniMODUL-167CAN
Модуль miniMODUL-167/CAN (рис. 7) предназначен для использования в приложениях с большим требуемым объемом памяти и CAN интерфейсом, имеет размер кредитной карточки (85x55 мм), содержит МК C167CR, часы реального времени (Real Time Clock), для которых (так же как и для ОЗУ) предусмотрено аварийное батарейное питание. Стандартный модуль работает на частоте 20 МГц при цикле инструкции 100 не (80 не @ 25 МГц) и оснащен 256 КВ (до 2 MB) SRAM и Flash для записи данных и кода. На miniMODUL-167/CAN установлены два трансивера RS-232 (UART вместо второго асинхронного интерфейса) и интерфейс CAN. Через выводы разъемов доступны 16-разрядный двунаправленный порт ввода/вывода плюс еще 64 линии портов, включая 16 входов АЦП с разрешением 10 разрядов.
Рис. 8. phyCORE-167CAN
Модуль phyCORE-167/CAN (рис. 8) по размеру меньше кредитной карточки (55x47 мм), содержит интерфейс CAN и предназначен для использования в приложениях, требующих больших объемов памяти. На модуле установлен МК C167CR/CS, часы реального времени Real-Time Clock, для RTC и RAM предусмотрено аварийное батарейное питание. Работает на тактовой частоте 20 МГц при времени цикла команды 100 не (80 не @ 25 МГц). На модуле установлено по 256 КВ (до 2 MB) SRAM и Flash-памяти, два трансивера RS-232 (один из которых конфигурируется как RS-485) и интерфейс Full CAN 2.0В, а также опциональный UART вместо второго асинхронного интерфейса.
120 мА, а для модулей с МК С167 — 250 мА. Прилагаются оценочные инструментальные средства для семейства С166: C-компилятор, ассемблер и отладчик фирмы Keil Software.
Контроллеры для реализации CANopen
В промышленной автоматике все в большей степени используется CAN-интерфейс. Особую популярность в последнее время приобрел протокол верхнего уровня CANopen, который предлагает много новых возможностей для промышленных сетей. CANopen регламентирует управление сетью, проектирование и диагностику. С помощью стандарта CANopen могут быть объединены в сеть модули и блоки различных производителей (например, датчики давления и температуры). В открытой и расширяемой CAN-сети, работающей в реальном времени, появляется возможность быстрой конфигурации параметров входящих в нее устройств.
Протокол верхнего уровня CANopen
Протоколы CAN верхнего уровня описывают метод обмена информацией между устройствами в специальных приложениях. Протоколы определены в терминах уровней, когда каждый уровень одного устройства общается с тем же уровнем другого устройства. Собственно CAN определяет два низших уровня: логический и физический.
На сегодняшний день разработано достаточно много протоколов верхнего уровня для конкретных областей применения. Наиболь-
шее распространение получил протокол CAL (CAN Application Layer) ассоциации CiA (CAN in Automation), описывающий стандарт на семь уровней в автомобилестроении. CAL позволяет осуществить инициализацию, живучесть и конфигурирование узлов, обеспечивая совместимость работы различных устройств.
CANopen является спецификацией, опирающейся на CAL. В то время как CAL определяет способ связи, CANopen определяет тип специальных сообщений в приложениях систем реального времени и управления датчиками. По типу сообщения, генерируемого датчиком, сразу можно определить, что оно содержит значение температуры или давления, независимо от того, какой узел CAN его сгенерировал.
На логическом уровне CAN-шина может содержать практически неограниченное количество узлов. Однако при использовании протоколов верхнего уровня накладываются жесткие ограничения на физическую длину шины, которая зависит от скорости обмена сообщениями. Поэтому количество узлов для CANopen регламентировано ве личиной от 32 до 256 (для витой экранированной пары). Скорость передачи по CAN-шине в зависимости от ее длины указана в табл. 3.
Таблица 3. Скорость передачи по CAN-шине для
Расстояние 1000 м 500 м 100м 40 м
Скорость 20 Кбод 125 Кбод 500 Кбод 1000 Кбод
Число сообщений в секунду при скорости передачи 125 Кбод колеблется от 1000 до 2500, в зависимости от количества байт в каждом сообщении.
Для программирования параметров CAN-сети служат инструментальные средства разработки фирмы Vector-Informatik (www. vector-informatik .de). С помощью средств конфигурирования CANSetter, ProCANopen и библиотек CANopen Master и Slave пользователь может легко оптимизировать параметры сети для конкретной задачи и интегрировать свои приложения в CANopen. Программное обеспечение имеет прозрачную структуру и простые функции, подобные языку C или ассемблеру, покрывает все уровни стандарта CANopen и поддерживает различные типы МК (8051, C166 и т. д.).
Некоторые из модулей Phytec разработаны с учетом поддержки протокола CANopen и могут функционировать как узел ввода/вывода в соответствии с CiA DSP401. Каждый такой модуль сопровождается файлом EDS (electronic data sheet), который содержит его характеристики.
CANopen Chip-505
Малый по размерам модуль CANopen Chip-505 представляет собой дешевый и эффективный CAN-узел на базе МК Infineon C505C с системой команд 8051. Модуль выполнен в 40-выводном DIP-корпусе и может использоваться в качестве узла slave в сети CANopen, или просто как вычислитель.
На разъем с шагом контактов 2,54 мм выведены следующие сигналы: 12 выводов портов МК C505C общего назначения, 4 сигнала CAN (passive Full 2.0B), 8-каналов АЦП с разрешением 10 разрядов, 2 управляющих сигнала,
2 линии адреса и 8 линий данных для подключения к внешнему 8-разрядному порту. На модуле установлено 32 Кб SRAM, 64 Кб Flash (29F010) и 2 Кб последовательного EEP-ROM для записи параметров конфигурации протокола CANopen. Напряжение питания 5 В поступает в модуль через контакты Vcc и GND или от CAN-шины.
На модуле установлен 8-разрядный переключатель для задания ему параметров протокола CANopen: идентификатора узла (4 разряда), скорости (2 разряда) и линий ввода/вывода (2 разряда). Программирование CANopen Chip-505 осуществляется с помощью Phytec CANopen Software, которое поддерживает следующие функции: Minimum Boot-up, Broadcast, скорость передачи (от 10 кбит/с до 1 Мбит/с) в соответствии со спецификациями CiA DS301 V. 3.0 и DSP401 и основные функции режима Master (NetworkBoot, SYNC-Messaging).
DIPmodul-164
Модуль DIPmodul-164 содержит высокопроизводительный 16-разрядный МК C164CI и выполнен в конструктиве DIP-40, что позволяет для его установки на плату-носитель использовать соответствующую дешевую колодку. Объем установленной памяти до
Таблица 4. Одноплатные контроллеры Phytec с микроконтроллерами фирмы Infineon
TouchPanel-537/TLC KL-011-F SAB80C537,12 МГц, 64 KB RAM, 128 KB Flash, CAN, TouchPanel
DIPmodul-164 (К)ММ-215 Cl 64CI, 20 МГц, 32 KB SRAM, 128 KB Flash, 2 KB E2PROM, 2.0B CAN
COMBI-Modul 167 PhyPS-404 Cl 67CS, 20 МГц, 256 KB SRAM, 256 KB Flash, 2.0B CAN
256 Кб SRAM и до 256 Кб Flash, этого достаточно для большинства приложений. Для записи констант и коэффициентов вычислений предусмотрена память EEPROM последовательного типа емкостью до 64 Кб. Высокая функциональность DIPmodul-164 определяется 8-канальным АЦП с 10-разрядным разрешением и контроллером Full CAN. Модуль поставляется с одним из двух вариантов программного обеспечения: SPS согласно спецификации IEC1131 или CANopen Slave.
TouchPanel-537
TouchPanel-537 содержит контроллер ввода/вывода, жидкокристаллический дисплей и CAN-интерфейс. В состав TouchPanel-537 входит плата с МК 80С537 и графический жидкокристаллический дисплей разрешением 320x240 dpi с подсветкой и матрицей клавиатуры с количеством клавиш 10x6. Может быть также подключена обычная клавиатура персонального компьютера. Жидкокристаллический дисплей за счет совмещения одновременно отображает текстовый и графический уровень. Для расширений пользователю доступны все сигналы МК, выведенные на установ ленный на TouchPanel-537 разъем KitCON. Модуль может использоваться как полноценная сетевая станция с шиной CAN для централизованного управления или обслуживания удаленных узлов распределенной системы. TouchPanel-537 может также использоваться в сети RS-485.
COMBI-Modul-515/167
COMBI-Modul-515/167 — панель управления вводом/выводом с CAN-интерфейсом. Для управления дискретными и аналоговыми входами и выходами используются ресурсы микроконтроллера (порты, АЦП, ШИМ и др.). В зависимости от требуемых производительности, числа цифровых и аналоговых входов и выходов для обработки стандартных промышленных сигналов в COMBI-Modul может быть установлен МК Infineon C515C или C167CR.
Для COMBI-Modul характерны следующие типовые функции: обработка дискретных сигналов 10 В (4 входа и 2 выхода), 24 В (16 вхо-
дов и 10 транзисторных выходов), 250 В (8 выходов реле), генерация аналоговых сигналов в диапазонах 0...+20 мА, 0...+10(5) В, подключение к RS-232 и CAN. Сигналы МК и периферии имеют гальваническую развязку, также оптически изолирован и CAN-интерфейс.
Сигналы по некоторым из входов могут инициировать прерывание, за счет чего достигается малое время реакции. В процессе работы осуществляется индикация текущего логического состояния входов/выходов с помощью восьми светодиодов. Модуль помещен в промышленный закрытый корпус серии UM PHOENIX размером 292x127x99 мм, все требуемые напряжения вырабатываются внутренним источником питания от напряжения 24В ±20 % с током потребления не более 1 А.
Установленный объем памяти для МК С515/С167 составляет: SRAM 64/256 Кб и Flash 128/256 Кб плюс 8 Кб EEPROM с интерфейсом I2C для хранения констант и коэффициентов. Программирование Flash осуществляется через последовательный интерфейс RS-232, что существенно облегчает обновление/изменение программного обеспечения. Для SRAM и Real Time Clock предусмотрено аварийное батарейное питание. Для сохранения больших массивов данных в системе сбора и обработки информации в COMBI-Modul 515 установлен слот PCMCIA 2.0 (для подключения модема или карты памяти).
COMBI-Modul поставляется с одним из двух вариантов программного обеспечения: SPS согласно спецификации IEC1131 или CANopen Slave.
В первом случае он программируется с помощью ProSys Soft-
ware. Для подключения COMBI-Modul в качестве узла CANopen по стандарту CiA DS 401 служит Phytec CANopen Software. Задание адреса узла и скорости передачи осуществляется с помощью DIP-переключателя. Прилагаемый файл EDS содержит параметры данного модуля.
Для программирования на C или ассемблере с помощью стандартных инструментальных средств Keil Software COMBI-Modul сопровождается драйверами периферийных устройств.
Основные характеристики модулей Phytec приведены в сводной табл. 4. Более подробно с модулями Phytec и МК Infineon семейств С500 и C166 можно ознакомиться на наших сайтах www. microcontroller .ru, на сайте Phytec www. phytec .com и в руководствах пользователя, которые доступны на сайте Infineon www. infineon .com.
На наших сайтах также присутствует краткий обзор CAN-шины, указания на то, как с ней работать, и ссылки на подробную техническую информацию по работе с CAN и протоколам верхнего уровня.
Эта статья подготовлена специалистами фирмы KEY Electronics на основе материалов фирм Phytec и Infineon и своего собственного опыта, и мы надеемся, что приведенная информация окажется вам полезной.