Коммуникационный модуль для сети flexray

Иллюстрации

Показать все

Изобретение относится к области сетей передачи данных. Технический результат заключается в оптимизации обмена данных в сети FlexRay. Сущность изобретения заключается в том, что коммуникационный модуль протокола FlexRay для соединения соотнесенного с ним абонентского устройства (102) с каналом связи (101) в сети FlexRay, по которой осуществляется передача сообщений, содержит следующие компоненты: первое устройство (105) для сохранения по меньшей мере части передаваемых сообщений, второе устройство (104) для соединения первого устройства (105) с абонентским устройством (102), а также третье устройство (103) для соединения канала (101) связи в сети FlexRay с первым устройством (105). 13 з.п. ф-лы, 12 ил.

Реферат

Область техники, к которой относится изобретение

Настоящее изобретение относится к коммуникационному модулю для сети FlexRay, предназначенному для соединения соотнесенного с ним абонентского устройства с каналом связи в сети FlexRay, по которой осуществляется передача сообщений.

Уровень техники

Объединение в сеть блоков управления, датчиков и приводов посредством систем связи, например шинных систем обмена данными, в последние годы получает все более широкое распространение как в области автомобилестроения, так и в области машиностроения, и прежде всего в области станкостроения, а также систем автоматизированного управления технологическими процессами. При этом за счет распределения функций между несколькими блоками управления можно достичь синергетических эффектов. Подобные системы принято называть распределенными системами. Для обмена данными между различными оконечными или абонентскими устройствами все чаще используются системы связи, построенные по принципу шинных систем обмена данными. В таких системах функции управления обменом данными, равно как и функции обработки возникающих при этом ошибок, регулируются протоколом обмена данными. Одним из известных в этой области протоколов обмена данными является протокол FlexRay, для которого существует уже вторая (V2.0) редакция спецификации. FlexRay - это быстродействующая детерминистическая и устойчивая к сбоям шинная система, особенно хорошо приспособленная для использования в транспортных средствах. Протокол FlexRay работает по методу многоабонентского доступа с временным разделением каналов (сокр. TDMA, от англ. "Time Division Multiple Access"), в соответствии с которым различным подключенным к сети или шине обмена данными компонентам, т.е. абонентским устройствам, присваиваются различные жестко заданные интервалы времени (так называемые слоты), в течение которых эти устройства имеют исключительное право на доступ к каналу связи. При этом при работе шинной системы обмена данными интервалы времени повторяются по заданному циклу, что позволяет заранее точно знать момент передачи сообщения по шине и организовать доступ к шине по детерминистическому принципу. Для оптимального использования полосы пропускания шинной системы обмена данными протоколом FlexRay предусматривается наличие у цикла не только статической, но и динамической части. При этом под статической частью цикла работы шинной системы, расположенной в начале такого цикла, понимается та часть этого цикла, к которой относятся жестко распределенные между абонентскими устройствами интервалы времени. В динамической же части цикла интервалы времени выделяются динамически. В пределах этой динамической части выделяются так называемые мини-интервалы (мини-слоты), представляющие собой заданные весьма короткие отрезки времени, в течение которых абонентское устройство имеет гарантированное право исключительного доступа к шине. И лишь в том случае, когда абонентское устройство действительно обращалось к шине в течение очередного отведенного ему мини-интервала, это устройство может получить право доступа к шине в течение запрошенного им более длительного интервала. Таким образом, полоса пропускания занимается только тогда, она действительно нужна. Обмен данными в сети FlexRay организован с использованием двух раздельных физических проводников, причем максимальная скорость передачи данных по каждому из них составляет 10 мегабит в секунду. При этом оба этих канала передачи данных соответствуют физическому уровню предложенной Международной организацией по стандартизации семиуровневой базовой эталонной модели (OSI) взаимодействия открытых систем. Применение двух проводников призвано, в частности, обеспечить возможность передачи сообщений с резервированием, а значит - с обеспечением отказоустойчивости, однако проводники могут использоваться и для передачи по ним различных сообщений с соответствующим удвоением их общей пропускной способности. Предусмотрена также возможность работы сети FlexRay с пониженными скоростями передачи данных.

