ЖУРНАЛ СТА №4/2019

нием сетевых приложений пользовате- лям легче освоиться с SocketCAN. Как видно из рис. 12, семейство протоколов, обеспечивающих Socket Layer, подклю- чаемый к пользовательскому простран- ству, базируется непосредственно на се- тевом уровне Linux, в то время как в драй- верах сетевых устройств CANаппаратное обеспечение контроллера лишь взаимо- действует с сетевым уровнем Linux. Преимущества двухпортового решения В стандартном решении SocketCAN доступен только один порт CANbus. Лю- бое дальнейшее расширение может стать дорогостоящим и трудоёмким, посколь- ку придётся изменить драйвер или уста- новить второй модуль. Двухпортовое ре- шение включает в себя плату расшире- ния CANbus с модификацией Socket- CAN API (рис. 13). Это решение в ми- ниатюрномформ-факторе, построенное на основе исходного кода стандартного SocketCAN open, обеспечивает два пор- та, которые могут коммуницировать с двумя разными сетями CANbus. Это ста- ло возможным благодаря модификации драйвера и демона (сервисной програм- мы) SocketCAN. Двойные порты обес- печивают избыточность, разделение ре- сурсов и возможность подключения к независимым сетям CANbus. При переходе на двухпортовое реше- ние возможны два сценария. ● Сценарий 1: исходная конфигурация была без SocketCAN. Если исходная настройка не использует стандартное решение SocketCAN, то приложения придётся перепрограммировать, так как они не совместимы с интерфей- сом SocketCAN. ● Сценарий 2: оригинальная конфигу- рация использовала SocketCAN. Двух- портовое решение совместимо с лю- бым приложением, которое уже ис- пользует SocketCAN. Это означает, что модификация в данном случае – это просто подключение по принципу plug-and-play. Итак, преимущества SocketCAN для приложений CANbus на основе Linux очевидны. Символьный драйвер может одновременно обслуживать только один процесс и иметь проблемы с совмести- мостью, поскольку все такие драйверы имеют разные интерфейсы с приклад- ным уровнем. Тем не менее, есть ограничения и для стандартного реше- ния SocketCAN, так как оно поддержи- вает только один порт CANbus. Двух- портовое решение с двумя отдельными портами обеспечивает бо́льшую гиб- кость, избыточность и возможность на- стройки для CAN-устройств, функцио- нирующих под управлением ОС Linux. Двухпортовое решение Innodisk со- вместимо с процессорной архитектурой ARM и следующими операционными системами семейства Linux: Ubuntu, Fe- dora, Debian, CentOS, QNX. Среди достоинств модуля SocketCAN можно назвать промышленный ди- зайн с диапазоном рабочих температур − 40…+85°C, соответствие по защите от перенапряжения EN 61000-4-5 2,5 кВ, соответствие по диэлектрической изо- ляции IEC 60950-1:2005 + A1:2009 + A2:2013 2,5 кВ, соответствие по защите от электростатических разрядов EN 61000-4-2 (ESD) до 15 кВ. З АКЛЮЧЕНИЕ Компания Innodisk – один из законо- дателей на рынке твердотельных устройств памяти для особо ответствен- ных применений. Высококачественная продукция Innodisk традиционно поль- зуется спросом в судоходстве, медици- не, промышленности, аэрокосмиче- ской, военной, транспортной сферах. Но сегодня с повсеместным внедрени- ем автономных интеллектуальных устроств, зачастую работающих в слож- ных условиях, чёткая грань между тре- бованиями к военным, промышленным и гражданским системам нивелируется. Растущие ожидания пользователей в плане надёжности и безотказности функционирования заставляют разра- ботчиков всё больше обращать внима- ние именно на продукцию таких инно- вационных компаний, как Innodisk. ● E-mail: textoed@gmail.com Статья подготовлена по материалам компании Innodisk. АППА Р А Т НЫЕ С Р Е ДС Т В А / ФЛЭШ - ПАМЯ Т Ь СТА 4/2019 90 www.cta.ru Рис. 12. Сравнение SocketCAN и символьного драйвера Рис. 13. Двухпортовый модуль CANbus EMUC-B202 Порт CAN1 Порт CAN2 Демон платы EMUC SocketCAN SocketCAN Приложение Приложение Протокол Пространство пользователя Уровень сокетов Протокол семейства CAN Пространство ядра Драйвер символьного устройства Аппаратное обеспечение Контроллер CAN Драйверы сетевых устройств Контроллер CAN Протокол семейства Интернет Драйвер платы EMUC SocketCAN Эмулятор последовательного порта Плата EMUC-B201

RkJQdWJsaXNoZXIy MTQ4NjUy