CANNY 7.3 Echo
Документация на контроллер CANNY 7.3 Echo дополняется.
CANNY 7.3 Echo — первый серийный контроллер CANNY поддерживающий как стандарт CAN 2.0, так и стандарт CAN-FD. Помимо расширенного диапазона питания 12/24В и двух интерфейсов CAN/CAN-FD поддерживающих работу как в независимом режиме, так и в режиме шлюза, контроллер имеет два дискретных канала ввода-вывода, которые позволяют управлять внешней нагрузкой в дискретном режиме и в режиме ШИМ, обрабатывать ввод от внешних переключателей или иных источников дискретных сигналов, либо использоваться в качестве интерфейсов LIN в режиме Master или Slave, Dallas 1-Wire.
- Общие сведения
- Устройство и принцип работы
- Внешний вид и расположение элементов
- Контактные площадки для установки перемычек и специальные контакты контроллера CANNY 7.3 Echo
- Габаритные и установочные размеры контроллера
- Рекомендованные размеры и расположение контактных площадок для поверхностного монтажа контроллера
- Программная архитектура
- Структура программного обеспечения
- Режимы работы
- Среда исполнения функциональных диаграмм
- Ресурсы контроллера – краткое описание
- Системные ресурсы и режимы работы
- Драйвер каналов ввода-вывода
- Драйвер высокочастотного широтно-импульсного модулятора (ВЧ ШИМ)
- Драйвер CAN
- Драйвер асинхронной передачи в CAN
- Драйвер шлюза CAN
- Драйвер LIN
- Драйвер UART / Modbus
- Драйвер Dallas 1-Wire
- Параметры пользовательской конфигурации
- Энергонезависимая память (ЭНП)
Общие сведения
Также как и контроллеры CANNY 7 и CANNY 5.3 Pico, контроллер CANNY 7.3 Echo может быть отнесен к классу интеллектуальных реле или NanoPLC.
CANNY•7.3 Echo – первый серийный контроллер CANNY поддерживающий как стандарт CAN 2.0, так и стандарт CAN-FD со скоростями передачи данных до 4 Мб/с и длиной сообщений до 64 байт.
К основным особенностям CANNY 7.3 Echo можно отнести:
- номинальное напряжение питания 7…28В;
- диапазон допустимых напряжений на каналах ввода-вывода 0…32В;
- 2 независимых, программно конфигурируемых каналов ввода-вывода, которые могут работать как в режимах выходов нижнего плеча, так и входов с максимальным током каждого из них 100мА, достаточного для управления типовыми автомобильными реле;
- два интерфейса CAN-FD / CAN 2.0A/B совместимых с ISO-11898, SAE J2411 широко применяемым в автомобилях и промышленной автоматике;
- поддержка популярных интерфейсов обмена данными: 2 UART, 2 LIN, Dallas 1-Wire;
- встроенные средства управления собственным энергопотреблением контроллера в диапазоне от 5 до 30мА, позволяющие экономно расходовать заряд аккумулятора во время простоя автомобиля;
- энергонезависимую память программ и шестьдесят четыре 16-и битные ячейки энергонезависимой памяти данных доступные пользовательскому приложению, способные сохранить критически важные данные при сбоях питания;
- широкий диапазон рабочих температур от -40 до + 85оС;
- встроенную защиту от высоковольтных выбросов и переполюсовки питания;
- компактный корпус, соответствующий классу защиты IP50, подходит для монтажа и эксплуатации в составе оборудования кабины автомобиля.
Для написания пользовательских программ CANNY 7.3 Echo используется тот же самый графический язык программирования CFD, что применяется для программирования других контроллеров CANNY и та же среда разработки - CannyLab.
Доступный пользователю объем памяти контроллера способен вместить программы, состоящие из нескольких сотен функциональных блоков, что позволяет реализовать достаточно сложные алгоритмы.
Светодиодный индикатор, управляемый из пользовательского приложения удобен для индикации режимов работы контроллера и диагностики.
Устройство и принцип работы
Внешний вид и расположение элементов
Основными конструктивными элементами CANNY 7.3 Echo являются: микроконтроллер (MCU) со вспомогательными цепями, система электропитания всех элементов контроллера, схема согласования электрических уровней каналов ввода-вывода, система электрической защиты, разъемы и индикаторный светодиод, размещенные на единой печатной плате 40 х 15 мм установленной внутри быстроразборного пластикового корпуса.
Контроллер имеет контактные площадки для припайки проводов или установки 8-контактного двухрядного разъема и разъем microUSB. В зависимости от комплектации, для подключения контроллера к питанию и внешним устройствам, в комплект его поставки может быть включен набор проводов или жгут с 8-контактным двухрядным разъемом. На 8 контактных площадках / 8-контактном двухрядном разъеме находятся: вход питания +7В…+28В, вход питания GND, CAN0-H, CAN0-L, CAN1-H, CAN1-L, два контакта, соответствующих каналам ввода-вывода №0 и №1 контроллера. Разъем microUSB контроллера служит для подключения интерфейсного кабеля, связывающего контроллер с ПК.
Все контакты 8-контактного разъема продублированны краевыми контакты на плате контроллера, что позволяет использовать контроллер как встраиваемый испульзуя метод поверхностного монтажа. Кроме того, контакты разъема microUSB также продублированы краевыми контактами, что позволяет при встраивании контроллера вынести разъем microUSB за пределы платы контроллера.