Для обеспечения синхронного выполнения функций, а также для увеличения полосы пропускания за счет сокращения пауз между сообщениями подключенные к сети передачи данных распределенные компоненты, т.е. абонентские устройства этой сети, должны работать синхронно, т.е. с использованием так называемого глобального времени. В целях синхронизации встроенных часов в пределах статической части цикла передаются сообщения синхронизации, на основе которых каждое абонентское устройство шины FlexRay по предписанному спецификацией протокола FlexRay алгоритму подстраивает свои встроенные часы таким образом, чтобы встроенные часы всех абонентских устройств шли синхронно друг с другом.

Узел, абонентское устройство или хост (в сущности, синонимичные понятия) сети FlexRay имеет собственный процессор, т.е. хост-процессор, контроллер шины FlexRay, иначе называемый коммуникационным контроллером, а также - при контроле шины - блок защиты шины. При этом указанным процессором формируются и обрабатываются данные, передаваемые через контроллер шины FlexRay. Сеть FlexRay поддерживает передачу по ней в процессе обмена данными сообщений или коммуникационных объектов, содержащих, например, до 254 байт данных.

Исходя из вышеизложенного в основу настоящего изобретения была положена задача предложить компонент системы связи в сети FlexRay, который поддерживал бы обмен данными в сети FlexRay оптимальным образом.

Раскрытие изобретения

Эта задача решается в соответствии с изобретением в коммуникационном модуле для сети FlexRay, предназначенном для соединения соотнесенного с ним абонентского устройства с выступающим в качестве физического уровня каналом связи в сети FlexRay, по которой осуществляется передача сообщений. При этом предлагаемый в изобретении коммуникационный модуль на основе протокола FlexRay содержит первое устройство для сохранения по меньшей мере части передаваемых сообщений, второе устройство для соединения первого устройства с абонентским устройством, а также третье устройство для соединения канала связи в сети FlexRay, т.е. физического уровня, с первым устройством.

При этом первое устройство в предпочтительном варианте осуществления изобретения содержит диспетчер, или обработчик, сообщений (англ. "Message Handler") и память сообщений, причем диспетчером сообщений обеспечивается управление трактами передачи данных, используемых при операциях доступа к данным, при которых задействованы первое и второе устройства, а также память сообщений. При этом имеющаяся в первом устройстве память сообщений предпочтительно разбита на сегмент, или область, заголовков сообщений, далее называемый сегментом заголовков, и сегмент, или область, содержащихся в сообщениях данных, далее называемый сегментом данных.

В предпочтительном варианте осуществления изобретения второе устройство содержит для соединения первого устройства с хостом, т.е. абонентским устройством на основе протокола FlexRay, или с его процессором, входной буфер (входную буферную память) и выходной буфер (выходную буферную память), причем либо входной буфер, либо выходной буфер, либо - в наилучшем варианте - оба этих буфера разбиты на основную буферную память и теневую память, обращение к которым производится попеременно, или с чередованием, только для записи и/или чтения, что позволяет обеспечить целостность данных. Такое попеременное считывание и запись в основной буферной памяти и относящейся к ней теневой памяти предпочтительно достигается путем переключения между режимами обращения (чтение-запись) к соответствующей области буферной памяти либо за перемещения содержимого одной области памяти в другую.

В предпочтительном варианте осуществления изобретения каждая основная буферная память и каждая теневая память выполнена с возможностью сохранения в них области данных и области заголовков двух сообщений на основе протокола FlexRay.

Для облегчения адаптации коммуникационного модуля к самым различным абонентским устройствам второе устройство интерфейсный модуль, состоящий из специализированного, т.е. специфического для абонентского устройства, субмодуля и субмодуля, независимого от абонентского устройства, что позволяет повысить общую гибкость коммуникационного модуля на основе протокола FlexRay за счет того, что для его адаптации к конкретному абонентскому устройству требуется модифицировать лишь специализированный субмодуль. При этом такие субмодули интерфейсного модуля могут быть реализованы и программно, т.е. каждый из них может быть реализован в виде программной функции.

Поскольку протоколом FlexRay предусматривается избыточность, или резервирование, каналов передачи данных, третье устройство в предпочтительном варианте осуществления изобретения содержит первый интерфейсный модуль и второй интерфейсный модуль и в свою очередь разделено на два тракта передачи данных, каждый из которых поддерживает передачу данных в обоих направлениях. Кроме того, третье устройство в предпочтительном варианте содержит первый и второй буферы (первую и вторую буферную память) для обеспечения работы обоих каналов в обоих направлениях. При этом и в данном случае первый и второй буферы выполнены с возможностью сохранения в каждом из них по меньшей мере области данных двух сообщений на основе протокола FlexRay. В предпочтительном варианте каждый интерфейсный модуль третьего устройства имеет регистр и конечный автомат на основе протокола FlexRay.

