Шлюз для автоматической маршрутизации сообщений между шинами
Иллюстрации
Показать всеИзобретение относится к шлюзу для автоматической маршрутизации сообщений между шинами. Техническим результатом является создание шлюза для автоматической маршрутизации сообщений между шинами, пересылающего сообщения без влияния и независимо от загрузки центрального процессора. Шлюз для автоматической маршрутизации сообщений между шинами, включающий в себя несколько коммуникационных модулей для временного хранения и передачи сообщений по шинам и блок управления шлюзом, соединенный с коммуникационными модулями по системной шине для обмена сообщениями с возможностью получения от каждого коммуникационного модуля информации о появлении в нем предназначенного для маршрутизации сообщения, индицируемого как внешнее событие. 14 з.п. ф-лы, 12 ил.
Реферат
Область техники, к которой относится изобретение
Настоящее изобретение относится к шлюзу для автоматической маршрутизации сообщений между шинами, прежде всего между последовательными шинами и промышленными (полевыми) шинами.
Уровень техники
Объединение устройств управления, датчиков и приводов с помощью сети или системы передачи данных, состоящей из линии связи, в частности шины, и соответствующих коммуникационных модулей, за последние годы получило широкое распространение при строительстве современных автомобилей и в машиностроении, в частности станкостроении, а также в системах автоматизации. При этом могут достигаться синергетические эффекты, обусловленные распределением функций между несколькими абонентами, в частности устройствами управления. В этом случае говорят о распределенных системах. Соответственно, такие распределенные системы или сети состоят из абонентских устройств (устройств-абонентов) и соединяющей эти абонентские устройства шинной системы или нескольких шинных систем. При этом связь между различными станциями или абонентскими устройствами все чаще осуществляется посредством такой системы связи, шинной системы или сети, по которой данные передаются в виде сообщений. Обмен сообщениями по шинной системе, механизмы доступа и приема, а также обработка ошибок регулируются соответствующим протоколом, причем имя того или иного протокола часто, как и в данном случае, используется как синоним названия сети или самой системы шин.
Например, в автомобильном секторе в качестве протокола утвердилась шина CAN (сокр. от англ. Contoller Area Network - локальная сеть контроллеров). Этот протокол управляется по событиям, т.е. такие регламентированные протоколом действия, как передача сообщения, инициируются событиями, имеющими свое происхождение за пределами системы связи. Однозначный доступ к системе связи или к шинной системе разрешается посредством основанного на приоритете битового арбитража. Предпосылкой этого является то, что передаваемым данным и, следовательно, каждому сообщению присваивается приоритет. Протокол CAN очень гибок; он позволяет без проблем расширять число абонентских устройств и сообщений, пока существуют свободные приоритеты (идентификаторы сообщений). Библиотека всех передаваемых в сети сообщений с приоритетами и их передающими или принимающими абонентскими устройствами или соответствующими коммуникационными модулями хранится в виде списка, так называемой коммуникационной матрицы.
Альтернативой управляемой по событиям, спонтанной связи является принцип управления чисто по времени. Все коммуникационные действия на шине являются строго периодичными. Регламентированные протоколом действия, например, передача сообщения, инициируются только посредством непрерывного отсчета времени, действительного для всей шинной системы. Доступ к этой среде основан на выделении временных окон, в которых отправитель имеет исключительное право передачи. При этом последовательность сообщений необходимо, как правило, устанавливать уже перед вводом системы в эксплуатацию. Таким образом, составляется "график движения", отвечающий требованиям к сообщениям в отношении частоты повторения, избыточности, сроков и т.д. В этом случае говорят о так называемом расписании работы шины. Такой шинной системой является, например, система на основе протокола с временным разделением доступа ТТР/С (сокр. от англ. Time-Triggered Protocol).
Сочетание преимуществ обоих указанных видов шин достигается в принципе, заложенном в протокол CAN с временным разделением доступа, так называемый протокол TTCAN. Он отвечает всем указанным выше требованиям в отношении управляемой по времени связи, а также требованиям в отношении определенной степени гибкости. Протокол TTCAN выполняет эти требования путем построения коммуникационного круга в так называемых исключительных временных окнах для периодических сообщений определенных абонентских устройств и в так называемых арбитрирующих временных окнах для спонтанных сообщений нескольких абонентских устройств. При этом протокол TTCAN основан по существу на управляемой по времени периодической связи, которая синхронизируется абонентским устройством или коммуникационным модулем, задающим основное время с помощью опорного синхронизирующего сообщения, так называемым задатчиком времени.
Другую возможность связи для различных видов передачи предоставляет протокол FlexRay, описывающий быстродействующую, детерминистическую и помехозащищенную шинную систему, в частности для использования в автомобиле. Этот протокол работает по технологии доступа с временным уплотнением каналов (ТDМА - сокр. от англ. Time Division Multiple Access), причем абонентским устройствам, или передаваемым сообщениям, выделяются постоянные кванты времени, в которые они имеют исключительный доступ к линии связи, т.е. шине. При этом кванты времени повторяются по заданному циклу, что позволяет заранее точно предсказать момент передачи сообщения по шине, и доступ к шине осуществляется детерминистически. Чтобы оптимально использовать ширину полосы частот для пересылки сообщений по шинной системе, цикл подразделен на статическую и динамическую части. При этом постоянные кванты времени находятся в статической части в начале цикла работы шины. В динамической части кванты времени выделяются динамически по технологии гибкого доступа с временным уплотнением каналов (FTDMA). В эти кванты времени исключительный доступ к шине возможен только на короткое время. Если обращение к шине отсутствует, доступ к ней предоставляется следующему абонентскому устройству. Этот отрезок времени, в который ждут доступа к шине со стороны первого абонентского устройства, называется минислотом.
Как было сказано выше, существует множество различных технологий передачи и, следовательно, множество видов шинных систем или сетей. Часто возникает необходимость соединения нескольких шинных систем одинакового или различного вида. Для этого служит шинный интерфейс - так называемый шлюз. Таким образом, шлюз представляет собой устройство сопряжения различных шин, которые могут быть одинакового или различного вида, причем шлюз пересылает сообщения (части сообщений) с одной шины на одну или несколько других шин. Известные шлюзы состоят из нескольких независимых коммуникационных модулей, причем обмен сообщениями в этом случае осуществляется через процессорный интерфейс (интерфейс центрального процессора) соответствующего абонентского устройства или соответствующий блок интерфейса соответствующего коммуникационного модуля. При этом такой обмен данными и другие прикладные функции в дополнение к самим сообщениям, передаваемым абонентскому устройству, сильно нагружает такой интерфейс центрального процессора, вследствие чего наряду с обусловленным этим усложнением структуры передачи становится сравнительно низкой скорость передачи или, с другой стороны, повышается тактовая частота и потребление энергии. Кроме того, существуют интегрированные коммуникационные контроллеры или коммуникационные модули, которые делят между собой общее хранилище сообщений, или оперативную память (RAM) для хранения сообщений, чтобы таким образом компенсировать недостатки структуры. Правда, такие интегрированные коммуникационные модули становятся из-за этого очень негибкими в отношении передачи данных и, в частности рассчитываются на определенное число подключений к шине, а в большинстве случаев также ограничены одной и той же шинной системой.
На фиг.1 показан обычный коммуникационный модуль или коммуникационный контроллер КМ для обычного шлюза, представленного на фиг.2. Коммуникационный модуль КМ имеет один интерфейс для внутренней периферийной шины или системной шины шлюза и еще один интерфейс для внешней последовательной шины. Системная шина включает в себя адресную шину, шину данных и управляющую шину (шину управления) и служит для внутренней передачи данных в пределах шлюза. К системной шине помимо коммуникационного модуля подключен главный центральный процессор (ЦП) с запоминающим устройством RAM, а также другие необязательные компоненты, например контроллер прямого доступа к памяти (ПДП). Главный центральный процессор служит для внутренней обработки данных и управляет внутренней передачей данных из одного коммуникационного модуля КМ в другой коммуникационный модуль КМ. Коммуникационные модули КМ взаимодействуют с главным центральным процессором по принципу "ведущий-ведомый", причем коммуникационные модули представляют собой ведомые устройства, а центральный процессор - ведущее устройство.
Как показано на фиг.1, внутренний интерфейс коммуникационного модуля КМ для сопряжения с системной шиной образован двухуровневым интерфейсом, а именно интерфейсом заказчика и многофункциональным интерфейсом. Интерфейс заказчика соединяет системную шину с многофункциональным интерфейсом, причем интерфейс заказчика определяется изготовителем и может быть легко заменен. Многофункциональный интерфейс можно через интерфейс заказчика подключать к множеству определяемых заказчиком системных шин. Известный из уровня техники коммуникационный модуль КМ, показанный на фиг.1, содержит также буферные запоминающие устройства для временного хранения передаваемых данных. Буферные запоминающие устройства образованы, например, запоминающими устройствами с произвольной выборкой (RAM) или регистрами данных. Кроме того, коммуникационный модуль КМ содержит блок пересылки сообщений или диспетчер сообщений для пересылки сообщений по меньшей мере из одного хранилища сообщений и блока коммуникационных протоколов, а также буферных запоминающих устройств. В хранилище сообщений, или оперативной памяти (RAM) временно хранятся передаваемые коммуникационные объекты (сообщения), а также данные конфигурации и информация о состоянии. На блок пересылки сообщений возложено управление потоком данных между всеми буферными запоминающими устройствами, блоком коммуникационных протоколов и промежуточным хранилищем сообщений. Блок коммуникационных протоколов (БКП) обычного коммуникационного модуля КМ, показанного на фиг.1, реализует передачу данных в соответствии с используемым протоколом передачи данных. При этом блок коммуникационных протоколов БКП преобразует, или переводит, формат данных, переданных по внешней последовательной шине пакетов DP данных, в формат сообщений MSG, используемых внутри коммуникационного модуля. При этом сообщения, пересылаемые блоком пересылки сообщений, или диспетчером сообщений, состоят по меньшей мере из одного слова DW данных, причем длина, или разрядность, слова DW данных в предпочтительном случае соответствует разрядности, предусмотренной в шлюзе внутренней шины данных. Если, например, системная шина имеет внутреннюю шину данных разрядностью 32 бита, то слово данных также содержит 32 бита. Сообщение MSG может состоять из заданного числа слов DW данных. Емкость буферного запоминающего устройства соответствует, например, объему информации в сообщении, содержащем заданное число слов DW данных. Арбитрирование потока данных выполняет блок пересылки сообщений, или диспетчер сообщений.
В машинах, в частности в автомобилях, в настоящее время используются несколько последовательных шин и промышленных шин, например, таких последовательных промышленных шин, как шины протоколов CAN, FIexRay, MOST или LIN. Во время работы машины между этими последовательными шинами, которые могут быть частью сети, осуществляется обмен данными через шлюз.
При этом в зависимости от типа автомобиля и выполняемых функций объем данных, обрабатываемых в центральном шлюзе, таком как показанный на фиг.2, может быть весьма высоким. Этот объем данных создает высокую нагрузку на центральный процессор, т.е. на центральный процессор ложится задача маршрутизации данных от одной последовательной шины на одну или несколько других последовательных шин. Кроме того, загрузка центрального процессора возрастает из-за выполнения операций, необходимых для уменьшения ширины полосы пропускания в отдельных сетях или последовательных шинах, например, из-за комбинирования содержимого нескольких сообщений в одно новое сообщение.
Во многих случаях для выполнения требований безопасности сообщения необходимо передавать периодически по заданной временной сетке. В случае высокоприоритетных сообщений может потребоваться немедленная передача сообщения без использования временной сетки или вне этой сетки. Проверку необходимости повторной отправки некоторого сообщения или определение того, что некоторое сообщение уже нельзя отправлять из-за возникшей ошибки, например отсутствия другого сообщения, также выполняет центральный процессор шлюза GW, расходуя свою вычислительную мощность.
Во многих случаях центральный процессор параллельно выполняет другие функции, т.е. в нем параллельно выполняются процессы обработки данных, оказывающие негативное воздействие друг на друга и задерживающие посылку или пересылку сообщения. Из-за этих параллельно выполняемых процессов усиливаются случайные искажения (джиттер) и увеличивается время ожидания (задержки) для пересылки сообщений, так как прерывание параллельно выполняемых процессов во многих случаях невозможно.
Раскрытие изобретения
Исходя из вышеизложенного, в основу настоящего изобретения была положена задача создания шлюза для автоматической маршрутизации сообщений между шинами, который пересылал бы сообщения без влияния со стороны центрального процессора и независимо от загрузки центрального процессора.
В соответствии с изобретением эта задача решается в шлюзе, охарактеризованном признаками пункта 1 формулы изобретения.
В изобретении предложен шлюз для автоматической маршрутизации сообщений между шинами, включающий в себя:
- несколько коммуникационных модулей для временного хранения и передачи сообщений N по шинам и
- блок управления шлюзом, соединенный с коммуникационными модулями по системной шине для обмена сообщениями N с возможностью получения от каждого коммуникационного модуля информации о появлении в нем предназначенного для маршрутизации сообщения N, индицируемого как внешнее событие EVext,
причем блок управления шлюзом содержит:
- векторную память (векторное оперативное запоминающее устройство) с первой областью памяти для хранения векторов KBV коммуникационных модулей, причем для каждого коммуникационного модуля предусмотрен вектор KBV, указывающий момент ZP наступления ожидаемого следующим внутреннего события EVint для временно сохраненного в коммуникационном модуле сообщения N, и адрес перехода к вектору NV сообщения, хранящемуся во второй области векторной памяти VRAM, причем для каждого временно хранящегося в коммуникационном модуле релевантного сообщения N сохраняется соответствующий вектор NV сообщения, указывающий конфигурируемый момент ZP наступления вызываемого соответствующим сообщением N внутреннего события EVint, адрес перехода к команде, а также конфигурационные и управляющие данные;
- память IRAM команд для хранения команд, адресуемых посредством адреса перехода к команде, указанного в векторе NV сообщения; и
- регистр SR состояния, обеспечивающий временное сохранение момента ZP наступления ожидаемого следующим события из числа всех ожидаемых внутренних событий для всех временно сохраненных в коммуникационных модулях сообщений N.
- устройство FSM управления, которое при наступлении внутреннего события EVint, момент ZP наступления которого указан в регистре SR состояния для всех временно сохраненных в коммуникационных модулях сообщений N, или при наступлении внешнего события EVext, указываемого устройству FSM управления коммуникационным модулем, считывает из первой области векторной памяти VRAM относящийся к соответствующему коммуникационному модулю вектор KBV коммуникационного модуля и посредством содержащегося в нем адреса перехода к вектору считывает из второй области векторной памяти VRAM адрес перехода к команде адресуемого вектора NV сообщения, а затем посредством считанного адреса перехода к команде считывает из памяти IRAM команд и выполняет по меньшей мере одну команду, причем указанные в векторах NV, KBV моменты ZP времени актуализируются.
В одном из вариантов выполнения предлагаемого в изобретении шлюза он имеет по меньшей мере еще один процессор, который второй отдельной системной шиной соединен с коммуникационными модулями.
В другом варианте выполнения предлагаемого в изобретении шлюза устройство управления блока управления шлюзом содержит конечный автомат событий, который при наступлении внутреннего события или внешнего события EVext анализирует хранящиеся в векторной памяти VRAM векторы KBV, NV и актуализирует указанные в этих векторах моменты времени, и конечный автомат команд, который выполняет команды, считанные из памяти IRAM команд.
Еще в одном варианте выполнения предлагаемого в изобретении шлюза вектор NV сообщения дополнительно содержит разность времени Δt между моментом наступления одного внутреннего события, вызываемого соответствующим сообщением N, и моментом наступления следующего за ним внутреннего события EVint, вызываемого соответствующим сообщением N.
В другом варианте выполнения предлагаемого в изобретении шлюза блок управления интерфейсом имеет счетчик Z в качестве внутреннего задатчика времени для инициирования внутреннего события EVint.
В одном из вариантов выполнения предлагаемого в изобретении шлюза шины представляют собой последовательные шины.
Еще в одном варианте выполнения предлагаемого в изобретении шлюза коммуникационный модуль содержит:
- подключенный к последовательной шине блок коммуникационных протоколов для взаимного преобразования пакетов DP данных и сообщений, каждое из которых состоит из нескольких слов DW данных,
- блок пересылки сообщений для пересылки сообщений между по меньшей мере одним устройством памяти сообщений и блоком коммуникационных протоколов, а также буферными запоминающими устройствами,
- несколько интерфейсных блоков, каждый из которых подключен к соответствующей системной шине шлюза и связан по меньшей мере с одним соответствующим ему буферным запоминающим устройством, в котором временно сохраняется сообщение, причем передача слов DW данных из буферных запоминающих устройств интерфейсных блоков и в них организована одновременно по нескольким системным шинам и через соответствующие им интерфейсные блоки без времени ожидания.
В одном из вариантов выполнения предлагаемого в изобретении шлюза последовательная шина представляет собой промышленную шину.
В одном из вариантов выполнения предлагаемого в изобретении интерфейса промышленная шина представляет собой шину CAN (шину локальной сети контроллеров).
В одном из вариантов выполнения предлагаемого в изобретении интерфейса промышленная шина представляет собой шину на основе протокола локальной сети взаимодействия LIN (сокр. от англ. Local Interconnect Network).
В одном из вариантов выполнения интерфейса промышленная шина представляет собой шину FlexRay (шину высокоскоростного сетевого протокола).
В одном из вариантов выполнения предлагаемого в изобретении шлюза последовательная шина представляет собой шину Ethernet (шину локальной вычислительной сети).
В одном из вариантов выполнения предлагаемого в изобретении шлюза каждая из двух системных шин имеет соответствующее ведущее устройство.
В одном из вариантов выполнения предлагаемого в изобретении шлюза блок пересылки сообщений коммуникационного модуля сигнализирует ведущему устройству системной шины о получении сообщения, пословно передаваемого по системной шине.
В одном из вариантов выполнения предлагаемого в изобретении шлюза блок пересылки сообщений подтверждает сигналами ведущему устройству системной шины получение подлежащего передаче сообщения после запроса ведущим устройством системной шины этой информации.
В одном из вариантов выполнения предлагаемого в изобретении шлюза принятое системной шиной сообщение, которое временно сохранено в буферном запоминающем устройстве и пересылается блоком пересылки сообщений в устройство памяти сообщений, содержит по меньшей мере один флаговый бит для сигнализации готовности к передаче по последовательной шине.
Краткое описание чертежей
Ниже для пояснения существенных признаков изобретения приведено описание предпочтительных вариантов выполнения предлагаемого в изобретении шлюза, поясняемое прилагаемыми чертежами, на которых показано:
на фиг.1 - коммуникационный модуль, известный из уровня техники,
на фиг.2 - шлюз, известный из уровня техники,
на фиг.3 - блок-схема возможного варианта выполнения предлагаемого в изобретении шлюза,
на фиг.4 - блок-схема возможного варианта выполнения коммуникационного модуля в предлагаемом в изобретении шлюзе,
на фиг.5 - блок-схема возможного варианта выполнения содержащегося в шлюзе блока управления шлюзом,
на фиг.6 - схема, представляющая содержимое векторной памяти, имеющейся в предлагаемом в изобретении шлюзе,
на фиг.7 - схема, представляющая содержимое памяти команд, имеющейся в предлагаемом в изобретении шлюзе,
на фиг.8 - схема прохождения сигналов, иллюстрирующая пример пересылки сообщений предлагаемым в изобретении шлюзом,
на фиг.9 - схема прохождения сигналов, иллюстрирующая другой пример пересылки сообщений предлагаемым в изобретении шлюзом,
на фиг.10 - схема прохождения сигналов, иллюстрирующая еще один пример пересылки сообщений предлагаемым в изобретении шлюзом,
на фиг.11 - схема прохождения сигналов, иллюстрирующая еще один пример пересылки сообщений предлагаемым в изобретении шлюзом,
на фиг.12 - схема прохождения сигналов, иллюстрирующая еще один пример пересылки сообщений предлагаемым в изобретении шлюзом,
Осуществление изобретения
Как видно на фиг.3, предлагаемый в изобретении шлюз 1 имеет несколько коммуникационных модулей 2-i, каждый из которых подключается к одной последовательной шине 3-i. Последовательными шинами 3-i могут быть, например, промышленная (полевая) шина или шина Ethernet. По последовательным шинам 3-i данные передаются в виде сообщений. Передаваемые пакеты данных или сообщения включают в себя управляющие данные, или данные заголовка, а также полезные данные. Предлагаемый в изобретении шлюз 1 в варианте выполнения, показанном на фиг.3, содержит несколько ведущих устройств, причем первое ведущее устройство представляет собой блок 4-1 управления шлюзом, а второе ведущее устройство - центральный процессор 4-2. На эти два ведущих устройства 4-1, 4-2 на шине возложены разные функции. В варианте выполнения, показанном на фиг.3, блок 4-1 управления шлюзом ответственен за передачу данных между различными коммуникационными модулями 2-i. Другое ведущее устройство, представляющее собой процессор 4-2, состоящий из главного центрального процессора и внутренней оперативной памяти в виде запоминающего устройства с произвольной выборкой ЗУПВ (RAM), выполняет собственно обработку данных, относящуюся, например, к интегрированной наряду со шлюзом функции контроллера. В варианте выполнения, показанном на фиг.3, каждое ведущее устройство 4-1, 4-2 предпочтительно имеет собственную системную шину 5-1, 5-2. Каждая системная шина 5-1, 5-2, в свою очередь, имеет собственную шину данных, адресную шину и шину управления. Внутри шлюза 1 данные в одном из возможных вариантов выполнения передаются пословно (т.е. в виде отдельных слов данных), причем длина слова DW данных соответствует разрядности соответствующей шины данных в системной шине. Коммуникационные модули 2-i в одном из возможных вариантов выполнения также предпочтительно имеют для каждой системной шины 5-i соответствующий интерфейс.
На фиг.4 показан возможный вариант выполнения коммуникационного модуля 2-i. Коммуникационный модуль 2-i служит для подключения последовательной шины 3 через интерфейс, причем коммуникационный модуль 2-i имеет отдельный собственный интерфейс 2а, 2b для каждой внутренней системной шины 5-i шлюза 1. В варианте выполнения, показанном на фиг.4, коммуникационный модуль 2-i имеет первый интерфейс 2а для подключения к системной шине 5-1, ведущим устройством на которой является блок 4-1 управления шлюзом. Кроме того, коммуникационный модуль 2-i имеет еще один интерфейс 2b для подключения к системной шине 5-2 шлюза 1, ведущим устройством на которой является главный центральный процессор процессора 4-2. К внешней последовательной шине 3-i данных подключен блок 2 с коммуникационных протоколов коммуникационного модуля 2-i. Блок 2 с коммуникационных протоколов выполняет взаимное преобразование пакетов данных и сообщений, передаваемых вне коммуникационного модуля по последовательной шине 3-i данных, и с помощью диспетчера сообщений отправляет внутри коммуникационного модуля сообщения, каждое из которых может состоять из одного или нескольких слов DW данных.
Кроме того, коммуникационный модуль 2-i на фиг.4 включает в себя блок пересылки сообщений, или диспетчер 2d сообщений, для пересылки сообщений между по меньшей мере одним выполненным в виде ЗУПВ устройством памяти 2е сообщений и блоком 2с коммуникационных протоколов, а также различными буферными запоминающими устройствами 2f, 2g по внутренним линиям 2h передачи данных. Емкость буферного запоминающего устройства 2f, 2g предпочтительно соответствует объему данных сообщения, передаваемого внутри коммуникационного модуля, а также других управляющих данных. Коммуникационный модуль 2-i имеет несколько интерфейсных блоков 2а, 2b, каждый из которых подключен к соответствующей системной шине 5-i шлюза 1. При этом каждый интерфейсный блок 2а, 2b связан по меньшей мере с одним соответствующим ему буферным запоминающим устройством 2f, 2g, в котором временно сохраняется по меньшей мере одно сообщение или коммуникационный объект МО.
Доступ блока 4-1 управления шлюзом к коммуникационному объекту МО или к сообщению N осуществляется через интерфейс 2а шлюза и его соответствующий интерфейсный регистр 2f. Центральный процессор 4-2 через интерфейс 5-2 заказчика и его интерфейсный регистр 2g получает доступ к сообщениям или коммуникационным объектам. Таким образом, как со стороны блока 4-1 управления шлюзом, так и со стороны процессора 4-2 возможен осуществляемый без взаимного влияния доступ ко всем сообщениям или коммуникационным объектам.
На фиг.5 показан возможный вариант выполнения блока 4-1 управления предлагаемым в изобретении шлюзом 1. Блок 4-1 управления шлюзом соответствующей системной шиной 5-1 для обмена сообщениями соединен с коммуникационными модулями 2-i. При этом блок 4-1 управления шлюзом получает от каждого коммуникационного модуля 2-i информацию о появлении в последнем предназначенного для маршрутизации сообщения или коммуникационном объекте МО, индицируемую как внешнее событие EVext. Как видно на фиг.3, каждый коммуникационный модуль 2-i по меньшей мере одним каналом индикации для индикации событий соединен с блоком 4-1 управления шлюзом. В одном из возможных вариантов осуществления изобретения показанный на фиг.4 коммуникационный модуль 2-i имеет несколько параллельных регистров сообщений для каждого интерфейса для сохранения по одному сообщению в каждом регистре сообщений. При этом в возможном варианте осуществления изобретения сообщения подразделены на несколько групп, например на m групп. В возможном варианте осуществления изобретения число предусмотренных групп сообщений в пределах коммуникационного модуля 2-i составляет m=4. Диспетчер 2d сообщений коммуникационного модуля 2-i при наступлении внешнего события EVext индицирует, например, прием предназначенного для маршрутизации сообщения блока 4-1 управления шлюзом по соответствующему каналу индикации. В возможном варианте осуществления изобретения для каждой группы сообщений предусмотрен собственный канал индикации, например m=4 канала индикации. Если число коммуникационных модулей 2-i равно N при допущении, что у всех коммуникационных модулей 2-i это число N одинаковое, и если число групп в пределах коммуникационного модуля 2-i составляет m, то число каналов индикации для внешних сообщений равно N×m.
Как показано на фиг.5, блок 4-1 управления шлюзом по системной шине 5-1 соединен с коммуникационными модулями 2-i и получает от каждого коммуникационного модуля 2-i по каналу индикации информацию о появлении в нем предназначенного для маршрутизации сообщения, индицируемого как внешнее событие EVext. Блок 4-1 управления содержит векторную память, или векторное ОЗУ (VRAM), содержимое которой представлено на фиг.6. Кроме того, блок 4-1 управления шлюзом содержит память IRAM команд, содержимое которой представлено на фиг.7. Центральный управляющий управления блока 4-1 управления шлюзом представляет собой устройство (программного) управления или конечный автомат КА (англ. сокр. FSM от Finite State Machine), состоящий из конечного автомата состояний и отдельного от него конечного автомата команд. Кроме того, блок 4-1 управления содержит регистр SR состояния и счетчик Z, выступающий в качестве задатчика времени для инициирования внутренних событий EVint. Блок 4-1 управления шлюзом через интерфейс SBI системной шины соединен с системной шиной 5-1. Векторная память VRAM, показанная на фиг.6, имеет по существу три области памяти. В первой области памяти находятся данные конфигурации коммуникационных модулей 2-i, т.е. для каждого коммуникационного модуля 2-i на каждую группу сообщений хранится вектор KBV. Вектор KBV коммуникационного модуля содержит для соответствующего коммуникационного модуля 2-i момент времени ZP, указывающий ожидаемое следующим внутреннее событие EVint для временно сохраненного в коммуникационном модуле 2-i сообщения N. Дополнительно вектор KBV коммуникационного модуля содержит адрес VSA перехода к вектору NV сообщения для соответствующего сообщения N. Кроме того, каждый вектор KBV коммуникационного модуля содержит другие данные конфигурации для соответствующего коммуникационного модуля 2-i. Возможный элемент данных конфигурации представляет собой КМ-флаг, который указывает на то, включен ли коммуникационный модуль 2-i или коммуникационный контроллер или он выключен. Если коммуникационный модуль 2-i содержит несколько групп сообщений N, то для каждой группы сообщений в пределах коммуникационного модуля 2 предусмотрен вектор KBV коммуникационного модуля.
Наряду с этим векторная память VRAM блока 4-1 управления шлюзом имеет вторую область, в которой для каждого сообщения N или MSG хранятся данные конфигурации в виде векторов NV сообщения. Для каждого сообщения N, временно хранящегося в коммуникационном модуле 2-i, предусмотрен или хранится в векторной памяти VRAM соответствующий вектор NV сообщения, который указывает конфигурируемый период времени ZP наступления вызываемого соответствующим сообщением N внутреннего события EVint a также адрес BSA перехода к команде.
В одном из возможных вариантов выполнения предлагаемого в изобретении шлюза 1 вектор NV сообщения дополнительно содержит разность времени Δt между моментом ZP наступления одного внутреннего или внешнего события, вызываемого соответствующим сообщением N, и другим моментом ZP наступления следующего внутреннего события, вызываемого соответствующим сообщением N.
Наряду с областями памяти для векторов KBV коммуникационного модуля и второй областью памяти для векторов NV сообщения векторная память VRAM имеет также свободно доступную третью область памяти, в которой временно хранятся переменные, а также постоянные и флаги. Кроме того, свободно доступная третья область векторной памяти VRAM служит для обмена данными с центральным процессором 4-2.
Хранящиеся во второй области векторной памяти VRAM векторы NV сообщения имеют адрес BSA перехода к команде, позволяющий вызывать по меньшей мере одну стандартную подпрограмму команд внутри памяти IRAM команд. Подобная последовательность команд или стандартная подпрограмма хранится в соотнесенной с сообщением области памяти IRAM команд. Эта область памяти предпочтительно имеет переменный объем. Переменным является также положение области памяти в пределах памяти IRAM команд.
В блоке 4-1 управления шлюзом наряду с векторной памятью VRAM и памятью IRAM команд предусмотрен конечный автомат FSM, содержащий конечный автомат событий и конечный автомат команд. Конечный автомат событий устройства управления при наступлении внутреннего или внешнего события анализирует хранящиеся в векторной памяти векторы, т.е. векторы KBV коммуникационных модулей и векторы NV сообщения, и актуализирует указанные в соответствующих векторах моменты времени.
Кроме того, блок 4-1 управления шлюзом имеет регистр SR конфигурации или состояния, в котором, помимо прочего, временно хранится момент ZP наступления ожидаемого ближайшим события из числа всех ожидаемых внутренних событий EVint для всех сообщений, временно хранящихся в коммуникационном модуле 2-i.
Конечный автомат команд устройства управления выполняет команды, считываемые из памяти IRAM команд. При наступлении внутреннего события EVint, момент времени ZP которого индицируется в регистре SR состояния, или при наступлении внешнего события EVext, индицируемом устройству управления коммуникационным модулем 2-1, конечный автомат событий считывает из первой области векторной памяти VRAM относящийся к коммуникационному модулю 2-i вектор KBV. Считанный вектор KBV коммуникационного модуля содержит адрес VSA перехода к вектору NV сообщения во второй области векторной памяти VRAM. Для каждого коммуникационного модуля 2-i или для каждой группы сообщений N в пределах коммуникационного модуля 2-i предусмотрен собственный вектор KBV коммуникационного модуля. Он представляет собой своего рода хэш-таблицу для векторов NV сообщения во второй области векторной памяти VRAM. Посредством адреса VSA перехода к вектору конечный автомат событий устройства управления считывает адресуемый вектор NV сообщения из второй области векторной памяти VRAM и после этого вызывает стандартную подпрограмму в памяти IRAM команд по содержащемуся в векторной памяти VRAM адресу BSA перехода к команде. Адресуемая команда или команды считываются из памяти IRAM команд и отрабатываются конечным автоматом команд в устройстве управления, причем конечный автомат команд также актуализирует указанные в этих векторах, т.е. в векторах NV сообщения и векторах KBV коммуникационных модулей моменты ZP времени, в соответствии с векторами NV и KBV предпочтительно посредством конечного автомата событий или отработанных команд.
Показанный на фиг.5 блок 4-1 управления содержит счетчик Z, выступающий в качестве внутреннего задатчика времени для инициирования внутреннего события.
В предлагаемом в изобретении блоке 4-1 управления шлюзом проводится различие между внешними событиями EVext и внутренними событиями EVint. Внешние события EVext инициируются или вызываются коммуникационными модулями 2-1, в частности, при приеме подлежащего пересылке сообщения N или пакета сообщений DP. Внутренние события EVint инициируются или вызываются задатчиком или счетчиком Z времени. Эти внутренние события служат, например, для циклической отправки сообщений или для разбиения пакетов сообщений или передачи внеочередных сообщений при превышении времени ожидания в случае тайм-аута. Для каждого соответствующего буферного запоминающего устройства памяти сообщений в пределах коммуникационного модуля 2-i в одном из возможных вариантов выполнения предлагаемого в изобретении шлюза 1 в векторной памяти VRAM хранится вектор NV сообщения, содержащий, например, следующую информацию, а именно ссылку на передаваемый информационный объект или сообщение N, адрес перехода для выполнения определенной последовательности команд, следующее внутреннее событие и разностное время для расчета следующих далее внутренних событий, а также информационные данные для управления и информацию о состоянии.
Хранящиеся в векторной памяти VRAM данные, в частности заданные моменты времени ZP, позволяют с использованием счетчика Z реализовать предлагаемым в изобретении блока 4-1 управления ш