Коммуникационный модуль
Иллюстрации
Показать всеИзобретение относится к коммуникационному модулю для подключения последовательной шины. Технический результат заключается в обеспечении возможности нескольким управляющим модулям одновременно получать доступ к данным, сохраненным в запоминающем устройстве. Такой результат достигается за счет того, что коммуникационный модуль (2) для подключения последовательной шины (3), передающей данные пакетами, к нескольким системным шинам (5) многопроцессорного шлюза (1), передающим данные пословно, включает в себя подключенный к последовательной шине (3) блок (2с) коммуникационных протоколов для взаимного преобразования пакетов (DP) данных и сообщений (MSG), каждое из которых состоит из нескольких слов (DW) данных, блок (2d) пересылки сообщений для пересылки сообщений (MSG) между, по меньшей мере, одним устройством памяти (2е) сообщений и блоком (2с) коммуникационных протоколов, а также буферными запоминающими устройствами (2f, 2g), несколько интерфейсных блоков (2а, 2b), каждый из которых подключен к соответствующей системной шине (5-1, 5-2) многопроцессорного шлюза (1) и связан по меньшей мере с одним соответствующим ему буферным запоминающим устройством (2f, 2g), в котором временно сохраняется сообщение (MSG), причем передача слов (DW) данных из буферных запоминающих устройств (2f, 2g) интерфейсных блоков (2а, 2b) и в них организована по указанным нескольким системным шинам (5-1, 5-2) и через соответствующие им интерфейсные блоки (2а, 2b), причем каждая системная шина (5-1, 5-2) имеет соответствующее ведущее устройство (4-1, 4-2). 2 н. и 9 з.п. ф-лы, 5 ил.
Реферат
Область техники, к которой относится изобретение
Настоящее изобретение относится к коммуникационному модулю для подключения последовательной шины, прежде всего к коммуникационному модулю для шлюза, к которому подключено несколько последовательных промышленных (полевых) шин.
Уровень техники
Объединение устройств управления, датчиков и приводов с помощью сети или системы передачи данных, состоящей из линии связи, в частности шины, и соответствующих коммуникационных модулей, за последние годы получило широкое распространение при строительстве современных автомобилей и в машиностроении, в частности станкостроении, а также в системах автоматизации. При этом могут достигаться синергетические эффекты, обусловленные распределением функций между несколькими абонентами, в частности устройствами управления. В этом случае говорят о распределенных системах. Соответственно, такие распределенные системы или сети состоят из абонентских устройств (устройств-абонентов) и соединяющей эти абонентские устройства шинной системы или нескольких шинных систем. При этом связь между различными станциями или абонентскими устройствами все чаще осуществляется посредством такой системы связи, шинной системы или сети, по которой данные передаются в виде сообщений. Обмен сообщениями по шинной системе, механизмы доступа и приема, а также обработка ошибок регулируются соответствующим протоколом, причем имя того или иного протокола часто, как и в данном случае, используется как синоним названия сети или самой системы шин.
Например, в автомобильном секторе в качестве протокола утвердилась шина CAN (сокр. от англ. Contoller Area Network - локальная сеть контроллеров). Этот протокол управляется по событиям, т.е. такие регламентированные протоколом действия, как передача сообщения, инициируются событиями, имеющими свое происхождение за пределами системы связи. Однозначный доступ к системе связи или к шинной системе разрешается посредством основанного на приоритете битового арбитража. Предпосылкой этого является то, что передаваемым данным и, следовательно, каждому сообщению присваивается приоритет. Протокол CAN очень гибок; он позволяет без проблем расширять число абонентских устройств и сообщений, пока существуют свободные приоритеты (идентификаторы сообщений). Библиотека всех передаваемых в сети сообщений с приоритетами и их передающими или принимающими абонентскими устройствами или соответствующими коммуникационными модулями хранится в виде списка, так называемой коммуникационной матрицы.
Альтернативой управляемой по событиям, спонтанной связи является принцип управления чисто по времени. Все коммуникационные действия на шине являются строго периодичными. Регламентированные протоколом действия, например передача сообщения, инициируются только посредством непрерывного отсчета времени, действительного для всей шинной системы. Доступ к этой среде основан на выделении временных окон, в которых отправитель имеет исключительное право передачи. При этом последовательность сообщений необходимо, как правило, устанавливать уже перед вводом системы в эксплуатацию. Таким образом, составляется "график движения", отвечающий требованиям к сообщениям в отношении частоты повторения, избыточности, сроков и т.д. В этом случае говорят о так называемом расписании работы шины. Такой шинной системой является, например, система на основе протокола с временным разделением доступа, или синхро-временного протокола ТТР/С (сокр. от англ. Time-Triggered Protocol).
Сочетание преимуществ обоих указанных видов шин достигается в принципе, заложенном в синхро-временной протокол на основе CAN, так называемый протокол TTCAN. Он отвечает всем указанным выше требованиям в отношении управляемой по времени связи, а также требованиям в отношении определенной степени гибкости. Протокол TTCAN выполняет эти требования путем построения коммуникационного круга в так называемых исключительных временных окнах для периодических сообщений определенных абонентских устройств и в так называемых арбитражных временных окнах для спонтанных сообщений нескольких абонентских устройств. При этом протокол TTCAN основан, по существу, на управляемой по времени периодической связи, которая синхронизируется абонентским устройством или коммуникационным модулем, задающим основное время с помощью опорного синхронизирующего сообщения, так называемым задатчиком времени.
Другую возможность связи для различных видов передачи предоставляет протокол FlexRay, описывающий быстродействующую, детерминистическую и помехозащищенную шинную систему, в частности для использования в автомобиле. Этот протокол работает по технологии доступа с временным уплотнением каналов (TDMA - сокр. от англ. Time Division Multiple Access), причем абонентским устройствам, или передаваемым сообщениям, выделяются жестко заданные временные интервалы (называемые также временными квантами или тайм-слотами), в течение которых эти устройства имеют исключительное право на доступ к линии связи, т.е. шине. При этом временные интервалы повторяются по заданному циклу, что позволяет заранее точно предсказать момент передачи сообщения по шине, и доступ к шине осуществляется детерминистически. Чтобы оптимально использовать ширину полосы частот для передачи сообщений по шинной системе, цикл подразделен на статическую и динамическую части. При этом постоянные временные интервалы находятся в статической части в начале цикла работы шины. В динамической части временные интервалы выделяются динамически. В эти временные интервалы исключительный доступ к шине возможен только на короткое время. Если обращение к шине отсутствует, доступ к ней предоставляется следующему абонентскому устройству. Этот отрезок времени, в который ждут доступа к шине со стороны первого абонентского устройства, называется мини-слотом.
Как было сказано выше, существует множество различных технологий передачи и, следовательно, множество видов шинных систем или сетей. Часто возникает необходимость соединения нескольких шинных систем одинакового или различного вида. Для этого служит шинный интерфейс - так называемый шлюз. Таким образом, шлюз представляет собой устройство сопряжения различных шин, которые могут быть одинакового или различного вида, причем шлюз пересылает сообщения с одной шины на одну или несколько других шин. Известные шлюзы состоят из нескольких независимых коммуникационных модулей, причем обмен сообщениями в этом случае осуществляется через процессорный интерфейс (интерфейс центрального процессора) соответствующего абонентского устройства или соответствующий блок интерфейса соответствующего коммуникационного модуля. При этом такой обмен данными в дополнение к самим сообщениям, передаваемым абонентскому устройству, сильно нагружает такой интерфейс центрального процессора, вследствие чего наряду с обусловленным этим усложнением структуры передачи скорость передачи становится сравнительно низкой. Помимо этого существуют интегрированные коммуникационные контроллеры или коммуникационные модули, которые делят между собой общую память сообщений, т.е. оперативную память для хранения сообщений, чтобы таким образом компенсировать недостатки структуры. Правда, такие интегрированные коммуникационные модули становятся из-за этого очень негибкими в отношении передачи данных и, в частности, рассчитываются на определенное число подключений к шине, а в большинстве случаев также ограничены одной и той же шинной системой.
На фиг.1 показан обычный коммуникационный модуль, или коммуникационный контроллер, КМ для обычного шлюза, представленного на фиг.2. Коммуникационный модуль КМ имеет один интерфейс для внутренней периферийной шины или системной шины шлюза и еще один интерфейс для внешней последовательной шины. Системная шина включает в себя адресную шину, шину данных и управляющую шину (шину управления) и служит для внутренней передачи данных в пределах шлюза. К системной шине помимо коммуникационного модуля подключен главный центральный процессор (ЦП) с оперативным запоминающим устройством (ОЗУ), а также шлюзовое устройство. Главный центральный процессор служит для внутренней обработки данных, а шлюзовое устройство управляет внутренней передачей данных из одного коммуникационного модуля КМ в другой коммуникационный модуль КМ. Коммуникационные модули КМ взаимодействуют с главным центральным процессором и шлюзовым устройством по принципу "ведущий-ведомый", причем коммуникационные модули представляют собой ведомые устройства, а главный центральный процессор и шлюзовое устройство - ведущие устройства.
Как видно из фиг.1, внутренний интерфейс коммуникационного модуля КМ для сопряжения с системной шиной образован двухуровневым интерфейсом, а именно интерфейсом заказчика и многофункциональным интерфейсом. Интерфейс заказчика соединяет системную шину с многофункциональным интерфейсом, причем интерфейс заказчика определяется изготовителем и может быть легко заменен. Многофункциональный интерфейс можно через интерфейс заказчика подключать к множеству определяемых заказчиком системных шин. Известный из уровня техники коммуникационный модуль КМ, показанный на фиг.1, содержит также буферные запоминающие устройства для временного хранения передаваемых данных. Буферные запоминающие устройства образованы, например, запоминающими устройствами с произвольной выборкой (ЗУПВ) или регистрами данных. Кроме того, коммуникационный модуль КМ содержит блок пересылки сообщений или диспетчер сообщений для пересылки сообщений между по меньшей мере одним устройством памяти сообщений и блоком коммуникационных протоколов. Устройство памяти сообщений, или оперативная память сообщений, служит для хранения сообщений, и в нем временно хранятся передаваемые коммуникационные объекты (сообщения), а также данные конфигурации и информация о состоянии. На блок пересылки сообщений возложено управление потоком данных между всеми буферными запоминающими устройствами, блоком коммуникационных протоколов и промежуточным хранилищем сообщений. Блок коммуникационных протоколов (БКП) обычного коммуникационного модуля КМ, показанного на фиг.1, реализует передачу данных в соответствии с используемым протоколом передачи данных. При этом блок коммуникационных протоколов БКП преобразует, или переводит, формат данных, переданных по внешней последовательной шине пакетов DP данных в формат сообщений MSG, используемых внутри коммуникационного модуля. При этом сообщения, пересылаемые блоком передачи сообщений, или диспетчером сообщений, состоят по меньшей мере из одного слова DW данных, причем длина, или разрядность, слова DW данных соответствует, например, разрядности предусмотренной в шлюзе внутренней шины данных. Если, например, системная шина имеет внутреннюю шину данных разрядностью 32 бита, то слово данных также содержит 32 бита. Сообщение MSG может состоять из заданного числа слов DW данных. Емкость буферного запоминающего устройства соответствует, например, объему информации в сообщении, содержащем заданное число слов DW данных. Арбитраж потока данных выполняет блок пересылки сообщений, или диспетчер сообщений.
Обычный шлюз, такой как показан на фиг.2, содержит несколько ведущих устройств, а именно главный центральный процессор и шлюзовое устройство. Так как в пределах коммуникационного модуля КМ оба ведущих устройства осуществляют доступ к данным по одной и той же системной шине, или периферийной шине (шине периферийных устройств), и через общий интерфейс, это может вызвать конфликт доступа. Например, возможна ситуация, когда разные ведущие устройства одновременно захотят получить доступ к данным коммуникационного модуля КМ через его интерфейс системной шины. В этом случае одному из ведущих устройств придется подождать с доступом к данным, пока другое ведущее устройство не закончит свою операцию доступа к данным. При этом в случае доступа к данным речь может идти о записи данных, а также считывании данных из буферного запоминающего устройства коммуникационного модуля КМ.
Раскрытие изобретения
Исходя из вышеизложенного, в основу настоящего изобретения была положена задача создания коммуникационного модуля для многопроцессорного шлюза, который сводил бы к минимуму время задержки в случае одновременного доступа к данным со стороны разных ведущих устройств.
В соответствии с изобретением эта задача решается в коммуникационном модуле, охарактеризованном признаками пункта 1 формулы изобретения.
В изобретении предложен коммуникационный модуль для подключения последовательной шины, передающей данные пакетами, к нескольким системным шинам многопроцессорного шлюза, передающим данные пословно, включающий в себя:
- подключенный к последовательной шине блок коммуникационных протоколов для взаимного преобразования пакетов данных и сообщений, каждое из которых состоит из нескольких слов данных,
- блок пересылки сообщений для пересылки сообщений между по меньшей мере одним устройством памяти сообщений и блоком коммуникационных протоколов, а также буферными запоминающими устройствами,
- несколько интерфейсных блоков, каждый из которых подключен к соответствующей системной шине многопроцессорного шлюза и связан по меньшей мере с одним соответствующим ему буферным запоминающим устройством, в котором временно сохраняется сообщение,
- причем передача слов данных из буферных запоминающих устройств интерфейсных блоков и в них организована по указанным нескольким системным шинам и через соответствующие им интерфейсные блоки;
- причем каждая системная шина имеет соответствующее ведущее устройство.
В предлагаемый в изобретении коммуникационный модуль обеспечивает передачу слов данных из буферных запоминающих устройств интерфейсных блоков и в них, осуществляемую одновременно по нескольким системным шинам и без времени ожидания.
В одном варианте выполнения предлагаемого в изобретении коммуникационного модуля последовательная шина представляет собой промышленную (полевую) шину.
В этом случае промышленная шина может представлять собой шину CAN (локальной сети контроллеров).
В другом случае промышленная шина может представлять собой шину FlexRay.
В еще одном случае промышленная шина может представлять собой шину на основе протокола транспорта для медиориентированных систем MOST (сокр. от англ. Media Oriented Systems Transport).
Промышленная шина также может представлять собой шину на основе протокола локальной сети взаимодействия LIN (сокр. от англ. Local Interconnect Network).
В другом варианте выполнения предлагаемого в изобретении коммуникационного модуля последовательная шина представляет собой шину Ethernet (протокол локальной вычислительной сети).
В этом случае блок пересылки сообщений сигнализирует ведущему устройству системной шины о получении сообщения, подлежащего пословной передаче по системной шине.
В другом случае блок пересылки сообщений подтверждает сигналами ведущему устройству системной шины получение подлежащего передаче сообщения после запроса ведущим устройством системной шины этой информации.
В еще одном варианте выполнения предлагаемого в изобретении коммуникационного модуля принятое системной шиной сообщение, которое временно сохранено в буферном запоминающем устройстве и пересылается блоком пересылки сообщений в устройство памяти сообщений, содержит по меньшей мере один флаговый бит для сигнализации готовности к передаче по последовательной шине.
Объектом изобретения также является способ двусторонней передачи данных между последовательной шиной, передающей данные пакетами, и несколькими системными шинами многопроцессорного шлюза, каждая из которых имеет соответствующее ведущее устройство и которые передают данные пословно, при осуществлении которого:
- пакеты данных, передаваемые по последовательной шине, преобразуют в сообщения, содержащие несколько слов данных,
- сообщения временно сохраняют в буферных запоминающих устройствах и
- слова данных передают из буферных запоминающих устройств и в них по указанным нескольким системным шинам.
Согласно заявленному способу передача слов данных из буферных запоминающих устройств и в них также происходит одновременно по нескольким системным шинам без времени ожидания.
Краткое описание чертежей
Ниже для пояснения существенных признаков изобретения приведено более подробное описание предпочтительных вариантов выполнения предлагаемого в изобретении коммуникационного модуля и осуществления предлагаемого в изобретении способа двусторонней передачи данных, поясняемое прилагаемыми чертежами, на которых показано:
на фиг.1 - коммуникационный модуль, известный из уровня техники,
на фиг.2 - шлюз, известный из уровня техники,
на фиг.3 - многопроцессорный шлюз, содержащий предлагаемые в изобретении коммуникационные модули,
на фиг.4 - блок-схема возможного варианта выполнения предлагаемого в изобретении коммуникационного модуля,
на фиг.5 - схемотехническое расширение обычного коммуникационного модуля для обеспечения его совместимости с предлагаемым в изобретении коммуникационным модулем.
Осуществление изобретения
Как видно на фиг.3, многопроцессорный шлюз 1 имеет несколько предлагаемых в изобретении коммуникационных модулей 2-i, каждый из которых подключается к одной последовательной шине 3-i. Последовательными шинами 3-i могут быть, например, промышленная (полевая) шина или шина Ethernet. По последовательным шинам 3-i данные передаются пакетами. Передаваемые пакеты данных включают в себя управляющие данные, или данные заголовка, а также полезные данные. Многопроцессорный шлюз 1 содержит несколько ведущих устройств, или процессоров 4-1, 4-2. Эти ведущие устройства могут выполнять разные функции. В варианте выполнения шлюза, показанном на фиг.3, первое ведущее устройство представляет собой шлюзовое устройство 4-1, управляющее передачей данных между различными коммуникационными модулями 2-i в соответствии с изобретением. Еще один процессор 4-2 представляет собой главный центральный процессор для обработки данных передаваемых внутри коммуникационного модуля слов DW данных. Кроме того, многопроцессорный шлюз 1 содержит несколько системных шин 5-1, 5-2. Каждое ведущее устройство 4-1, 4-2 в предпочтительном случае имеет свою системную шину. Каждая системная шина имеет собственную шину данных, адресную шину и шину управления. Внутри многопроцессорного шлюза 1 данные передаются пословно (т.е. в виде отдельных слов данных), причем длина слова данных соответствует разрядности соответствующей шины данных. Коммуникационные модули 2-i, выполненные в соответствии с изобретением, в предпочтительном варианте выполнения имеют для каждой системной шины 5-i соответствующий интерфейс.
На фиг.4 показан возможный вариант выполнения предлагаемого в изобретении коммуникационного модуля 2-i. Коммуникационный модуль 2 служит для подключения последовательной шины 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с коммуникационных протоколов выполняет взаимное преобразование пакетов DP данных, передаваемых вне коммуникационного модуля по последовательной шине 3-i данных, и внутренних сообщений MSG, каждое из которых состоит из одного или нескольких слов DW данных.
Помимо этого коммуникационный модуль 2 включает в себя блок пересылки сообщений, или диспетчер 2d сообщений, для пересылки сообщений между по меньшей мере одним внутренним устройством памяти 2е сообщений (оперативная память сообщений) и блоком 2с коммуникационных протоколов, а также различными буферными запоминающими устройствами 2f, 2g пo внутренним линиям 2h передачи данных. Емкость буферного запоминающего устройства 2f, 2g соответствует, например, объему данных передаваемого сообщения, т.е. заданному числу слов DW данных.
Коммуникационный модуль 2-i имеет несколько интерфейсных блоков 2а, 2b, каждый из которых подключен к соответствующей системной шине 5-i шлюза 1. При этом каждый интерфейсный блок 2а, 2b связан по меньшей мере с одним соответствующим ему буферным запоминающим устройством 2f, 2g, в котором временно сохраняется по меньшей мере одно сообщение. Передача слов DW данных из буферных запоминающих устройств 2f, 2g интерфейсных блоков и в них осуществляется в коммуникационном модуле 2-i одновременно по разным системным шинам 5-1, 5-2 и через соответствующие им интерфейсные блоки 2а, 2b без времени ожидания.
Арбитраж операций передачи данных, т.е. передачи данных в буферные запоминающие устройства 2f, 2g и в устройство памяти 2е для временного хранения сообщений, или оперативную память сообщений, осуществляется блоком 2d пересылки сообщений. В оперативной памяти 2е сообщений помещается, например, 128 сообщений MSG. В одном варианте выполнения коммуникационного модуля 2 блок 2d пересылки сообщений сигнализирует ведущему устройству 4-i системной шины о получении сообщения MSG, переданного пословно по системной шине 5-i. В другом варианте выполнения коммуникационного модуля блок 2d пересылки сообщений подтверждает сигналами ведущему устройству 4-i получение подлежащего передаче сообщения после запроса ведущим устройством системной шины этой информации. Запись данных ведущим устройством 4-i по шине данных системной шины 5-i, а также через соответствующий интерфейс в буферное запоминающее устройство коммуникационного модуля 2 происходит сравнительно быстро, т.е. ведущему устройству 4-i шины не нужно ждать предоставления доступа к данным. Как видно на фиг.4, арбитраж предлагаемого в изобретении коммуникационного модуля 2-i осуществляется не с критической по времени стороны системы, т.е. со стороны системных шин 5, а с менее критичной по времени стороны периферии, т.е. блоком 2d пересылки сообщений со стороны внешних последовательных шин 3 данных. Таким образом, по сравнению с обычными коммуникационными модулями в предлагаемом в изобретении коммуникационном модуле 2 время ожидания смещается до некоторой степени с системной стороны в сторону периферии. В представленном на фиг.4 варианте выполнения коммуникационного модуля помимо определяемого производителем специализированного интерфейса 2b реализован интерфейс 2а шлюза. Этот интерфейс 2а дает возможность доступа к коммуникационному объекту для шлюзового устройства 4-1, который работает параллельно главному центральному процессору процессора 4-2. Шлюзовое устройство 4-1 выполнено, например, в виде сопроцессора. Шлюзовое устройство 4-1 имеет доступ ко всем функциям/регистрам и коммуникационным объектам, которые необходимы для выполнения функции шлюза, или передачи данных между коммуникационными модулями. Арбитраж обмена данными между центральным процессором и шлюзовым устройством 4-1 осуществляется диспетчером сообщений, или блоком 2d пересылки сообщений коммуникационного модуля 2.
В одном варианте выполнения предлагаемого в изобретении коммуникационного модуля принятое системной шиной 5 сообщение, которое временно сохраняется в буферном запоминающем устройстве и пересылается блоком 2d пересылки сообщений в устройство памяти 2е сообщений, содержит по меньшей мере один флаговый бит для сигнализации готовности к передаче по последовательной шине 3.
В случае приема многопроцессорным шлюзом 1 пакета DP данных сообщения из последовательной промышленной шины 3 выполняются следующие операции.
Сначала пакет DP данных принимается блоком 2с коммуникационных протоколов, и блок 2с коммуникационных протоколов удаляет из пакета избыточные данные, служащие обеспечению безопасности передачи. Оставшиеся данные образуют сообщение MSG. Блок 2с коммуникационных протоколов сигнализирует о приеме сообщения блоку 2d пересылки сообщений. Блок 2d пересылки сообщений, или диспетчер 2d сообщений, выполняет арбитраж намерений совершить передачу данных. Для этого со стороны диспетчера 2d сообщений проводится опрос на предмет наличия других запросов на совершение передачи данных. В возможном варианте осуществления изобретения диспетчером 2d сообщений в соответствии с заданной приоритетностью инициируется принятие решения о том, которая передача данных будет проводиться следующей. Затем происходит осуществляемая по словам данных или полная передача всего сообщения MSG из блока 2с коммуникационных протоколов в оперативную память 2е сообщений. Кроме того, диспетчер сообщений, или блок 2d пересылки сообщений, сигнализирует ведущему устройству, или центральному процессору, например посредством сигнала внутреннего прерывания, о приеме сообщения. На следующем этапе ведущее устройство, или центральный процессор, запрашивает принятое сообщение с помощью сообщения-запроса. Диспетчер 2d сообщений проверяет запрос центрального процессора и выполняет арбитраж передачи данных. Затем сообщение по словам данных полностью передается из оперативной памяти 2е сообщений в регистр интерфейса или в буферное запоминающее устройство 2f, 2g запрашивающего это сообщение ведущего устройства 4. Если, например, сообщение запрашивается шлюзовым устройством 4-1 как ведущим устройством системной шины 5-1, передача данных осуществляется из оперативной памяти 2е сообщений в буферное запоминающее устройство 2f интерфейса 2а шлюза. Если сообщение-запрос выдается главным центральным процессором процессора 4-2 как ведущим устройством системной шины 5-2, то сообщение передается из оперативной памяти 2е сообщений блоком 2d пересылки сообщений в буферное запоминающее устройство 2g интерфейса 2b заказчика. Затем по окончании внутренней передачи данных в буферное запоминающее устройство сообщение пословно считывается ведущим устройством 4 подключенной к нему (буферному запоминающему устройству) системной шины 5 по шине данных соответствующей системной шины 5.
Далее рассматривается отправка из ведущего устройства 4 в последовательную шину 3-i сообщения MSG, состоящего из нескольких слов DW данных. Ведущее устройство 4, например главный центральный процессор процессорного блока 4-2, пословно записывает данные по шине данных соответствующей системной шины 5-i и через соответствующий интерфейс в буферное запоминающее устройство коммуникационного модуля 2. Кроме того, блоку 3d пересылки сообщений дается сигнал о существовании задания на запись сообщения в оперативную память 2е сообщений. Эта сигнализация может осуществляться, например, установкой флага. Затем диспетчером 2d сообщений проводится арбитраж внутренней передачи данных, при этом проверяется, существуют ли другие запросы на передачу данных в то же самое время. Как только появилась возможность для запрошенной передачи данных, сообщение, временно сохраненное в буферном запоминающем устройстве, перемещается пословно или полностью из внутреннего регистра интерфейса, или буферного запоминающего устройства, в (оперативную) память сообщений. Сообщение, сохраненное в оперативной памяти 2е сообщений, соответственно помечается для диспетчера 2d сообщений, например путем установки соответствующего флага-указателя. На следующем этапе сообщение, подлежащее передаче во внешнюю последовательную шину, пересылается диспетчером 2d сообщений в блок 2 с коммуникационных протоколов пословно либо полностью в один прием. Блок 2 с коммуникационных протоколов осуществляет преобразование сообщения в формат данных используемого вне коммуникационного модуля протокола передачи данных. Данные упаковываются в пакеты DP данных, содержащие, с одной стороны, заголовки, или управляющие данные, а с другой стороны - полезные данные. Кроме того, для обеспечения защиты передачи от ошибок блок 2 с коммуникационных протоколов добавляет избыточные данные. На следующем этапе сформированные таким образом пакеты DP данных отправляются блоком 2 с коммуникационных протоколов по внешней последовательной шине 3 данных. К внешней последовательной шине 3 данных подключены, например, исполнительные органы (приводные устройства) или датчики. Внешней последовательной шиной 3 данных могут являться, например, шина CAN (сокр. от англ. Contoller Area Network - локальная сеть контроллеров), шина FlexRay, шина на основе протокола транспорта для медиориентированных систем MOST (сокр. от англ. Media Oriented Systems Transport) или шина на основе протокола локальной сети взаимодействия LIN (сокр. от англ. Local Interconnect Network). В альтернативном варианте осуществления изобретения последовательная шина 3 представляет собой шину Ethernet.
На фиг.5 показана промежуточная, или согласующая, схема 6, позволяющая включить обычный коммуникационный модуль КМ, показанный на фиг.1, в многопроцессорный шлюз 1, выполненный согласно изобретению, как показано на фиг.3. Согласующая схема содержит шлюзовый интерфейс 6а и интерфейс 6b заказчика. Оба эти интерфейса 6а, 6b имеют по одному буферному запоминающему устройству, соответственно 6f, 6g. Арбитраж передачи данных осуществляется конечным автоматом-арбитром (КА-арбитр) 6h, который устанавливает очередность передачи сообщений по их приоритетам. Согласующая схема 6 также содержит многофункциональный интерфейс 6i, соответствующий многофункциональному интерфейсу обычного коммуникационного модуля КМ, известного из уровня техники и показанного на фиг.1. Согласующая схема 6 обеспечивает возможность использования предлагаемых в изобретении коммуникационных модулей 2, таких как представлены на фиг.4, совместно с обычными коммуникационными модулями КМ, известными из уровня техники и показанными, например, на фиг.1.
Предлагаемый в изобретении коммуникационный модуль 2 позволяет двум управляющим модулям, или ведущим устройствам 4, одновременно получать доступ к данным, сохраненным (временно) в отдельном буферном запоминающем устройстве коммуникационного модуля 2. Таким образом, в случае одновременного доступа к данным увеличивается ширина полосы пропускания предлагаемого в изобретении коммуникационного модуля 2 при передаче данных. Циклы ожидания при операциях доступа к данным, обусловленные арбитражем, выполняемым блоком 2d пересылки сообщений, не возникают.
1. Коммуникационный модуль (2) для подключения последовательной шины (3), передающей данные пакетами, к нескольким системным шинам (5) многопроцессорного шлюза (1), передающим данные пословно, включающий в себя:(а) подключенный к последовательной шине (3) блок (2с) коммуникационных протоколов для взаимного преобразования пакетов (DP) данных и сообщений (MSG), каждое из которых состоит из нескольких слов (DW) данных,(6) блок (2d) пересылки сообщений для пересылки сообщений (MSG) между, по меньшей мере, одним устройством памяти (2е) сообщений и блоком (2с) коммуникационных протоколов, а также буферными запоминающими устройствами (2f, 2g),(в) несколько интерфейсных блоков (2а, 2b), каждый из которых подключен к соответствующей системной шине (5-1, 5-2) многопроцессорного шлюза (1) и связан, по меньшей мере, с одним соответствующим ему буферным запоминающим устройством (2f, 2g), в котором временно сохраняется сообщение (MSG),(г) причем передача слов (DW) данных из буферных запоминающих устройств (2f, 2g) интерфейсных блоков (2а, 2b) и в них организована по указанным нескольким системным шинам (5-1, 5-2) и через соответствующие им интерфейсные блоки (2а, 2b);(д) причем каждая системная шина (5-1, 5-2) имеет соответствующее ведущее устройство (4-1, 4-2).
2. Коммуникационный модуль по п.1, в котором последовательная шина (3) представляет собой промышленную шину.
3. Коммуникационный модуль по п.2, в котором промышленная шина представляет собой шину CAN (локальной сети контроллеров).
4. Коммуникационный модуль по п.2, в котором промышленная шина представляет собой шину FlexRay.
5. Коммуникационный модуль по п.2, в котором промышленная шина представляет собой шину на основе протокола транспорта для медиориентированных систем (MOST).
6. Коммуникационный модуль по п.2, в котором промышленная шина представляет собой шину на основе протокола локальной сети взаимодействия (LIN).
7. Коммуникационный модуль по п.1, в котором последовательная шина (3) представляет собой шину Ethernet.
8. Коммуникационный модуль по п.1, в котором блок (2d) пересылки сообщений сигнализирует ведущему устройству (4-1, 4-2) системной шины о получении сообщения (MSG), пословно передаваемого по системной шине (5-1, 5-2).
9. Коммуникационный модуль по п.8, в котором блок пересылки сообщений подтверждает сигналами ведущему устройству (4-1, 4-2) системной шины получение подлежащего передаче сообщения (MSG) после запроса ведущим устройством системной шины этой информации.
10. Коммуникационный модуль по п.1, в котором принятое системной шиной (5-1, 5-2) сообщение, которое временно сохраняется в буферном запоминающем устройстве (2f, 2g) и пересылается блоком (2d) пересылки сообщений в устройство памяти (2е) сообщений, содержит, по меньшей мере, один флаговый бит для сигнализации готовности к передаче по последовательной шине (3).
11. Способ двусторонней передачи данных между последовательной шиной, передающей данные пакетами, и несколькими системными шинами (5-1, 5-2) многопроцессорного шлюза, каждая из которых имеет соответствующее ведущее устройство (4-1, 4-2) и которые передают данные пословно, при осуществлении которого:(а) пакеты (DP) данных, передаваемые по последовательной шине (3), преобразуют в сообщения, содержащие несколько слов (DW) данных,(б) сообщения временно сохраняют в буферных запоминающих устройствах (2f, 2g) и(в) слова (DW) данных передают из буферных запоминающих устройств (2f, 2g) и в них по указанным нескольким системным шинам (5-1, 5-2).