Предлагаемый в изобретении коммуникационный модуль на основе протокола FlexRay способен обеспечить полную поддержку спецификации указанного протокола, в частности второй редакции этой спецификации, и соответственно позволяет, например, сконфигурировать до 64 сообщений, или передаваемых коммуникационных объектов. При этом память сообщений такого коммуникационного модуля можно гибко настраивать на хранение различного числа таких объектов в зависимости от размеров соответствующего поля или области данных сообщения. Таким образом, память можно конфигурировать на хранение сообщений или коммуникационных объектов, имеющих поля данных разной длины. При этом память сообщений предпочтительно выполнена в виде запоминающего устройства обратного магазинного типа с возможностью получения конфигурируемой памяти обратного магазинного типа для сохранения входящих сообщений. Каждое сообщение или передаваемый информационный объект в памяти может быть сконфигурировано в качестве объекта памяти входящих сообщений (входного буфера), объекта памяти исходящих сообщений (выходного буфера) или части конфигурируемой памяти обратного магазинного типа для сохранения входящих сообщений. В сети FlexRay возможно также осуществление фильтрации по критерию допустимости для идентификаторов кадров данных, идентификаторов каналов и идентификаторов циклов. Это обеспечивает рациональное управление сетью. Кроме того, в предпочтительном варианте осуществления изобретения также предусмотрены маскируемые модульные прерывания.

Иные преимущества и предпочтительные варианты осуществления изобретения рассмотрены в описании, а также охарактеризованы в формуле изобретения.

Краткое описание чертежей

Ниже изобретение более подробно пояснено со ссылкой на прилагаемые чертежи, на которых показано:

на фиг.1 - схематичное изображение коммуникационного модуля и его соединения с физическим уровнем, т.е. с каналом связи и с абонентским устройством в системе связи,

на фиг.2 - более подробное изображение одного из конкретных вариантов выполнения коммуникационного модуля, показанного на фиг.1, а также его соединения (с шиной),

на фиг.3 - структура памяти сообщений,

на фиг.4-6 - схематичное изображение архитектуры и процесса доступа к данным с передачей данных в направлении от абонентского устройства к памяти сообщений,

на фиг.7-9 - схематичное изображение архитектуры и процесса доступа к данным с передачей данных в направлении от памяти сообщений к абонентскому устройству,

на фиг.10 - схематичное изображение диспетчера (обработчика) сообщений и содержащихся в нем конечных автоматов,

на фиг.11 - еще одно схематичное изображение элементов коммуникационного модуля, абонентского устройства, а также соответствующих трактов передачи данных, управляемых диспетчером сообщений, и

на фиг.12 - распределение прав доступа применительно к показанным на фиг.11 трактам передачи данных.

Ниже изобретение более подробно рассмотрено на примере нескольких вариантов его осуществления.

Осуществление изобретения

На фиг.1 схематично изображен коммуникационный модуль 100 сети FlexRay, обеспечивающий соединение абонентского устройства, или хоста, 102 сети FlexRay с каналом 101 связи в этой сети, т.е. с ее физическим уровнем. Для этого коммуникационный модуль 100 соединен с абонентским устройством, т.е. с процессором 102 этого устройства, соединением 107, а с каналом 101 связи - соединением 106. Распределение времени доступа к каналу, а также целостность данных обеспечиваются в основном тремя входящими в состав коммуникационного модуля схематично показанными на чертеже устройствами. Первое 105 из этих устройств обеспечивает сохранение, в частности промежуточное сохранение (буферизацию), по меньшей мере части передаваемых сообщений. Между абонентским устройством 102 и этим первым устройством 105 расположено второе устройство 104, соединенное с ними соединениями 107 и 108. Между абонентским устройством 101 и первым устройством 105 расположено соединенное с ними соединениями 106 и 109 третье устройство 103, чем достигается гибкий ввод и вывод данных в составе сообщений, прежде всего сообщений на основе протокола FlexRay, в первое устройство 105 и соответственно из него, с обеспечением целостности данных при оптимальной скорости передачи данных.

