Способ и фильтрующее устройство для фильтрации сообщений, поступающих абоненту коммуникационной сети по последовательной шине данных этой сети
Иллюстрации
Показать всеИзобретение относится к фильтрации сообщений, поступающих по последовательной шине данных коммуникационной сети. Технический результат изобретения заключается в простоте и экономности потребления ресурсов. Для реализации фильтрации поступающих сообщений при большом числе критериев фильтрации фильтрующее устройство (6) содержит список, в который внесено несколько пар идентификаторов (ID1, ID2), каждая из которых определяет диапазон значений, ограниченный первым идентификатором (ID1) и вторым идентификатором (ID2). Идентификатор (8) поступившего сообщения (7) сравнивают по меньшей мере с выбранными парами идентификаторов (ID1, ID2) и выполняют запрос о том, является ли идентификатор (8) поступившего сообщения (7) большим либо большим или равным выбранному первому идентификатору (101) и меньшим либо меньшим или равным выбранному второму идентификатору (ID2). Поступившее сообщение (7) - в зависимости от настройки, задаваемой посредством битов конфигурации (SFM; EFM) - передают приложению (5) или отклоняют, если идентификатор (8) поступившего сообщения (7) находится в диапазоне значений, ограниченном первым идентификатором (ID1) и вторым идентификатором (ID2). 2 н. и 12 з.п. ф-лы, 4 ил.
Реферат
Область техники, к которой относится изобретение
Настоящее изобретение относится к способу фильтрации сообщений, поступающих по последовательной шине данных коммуникационной сети в коммуникационный модуль подключенного к шине данных абонента, посредством фильтрующего устройства. При этом каждое сообщение для его идентификации имеет идентификатор. Свойства фильтрующего устройства определяются идентификаторами сообщений, внесенными по меньшей мере в один список фильтрующего устройства.
Изобретение также относится к фильтрующему устройству для коммуникационного модуля абонента, подключенного к последовательной шине данных коммуникационной сети, для осуществления указанного способа.
Уровень техники
Из уровня техники известны коммуникационные сети, в которых сообщения передаются согласно последовательным коммуникационным протоколам, например протоколу сети контроллеров (Controller Area Network, сокр. CAN), протоколу FlexRay, протоколу Local Interconnect Network (LIN), протоколу Media Oriented Systems Transport (MOST). Такие сети содержат по меньшей мере одну шину данных, к которой подключено несколько узлов-абонентов. Известно также, что в таких коммуникационных сетях не все передаваемые по шине данных сообщения используются всеми подключенными к шине данных узлами-абонентами. Каждый узел-абонент содержит коммуникационный модуль и приложение (прикладную программу). Для того чтобы разгрузить хост-приложения в узлах-абонентах, многие коммуникационные модули передают приложению только те сообщения, которые в этом приложении используются. При этом сообщения распознаются по их цифровому идентификатору. Этот метод называют приемной фильтрацией (фильтрацией по приемлемости). Известные методы приемной фильтрации предусматривают использование списков с идентификаторами, которые должны пропускаться через фильтр (так называемые коды приемлемости, или коды приемного фильтра). При фильтрации можно накладывать маску на части идентификаторов, в результате чего каждая запись в списке может соответствовать группе идентификаторов (так называемая маска приемлемости, или маска приемного фильтра). При этом с помощью маски можно исключать n бит идентификатора, в результате чего этот идентификатор будет соответствовать группе из 2n идентификаторов. Настройками известного метода можно варьировать посредством списков идентификаторов, которые не должны приниматься, т.е. должны блокироваться. Эти списки конфигурируются программными средствами.
Если некоторое приложение использует сообщения из широкого спектра идентификаторов, может случиться так, что возможностей аппаратных средств коммуникационного модуля в отношении фильтрации не хватит на то, чтобы пропускать все необходимые сообщения и одновременно блокировать все ненужные сообщения. В этом случае на выполнение оставшейся части приемной фильтрации приложение будет расходовать вычислительную мощность вычислительного блока (например, центрального процессора; ЦП) узла-абонента. Кроме того, задавать другие размеры групп, определяемых масками приемлемости, можно только совмещением, или наложением, одновременно рассматривая и комбинируя несколько записей списка. Однако это занимает время и аппаратные ресурсы. Еще одним недостатком фильтрации посредством кодов приемлемости и масок приемлемости является опасность случайного отклонения желаемых сообщений. Для исключения такой возможности маску приемлемости обычно открывают очень широко, что влечет за собой принятие и таких сообщений, которые приложением вообще не используются. Это создает дополнительную нагрузку на приложение, или прикладную программу (частое обращение к памяти обратного магазинного типа (FIFO) для извлечения сообщения, фильтрация сообщения и т.д.).
Раскрытие изобретения
Исходя из рассмотренного уровня техники, в основу настоящего изобретения была положена задача реализации приемной фильтрации с большим числом критериев фильтрации при как можно меньших затратах.
Для решения этой задачи, исходя из способа фильтрации указанного в начале описания типа, предлагается: вносить по меньшей мере в один список фильтрующего устройства несколько пар идентификаторов, каждая из которых определяет диапазон значений, ограниченный первым идентификатором и вторым идентификатором, сравнивать идентификатор поступившего (входящего) сообщения по меньшей мере с выбранными парами идентификаторов, выполнять запрос о том, является ли идентификатор поступившего сообщения большим либо большим или равным выбранному первому идентификатору и меньшим либо меньшим или равным выбранному второму идентификатору, и передавать поступившее сообщение приложению или отклонять его, если идентификатор поступившего сообщения находится в диапазоне значений, ограниченном первым идентификатором и вторым идентификатором.
Таким образом, в предлагаемом в изобретении способе фильтрации используется не список с отдельными идентификаторами и опциональными масками приемлемости, а список пар идентификаторов. В предлагаемом способе пара идентификаторов определяется как полоса пропускания (так называемый приемный фильтр) или как полоса заграждения (так называемый заграждающий, или режекторный, фильтр). Все идентификаторы принятых сообщений, численные значения которых оказались в интервале между двумя численными значениями пары идентификаторов (первым и вторым идентификатором), принимаются (полоса пропускания) либо отклоняются, или игнорируются (полоса заграждения). Можно рассматривать последовательно несколько пар идентификаторов, пока не будет найдена подходящая пара или пока не будет достигнут конец списка.
Преимущество предлагаемого в изобретении диапазонного фильтра (range filter) заключается в том, что пары идентификаторов могут рассматриваться независимо друг от друга,= и что ширина диапазонов фильтрации может задаваться произвольно. Предпочтительной является реализация фильтрующего устройства аппаратными средствами. Пары идентификаторов предпочтительно рассматривать последовательно, начиная с определенной пары идентификаторов, в частности начиная с начала списка. Это имеет то преимущество, что управление осуществлением способа фильтрации и доступом к содержимому списка реализуется просто и экономно в отношении потребления ресурсов и что пары идентификаторов можно сохранять в памяти с произвольным доступом (например, в запоминающем устройстве с произвольной выборкой; ЗУПВ), а также в постоянной памяти (в постоянном запоминающем устройстве; ПЗУ и ее разновидностях (ППЗУ, ЭППЗУ, ЭСППЗУ)) и не требуется реализовывать на (триггерных) регистрах.
Краткое описание чертежей
Предпочтительные варианты выполнения изобретения раскрыты в зависимых пунктах формулы изобретения и подробнее рассматриваются ниже со ссылкой на чертежи, на которых показано:
на фиг.1 - пример коммуникационной сети с узлами-абонентами, имеющими предлагаемое в изобретении фильтрующее устройство,
на фиг.2 - пример блок-схемы осуществления предлагаемого в изобретении способа фильтрации,
на фиг.3 - пример фильтрующего элемента списка предлагаемого в изобретении фильтрующего устройства для 11-битных идентификаторов сообщений протокола CAN, и
на фиг.4 - пример фильтрующего элемента списка предлагаемого в изобретении фильтрующего устройства для 29-битных идентификаторов сообщений протокола CAN.
Осуществление изобретения
На фиг.1 соответствующая изобретению коммуникационная сеть в целом обозначена номером позиции 1. Сеть 1 содержит шину 2 данных, которая символически представлена единственной линией. К шине 2 данных подключено несколько узлов-абонентов 3, из которых на фиг.1 в качестве примера показано только три. Каждый узел 3 подключен к шине 2 данных посредством коммуникационного модуля 4. Узлы 3 также имеют хост-приложения 5.
По шине 2 данных сообщения 7 могут передаваться согласно последовательному коммуникационному протоколу (например протоколу CAN, FlexRay, LIN, MOST и др.). Коммуникационный модуль 4 отвечает за прием и отправку сообщений 7 по шине 2 данных. Поскольку не все передаваемые по шине 2 сообщения 7 используются всеми подключенными к шине 2 узлами 3, коммуникационные модули 4 имеют фильтрующие устройства 6. Фильтрующее устройство 6 пропускает к приложению 5 только те сообщения 7, которые предназначены для соответствующего узла 3 и действительно используются в приложении 5 этого узла 3.
Каждое сообщение 7 имеет идентификатор 8, обеспечивающий возможность однозначной идентификации сообщений 7. В случае протокола CAN, например, идентификатор 8 представляет собой своего рода адрес отправителя, позволяющий определить происхождение сообщения 7 и характеризующий содержимое сообщения 7. Помимо идентификатора 8 сообщения 7 также имеют секцию 9 полезных данных (так называемая полезная информация или информационное наполнение). Способ фильтрации, выполняемый фильтрующим устройством 6, называется приемной фильтрацией (фильтрацией по приемлемости).
Настоящее изобретение относится к такому усовершенствованию фильтрующего устройства 6, которое позволяет реализовать особенно большое число критериев фильтрации при относительно небольших затратах. Приемная фильтрация начинает работать при поступлении нового сообщения 7. Идентификатор 8 принятого сообщения 7 (некоторое численное значение) сравнивается со списком конфигурированных пар идентификаторов для принятия решения о том, передать ли принятое сообщение 7 приложению 5 или отвергнуть это сообщение 7.
Предпочтительной реализацией фильтрующего устройства является аппаратная реализация. Важный аспект изобретения касается по меньшей мере одного списка, хранящегося в элементе 10 памяти фильтрующего устройства 6. Элемент 10 памяти предпочтительно выполнен в виде запоминающего устройства с произвольным доступом (например, ЗУПВ/ОЗУ) или в виде постоянного запоминающего устройства (например, флэш-памяти, ПЗУ, ЭСППЗУ). Указанный по меньшей мере один список содержит, например, 128 записи, каждая из которых имеет разрядность (ширину) 32 бит. Разумеется, список также может иметь большее или меньшее число записей (например, 256 или 64) или может иметь записи с большей или меньшей разрядностью (например, 64 или 16 бит). Преимуществом применения разрядности слова в 64 бит является то, например, что для 29-битного идентификатора сообщения протокола CAN расширенного формата в одно слово данных можно поместить пару идентификаторов вместе с битами конфигурации, что позволило бы считывать оба идентификатора, входящих в пару идентификаторов, за одну операцию чтения.
В список внесено несколько пар идентификаторов, каждая из которых определяет диапазон значений, ограниченный первым идентификатором ID1 и вторым идентификатором ID2. Идентификатор 8 поступившего (входящего) сообщения 7 сравнивается с парами идентификаторов, расположенными в списке друг с другом, начиная с определенной пары идентификаторов из списка, предпочтительно с первой записи списка, до тех пор, пока не будет найден определяемый парой идентификаторов диапазон значений, в котором находится идентификатор 8 сообщения 7. В этом случае поступившее сообщение 7 - в зависимости от конфигурации - либо передается приложению 5, либо отклоняется. Предпочтительно, чтобы пары идентификаторов из списка сравнивались с идентификатором 8 поступившего сообщения 7 последовательно. Если в списке не было найдено определяемого парой идентификаторов диапазона значений, в который попал бы идентификатор 8 сообщения 7, это поступившее сообщение 7 - в зависимости от конфигурации - может быть либо передано приложению 5, либо отвергнуто.
Преимущество предлагаемого в изобретении способа заключается в том, что пары идентификаторов могут рассматриваться независимо друг от друга, и что ширина их диапазонов фильтрации может конфигурироваться (настраиваться) произвольно. Поскольку пары идентификаторов рассматриваются последовательно, их можно хранить в памяти с произвольным доступом или в постоянном запоминающем устройстве и необязательно реализовывать на триггерных регистрах. Это дает возможность простого и экономически целесообразного осуществления изобретения.
В соответствии с настоящим изобретением используемые для сравнения идентификаторы образуют список пар идентификаторов, сохраненный в элементе 10 памяти. Типичной реализацией такой памяти 10 является ЗУПВ, для специальных применений также возможно использование и энергонезависимой памяти (энергонезависимое ОЗУ, флэш-память, сегнетоэлектрическое ЗУПВ, магниторезистивное ЗУПВ, ЗУПВ с изменением фазовых состояний). Число пар идентификаторов устанавливается произвольно. Для каждой пары идентификаторов устанавливается, действует ли она в качестве полосы пропускания (так называемый приемный фильтр) или в качестве полосы заграждения (так называемые заграждающий, или режекторный, фильтр). Оба численных значения пары идентификаторов могут быть одинаковыми, и тогда пара идентификаторов действует только на определенное сообщение. Приемные фильтры 6, или содержимое по меньшей мере одного списка фильтрации, и принятые сообщения могут сохраняться в одном и том же запоминающем устройстве, распределение памяти между фильтрами и сообщениями может конфигурироваться.
Область памяти, необходимая для одной пары идентификаторов, зависит от используемого коммуникационного протокола. В случае 11-битных идентификаторов сообщений протокола CAN пару идентификаторов можно поместить, например, в 32-разрядное слово данных. В случае 29-битных идентификаторов сообщений протокола CAN пару идентификаторов можно поместить, например, в два 32-разрядных слова данных, каждое из которых содержит биты конфигурации, которые устанавливают, например, действует ли пара идентификаторов в качестве полосы пропускания или полосы заграждения. Для экономии объема памяти в некоторых применениях содержащиеся в списке пары идентификаторов, оба численных значения которых одинаковы, могут, как возможный вариант, заменяться одиночными идентификаторами. В CAN-применениях могут быть предусмотрены отдельные списки для кадров данных и для кадров запроса передачи, а также для 11-битных и 29-битных идентификаторов. Предлагаемый способ приемной фильтрации также может комбинироваться с масками, которые для фильтрации накладываются на части идентификаторов. Кроме того, предлагаемый способ фильтрации с использованием диапазонов значений (диапазонного фильтра) можно комбинировать с другими известными методами фильтрации. Например, возможна комбинация с так называемым классическим фильтром, в котором идентификатор 8 поступившего сообщения 7 сравнивается по меньшей мере с одним из идентификаторов приемлемости (так называемый код приемлемости, или код приемного фильтра) и/или по меньшей мере с одной маской приемлемости (так называемая маска приемлемости, или маска приемного фильтра). Содержащийся в списке первый идентификатор предпочтительно использовать в качестве идентификатора приемлемости, а содержащийся в списке соответствующий второй идентификатор - в качестве маски приемлемости. Возможна также комбинация предлагаемого способа диапазонной фильтрации (с использованием диапазонов значений) с так называемым фильтром с проверкой по двум идентификаторам (dual ID filter). При этом с идентификатором 8 принятого сообщения 7 сравниваются оба хранящихся в списке идентификатора.
Ниже предлагаемый в изобретении способ поясняется подробнее с помощью блок-схемы, приведенной на фиг.2. Осуществление способа начинается в функциональном блоке 20. Приемная фильтрация начинает работать при поступлении нового сообщения 7. Затем в функциональном блоке 21 считывается идентификатор (ID) 8 поступившего сообщения 7. В функциональном блоке 22 указатель устанавливается на определенное место в списке, предпочтительно на первую пару идентификаторов в начале списка. Фильтрующая схема получает в качестве входных параметров идентификатор 8 принятого сообщения 7, указатель на список пар идентификаторов и число записей в списке (размер списка). В блоке 23 запроса проверяется, находится ли указатель в пределах списка.
Если да, то схема считывает в функциональном блоке 24 первую в списке пару идентификаторов и в блоке 25 запроса проверяет, находится ли численное значение принятого идентификатора 8 в диапазоне значений, определяемом парой идентификаторов. Если нет, то в функциональном блоке 26 указатель увеличивается на единицу и осуществляется переход обратно к блоку 23 запроса. В ходе дальнейшего выполнения способа из списка считывается следующая пара идентификаторов и сравнивается с идентификатором 8 поступившего сообщения 7. Эта петля отрабатывается до тех пор, пока не будет достигнут конец списка (на выходе блока 23 запроса - "нет"), или пока не наступит событие "попадание", т.е. пока численное значение принятого идентификатора 8 попадет в диапазон значений, определяемом парой идентификаторов (на выходе блока 25 запроса - "да"),
Если наступило событие "попадание", происходит переход к блоку 27 запроса, где определяется, должна ли текущая пара идентификаторов действовать в качестве полосы пропускания (прием сообщения). Если да, то в функциональном блоке 28 устанавливается, что поступившее сообщение 7 должно быть принято. Если нет, то в функциональном блоке 29 устанавливается, что поступившее сообщение 7 должно быть отвергнуто. Информация о том, должна ли пара идентификаторов действовать в качестве полосы пропускания или в качестве полосы заграждения, также может храниться в списке в виде бита конфигурации SFM (режим фильтрации сообщений стандартного формата, от англ. "Standard Filter Mode").
В том случае, если конец списка был достигнут без наступления события "попадание", т.е. без нахождения в списке подходящей пары идентификаторов, в представленном варианте осуществления изобретения также осуществляется переход к функциональному блоку 29. То, что произойдет в этом случае, можно задать предварительным конфигурированием. Сконфигурировать устройство фильтрации можно и так, что в том случае, если в списке не было найдено подходящих пар идентификаторов, поступившее сообщение 7 будет принято. Тогда в этом случае переход с выхода "нет" блока 23 запроса должен осуществляться к функциональному блоку 28.
Из функционального блока 28 переход осуществляется к еще одному блоку 30 запроса, где проверяется, должно ли поступившее сообщение 7 быть помещено в первый буфер FIFO0, откуда затем приложение 5 может извлечь для себя это сообщение 7. Так, например, возможен вариант, в котором сообщение 7 может помещаться в другой буфер, в зависимости от того, является ли это сообщение 7 важным или неважным, срочным (критичным по времени) или менее срочным, или, в случае шлюза, предназначено ли сообщение для канала А или канала В. Информация о том, в который буфер должно быть помещено сообщение 7, также может сохраняться в списке в виде бита конфигурации SFFS (выбор буфера обратного магазинного типа для фильтрации сообщений стандартного формата, от англ. "Standard Filter FIFO Select"). Затем в функциональном блоке 31 устанавливается, что сообщение 7 сохраняется в первом буфере FIFO0. Если сообщение 7 нужно сохранить не в буфере FIFO0, осуществляется переход к функциональному блоку 32, где устанавливается, что сообщение 7 сохраняется во втором буфере FIFO1, откуда затем приложение 5 может извлечь для себя это сообщение 7. Вместе с тем, возможности осуществления настоящего изобретения не ограничены двумя лишь буферами FIFO0 и FIFO1. При использовании изобретения в шлюзе с несколькими каналами может быть рациональным, например, иметь более чем два буфера FIFO0, FIFO1. Большее число буферов обратного магазинного типа с глубиной "1" соответствовало так называемому контроллеру Full-CAN.
Затем в функциональном блоке 33 поступившее сообщение 7 помещается в выбранный буфер FIFO0 или FIFO1. На этом осуществление способа в функциональном блоке 34 завершается. Осуществление способа завершается и в том случае, если поступившее сообщение должно быть отвергнуто (функциональный блок 29).
На фиг.3 в качестве примера приведена возможная структура 32-разрядного слова данных элемента 10 памяти для 11-битного идентификатора стандартного формата сообщения протокола CAN. Разряд 31 содержит бит конфигурации SFE (включение фильтрации сообщений стандартного формата, от англ. "Standard Filter Enable"), Все активные фильтрующие элементы используются для приемной фильтрации информационных кадров стандартного формата. Значение "0" бита 31 означает, что фильтр неактивен (выключен), а значение "1" означает, что фильтр активен (включен). Разряд 30 содержит бит конфигурации SFM (режим фильтрации сообщений стандартного формата, от англ. "Standard Filter Mode"). Значение "0" бита 30 означает, что если результатом фильтрации является "попадание", поступившее сообщение 7 принимается, а значение "1" означает, что если результатом фильтрации является "попадание", поступившее сообщение 7 отвергается.
Разряды 29 и 28 содержат биты конфигурации SFT (тип фильтрации сообщений стандартного формата, от англ. "Standard Filter Type"). Значение "00" битов 29 и 28 означает, что фильтрующий элемент содержит диапазонный фильтр в диапазоне значений от первого идентификатора ID1 до второго идентификатора ID2. Значение "01" означает, что фильтрующий элемент содержит фильтр с проверкой по двум идентификаторам для первого идентификатора ID1 и второго идентификатора ID2. Значение "10" означает, что фильтрующий элемент содержит классический фильтр, причем первый идентификатор ID1 представляет собой код приемлемости, а второй идентификатор ID2 представляет собой маску приемлемости. Значение "11" зарезервировано, например, для будущих расширенных вариантов способа.
Разряд 27 содержит бит конфигурации SFFS (выбор буфера обратного магазинного типа для фильтрации сообщений стандартного формата, от англ. "Standard Filter FIFO Select"). Значение "0" бита 27 означает, что принятое сообщение 7 сохраняется в первом буфере FIFO0, а значение "1" означает, что принятое сообщение 7 сохраняется во втором буфере FIFO1. Одиннадцать разрядов с 26-го по 16-й содержат идентификатор ID1 для фильтрации сообщений стандартного формата, а одиннадцать разрядов с 10-го по 0-й содержат идентификатор ID2 для фильтрации сообщений стандартного формата. Разряды с 11-го по 15-й зарезервированы.
На фиг.4 в качестве примера приведена возможная структура двух 32-разрядных слов данных элемента 10 памяти для 29-битного идентификатора расширенного формата сообщения протокола CAN. Разряд 31 первого слова данных F0 содержит бит конфигурации EFE (включение фильтрации сообщений расширенного формата, от англ. "Extended Filter Enable"). Все активные фильтрующие элементы используются для приемной фильтрации информационных кадров расширенного формата. Значение "0" бита 31 означает, что фильтр неактивен (выключен), а значение "1" означает, что фильтр активен (включен). Разряд 30 первого слова данных содержит бит конфигурации EFM (режим фильтрации сообщений расширенного формата, от англ. "Extended Filter Mode"). Значение "0" бита 30 означает, что если результатом фильтрации является "попадание", поступившее сообщение 7 принимается, а значение "1" означает, что если результатом фильтрации является "попадание", поступившее сообщение 7 отвергается. Разряд 29 первого слова данных зарезервирован.
Разряды 31 и 30 второго слова данных F1 содержат бит конфигурации EFT (тип фильтрации сообщений расширенного формата, от англ. "Extended Filter Type"). Значение "00" битов 31 и 30 означает, что фильтрующий элемент содержит диапазонный фильтр в диапазоне значений от первого идентификатора ID1 до второго идентификатора ID2. Значение "01" означает, что фильтрующий элемент содержит фильтр с проверкой по двум идентификаторам для первого идентификатора ID1 и второго идентификатора ID2. Значение "10" означает, что фильтрующий элемент содержит классический фильтр, причем первый идентификатор ID1 представляет собой код приемлемости, а второй идентификатор ID2 представляет собой маску приемлемости. Значение "11" зарезервировано, например, для будущих расширенных вариантов способа. Разряд 29 второго слова данных содержит бит конфигурации EFFS (выбор буфера обратного магазинного типа для фильтрации сообщений расширенного формата, от англ. "Extended Filter FIFO Select"). Значение "0" бита 29 означает, что принятое сообщение 7 сохраняется в первом буфере FIFO0, а значение "1" означает, что принятое сообщение 7 сохраняется во втором буфере FIFO1.
Двадцать девять разрядов первого слова данных, а именно разряды с 28-го по 0-й, содержат идентификатор ID1 для фильтрации сообщений расширенного формата, а двадцать девять разрядов второго слова данных, а именно разряды с 28-го по 0-й, содержат идентификатор ID2 для фильтрации сообщений расширенного формата.
Предлагаемый в изобретении способ пригоден, в частности, для применения в шлюзе (блоке межсетевого интерфейса). При этом преимущественно используется контроллер, работающий в соответствии с базовой версией протокола CAN (Basic-CAN) и снабженный одним или несколькими буферами обратного магазинного типа (FIFO). Шлюз подключен к различным шинам 2 данных различных сетей 1. Он служит для передачи сообщений из первой шины 2 данных первой сети 1 во вторую шину 2 данных второй сети 1. Предлагаемая в изобретении фильтрация сообщений может значительно разгрузить программное обеспечение шлюза. В связи со шлюзом выявляется особое преимущество изобретения. Шлюз, в отличие от многих обычных узлов-абонентов 3, должен быть способен обрабатывать, т.е. пересылать, большое число передаваемых в сети 1 сообщений 7. По этой причине в случае шлюза используется особенно много критериев фильтрации, которые с помощью настоящего изобретения могут быть реализованы аппаратными средствами с небольшими затратами. Кроме того, настоящее изобретение обеспечивает возможность проведения особенно быстрой, действенной и экономной в отношении расходования ресурсов фильтрации поступающих сообщений. Предлагаемый в изобретении способ также может использоваться применительно к контроллерам Full-CAN, для чего дополнительные биты конфигурации фильтрующих элементов не только обеспечивают проведения различия между двумя буферами обратного магазинного типа (FIFO), но и выделение определенных сообщений в зарезервированные для этих сообщений запоминающие устройства (так называемые специальные буферы сообщений, англ. "dedicated message buffer").
1. Способ фильтрации сообщений (7), поступающих по последовательной шине (2) данных коммуникационной сети (1) в коммуникационный модуль (4), подключенного к шине (2) данных абонента (3), посредством фильтрующего устройства (6), причем каждое сообщение (7) имеет идентификатор (8) для его идентификации, а свойства фильтрующего устройства (6) определяются идентификаторами сообщений (7), внесенными по меньшей мере в один список фильтрующего устройства (6), причемв указанный по меньшей мере один список фильтрующего устройства (6) внесено несколько пар идентификаторов (ID1, ID2), каждая из которых определяет диапазон значений, ограниченный первым идентификатором (ID1) и вторым идентификатором (ID2),идентификатор (8) поступившего сообщения (7) сравнивают по меньшей мере с выбранными парами идентификаторов (ID1, ID2) и выполняют запрос о том, является ли идентификатор (8) поступившего сообщения (7) большим либо большим или равным выбранному первому идентификатору (ID1) и меньшим либо меньшим или равным выбранному второму идентификатору (ID2),отличающийся тем, что в список фильтрующего устройства (6)дополнительно к каждой паре идентификаторов (ID1, ID2) включена относящаяся к ней информация (SFM; EFM) о режиме фильтрации, причем в зависимости от информации (SFM; EFM) о режиме фильтрации, относящейся к паре идентификаторов (ID1, ID2) текущего запроса, поступившее сообщение (7) передают содержащемуся в абоненте (3) приложению (5) или отклоняют, если идентификатор (8) поступившего сообщения (7) находится в диапазоне значений, ограниченном первым идентификатором (ID1) и вторым идентификатором (ID2) текущего запроса.
2. Способ по п.1, отличающийся тем, что идентификатор (8) поступившего сообщения (7) сравнивают с парами идентификаторов (ID1, ID2) из списка до тех пор, пока идентификатор (8) поступившего сообщения (7) не окажется в диапазоне значений, ограниченном первым идентификатором (ID1) и вторым идентификатором (ID2) пары идентификаторов (ID1, ID2) текущего запроса, или пока не будет достигнут конец списка.
3. Способ по п.1, отличающийся тем, что идентификатор (8) поступившего сообщения (7), начиная с определенной пары идентификаторов (ID1, ID2) из списка, сравнивают с парой идентификаторов (ID1, ID2), непосредственно следующей в списке за парой идентификаторов (ID1, ID2) предыдущего запроса, до тех пор, пока идентификатор (8) поступившего сообщения (7) не окажется в диапазоне значений, ограниченном первым идентификатором (ID1) и вторым идентификатором (ID2) пары идентификаторов (ID1, ID2) текущего запроса, или пока не будет достигнут конец списка.
4. Способ по одному из пп.1-3, отличающийся тем, что в список фильтрующего устройства (6) дополнительно к каждой паре идентификаторов (ID1, ID2) включена относящаяся к ней информация (SFT; EFT) о типе фильтрации, причем в зависимости от информации (SFT; EFT) о типе фильтрации, относящейся по меньшей мере к одной паре идентификаторов (ID1, ID2), способ фильтрации дополняют или заменяют по меньшей мере одним дополнительным способом фильтрации, а поступившее сообщение (7) передают приложению (5) или отклоняют в зависимости от его идентификатора (8) и результата выполнения дополнительного способа фильтрации.
5. Способ по одному из пп.1-3, отличающийся тем, что в список фильтрующего устройства (6) дополнительно к каждой паре идентификаторов (ID1, ID2) включена относящаяся к ней информация (SFFS; EFFS) о передаче сообщения, причем в зависимости от информации (SFFS; EFFS) о передаче сообщения, относящейся к паре идентификаторов (ID1, ID2) текущего запроса, поступившее сообщение (7) передают в определенный буфер (FIFO0; FIFO1) для извлечения приложением (5), если идентификатор (8) поступившего сообщения (7) находится в диапазоне значений, ограниченном первым идентификатором (ID1) и вторым идентификатором (ID2) текущего запроса.
6. Способ по п.4 или 5, отличающийся тем, что фильтрующее устройство (6) имеет для осуществления дополнительного способа фильтрации по меньшей мере один дополнительный список с идентификаторами сообщений, причем идентификатор (8) поступившего сообщения (7) сравнивают по меньшей мере с выбранными идентификаторами из дополнительного списка и выполняют запрос о том, равен ли идентификатор (8) поступившего сообщения (7) выбранному идентификатору из дополнительного списка, и поступившее сообщение (7) передают приложению (5) или отклоняют, если идентификатор (8) поступившего сообщения (7) равен выбранному идентификатору из дополнительного списка.
7. Способ по п.6, отличающийся тем, что первые идентификаторы (ID1) и вторые идентификаторы (1D2) пар идентификаторов (ID1, ID2), внесенных в указанный по меньшей мере один список, используют в качестве идентификаторов указанного по меньшей мере одного дополнительного списка, и поступившее сообщение (7) передают приложению (5) или отклоняют, если идентификатор (8) поступившего сообщения (7) равен первому идентификатору (ID1) или равен второму идентификатору (ID2) выбранной пары идентификаторов (ID1, ID2).
8. Способ по п.4 или 5, отличающийся тем, что фильтрующее устройство (6) имеет для осуществления дополнительного способа фильтрации по меньшей мере один дополнительный список с идентификаторами приемлемости и/или с масками приемлемости, причем идентификатор (8) поступившего сообщения (7) сравнивают по меньшей мере с выбранными идентификаторами приемлемости и/или с выбранными масками приемлемости из дополнительного списка и выполняют запрос о том, равен ли идентификатор (8) поступившего сообщения (7) выбранному идентификатору приемлемости или подпадает ли он под маску приемлемости, и поступившее сообщение (7) передают приложению (5) или отклоняют, если идентификатор (8) поступившего сообщения (7) равен выбранному идентификатору приемлемости или подпадает под маску приемлемости.
9. Способ по п.8, отличающийся тем, что в качестве идентификаторов приемлемости и/или масок приемлемости указанного по меньшей мере одного дополнительного списка используют первые идентификаторы (ID1) и вторые идентификаторы (ID2) внесенных в указанный по меньшей мере один список пар идентификаторов (ID1, ID2), и поступившее сообщение (7) передают приложению (5) или отклоняют, если идентификатор (8) поступившего сообщения (7) равен первому идентификатору (ID1) выбранной пары идентификаторов (ID1, ID2) или подпадает под второй идентификатор (ID2) выбранной пары идентификаторов (ID1, ID2).
10. Фильтрующее устройство (6) для коммуникационного модуля (4) абонента (3), подключенного к последовательной шине (2) данных коммуникационной сети (1), предназначенное для фильтрации сообщений (7), поступающих по шине (2) данных, причем каждое сообщение (7) имеет идентификатор (8) для его идентификации, а фильтрующее устройство (6) содержит по меньшей мере один элемент (10) памяти для хранения списка с идентификаторами сообщений, которыми определяются свойства фильтрующего устройства (6), причем:в указанный по меньшей мере один список фильтрующего устройства (6) внесено несколько пар идентификаторов (ID1, ID2), каждая из которых определяет диапазон значений, ограниченный первым идентификатором (ID1) и вторым идентификатором (ID2),фильтрующее устройство (6) имеет средства выполнения запросов, сравнивающие идентификатор (8) поступившего сообщения (7) по меньшей мере с выбранными парами идентификаторов (ID1, ID2) для определения того, является ли идентификатор (8) поступившего сообщения (7) большим либо большим или равным выбранному первому идентификатору (ID1) и меньшим либо меньшим или равным выбранному второму идентификатору (ID2),отличающееся тем, что в список фильтрующего устройства (6)дополнительно к каждой паре идентификаторов (ID1, ID2) включена относящаяся к ней информация (SFM; EFM) о режиме фильтрации, причем в зависимости от информации (SFM; EFM) о режиме фильтрации, относящейся к паре идентификаторов (ID1, ID2) текущего запроса, поступившее сообщение (7) передают содержащемуся в абоненте (3) приложению (5) или отклоняют, если идентификатор (8) поступившего сообщения (7) находится в диапазоне значений, ограниченном первым идентификатором (ID1) и вторым идентификатором (ID2) текущего запроса.
11. Фильтрующее устройство (6) по п.10, отличающееся тем, что в качестве элемента (10) памяти для хранения пар идентификаторов (ID1, 1D2) списка оно содержит запоминающее устройство с произвольной выборкой (ЗУПВ), постоянное запоминающее устройство (ПЗУ, ППЗУ, ЭППЗУ, ЭСППЗУ) или энергонезависимое запоминающее устройство (энергонезависимое ОЗУ, флэш-память, сегнетоэлектрическое ЗУПВ, магниторезистивное ЗУПВ, ЗУПВ с изменением фазовых состояний).
12. Фильтрующее устройство (6) по п.11, отличающееся тем, что элемент (10) памяти имеет разрядность 32 бит.
13. Фильтрующее устройство (6) по одному из пп.10-12, отличающееся тем, что оно содержит отдельные списки для 11-битных идентификаторов стандартного формата сообщений протокола CAN и для 29-битных идентификаторов расширенного формата сообщений протокола CAN.
14. Фильтрующее устройство (6) по одному из пп.10-12, отличающееся тем, что оно содержит отдельные списки для сообщений протокола CAN, представляющих собой кадр данных, и для сообщений протокола CAN, представляющих собой кадр запроса данных.