Контактные площадки для установки перемычек и специальные контакты контроллера CANNY 7.3 Echo
На плате контроллера предусмотрены контактные площадки, расположенные на оборотной стороне платы около разъема, предназначенные для установки перемычек подключения терминирующих сопротивлений номиналом 120 Ом интерфейсов CAN0 и CAN1. По умолчанию, терминирующие сопротивления на плате установлены, но не подключены.
Также, на оборотной стороне платы расположены площадки перемычек для подключения плюсовых подтяжек каналов ввода-вывода контроллера.

Габаритные и установочные размеры контроллера

Рекомендованные размеры и расположение контактных площадок для поверхностного монтажа контроллера

Программная архитектура
CANNY 7.3 Echo является цифровым программируемым вычислительным управляющим устройством.
В целом, для CANNY 7.3 Echo справедливы общие сведения о программируемых логических контроллерах изложенные в статье программируемый логический контроллер.
Основными элементами CANNY 7.3 Echo являются: арифметическо-логическое устройство (АЛУ), внутренняя память, подсистема управления ходом исполнения команд и подсистема ввода-вывода.

Арифметическо-логическое устройство — вычислительное ядро CANNY 7.3 Echo. АЛУ обеспечивает исполнение системного программного обеспечения и пользовательских функциональных диаграмм, помещенных во внутреннюю память контроллера.
Внутренняя память контроллера состоит из постоянного запоминающего устройства (ПЗУ) и оперативного запоминающего устройства (ОЗУ). В ПЗУ расположена энергонезависимая память программ и энергонезависимая память данных, в ОЗУ - оперативная память данных.
Подсистема управления ходом обработки команд отвечает за переключение и настройку режимов работы контроллера.
Подсистема ввода-вывода обеспечивает связь контроллера с внешним миром с использованием как дискретных каналов ввода-вывода, так и стандартных цифровых интерфейсов CAN.
Структура программного обеспечения