На фиг.2 этот коммуникационный модуль 100 в предпочтительном варианте его выполнения изображен более подробно. Также более подробно изображены и соответствующие соединения 106-109. При этом второе устройство 104 имеет входную буферную память 201 (буфер на входе), ниже также называемую входным буфером, выходную буферную память 202 (буфер на выходе), ниже также называемую выходным буфером, а также интерфейсный модуль, состоящий из двух частей 203 и 204, причем субмодуль 203 является универсальным, независимым от абонентского устройства, в то время как субмодуль 204 является специализированным, т.е. может иметь ту или иную конструкцию в зависимости от конкретного абонентского устройства. Этим специализированным субмодулем 204 интерфейсного модуля (англ. Customer CPU Interface, CIF) обеспечивается интерфейс для связи процессора 102 абонентского устройства, который может иметь различные особенности в зависимости от того, о каком конкретно абонентском устройстве идет речь, с коммуникационным модулем сети FlexRay. Для этого предусмотрены линия 216 передачи данных с возможностью передачи в двух направлениях, адресная линия 217 и управляющий вход 218. Также предусмотрен выход 219 для передачи сигналов прерывания. Зависимый от абонентского устройства субмодуль 204 соединен с универсальным субмодулем 203 (англ. Generic CPU Interface, GIF), благодаря чему интерфейсный модуль FlexRay получает универсальный интерфейс для его связи с процессорами абонентских устройств, который с использованием субмодулей, адаптированных к специфике конкретных абонентских устройств и их процессоров, может соединяться с большим количеством самых различных абонентских устройств. Благодаря этому адаптация, учитывающая особенности абонентского устройства, необходима только для субмодуля 204, что позволяет существенно снизить затраты, связанные с подключением к шине FlexRay самых различных абонентских устройств.

Входной буфер 201 и выходной буфер 202 могут быть выполнены либо в виде одного, либо в виде раздельных модулей памяти. При этом входной буфер 201 служит для промежуточного сохранения сообщений, подлежащих передаче в память 200 сообщений. Этот входной буфер предпочтительно выполнен с возможностью сохранения в нем двух полных сообщений, каждое из которых включает в себя заголовок, содержащий, в частности, конфигурационные данные, и основную часть, содержащую собственно передаваемые, или полезные, данные. При этом сам входной буфер выполнен из двух частей: основной буферной памяти и теневой (скрытой) памяти, причем за счет попеременной записи в обе указанные части входного буфера и смены режима обращения к ним (т.е. переключения между этими режимами) удается увеличить скорость передачи данных между процессором 102 абонентского устройства и памятью 200 сообщений. Аналогичным образом выходной буфер служит для промежуточного сохранения сообщений, подлежащих передаче из памяти 200 сообщений в процессор 102 абонентского устройства. При этом выходной буфер 202 также выполнен с возможностью сохранения в нем двух полных сообщений, каждое из которых включает в себя заголовок, содержащий, в частности, конфигурационные данные, и основную часть, содержащую собственно передаваемые полезные данные. И в этом случае выходной буфер 202 выполнен из двух частей: основной буферной памяти и теневой (скрытой) памяти, причем и в рассматриваемом случае за счет попеременного считывания из этих частей буфера и смены режима обращения к ним удается увеличить скорость передачи данных между абонентским устройством, или его процессором 102, и памятью 200 сообщений. Второе устройство 104, имеющее элементы 201-204, соединено с первым устройством 105 показанным на чертеже образом.

Устройство 105 состоит из диспетчера, или обработчика, 200 сообщений (англ. Message Handler, MHD) и памяти 300 сообщений, в частности ЗУПВ (англ. Message RAM). Диспетчер сообщений контролирует процесс передачи данных между входным буфером 201 и выходным буфером 202 с одной стороны и памятью 300 сообщений с другой стороны, соответственно управляет указанным процессом. Аналогичным образом, посредством третьего устройства 103 он контролирует процесс передачи данных в обратном направлении, соответственно управляет этим процессом. Память сообщений предпочтительно выполнена в виде однопортового ЗУПВ. Эта память служит для хранения сообщений или коммуникационных объектов, т.е. для хранения передаваемых полезных данных совместно с относящимися к ним конфигурационными данными и данными о состоянии. Структура памяти 300 сообщений более подробно показана на фиг.3.

