CANNY 5.3 Pico
CANNY 5.3 Pico — малогабаритный, бюджетный, бескорпусной визуально программируемый логический контроллер CAN-контроллер с тремя универсальными каналами ввода-вывода (+12В/GND/100мА) и одним каналом АЦП (0…+5В), ориентированный на автомобильное, бытовое и промышленное применение. Конструктивные особенности и габариты CANNY 5.3 Pico позволяют использовать его как автономное устройство, а также встраиваемый контроллер.
- Общие сведения
- Устройство и принцип работы
- Режимы работы
- Среда исполнения функциональных диаграмм
- Ресурсы контроллера – краткое описание
- Системные ресурсы и режимы работы
- Драйвер каналов ввода-вывода
- Драйвер высокочастотного широтно-импульсного модулятора (ВЧ ШИМ)
- Драйвер UART / RS232 / Modbus
- Драйвер CAN
- Драйвер LIN
- Драйвер Dallas 1-Wire
- Параметры пользовательской конфигурации
- Энергонезависимая память (ЭНП)
- Аналого-цифровой преобразователь (АЦП)
Общие сведения
Программируемый логический контроллер CANNY 5.3 Pico, ввиду небольшого количества внешних каналов, может быть отнесен к классу интеллектуальных реле или NanoPLC. Тем не менее, возможностей CANNY 5.3 Pico достаточно для решения многих задач автоматизации, контроля и управления.
Основными особенностям CANNY 5.3 Pico являются:
- номинальное напряжение питания и каналов ввода-вывода 0…12В (18В max);
- максимальный выходной ток каждого из 3 каналов ввода-вывода контроллера: +/-100мА, достаточен для управления типовыми автомобильными реле;
- интерфейс CAN 2.0B совместимый с ISO-11898, SAE J2411 широко применяемым в автомобилях;
- поддержка популярных интерфейсов обмена данными: 2 UART, 2 LIN, Dallas*;
- встроенные средства управления собственным энергопотреблением контроллера в диапазоне от 1 до 25мА, позволяющие экономно расходовать заряд при питании от аккумулятора;
- энергонезависимая память программ и шестьдесят четыре 16-битные ячейки энергонезависимой памяти данных доступные пользовательскому приложению, способные сохранить критически важные данные при сбоях питания;
- широкий диапазон рабочих температур от -40 до + 85 оС;
- встроенная защита от высоковольтных выбросов и перегрузки;
- компактные размеры, позволяющие монтировать его в местах с ограниченной вместимостью и даже в жгутах автомобильной электропроводки, а также использовать контроллер в качестве встраиваемого.
(* - находится в разработке)
Для создания пользовательских программ CANNY 5.3 Pico, как и для программирования других контроллеров CANNY, используется графический язык программирования CFD. Разработка программ осуществляется в интегрированной среде разработки CannyLab.
ВНИМАНИЕ! Для программирования контроллеров CANNY 5.3 Pico аппаратной версии HW v.5 должна применяться интегрированная среда разработки CannyLab версии не ниже 2.15 Информация о версии контроллера нанесена на нижнюю сторону печатной платы контроллера.
Для записи программного обеспечения в контроллер не требуется специального оборудования, необходим только ПК с портом USB версии 1.1 или выше, с установленной на нем средой CannyLab и стандартный кабель-переходник USB-A–microUSB.
Доступный пользователю объем памяти контроллера способен вместить программы, состоящие из нескольких сотен функциональных блоков, что позволяет реализовать достаточно сложные алгоритмы.
Каждый из 3 каналов ввода-вывода может работать различных режимах, определяющих полярность, ток и временные параметры входного/выходного сигналов. Режим работы каналов может быть настроен индивидуально для каждого из них с помощью пользовательской функциональной диаграммы. Кроме того, отдельные каналы могут быть сконфигурированы для работы с цифровыми интерфейсами, такими как Dallas 1-Wire*, UART, LIN.
Светодиодный индикатор, управляемый из пользовательского приложения удобен для индикации режимов работы контроллера и диагностики.
Устройство и принцип работы
Внешний вид и расположение элементов
Контроллер CANNY 5.3 Pico производится в нескольких аппаратных версиях, отличающихся используемой элементной базой, но полностью совместимых по габаритам, программному обеспечению и назначнию контактов разъема.
Примечание: Для программирования контроллеров CANNY 5.3 Pico аппаратной версии HW v.5 должна применяться интегрированная среда разработки CannyLab версии не ниже 2.15 Информация о версии контроллера нанесена на нижнюю сторону печатной платы контроллера.
Основными конструктивными элементами CANNY 5.3 Pico являются: микроконтроллер (MCU) со вспомогательными цепями, система электропитания всех элементов контроллера, схема согласования электрических уровней каналов ввода-вывода, система электрической защиты, разъемы и индикаторный светодиод, размещенные на единой печатной плате 40 х 15 мм. Контроллер имеет контактные площадки для припайки проводов или установки 8-контактного двухрядного разъема и разъем microUSB. В зависимости от комплектации, для подключения контроллера к питанию и внешним устройствам, в комплект его поставки может быть включен набор проводов или жгут с 8-контактным двухрядным разъемом, а также термоусадочная трубка. На 8 контактных площадках / 8-контактном двухрядном разъеме находятся: вход питания +7В…+18В, вход питания GND, CAN-H, CAN-L, три контакта, соответствующих каналам ввода-вывода №8, №9 и №10 контроллера, контакт АЦП. Разъем microUSB контроллера служит для подключения интерфейсного кабеля, связывающего контроллер с ПК.
Все контакты 8-контактного разъема дополнительно вынесены на специальные краевые контакты, расположенные на длинных сторонах платы контроллера и могут быть использованы для запайки CANNY 5.3 Pico на материнскую плату пользователя. Кроме того, на боковые стороны платы вынесены контакты разъема microUSB, что позволяет, при установке контроллера на материнскую плату, в удобном для пользователя месте, разместить разъем для подключения контроллера к ПК, для обновления ПО контроллера.
Габаритные и установочные размеры контроллера
Рекомендованные размеры и расположение контактных площадок для поверхностного монтажа контроллера
Программная архитектура
CANNY 5.3 Pico является цифровым программируемым вычислительным управляющим устройством. В целом, для CANNY 5.3 Pico справедливы общие сведения о программируемых логических контроллерах изложенные во введении к настоящему руководству. Основными элементами CANNY 5.3 Pico являются: арифметическо-логическое устройство (АЛУ), внутренняя память, подсистема управления ходом исполнения команд и система ввода-вывода.
Арифметическо-логическое устройство — вычислительное ядро CANNY 5.3 Pico. АЛУ обеспечивает исполнение системного программного обеспечения и пользовательских функциональных диаграмм, помещенных во внутреннюю память контроллера. Внутренняя память контроллера разделяется на энергонезависимую память программ, энергонезависимую память данных и оперативную память данных. Подсистема управления ходом обработки команд, отвечает за переключение и настройку режимов работы контроллера. Система ввода-вывода обеспечивает связь контроллера с внешним миром, с использованием как дискретных каналов ввода-вывода, так и стандартных цифровых интерфейсов CAN / LIN / UART.
Структура программного обеспечения
Программное обеспечение CANNY 5.3 Pico состоит из: программного загрузчика, системного ПО (операционной системы и драйверов) и пользовательской функциональной диаграммы.
Программный загрузчик обеспечивает работу контроллера в режиме загрузки ПО, организуя передачу данных между CANNY 5.3 Pico и персональным компьютером через интерфейс USB, осуществляет проверку целостности и запись переданного от ПК программного обеспечения во внутреннюю память контроллера. Программный загрузчик помещается во внутреннюю память контроллера в процессе его производства и не может быть удален или изменен пользователем. Системное программное обеспечение CANNY 5.3 Pico распространяется производителем в виде файлов формата CCX и содержит операционную систему и набор драйверов, обеспечивающих исполнение пользовательской функциональной диаграммы и её взаимодействие с ресурсами контроллера. Модификация пользователем содержимого данных файлов не допускается. Содержимое различных файлов CCX может быть многократно записано пользователем в контроллер. Пользовательская функциональная диаграмма создается и модифицируется пользователем в интегрированной среде разработки CannyLab и, после записи в контроллер, определяет алгоритм его работы в автономном режиме. Пользовательские диаграммы могут быть многократно записаны в контроллер и сохранены из среды CannyLab в файлы формата CFD.
Режимы работы
Предусмотрено несколько режимов работы контроллера, предназначенных для выполнения основных операций с ним.
Режим загрузки ПО
В данном режиме, контроллер функционирует под управлением встроенного программного загрузчика, выполняющего запись системного программного обеспечения и функциональной диаграммы в контроллер по командам CannyLab. Вход в режим осуществляется автоматически, при установлении соединения контроллера с ПК по интерфейсу USB. Порядок подключения контроллера к ПК приведен в разделе «Cannylab: Работа с контроллером». При переходе в данный режим выполняется общий сброс контроллера: исполнение контроллером функциональной диаграммы прекращается, каналы ввода-вывода контроллера переводятся в нейтральное состояние, включается встроенный зеленый светодиод контроллера. При установлении связи с контроллером со стороны программного обеспечения ПК, зеленый светодиод контроллера переходит в мерцающий режим. Выход из данного режима происходит автоматически, при разрыве соединения контроллера с ПК. Если в момент выхода из режима загрузки ПО, энергонезависимая память программ контроллера содержала корректно записанное системное программное обеспечение и пользовательскую диаграмму, то при подаче внешнего питания контроллер переходит в автономный режим работы.
Автономный режим
Автономный режим является основным режимом работы контроллера. В данном режиме контроллер под управлением загруженного в него системного программного обеспечения последовательно, в бесконечном цикле, исполняет функциональную диаграмму, работая по алгоритму заданному пользователем. Переход в данный режим происходит автоматически, при подключении контроллера к внешнему питанию +7В…+16В в отсутствие USB соединения. При работе в данном режиме, функциональной диаграмме пользователя доступны все ресурсы контроллера, драйверы которых включены в загруженное системное программное обеспечение.
Автономный режим пониженного энергопотребления
Данный режим является вариантом обычного автономного режима, в котором после каждого цикла исполнения функциональной диаграммы, контроллер делает паузу в работе,снижая своё энергопотребление до минимального. Таким образом, контроллер работает в пульсирующем режиме, периодически «засыпая» и «просыпаясь». Включением, отключением и настройкой параметров данного режима управляет функциональная диаграмма. Использование данного режима актуально при разработке систем, ориентированных на батарейное питание, таких как бортовое автомобильное оборудование.
Среда исполнения функциональных диаграмм
Представление функциональной диаграммы
Созданная в среде CannyLab графическая функциональная диаграмма, непосредственно перед записью в контроллер автоматически обрабатывается транслятором, который выполняет проверку диаграммы на непротиворечивость, определяет порядок выполнения функциональных блоков и преобразует диаграмму в исполняемый код — последовательность машинных команд АЛУ контроллера CANNY 5.3 Pico.
Порядок исполнения
Исполняемый код диаграммы, при записи в контроллер уже содержащий системное программное обеспечение, включается в последовательность машинных команд системного ПО. Таким образом, общая последовательность команд контроллера с загруженным системным ПО и функциональной диаграммой, будет состоять из: процедуры инициализации, исполняемой однократно после каждого сброса контроллера и исполняемого кода функциональной диаграммы, обрамленного процедурами управления ресурсами контроллера, и помещенного в бесконечно исполняемый цикл – цикл выполнения диаграммы.
Некоторые драйверы, включенные в состав системного ПО контроллера, например драйвер CAN, требуют безотлагательной реакции контроллера на возникающие в процессе приема и передачи данных программные события. Программный код таких драйверов обрабатывается контроллером асинхронно, параллельно с основным потоком исполнения. На время обработки асинхронных вызовов драйверов, исполнение основного цикла выполнения диаграммы кратковременно приостанавливается.
Доступ к ресурсам контроллера
Все доступные пользователю из функциональной диаграммы ресурсы: системные ресурсы контроллера, подсистема ввода-вывода и дополнительные драйверы включенные в состав системного ПО, отображаются на защищенное адресное пространство внутренней памяти контроллера. Данное адресное пространство разделено на регистры чтения (контроля) и регистры записи.
Пользователь имеет возможность указать регистр чтения в качестве источника входных данных практически любого функционального блока на диаграмме и, тем самым, извлечь и использовать при реализации собственных алгоритмов сведения, полученные контроллером из внешнего мира. Например информацию об электрическом потенциале на каком-либо контакте контроллера, или содержимое пакета данных принятого контроллером из CAN.
Регистр записи может быть использован в качестве получателя выходных данных любого функционального блока на диаграмме. Таким образом, пользователь осуществляет управление ресурсами контроллера из функциональной диаграммы, получая возможность воздействовать на объекты внешнего мира. Например, переключить внешнее реле, изменив электрический потенциал на одном из контактов контроллера, к которому подключена его обмотка; включить контрольный светодиод; задать режим работы CAN; отправить пакет данных.
Порядок использования большинства ресурсов контроллера включает в себя задание пользователем необходимых параметров их работы, например полярности выходных каналов, полярности входных каналов, скорости обмена данными по CAN и т. д.
Задание таких параметров производится в форме записи специальных констант в один или в несколько определенных регистров контроллера, в зависимости от того, конфигурацию какого из ресурсов требуется задать. Например, установкой константы со значением 260 в регистр, расположенный по адресу 71 задается режим работы канала №8 в качестве выхода положительной полярности.
В среде CannyLab, для удобства пользователя, все доступные регистры контроллера поименованы, как и все специальные константы, использующиеся при взаимодействии с ресурсами контроллера. Поэтому для пользователя CannyLab данная операция будет выглядеть как установка константы с именем «ПЛЮС/подтянут к минусу» в регистр с именем «Регистр конфигурации выходных потенциалов канала №8».
Установив таким образом режим работы канала №8, мы можем по появлению значения «1» в регистре расположенном по адресу 4055 («Регистр входного значения канала №8»), узнать о приложении положительного электрического потенциала к контакту №4 контроллера.
Ресурсы контроллера – краткое описание
Системные ресурсы и режимы работы
Основная статья: CANNY 5.3 Pico, Системные ресурсы и режимы работы
Системные ресурсы контроллера отображаются на группу регистров чтения и группу регистров записи. Обращаясь к данным регистрам из функциональной диаграммы, можно получить востребованные в практическом применении сведения о текущем состоянии контроллера и управлять режимами его работы. Список регистров системных ресурсов находится в разделе «Состояние контроллера» справочника регистров, который доступен пользователю через контекстное меню элементов «Регистр чтения» и «Регистр записи».
Драйвер каналов ввода-вывода
Основная статья: CANNY 5.3 Pico, Драйвер каналов ввода-вывода
Пользователям CANNY 5.3 Pico доступны три дискретных канала ввода-вывода общего назначения. Каждый канал физически представлен соответствующим контактом контроллера: канал №8 - контакт №6, канал №9 - контакт №2, канал №10 - контакт №3. Записывая и считывая данные соответствующих регистров драйвера, функциональная диаграмма может как управлять электрическим потенциалом на каждом из этих контактов так и получать информацию о текущем значении потенциала каждого из них.
Физические характеристики каналов позволяют подключать к ним различные внешние исполнительные устройства — электромагнитные реле, небольшие электродвигатели, светодиоды, слаботочные цепи управления оборудованием. В качестве внешних источников дискретных сигналов способных управлять работой контроллера, возможно использовать механические, электромеханические и электронные кнопки и переключатели, генераторы импульсов, источники напряжения 0-18В, транзисторные выходы различной аппаратуры и т.п.
Режим и параметры работы любого из каналов задаются функциональной диаграммой. В каждый момент времени канал может работать только в одном из возможных режимов, однако допускается динамическое переопределение конфигурации канала из функциональной диаграммы в процессе ее выполнения.
Драйвер высокочастотного широтно-импульсного модулятора (ВЧ ШИМ)
Основная статья: CANNY 5.3 Pico, Драйвер высокочастотного широтно-импульсного модулятора (ВЧ ШИМ)
Все каналы ввода-вывода (Канал №8, Канал №9, Канал №10) CANNY 5.3 Pico поддерживают работу в режиме высокочастотного широтно-импульсного модулятора, при этом период и скважность задаются в диапазоне от 2 до 32767 микросекунд, с шагом 1 микросекунда.
Использование драйвера ВЧ ШИМ позволяет каналам контроллера работать асинхронно функциональной диаграмме, что дает возможность добиться максимальной стабильности временных параметров генерируемого сигнала.
В режиме ВЧ ШИМ канал имеет фиксированную полярность импульсов — GND 100мА. Генерация ведется в режиме открытого коллектора (подтяжка линии отсутствует или внешняя), либо с использованием внутренней подтяжки к напряжению питания.
Драйвер UART / RS232 / Modbus
Основная статья: CANNY 5.3 Pico, Драйвер UART - RS232 - Modbus
Контроллеры CANNY 5.3 Pico имеют два независимых аппаратных интерфейса UART, поддерживающих работу в асинхронном полудуплексном режиме приема/передачи данных, который может быть использован для связи контроллеров друг с другом или с внешним оборудованием поддерживающим данный вид связи. Интерфейс UART1 задействует канал №9 (TX1/RX1), а интерфейс UART2 - канал №10 (TX2/RX2) контроллера. Каналы могут быть задействованы независимо друг от друга и иметь индивидуальные настройки скорости передачи данных, типа и конфигурации используемого протокола, подтяжки линии. Контроль состояния канала передачи данных должен осуществляться пользователем из функциональной диаграммы. Если канал свободен, то устройство может начать передачу данных, в противном случае устройство должно дождаться освобождения линии. Наличие двух интерфейсов UART, способных работать в полудуплексном режиме, позволяет, при необходимости, организовать на их основе один интерфейс, работающий в дуплексном режиме.
Реализация RS-232 в контроллерах CANNY 5.3 Pico, при использовании обоих каналов UART данных, позволяет организовать обмен данными с другим RS-232 устройством в дуплексном режиме, т.е. по одному каналу выполнять отправку данных, а по другому одновременно осуществлять прием данных.
Протокол Modbus в контроллерах CANNY 5.3 Pico реализуется как поверх UART, так и поверх RS-232. В качестве ADU (Application Data Unit) используется компактный двоичный вариант - Modbus RTU. Проверка целостности данных осуществляется с помощью автоматически рассчитываемой контрольной суммы (CRC). Размер пакета ограничен 16 байтами включая CRC.
Примечание: Для корректной работы интерфейсов UART/RS-232 необходимо, чтобы контакты GND устройств, совершающих обмен данными, были приведены к единому потенциалу («общая земля»).
Примечание: В реализации UART активным уровнем линии является потенциал GND 100mA, пассивным - положительный потенциал заданный внутренней или внешней подтяжкой канала контроллера. В реализации RS-232 — потенциалы обратные.
Драйвер UART / RS232 / Modbus в своей работе использует ресурсы каналов контроллера, но имеет более высокий приоритет чем драйвер дискретного ввода-вывода. Таким образом, при активации драйвера UART / RS232 / Modbus, для задействованных в его работе каналов, изменение значений в связанных с ними регистрах драйвера дискретного ввода-вывода будет проигнорировано контроллером.
Драйвер CAN
Основная статья: CANNY 5.3 Pico, Драйвер CAN
Два специальных внешних вывода контроллера CANNY 5.3 Pico, контакт №1 (CAN-L) и контакт №4 (CAN-H), предназначены для подключения к цифровой информационной шине CAN.
Драйвер LIN
Основная статья: CANNY 5.3 Pico, Драйвер LIN
Два из трех каналов ввода-вывода CANNY 5.3 Pico, которые могут быть переданы под управление драйвера UART/RS-232 (Канал №9 и Канал №10), могут быть использованы для организации приема-передачи данных, как два независимых канала драйвера LIN.
Каналы драйвера LIN могут подключаться как вместе так и по отдельности, иметь индивидуальные настройки скорости передачи данных, подтяжки линии и типа узла сети MASTER или SLAVE.
Драйвер LIN в своей работе использует ресурсы каналов контроллера, но имеет более высокий приоритет чем драйвер дискретного ввода-вывода. Таким образом, при активации драйвера LIN, для задействованных в его работе каналов, изменение значений в связанных с ними регистрах драйвера дискретного ввода-вывода будет проигнорировано контроллером.
Драйвер Dallas 1-Wire
Основная статья: CANNY 5.3 Pico, Драйвер Dallas 1-Wire
Контроллер CANNY 5.3 Pico может быть использован в качестве ведущего (MASTER) узла в однопроводной сети передачи данных Dallas 1-Wire, при этом он имеет возможность только отправлять запросы на получение данных от ведомых устройств.
Для подключения контроллера CANNY 5.3 Pico к шине 1-Wire может быть использован толькео канал ввода-вывода №9, при этом он должен быть снаружи подтянут к напряжению 5В резистором номиналом от 3 кОм до 7 кОм.
В контроллерах CANNY 5.3 Pico предусмотрена возможность обращения к конкретному устройству на шине 1-Wire по его адресу, что позволяет организовать работу контроллера с несколькими ведомыми устройствами по одному каналу.
Параметры пользовательской конфигурации
Основная статья: CANNY 5.3 Pico, Параметры пользовательской конфигурации
Параметры пользовательской конфигурации могут быть заданы конечным пользователем контроллера в момент загрузки в него программного обеспечения с использованием Исполняемого файла автономной загрузки ПО в контроллер. После загрузки ПО и запуска контроллера в автономном режиме, установленные пользователем таким образом данные, становятся доступны функциональной диаграмме в соответствующих регистрах контроллера.
Грамотное использование пользовательских параметров существенно повышает гибкость и универсальность решений на базе контроллера, позволяя конечному пользователю, не имеющему навыков работы с CannyLab, вносить безопасные изменения в работу алгоритма контроллера используя простой пользовательский интерфейс.
Энергонезависимая память (ЭНП)
Основная статья: CANNY 5.3 Pico, Энергонезависимая память (ЭНП)
Для исключения потери критически важной информации (состояния контроллера, состояния внешних устройств и т. п.) при сбросе питания, в контроллере CANNY 5.3 Pico предусмотрено наличие энергонезависимой памяти. Сохраненные в ней значения будут доступны после восстановления питания контроллера в специальных регистрах.
Пользователю доступны 64 шестнадцатибитные ячейки энергонезависимой памяти, доступ к которым осуществляется с помощью соответствующих регистров чтения и записи.
Примечание: Работа с энергонезависимой памятью не требует какой-либо специальной предварительной конфигурации.
Аналого-цифровой преобразователь (АЦП)
Основная статья: CANNY 5.3 Pico, Аналого-цифровой преобразователь (АЦП)
Один специальный контакт контроллера CANNY 5.3 Pico, а именно контакт №7, предназначен для измерения напряжения в диапазоне 0…+5В с разрешением 12 бит.
Драйвер АЦП не требует активации и находится во включенном состоянии постоянно. Результаты измерения напряжения, в виде значения АЦП в диапазоне 0…4095, доступны в «Регистре значения канала АЦП».