Программный загрузчик обеспечивает работу контроллера в режиме загрузки ПО, обеспечивая передачу данных между персональным компьютером и CANNY 7.3 Echo, осуществляет проверку целостности и запись переданного от ПК программного обеспечения во внутреннюю память контроллера. Программный загрузчик помещается во внутреннюю память контроллера в процессе его производства и не может быть удален или изменен пользователем.
Системное программное обеспечение CANNY 7.3 Echo распространяется производителем в виде файлов формата CCX и содержит операционную систему и набор драйверов, обеспечивающих исполнение пользовательской функциональной диаграммы и её взаимодействие с ресурсами контроллера. Модификация пользователем содержимого данных файлов не допускается. Содержимое различных файлов CCX может быть многократно записано пользователем в контроллер.
Пользовательская функциональная диаграмма создается и модифицируется пользователем в интегрированной среде разработки CannyLab и, после записи в контроллер, задает алгоритм его работы в автономном режиме. Пользовательские диаграммы могут быть многократно записаны в контроллер и сохранены из среды CannyLab в файлы формата CFD.
Режимы работы
Предусмотрено несколько режимов работы контроллера, предназначенных для выполнения основных операций с ним.
Режим загрузки ПО
В данном режиме контроллер функционирует под управлением встроенного программного загрузчика, выполняющего запись системного программного обеспечения и функциональной диаграммы в контроллер по командам CannyLab. Вход в режим осуществляется при подключении контроллера к ПК. Порядок подключения контроллера к ПК приведен в разделе «Cannylab: Работа с контроллером».
Для перехода контроллера в данный режим, необходимо полностью отключенный от всех внешних соединений контроллер подключить к ПК с помощью кабеля-переходника USB-A-miniUSB (при этом включается встроенный зеленый светодиод контроллера) и установить соединение ПК с устройством, при этом контрольный светодиод переходит в мерцающий режим.
Выход из данного режима происходит автоматически при разрыве соединения ПК с контроллером. Если в момент выхода из режима загрузки ПО энергонезависимая память программ контроллера содержала корректно записанное системное программное обеспечение, то при очередном подключении питания контроллер переходит в автономный режим работы.
Автономный режим
Автономный режим является основным режимом работы контроллера. В данном режиме контроллер под управлением загруженного в него системного программного обеспечения последовательно, в бесконечном цикле исполняет функциональную диаграмму, работая по заданному пользователем алгоритму. Переход в данный режим происходит автоматически при подключении контроллера к внешнему питанию 12В в отсутствие USB-соединения. При работе в данном режиме функциональной диаграмме пользователя доступны все ресурсы контроллера, драйверы которых включены в загруженное системное программное обеспечение.
Автономный режим пониженного энергопотребления
Данный режим является вариантом обычного автономного режима, в котором после каждого цикла исполнения функциональной диаграммы контроллер делает паузу в работе, снижая своё энергопотребление до минимального. Таким образом, контроллер работает в пульсирующем режиме, периодически «засыпая» и «просыпаясь». Включением, отключением и настройкой параметров данного режима управляет функциональная диаграмма. Использование данного режима актуально при разработке систем, ориентированных на батарейное питание, таких как бортовое автомобильное оборудование.
Среда исполнения функциональных диаграмм
Представление функциональной диаграммы
Созданная в среде CannyLab графическая функциональная диаграмма непосредственно перед записью в контроллер автоматически обрабатывается транслятором, который выполняет проверку диаграммы на непротиворечивость, определяет порядок выполнения функциональных блоков и преобразует диаграмму в исполняемый код — последовательность машинных команд АЛУ контроллера CANNY 7.3 Echo.
Порядок исполнения
Исполняемый код диаграммы при записи в контроллер, память которого уже содержит системное программное обеспечение, включается в последовательность машинных команд системного ПО. Таким образом, общая последовательность команд контроллера с загруженным системным ПО и функциональной диаграммой будет состоять из: процедуры инициализации, исполняемой однократно после каждого сброса контроллера и исполняемого кода функциональной диаграммы, обрамленного процедурами управления ресурсами контроллера, и помещенного в бесконечно исполняемый цикл – цикл выполнения диаграммы.

Некоторые драйверы, включенные в состав системного ПО контроллера, например, драйвер CAN, требуют безотлагательной реакции контроллера на возникающие в процессе приема и передачи данных программные события. Программный код таких драйверов обрабатывается контроллером асинхронно, параллельно с основным потоком исполнения. На время обработки асинхронных вызовов драйверов исполнение основного цикла выполнения диаграммы кратковременно приостанавливается.
Доступ к ресурсам контроллера
Все доступные пользователю из функциональной диаграммы ресурсы: системные ресурсы контроллера, подсистема ввода-вывода и дополнительные драйверы, включенные в состав системного ПО, отображаются на защищенное адресное пространство внутренней памяти контроллера. Данное адресное пространство разделено на регистры чтения (контроля) и регистры записи.
Пользователь имеет возможность указать регистр чтения в качестве источника входных данных практически любого функционального блока на диаграмме и, тем самым, извлечь и использовать при реализации собственных алгоритмов сведения, полученные контроллером из внешнего мира. Например информацию об электрическом потенциале на каком-либо контакте контроллера, или содержимое пакета данных принятого контроллером из CAN.
Регистр записи может быть использован в качестве получателя выходных данных любого функционального блока на диаграмме. Таким образом, пользователь осуществляет управление ресурсами контроллера из функциональной диаграммы, получая возможность воздействовать на объекты внешнего мира. Например, переключить внешнее реле, изменив электрический потенциал на одном из контактов контроллера, к которому подключена его обмотка; включить контрольный светодиод; задать режим работы CAN; отправить пакет данных.
Порядок использования большинства ресурсов контроллера включает в себя задание пользователем необходимых параметров их работы, например скорости обмена данными по CAN и т.д.
Задание таких параметров производится в форме записи специальных констант в один или в несколько определенных регистров контроллера, в зависимости от того, конфигурацию какого из ресурсов требуется задать. Например, передачей константы со значением 1 в регистр, расположенный по адресу 460 задает настройки драйвера CAN0 для работы с шиной на скорости 125кБод.
В среде CannyLab, для удобства пользователя, все доступные регистры контроллера поименованы, как и все специальные константы, использующиеся при взаимодействии с ресурсами контроллера. Поэтому для пользователя CannyLab данная операция будет выглядеть как установка константы с именем «CAN 125k» в регистр с именем «Регистр установки номинальной скорости CAN0».