Третье устройство 103 состоит из элементов 205-208. Поскольку шина FlexRay имеет на физическом уровне два канала передачи данных, это устройство 103 имеет два тракта передачи данных, каждый из которых пригоден для передачи данных в обоих направлениях. Эти тракты обозначены на чертеже позициями 213 и 214, причем для тракта или канала А передачи данных взаимно противоположные направления передачи данных обозначены позициями RxA и ТхА, а для тракта или канала В - позициями RxB и ТхВ. Позицией 215 обозначен необязательный двунаправленный управляющий вход. Третье устройство 103 соединяется через первый буфер 205 с каналом В и через второй буфер 206 с каналом А. Оба этих буфера, или промежуточных ЗУПВ А и В, служат для промежуточного сохранения данных, передаваемых в первое устройство 105 и из него. В соответствии с наличием двух каналов оба этих буфера 205 и 206 соединены каждый со своим интерфейсным модулем 207 и 208, в состав которых входит контроллер сети FlexRay, иначе называемый контроллером протокола шины и состоящий из приемопередающих регистров сдвига и конечного автомата FlexRay. В соответствии с этим оба буфера 205 и 206 выполняют функции промежуточной памяти для хранения данных, передаваемых между регистрами сдвига интерфейсных модулей или контроллером 207 и 208 сети FlexRay с одной стороны и памятью 300 сообщений с другой стороны. И в этом случае в каждом из буферов 205 или 206 сохраняются поля данных, т.е. несущая полезную информацию часть двух сообщений на основе протокола FlexRay.

Кроме того, в коммуникационном модуле 100 предусмотрено глобальное программно-временное устройство (ПВУ) (англ. Global Time Unit, GTU), отвечающее за синхронизацию работы абонентского устройства с другими подключенными к шине FlexRay абонентскими устройствами, т.е. за обработку микро- (µТ) и макро- (МТ)импульсов сигнала времени. Кроме того, указанное ПВУ 209 отвечает за отказоустойчивую синхронизацию часов счетчиков циклов (англ. Cycle Counter), а также за контроль во времени процессов в статической и динамической частях цикла работы шины FlexRay.

Позицией 210 обозначен блок общего управления системой (англ. System Universal Control, SUC), контролирующий режимы работы коммуникационного контроллера FlexRay и управляющий этими режимами. К ним относятся такие режимы, как активизация, запуск, первичное или повторное подключение к шине, а также нормальный и пассивный режимы работы.

Позицией 211 обозначен блок управления шиной и обработки ошибок (англ. Network - and Error Management, NEM), предусмотренный редакцией 2.0 спецификации протокола FlexRay. Позицией 212 обозначен блок управления прерываниями (англ. Interrupt Control, INT), управляющий флагами прерываний, осуществляемых по факту регистрации определенных состояний или по факту регистрации ошибок (англ. status and error interrupt flags), и контролирующий выходы 219 для передачи сигналов прерывания в процессор 102 абонентского устройства, соответственно управляющий этими выходами. Блок 212 также имеет таймер абсолютного или относительного времени, соответственно таймер для генерирования прерываний по времени, иначе называемых прерываниями по таймеру.

Сеть FlexRay может быть сконфигурирована для передачи по ней в процессе обмена данными, соответственно для сохранения в буфере сообщений, сообщений, соответственно коммуникационных объектов, содержащих, например, до 254 байт данных. Память 300 сообщений выполнена, в частности, в виде ЗУПВ для сохранения сообщений, способного сохранять, например, не более шестидесяти четырех коммуникационных объектов. Все функции, относящиеся к обработке сообщений, соответственно к управлению сообщениями, реализованы в диспетчере 200 сообщений. К таким функциям относятся, например, фильтрация по критерию допустимости, передача сообщений между блоками 207 и 208, относящимися к контроллеру сети FlexRay, с одной стороны, и памятью 300 сообщений с другой стороны, а также контроль последовательности передачи и подготовка конфигурационных данных, соответственно данных о состоянии.

Внешний процессор 102, т.е. процессор 102 абонентского устройства, может через интерфейс абонентского устройства, т.е. посредством специализированного субмодуля 204, получать доступ к регистрам коммуникационного модуля системы FlexRay. При этом может использоваться большое количество разнообразных регистров. Эти регистры используются для конфигурирования и управления работой контроллера сети FlexRay, т.е. интерфейсных модулей 207 и 208, диспетчера 200 сообщений, глобального ПВУ 209, блока 210 общего управления системой, блока 211 управления шиной и обработки ошибок, контроллера 212 прерываний, а также для управления доступом к памяти 300 сообщений и отображения соответствующего состояния. По меньшей мере некоторые из этих регистров более подробно рассмотрены ниже со ссылкой на фиг.4-6 и 7-9. Такой предлагаемый в изобретении коммуникационный модуль системы FlexRay позволяет простым путем реализовать редакцию 2.0 спецификации протокола FlexRay, соответственно позволяет простым путем создать специализированную ИС или микроконтроллер с поддержкой шины FlexRay, имеющие соответствующий объем функций.

На фиг.3 более подробно показана структура памяти 300 сообщений. Для того чтобы контроллер сети FlexRay был способен выполнять весь объем функций, требуемый от него в соответствии со спецификацией протокола FlexRay, этот контроллер должен иметь буфер для отправляемых сообщений и буфер для корректно принятых сообщений. Протокол FlexRay позволяет отправлять и получать сообщения с объемом полезной информации от 0 до 254 байт. Как показано на фиг.2, память сообщений является одним из элементов коммуникационного модуля 100 сети FlexRay. Описанный ниже способ, а также пригодная для осуществления этого способа память сообщений позволяют сохранять подлежащие отправке и полученные сообщения, в частности в ЗУПВ, причем предлагаемый в изобретении способ позволяет сохранять в памяти сообщений заданного объема переменное число сообщений. При этом количество помещающихся в память сообщений зависит от объема собственно передаваемых данных, содержащихся в каждом сообщении, что позволяет, с одной стороны, использовать для хранения сообщений лишь необходимый минимум памяти, не накладывая при этом ограничений на объем содержащихся 25 в каждом сообщении полезных данных, и, с другой стороны, позволяет оптимальным образом использовать (любой) доступный объем памяти. Ниже более подробно описан способ распределения объема предусмотренной в контроллере связи FlexRay памяти сообщений, в частности представляющей собой ЗУПВ, между сегментами этой памяти, в переменном соотношении.