Аналогичным образом, установкой константы со значением 768 в регистр, расположенный по адресу 113 задается режим работы канала №0 в качестве выхода отрицательной полярности, а по появлению значения «1» в регистре расположенном по адресу 4039 («Регистр входного значения канала №0»), мы можем узнать о приложении положительного электрического потенциала к контакту №5 разъема контроллера.

Ресурсы контроллера – краткое описание
Системные ресурсы и режимы работы
Основная статья: CANNY 7.3 Echo, Системные ресурсы и режимы работы
Системные ресурсы контроллера отображаются на группу регистров чтения и группу регистров записи. Обращаясь к данным регистрам из функциональной диаграммы, можно получить востребованные в практическом применении сведения о текущем состоянии контроллера и управлять режимами его работы. Список регистров системных ресурсов находится в разделе «Состояние контроллера» справочника регистров, который доступен пользователю через контекстное меню элементов «Регистр чтения» и «Регистр записи».
Драйвер каналов ввода-вывода
Основная статья: CANNY 7.3 Echo, Драйвер каналов ввода-вывода
Пользователям CANNY 7.3 Echo доступны 2 дискретных каналов ввода-вывода общего назначения, которые физически представлены двумя контактами разъема разъема контроллера (каналы №№0 и 1). Записывая и считывая данные соответствующих регистров драйвера, функциональная диаграмма может как управлять электрическим потенциалом на каждом из этих контактов так и получать информацию о текущем значении потенциала каждого из них.
Физические характеристики каналов позволяют подключать к ним различные внешние слаботочные цепи управления с любыми видами нагрузки, например, с электромагнитными реле, небольшими электродвигателями, светодиодами, и т.п. В качестве внешних источников дискретных сигналов способных управлять работой контроллера, возможно использовать механические, электромеханические и электронные кнопки и переключатели, генераторы импульсов, источники напряжения 0-24В, транзисторные выходы различной аппаратуры и т.п.
Драйвер высокочастотного широтно-импульсного модулятора (ВЧ ШИМ)
Основная статья: CANNY 7.3 Echo, Драйвер высокочастотного широтно-импульсного модулятора (ВЧ ШИМ)
Любой из каналов ввода-вывода контроллера поддерживает работу в режиме высокочастотного широтно-импульсного модулятора. Одновременно может быть задействовано до 2 независимых каналов ВЧ ШИМ с индивидуальными настройками периода и заполнения (скважности). В процессе работы контроллера, с помощью пользовательской диаграммы, каналы ВЧ ШИМ могут быть перенастроены. В режиме ВЧ ШИМ, временные параметры ШИМ – период и скважность задаются в диапазоне от 2 до 65535 микросекунд, с шагом 1 микросекунда.
Использование драйвера ВЧ ШИМ позволяет указанным каналам контроллера работать асинхронно функциональной диаграмме, что дает возможность добиться максимальной стабильности временных параметров генерируемого сигнала.
Драйвер CAN
Основная статья: CANNY 7.3 Echo, Драйвер CAN
Контроллер CANNY 7.3 Echo имеет два независимых интерфейса CAN, поддерживающих работу как с CAN 2.0, так и с CAN-FD. Две пары контактов 8-контаткного разъема контроллера предназначены для подключения к двум цифровоым информационным шинам CAN или CAN-FD: конткты №1 и №7 используются драйвером интерфейса CAN0 (CAN0-L и CAN0-H), конткты №4 и №6 - драйвером интерфейса CAN1 (CAN1-L и CAN1-H).
Драйвер асинхронной передачи в CAN
Основная статья: CANNY 7.3 Echo, Драйвер асинхронной передачи в CAN
Драйвер асинхронной передачи в CAN позволяет, независмо от функциональной диаграммы, осуществлять отправку CAN-сообщений, с заренее определенными параметрами, с установленной периодичностью отправки и смещением момента начала передачи. Работа в асинхронном режиме, в случаях когда это критически важно, позволяет добиваться более стабильной периодичности отправки сообщений, чем при отправке из функциональной диаграммы.
Пользователю доступны 16 буферов для асинхронной передачи сообщений в CAN с индивидуальными настройками номера CAN-интерфейса, идентификатора, данных и периода отправки сообщений.
Драйвер шлюза CAN
Основная статья: CANNY 7.3 Echo, Драйвер шлюза CAN
Используя драйвер шлюза CAN возможно организовать высокоскоростную асинхронную ретрансляцию сообщений между аппаратными CAN-интерфейсами контроллера с возможностью автоматической модификации ретранслируемых сообщений по динамически задаваемым диаграммой правилам.
Драйвер LIN
Основная статья: CANNY 7.3 Echo, Драйвер LIN
Контроллер CANNY 7.3 Echo имеет 2 однопроводных полудуплексных интерфейсов последовательной передачи данных. Каждый из таких интерфейсов может одновременно работать в режиме совместимости с одним из стандартов: UART или LIN 1.3/2.0 и быть назначенным на один из каналов ввода-вывода контроллера.
Таким образом, одновременно оба канала ввода-вывода CANNY 7.3 Echo, могут быть использованы для организации приема-передачи данных в качестве независимых каналов драйвера LIN.
Каналы LIN могут подключаться как вместе, так и по отдельности, иметь индивидуальные настройки скорости передачи данных и типа узла сети MASTER или SLAVE.
Драйвер UART / Modbus
Основная статья: CANNY 7.3 Echo, Драйвер UART / Modbus
Контроллер CANNY 7.3 Echo имеет 2 однопроводных полудуплексных интерфейсов последовательной передачи данных. Каждый из таких интерфейсов может работать одновременно работать в режиме совместимости с одним из стандартов: UART или LIN 1.3/2.0 и быть назначенным на один из каналов ввода-вывода контроллера.
Таким образом, одновременно оба канала ввода-вывода CANNY 7.3 Echo, могут быть использованы для организации приема-передачи данных в качестве однопороводных полудуплексных, или одного двухпроводного дуплексного интерфейса UART с опциональной поддержкой стандарта Modbus RTU.
Каналы UART могут подключаться как вместе, так и по отдельности, иметь индивидуальные настройки скорости передачи данных.
Драйвер Dallas 1-Wire
Основная статья: CANNY 7.3 Echo, Драйвер Dallas 1-Wire
Контроллер CANNY 7.3 Echo может быть использован в качестве ведущего (MASTER) узла в однопроводной сети передачи данных Dallas 1-Wire, при этом он имеет возможность только отправлять запросы на получение данных от ведомых устройств.
Для подключения контроллера CANNY 7.3 Echo к шине 1-Wire может использоваться любой из его каналов ввода-вывода. Канал контроллера, используемый для работы с 1-Wire, должен быть снаружи подтянут к напряжению 5В резистором номиналом от 3 кОм до 7 кОм.
В контроллерах CANNY 7.3 Echo предусмотрена возможность обращения к конкретному устройству на шине 1-Wire по его адресу, что позволяет организовать работу контроллера с несколькими ведомыми устройствами по одному каналу. Кроме того, используя несколько каналов контроллера, возможно последовательное подключение к нескольким шинам 1-Wire.
Параметры пользовательской конфигурации
Основная статья: CANNY 7.3 Echo, Параметры пользовательской конфигурации
Параметры пользовательской конфигурации могут быть заданы конечным пользователем контроллера в момент загрузки в него программного обеспечения с использованиемисполняемого файла автономной загрузки ПО в контроллер. После загрузки ПО и запуска контроллера в автономном режиме, установленные пользователем таким образом данные, становятся доступны функциональной диаграмме в соответствующих регистрах контроллера.
Энергонезависимая память (ЭНП)
Основная статья: CANNY 7.3 Echo, Энергонезависимая память (ЭНП)
Для предотвращения потери критически важной информации о состоянии пользовательской диаграммы (настройки, коды, текущие режимы работы и т. п.) при сбросе питания контроллера либо при его перезапуске по иной причине, в CANNY 7.3 Echo предусмотрен доступ на чтение и запись из пользовательской диаграммы ко встроенной энергонезависимой памяти контроллера.
Пользователю доступны 64 шестнадцатибитные ячейки энергонезависимой памяти, доступ к которым осуществляется с помощью соответствующих регистров чтения и записи. Ресурс энергонезависимой памяти составляет не менее 100000 циклов записи.