Допустим в качестве примера, что у нас есть память сообщений, пригодная для сохранения слов заданной длины, составляющей n бит, где n=8, 16, 32 и т.д., причем объем этой памяти достаточен для сохранения m слов (и m, и n - натуральные числа). При этом память 300 сообщений разбивают на два сегмента: сегмент HS заголовков и сегмент DS данных. В соответствии с этим на каждое сообщение в сегменте заголовков памяти сообщений создается участок НВ, предназначенный для сохранения заголовка этого сообщения, а в сегменте данных памяти сообщений создается участок DB, предназначенный для сохранения данных этого сообщения. Соответственно для сообщений 0, 1, …, k (где k натуральное число) создаются участки НВ0, НВ1, …, HBk сегмента заголовков и участки DB0, DB1, …, DBk сегмента данных. Иными словами, каждое сообщение, передаваемое по шине FlexRay, рассматривается как включающее в себя первые и вторые данные, причем под первыми данными понимаются содержащиеся в заголовках конфигурационные данные и/или данные о состоянии, сохраняемые в участках НВ (НВ0, НВ1, (HBk) сегмента заголовков. Под вторыми данными понимаются собственно содержащиеся в сообщении данные, сохраняемые в участках DB (DB0, DB1, …, DBk) сегмента данных. В соответствии с этим объем памяти, занимаемый каждым сообщением, складывается из двух частей: первая часть соответствует объему относящихся к сообщению первых данных и может измеряться в битах, байтах или количестве слов, а вторая часть соответствует объему относящихся к сообщению вторых данных и также может измеряться в битах, байтах или количестве слов, причем объем вторых данных у разных сообщений может быть различным. Общий объем памяти 300 сообщений распределяется между сегментом HS заголовков и сегментом DS данных в переменном соотношении, т.е. жестко заданной границы между указанными сегментами не существует. В соответствии с изобретением это распределение осуществляется в зависимости от количества k сообщений, а также в зависимости от объема вторых данных, т.е. в зависимости от объема полезных данных, содержащихся в одном сообщении, соответственно содержащихся суммарно в k сообщениях. В соответствии с изобретением с конфигурационными данными KD0, KD1, …, KDk каждого соответствующего сообщения непосредственно соотносят по одному указателю DP0, DP1, …, DPk. В одном из конкретных вариантов осуществления изобретения с каждым участком НВ0, НВ1, …, HBk сегмента заголовков соотносят жестко заданное число слов, в рассматриваемом варианте равное двум, что позволяет в каждом случае совместно сохранять в одном и том же участке НВ как конфигурационные данные KD (KD0, KD1, …, KDk), так и указатель DP (DP0, DP1, …, DPk). Непосредственно после этого сегмента HS заголовков, в котором выделены участки НВ для хранения первых данных, т.е. заголовков сообщений, и размер которого зависит от количества k подлежащих сохранению сообщений, в памяти сообщений расположен сегмент DS данных, предназначенный для сохранения собственно содержащихся в сообщениях данных D0, D1, …, Dk. Объем этого сегмента DS данных зависит от объема данных, содержащихся в сохраненных сообщениях, соответственно от объема занятых этими данными участков сегмента данных, причем в рассматриваемом примере объем участка DB0 сегмента данных составляет шесть слов, объем участка DB1 - одно слово, и объем участка DBk - два слова. Соответствующие указатели DP0, DP1, …, DPk в каждом случае указывают на начало, т.е. на начальный адрес соответствующего участка DB0, DB1, …, DBk сегмента данных, в котором хранятся данные D0, D1…, (Dk, содержащиеся в соответствующем сообщении 0, 1, …, k. В соответствии с этим объем памяти сообщений распределяется между сегментом HS заголовков и сегментом DS данных в переменном соотношении, зависящем как от общего количества сообщений, так и от объема данных в сообщении, соответственно от суммарного объема вторых данных. В случае, когда память сообщений сконфигурирована под меньшее число сообщений, сегмент заголовков имеет уменьшенный объем, а высвободившаяся за счет такого уменьшения память дополнительно относится к сегменту DS данных, соответственно может быть использована для хранения полезных данных. Такая гибкость в конфигурировании памяти позволяет оптимизировать использование последней, что в некоторых случаях позволяет обойтись меньшим объемом памяти. В соответствии с этим свободный объем FDS сегмента данных, также в зависимости от количества k сохраненных сообщений и от объема относящихся к сохраненным сообщениям вторых данных, может быть минимальным или даже нулевым.

Наряду с использованием указателей первые и вторые данные, т.е. конфигурационные данные KD (KD0, KD1, …, KDk) и собственно данные D (D0, D1, …, Dk) могут сохраняться в заданной последовательности, причем последовательность участков НВ0 … HBk сегмента HS заголовков идентична последовательности участков DB0 … DBk сегмента DS данных. Такой подход позволяет при определенных условиях даже отказаться от использования указателей.

В одном из конкретных вариантов осуществления изобретения в памяти сообщений предусмотрен генератор данных, используемых для обнаружения ошибок, прежде всего генератор битов контроля четности, а также элемент для обнаружения ошибок, прежде всего элемент для контроля этих битов, что позволяет за счет формирования и сохранения контрольной суммы, и прежде всего бита контроля четности, для каждого слова или для каждого сегмента памяти (НВ и/или DB) обеспечить контроль корректности данных, сохраненных в сегментах HS и DS. Могут применяться и иные методы контроля корректности данных, соответственно методы обнаружения ошибок, например, контроль с использованием циклического избыточного кода по типу CRC (англ. Cyclical Redundancy Check), или методы обнаружения и исправления ошибок по типу ЕСС (англ. Error Correction Code). Предлагаемый в изобретении подход позволяет, по сравнению с жестким разделением памяти сообщений на сегменты, обеспечить следующие преимущества.

Пользователь на этапе программирования может решить, желает ли он использовать большее количество сообщений с меньшим полем данных либо меньшее количество сообщений с большим полем данных. При работе с сообщениями с варьирующимся объемом полезных данных изобретение позволяет оптимально использовать объем доступной памяти. Пользователь получает возможность использования одного и того же участка сегмента данных совместно для различных сообщений.

При реализации коммуникационного контроллера на ИС можно адаптировать объем памяти сообщений к требованиям конкретной прикладной задачи за счет коррекции емкости ЗУ, не меняя при этом остальных функций коммуникационного контроллера.

Ниже со ссылкой на фиг.4-6, а также фиг.7-9 более подробно описан процесс доступа процессора абонентского устройства к данным, т.е. процесс записи и считывания им конфигурационных данных и данных о состоянии, а также собственно данных с использованием буферной памяти 201 и 202. При этом задачей является достижение развязки в передаче данных таким образом, чтобы обеспечить целостность передаваемых данных и одновременно с этим высокую скорость их передачи. Как более подробно описано ниже со ссылками на фиг.10, 11 и 12, управление описанными процессами осуществляется диспетчером 200 сообщений.

Ниже со ссылкой на фиг.4, 5 и 6 более подробно описаны процессы записи данных процессором 102 абонентского устройства в память 300 сообщений с использованием входного буфера 201. Для этого на фиг.4 более подробно показан коммуникационный модуль 100 системы связи, причем для упрощения на чертеже изображены лишь существенные элементы этого коммуникационного модуля 100. К таким элементам относятся диспетчер 200 сообщений, отвечающий за управление процессами, а также два регистра 403 и 404 команд, которые могут размещаться либо вне диспетчера 200 сообщений в коммуникационном модуле 100, либо в самом диспетчере 200 сообщений. При этом позицией 403 обозначен относящийся к входному буферу регистр (англ. Input Buffer Command Request Register) запроса команд, а позицией 404 - относящийся к тому же буферу регистр (англ. Input Buffer Command Mask Register) маскирования команд. Запись данных в память 300 сообщений осуществляется процессором 102 абонентского устройства через расположенный между ним и этой памятью входной буфер 201. Этот входной буфер 201 выполнен разделенным, или раздвоенным, а именно из основной буферной памяти 400 и относящейся к ней теневой памяти 401. Такой подход позволяет осуществлять описанный ниже непрерывный доступ процессора 102 абонентского устройства к сообщениям, коммуникационным объектам или данным, хранящимся в памяти 300 сообщений, и при этом позволяет обеспечить целостность этих данных и увеличение скорости их передачи. Управление доступом осуществляется посредством относящихся к входному буферу регистра 403 запроса команд и регистра 404 маскирования команд. В регистре 403 числами от 0 до 31 обозначены его двоичные разряды, соответственно в рассматриваемом примере регистр 403 является 32-х битным. То же самое относится и к регистру 404 с его обозначенными числами от 0 до 31 двоичными разрядами.

В соответствии с изобретением двоичные разряды 0-5, 15, 16-21 и 31 регистра 403 могут выполнять определенные функции по управлению процессами. Так, в двоичные разряды 0-5 регистра 403 может записываться идентификатор IBRH (англ. Input Buffer Request Host), используемый в качестве идентификатора сообщения. Точно так же в двоичные разряды 16-21 регистра 403 может записываться "теневой" идентификатор сообщения IBRH (англ. Input Buffer Request Shadow). В двоичный разряд 15 регистра 403 может записываться идентификатор IBSYH доступа, а в двоичный разряд 31 этого регистра - идентификатор IBSYS доступа. Можно отметить и двоичные разряды 0-2 регистра 404, в двоичные разряды 0 и 1 которого записываются характеризующие данные идентификаторы LHSH (англ. Load Header Section Host) и LDSH (англ. Load Data Section Host). Эти идентификаторы в рассматриваемом варианте представлены в простейшей форме, а именно каждый из них является однобитным. В двоичный разряд 2 регистра 404 записывается идентификатор STXRH (англ. Set Transmission X Request Host) начала передачи.

Ниже описан процесс обращения к памяти сообщений для данных через входной буфер.

Данные передаваемого сообщения записываются процессором 102 абонентского устройства во входной буфер 201. При этом процессором 102 могут записываться либо только конфигурационные данные KD заголовка сообщения - в выделенный в памяти сообщений сегмент HS заголовков, либо только содержащиеся в сообщении полезные данные D - в выделенный в памяти сообщений сегмент DS данных, либо и те, и другие данные. Подлежащие передаче или записи части сообщения, т.е. конфигурационные и/или полезные данные, определяются специальными характеризующими данные идентификаторами LHSH и LDSH, записываемыми в относящийся к входному буферу регистр 404 маскирования команд. При этом идентификатор LHSH (англ. Load Header Section Host) определяет, подлежат ли передаче данные KD заголовка сообщения, т.е. конфигурационные данные, а идентификатор LDSH (англ. Load Data Section Host) - подлежат ли передаче полезные данные D сообщения. Вследствие того что входной буфер 201 имеет две части, а именно основную буферную память 400 и соответствующую теневую память 401, что позволяет осуществлять попеременное обращение к буферной памяти, в буфере также выделены участки для хранения двух дополнительных идентификаторов, относящихся к теневой памяти 401 и аналогичных описанным выше идентификаторам LHSH и LDSH. Эти идентификаторы записываются в двоичные разряды 16 и 17 р