Изобретение касается в общем системы радиосвязи с подвижными объектами МДКР (многостанционного доступа с кодовым разделением каналов) и, в частности, устройства и способа передачи данных в соответствии с протоколом работы радиолинии (ПРЛ), используемым для эффективной передачи данных в условиях радиосвязи.
Обычно системы радиосвязи с подвижными объектами МДКР разработаны из стандарта IS-95, который главным образом обеспечивает услуги передачи речевого сигнала, в стандарт МДКР-2000, который обеспечивает услуги высокоскоростной передачи данных, а также услуги передачи речевых данных. Стандарт МДКР-2000 может обеспечивать высококачественные речевые услуги, услуги передачи движущихся изображений и услуги поиска по Интернету.
На фиг.1 показана примерная услуга передачи пакетированных данных, определяемая стандартом МДКР-2000. На фиг.1 подвижная станция (ПС) включает в себя оконечное оборудование (00) и мобильное оконечное устройство (МОУ). Базовая станция представлена БС/ЦКП (Базовой станцией/центром коммутации подвижной связи), а блок с функцией межсетевого обмена (ФМО) соединяет БС/ЦКП с сетью передачи данных (например, Интернет). Блок ФМО представляет собой устройство для преобразования между различными протоколами, когда используются различные протоколы. На фиг.1 процессоры обслуживания верхнего уровня (или Web-услуга) подвижной станции и блок ФМО формируют сообщения, которые проходят через процессор сетевого протокола (например, межсетевого протокола (МП)) и процессор протокола канального уровня (например, протокола двухточечной связи (ПДТ)). Затем, данные, сформированные процессорами обслуживания верхнего уровня, в конечном итоге передаются на более низкие уровни в виде пакета протокола канального уровня, а более низкие уровни передают данные, используя соответствующий протокол (например, EIA-232 (Ассоциация электронной промышленности), ПРЛ и т.д.).
На фиг. 1 показан пример, когда между ОО и МОУ используется контроллер EIA-232. Сформированные кадры ПРЛ передаются по физическому каналу, соединенному в соответствии со стандартом IS-2000, который является частью стандарта МДКР-2000. Пакеты ПРЛ, принятые на базовой станции по подсоединенному физическому каналу, восстанавливаются обратно в пакеты протокола канального уровня, а восстановленные пакеты передаются в блок ФМО через ретрансляционный уровень. Обычно сопряжение между базовой станцией и блоком ФМО выполняется в соответствии со стандартом IS-658. В блоке ФМО уровень протокола канального уровня считывает данные из пакетов протокола канального уровня и передает данные на процессор сетевого протокола, в котором данные в конечном итоге передаются на процессор услуг более высокого уровня. Распределение пакетов протокола канального уровня в кадры протокола работы радиолинии ПРЛ посредством ПРЛ является одной из задач настоящего изобретения.
Вышеприведенное описание осуществляет процесс передачи данных от подвижной станции на базовую станцию, и следует отметить, что аналогичным способом можно обеспечить процесс передачи данных от базовой станции на подвижную станцию. Для обеспечения различных услуг стандарт МДКР-2000 поддерживает различные схемы, отличающиеся от схемы фиг.1. Однако различные схемы имеют общие свойства, состоящие в том, что пакеты протокола канального уровня с данными услуг более высокого уровня передаются по физическому радиоканалу посредством ПРЛ.
Спецификация ПРЛ типа-3 формирует только кадр ПРЛ, имеющий соответствующий размер для заполнения либо кадра физического канала 9,6 Кбит/с или 19,2 Кбит/с для текущего набора 1 скоростей передачи, либо кадра ПРЛ, имеющего соответствующий размер для заполнения, или кадра физического канала 14,4 Кбит/с или 28,8 Кбит/с для набора 2 скоростей передачи. Следовательно, когда физический канал работает на более высокой скорости передачи 153,6 Кбит/с или 230,4 Кбит/с, используется способ заполнения нескольких кадров ПРЛ в одном кадре физического канала. Если физический канал обеспечивает скорость более чем 153,6 или 230,4 Кбит/с (которая является максимальной скоростью, обеспечиваемой в спецификации ПРЛ типа-3), например, если физический канал поддерживает скорости 307,2 Кбит/с, 460,8 Кбит/с, 614,4 Кбит/с и 1036,8 Кбит/с, можно заполнять большее количество кадров ПРЛ в одном кадре физического канала. Однако по сравнению со способом для заполнения одного физического канала одним кадром ПРЛ большего размера этот способ вызывает увеличивающуюся нагрузку на заголовок кадра и создает непригодные части кадра, вследствие этого уменьшая эффективность кадра. Следовательно, чтобы передать кадр ПРЛ с размером больше текущего кадра ПРЛ типа-3, требуется новый способ.
Важная операция, выполняемая ПРЛ типа-3, состоит в создании и анализировании сегментированного кадра. То есть, когда размер подлежащего передаче кадра ретрансляции больше размера блока данных, который может быть передан, ПРЛ сегментирует часть данных (или блок) подлежащего передаче кадра ретрансляции на несколько сегментированных кадров. Спецификация ПРЛ типа-3 выполняет процедуру сегментации следующим образом.
Во-первых, ПРЛ типа-3 может создавать максимум 3 сегмента. Соответственные сегменты можно различать тремя значениями ПЕРВЫЙ, ВТОРОЙ и ПОСЛЕДНИЙ. Когда требуется больше 3 сегментов, ПРЛ типа-3 не передает кадр ретрансляции, пока не появится возможность передать кадр ретрансляции тремя сегментированными кадрами.
Во-вторых, процедура компоновки сегментированных кадров выполняется только после приема всех сегментов. То есть, если какой-либо из ПЕРВОГО, ВТОРОГО и ПОСЛЕДНЕГО сегментированных кадров окажется непринятым, необходимо ретранслировать все сегменты.
Спецификация ПРЛ типа-3 создает кадр ПРЛ размера, который заполняется в кадре физического канала 9,6 Кбит/с или 19,2 Кбит/с при наборе 1 скоростей передачи, и в кадре ПРЛ размера, который заполняется в кадре физического канала 14,4 Кбит/с или 28,8 Кбит/с при наборе 2 скоростей передачи, так что можно передавать максимум 3 сегмента даже при скорости 9,6 Кбит/с или 14,4 Кбит/с, которая является самой низкой скоростью передачи. Однако, когда физический канал использует больший кадр ПРЛ с целью увеличения эффективности передачи на более высокой скорости передачи, требуется новый способ сегментации, который отличается от существующего способа сегментации.
Задачей настоящего изобретения является создание кадра ПРЛ различной длины и передача увеличенного количества данных посредством использования порядкового номера в элементе блока и порядкового номера в элементе байта данных в системе радиосвязи с подвижными объектами.
Другая задача настоящего изобретения состоит в передаче кадра ПРЛ при использовании порядкового номера в элементе блока и порядкового номера в элементе байта данных для уменьшения размера заголовка кадра ПРЛ, чтобы вследствие этого увеличить эффективность передачи, в системе радиосвязи с подвижными объектами.
Еще одна задача настоящего изобретения состоит в передаче кадра ПРЛ при использовании порядкового номера в элементе блока и порядкового номера в элементе байта данных для эффективного создания кадра НПП (не подтвержденного приема) для запроса ретрансляции блока ПРЛ или сегмента данных, таким образом обеспечивая возможность выполнения увеличенного количества запросов ретрансляции одним кадром НПП в системе радиосвязи с подвижными объектами.
Для решения вышеупомянутых и других задач предложен способ передачи данных в системе радиосвязи с подвижными объектами. Способ заключается в том, что сегментируют поток данных по меньшей мере в один последовательный кадр, имеющий переменную длину данных, причем поток данных сегментирован на множество последовательных блоков, имеющих переменную длину данных, при этом каждый последовательный блок сегментирован на множество подпоследовательных блоков, имеющих байтовую длину; присоединяют к каждой головной части последовательных кадров заголовок, включающий в себя первый набор битов, указывающих порядковый номер последовательного блока, соответствующего головной части, и второй набор битов, указывающих порядковый номер подпоследовательного блока, соответствующего головной части; и передают последовательные кадры с подсоединенным заголовком.
Вышеупомянутые и другие задачи, признаки и преимущества настоящего изобретения станут более очевидными из последующего подробного описания, приведенного совместно с прилагаемыми чертежами, на которых:
фиг. 1 представляет схему, иллюстрирующую общую систему связи МДКР для выполнения услуг пакетированных данных;
фиг.2 представляет график, иллюстрирующий устройство для передачи и приема данных согласно ПРЛ, к которому применимо настоящее изобретение;
фиг. 3 представляет график, иллюстрирующий передающее устройство данных согласно варианту осуществления настоящего изобретения;
фиг. 4 представляет график, иллюстрирующий приемное устройство данных согласно варианту осуществления настоящего изобретения;
фиг. 5А-5D представляют графики, иллюстрирующие формат кадров, сформированных в соответствии с вариантом осуществления настоящего изобретения;
фиг. 6А-6С представляют графики, иллюстрирующие формат ЛЭП (логического элемента передачи), сформированного в соответствии с вариантом осуществления настоящего изобретения;
фиг. 7 представляет график, иллюстрирующий формат блока данных и кадр ПРЛ, соответствующие варианту осуществления настоящего изобретения;
фиг.8А-8F представляют графики, иллюстрирующие различные форматы кадров, используемые, когда кадр ПРЛ, сформированный в соответствии с вариантом осуществления настоящего изобретения, передается и принимается по основному каналу;
фиг.9А-9В представляют графики, иллюстрирующие различные форматы кадров, используемые, когда кадр ПРЛ, сформированный в соответствии с вариантом осуществления настоящего изобретения, передается и принимается по дополнительному каналу;
фиг. 10 представляет схему последовательности операций, иллюстрирующую процедуру передачи основного канала в соответствии с вариантом осуществления настоящего изобретения;
фиг. 11 представляет схему последовательности операций, иллюстрирующую процедуру приема основного канала в соответствии с вариантом осуществления настоящего изобретения;
фиг. 12 представляет схему последовательности операций, иллюстрирующую процедуру передачи дополнительного канала в соответствии с вариантом осуществления настоящего изобретения;
фиг. 13 представляет схему последовательности операций, иллюстрирующую процедуру приема дополнительного канала в соответствии с вариантом осуществления настоящего изобретения.
Ниже приводится описание предпочтительного варианта осуществления настоящего изобретения со ссылкой на прилагаемые чертежи. В последующем описании, известные функции или конструкции подробно не описаны, чтобы они не затеняли изобретение ненужными деталями.
На фиг. 2 показана структура системы радиосвязи с подвижными объектами для передачи и приема данных согласно ПРЛ, к которому применимо настоящее изобретение.
Как показано на фиг.2, процессоры 150 и 250 физического уровня соединяют физический канал между подвижной станцией и базовой станцией соответственно согласно спецификации IS-2000, передают кадры ПРЛ, обеспеченные связанными процессорами 130 и 230 ПРЛ соответственно на другой физический уровень абонента по подсоединенному физическому каналу и передают кадры ПРЛ, принятые по физическому каналу, на процессоры 130 и 230 ПРЛ соответственно. Контроллеры 140 и 240 мультиплексирования/ демультиплексирования подсоединены между соответствующими процессорами ПРЛ и процессорами физического уровня.
Контроллеры 140 и 240 мультиплексирования/ демультиплексирования имеют функцию мультиплексирования присоединения информации о пункте назначения и размере к головной части кадров ПРЛ, принятых из процессоров 130 и 230 ПРЛ, и передачи мультиплексированных кадров ПРЛ на процессоры 150 и 250 физического уровня. Далее, контроллеры 140 и 240 мультиплексирования/ демультиплексирования имеют функцию демультиплексирования обнаружения информации о месте назначения и размере кадров ПРЛ, принятых из процессоров 150 и 250 физического уровня, и затем передачи результатов обнаружения в процессоры 130 и 230 ПРЛ верхнего уровня. Буферные устройства 122 и 222 данных передачи представляют собой запоминающие устройства для запоминания данных, принятых из процессоров 110 и 210 протокола канального уровня (то есть ПДТ). Буферные устройства 122 и 222 данных передачи последовательно сегментируют запомненные пакеты по требуемому размеру в соответствии с запросом процессоров 130 и 230 ПРЛ соответственно. Буферные устройства 124 и 224 данных приема последовательно запоминают данные, принятые из процессоров 130 и 230 ПРЛ соответственно. Запомненные данные передаются на процессор ПДТ или блок ФМО посредством контроллера EIA-232 или контроллера IS-658. Контроллер EIA-232 или контроллер IS-658 оперирует согласно спецификации EIA-232 или спецификации IS-658 соответственно и выполняет обмен данными между буферными устройствами 122, 124, 222 и 224 данных и процессорами 110 и 210 протокола канального уровня. В случае текущих услуг пакетов МДКР-2000 можно использовать контроллер, отличающийся от контроллера EIA-232 и контроллера IS-658. По этой причине контроллеры на фиг.2 не показаны.
На фиг.3 показано передающее устройство данных согласно варианту осуществления настоящего изобретения. Как показано на фиг.3, процессор 130 ПРЛ для передачи кадра ПРЛ включает в себя контроллер 131 ПРЛ, регистр 132 L_ V(S) и буферное устройство 133 прямого переупорядочения (или буферное устройство ретрансляции). Контроллер 131 ПРЛ вырабатывает кадр ПРЛ посредством приема данных из буферного устройства 122 данных передачи и передает блок данных, заполненный сформированным кадром ПРЛ, на контроллер 140 мультиплексирования/ демультиплексирования. Буферное устройство 133 прямого переупорядочения представляет собой запоминающее устройство для хранения данных переупорядочения. Регистр 132 L_V(S) сегментирует данные передачи, запомненные в буферном устройстве 122 данных передачи контроллером 131 ПРЛ в несколько блоков, приписывает порядковый номер ("порядковый номер блока") каждому блоку и считает порядковый номер ("порядковый номер данных"), подлежащий использованию при присоединении порядкового номера к каждому байту данных.
На фиг.4 показано приемное устройство данных согласно варианту осуществления настоящего изобретения. Как показано на фиг.4, процессор 130 ПРЛ для приема кадра ПРЛ включает в себя контроллер 131 ПРЛ, Е-регистрир 134, регистр 135 L_V(N), регистр 136 L_V(R), перечень 137 НПП и буферное устройство 138 перегруппирования. Контроллер 131 ПРЛ принимает кадр ПРЛ из контроллера 140 мультиплексирования/ демультиплексирования и исследует, в порядке ли приняты данные. Если данные приняты в порядке, контроллер 131 ПРЛ запоминает данные в буферном устройстве 124 данных приема. В противном случае, контроллер 131 ПРЛ запоминает данные в буферном устройстве 138 перегруппирования, регистрирует подлежащую запросу часть для ретрансляции в перечне 137 НПП (не подтвержденный прием) и заполняет при передаче следующего кадра управления часть, запомненную в перечне 137 НПП в кадре управления.
Е-регистр 134 записывает количество поврежденных (или неверных) блоков данных. Когда контроллер 140 мультиплексирования/ демультиплексирования уведомляет контроллер 131 ПРЛ о поврежденных блоках данных, контроллер 131 ПРЛ записывает это значение в Е-регистре 134, чтобы использовать его, когда требуется реорганизация. Регистр 135 L_ V(N) запоминает порядковый номер первого принятого поврежденным байта данных из подлежащих приему байтов данных. Регистр 136 L_V(R) запоминает порядковый номер байта данных, который должен быть вновь принят следующим. Например, если приняты байты данных порядковых номеров от 1 до 7, в которых байты данных с порядковыми номерами 3 и 4 повреждены (или приняты со сбоем), регистр 135 L_V(N) запоминает цифру 3, которая является порядковым номером первого полученного со сбоем байта данных, а регистр 136 L_V(R) запоминает цифру 8, которая является порядковым номером байта данных, который вновь подлежит приему.
Операцию формирования кадра ПРЛ переменной длины и передачи/приема сформированного кадра ПРЛ согласно варианту осуществления настоящего изобретения можно свободно делить на операцию, выполняемую контроллерами 140 и 240 мультиплексирования/ демультиплексирования, и операцию, выполняемую процессорами 130 и 230 ПРЛ. Так как контроллеры 140 и 240 мультиплексирования/ демультиплексирования имеют одинаковое действие, и процессоры 130 и 230 ПРЛ также имеют одинаковое действие, описание действия согласно варианту осуществления настоящего изобретения для простоты будет ограничено контроллером 140 мультиплексирования/ демультиплексирования и процессором 130 ПРЛ.
A. Функционирование контроллера мультиплексирования/ демультиплексирования при передаче/приеме согласно одному варианту осуществления настоящего изобретения
1. Функционирование контроллера мультиплексирования/ демультиплексирования при передаче
Можно одновременно передавать не только пакетированные данные, но также и различные другие типы информации, включая речевую информацию, по подсоединенному в данный момент физическому каналу. Следовательно, любой процесс, обеспечивающий данные, подлежащие передаче на контроллер мультиплексирования/ демультиплексирования, будет называться "услугой" или "блоком услуг". Далее, элемент передачи, которым обмениваются между собой контроллер 140 мультиплексирования/ демультиплексирования и процессор 150 физического уровня, будет называться "информационными битами" или "полезной информацией физического кадра", а элемент передачи, которым обмениваются друг с другом блоки услуг верхнего уровня, включающие процессор 130 ПРЛ и контроллер 140 мультиплексирования/ демультиплексирования, будут называться "кадром ПРЛ" или "блоком данных".
Контроллер 140 мультиплексирования/ демультиплексирования передающей стороны должен вырабатывать информационные биты, подлежащие передаче в процессор 150 физического уровня, и передавать созданные информационные биты через каждое установленное время (например, 20 мс). То есть контроллер 140 мультиплексирования/ демультиплексирования должен вырабатывать информационные биты, подлежащие заполнению в полезной информации кадра, подлежащего передаче по физическому каналу относительно всех подсоединенных в данный момент физических каналов, и передавать созданные информационные биты. Спецификация IS-2000 определяет основной канал (ОК), специализированный канал управления (СКУ) и дополнительный канал (ДК). Контроллер 140 мультиплексирования/ демультиплексирования передает следующие поля, при передаче созданных информационных битов в процессор 150 физического уровня с целью передачи созданных информационных битов по любому одному из основного канала, специализированного канала управления и дополнительного канала.
- СБД (сервисный блок данных): Это поле заполняется информационными битами, подлежащими действительной передаче. Если подлежащий передаче информационный бит отсутствует, это поле заполняется нулевым значением, заданным между контроллером мультиплексирования/ демультиплексирования и физическим уровнем.
- FPAME_SIZE (размер кадра): Это поле заполняется информацией о размере кадра физического канала, в котором заполняются информационные биты. Когда поле СБД заполняется нулевым значением, это значение поля игнорируется в физическом уровне.
- FRAME_RATE (скорость передачи кадра): Это поле указывает скорость передачи кадра физического канала, в котором заполнены информационные биты. Когда поле СЕД заполнено нулевым значением, это значение поля игнорируется в физическом канале.
Когда контроллер 140 мультиплексирования/ демультиплексирования передающей стороны передает вышеупомянутые значения полей в процессор 150 физического уровня, процессор 150 физического уровня обрабатывает предоставленные значения назначенным способом кодирования и демодуляции и затем передает обработанные результаты на приемную сторону.
Чтобы создать полезную информацию или информационные биты логического элемента передачи, подлежащего передаче в физический канал, контроллер 140 мультиплексирования/ демультиплексирования передающей стороны использует блок данных, подлежащий передаче в услугах, соответствующих физическому каналу, с которым в данный момент соединен логический канал. Услуга, соответствующая физическому каналу, с которым соединен логический канал, относится к услуге, которая может передавать свой блок данных в физический канал, передающий в данный момент созданные информационные биты. Имеется процесс соединения такой услуги между подвижной станцией и базовой станцией и соединения логического канала для обслуживания с физическим каналом с сообщением сигнализации и процедурой передачи сигналов, определяемыми спецификацией IS-2000.
Контроллер 140 мультиплексирования/ демультиплексирования передающей стороны принимает блок данных надлежащей длины (фиг.5А) из услуги в соответствии с приоритетным порядком при решении в отношении передачи блока данных для услуг, соответствующих физическому каналу, с которым в данный момент соединен логический канал. Контроллер 140 мультиплексирования/ демультиплексирования создает идентификатор услуг и мультиплексный кадр MuxPDU (мультиплексный БПД) (фиг.5B), в котором информация о длине присоединяется к блоку данных, так что можно знать услугу для передачи блока данных, принятого из контроллера мультиплексирования/ демультиплексирования приемной стороны при приеме блока данных из услуг. Мультиплексный кадр MuxPDU может включать в себя несколько блоков данных и сообщения сигнализации, обеспеченные от нескольких услуг. К каждому одному или нескольким блокам MuxPDU можно присоединять ЦИК (циклический избыточный код) для контроля ошибок. Когда добавляется ЦИК для контроля ошибок к каждому из нескольких MuxPDU, один ЦИК и часть информационных битов, защищенных ЦИК, называются "логическим элементом передачи (ЛЭП)", как показано на фиг.5С. При введении таких ЦИК такие информационные биты, подлежащие передаче на физический уровень, сегментируются на несколько частей и на каждой сегментированной части выполняется контроль ошибок, это называется "использованием логического элемента передачи". Здесь каждая часть сегментированных информационных битов называется "логическим элементом передачи", а оставшаяся часть логического элемента передачи, исключая ЦИК, защищенная ЦИК, будет называться "полезной информацией логического элемента передачи" (фиг. 5С) (один или несколько MuxPDU). Этот логический элемент передачи становится базовым элементом для определения, правильно ли принят физический кадр контроллером мультиплексирования/ демультиплексирования на приемной стороне. Если логический элемент передачи не используется, базовый элемент для определения, правильно ли принят физический кадр, становится информационными битами.
Контроллер 140 мультиплексирования/ демультиплексирования стороны передачи должен предварительно знать возможную скорость передачи и размер информационных битов относительно физического канала, подлежащего передаче в данный момент, и должен также знать, используется ли логический элемент передачи или нет, размер логического элемента передачи, если он используется, и способ вырабатывания ЦИК. Такая конфигурация используется как для определения размера информационных битов, вырабатываемых контроллером 140 мультиплексирования/ демультиплексирования согласно настоящему условию физического канала, предоставленного из физического уровня, так и для определения способа производства логического элемента передачи в предварительно определенном пределе между подвижной станцией и базовой станцией. Если принято решение использовать логический элемент передачи, контроллер 140 мультиплексирования/ демультиплексирования передающей стороны заполняет полезную информацию логического элемента передачи данными MuxPDU, содержащими блок данных, заполняет оставшуюся часть данными MuxPDU заполнения или битовой комбинацией заполнения, и затем вырабатывает ЦИК для полезной информации, выработанной логическим элементом передачи. Контроллер 140 мультиплексирования/ демультиплексирования на передающей стороне повторяет вышеупомянутый процесс столько раз, сколько требуется количеством логических элементов передачи, последовательно заполняет информационные биты созданными логическими элементами передачи, заполняет оставшуюся часть нулями и затем обеспечивает результирующие информационные биты для процессора 150 физического уровня.
Если принято решение не использовать логический элемент передачи, контроллер 140 мультиплексирования/ демультиплексирования заполняет информационные биты данными MuxPDU, содержащими блок данных, заполняет оставшуюся часть данными MuxPDU заполнения или битовой комбинацией заполнения, а затем передает выработанные информационные биты в физический канал.
Если больше нет подлежащих передаче блоков данных, контроллер 140 мультиплексирования/ демультиплексирования использует MuxPDU, к которому присоединен специальный идентификатор услуг, предварительно назначенный контроллером мультиплексирования/ демультиплексирования приемной стороны, или использует постоянную битовую комбинацию, предварительно назначенную контроллером мультиплексирования/ демультиплексирования приемной стороны, чтобы заполнить оставшуюся часть информационных битов. Здесь, MuxPDU, к которому присоединен конкретный идентификатор услуг, будет называться "MuxPDU заполнения", а постоянная битовая комбинация будет называться "битовой комбинацией заполнения".
В вышеупомянутом процессе, когда отсутствует сообщение сигнализации или блок данных, принятый из услуг, соответствующих физическому каналу, к которому подсоединен логический канал, и от генератора сообщения сигнализации, контроллер 140 мультиплексирования/ демультиплексирования оперирует по-разному, в соответствии с физическим каналом, подлежащим передаче в данный момент. То есть контроллер 140 мультиплексирования/ демультиплексирования передает нулевое значение на СБД для специализированного канала управления или дополнительного канала. В случае основного канала контроллер 140 мультиплексирования/ демультиплексирования передает в качестве информационных битов ранее назначенную постоянную комбинацию контроллером мультиплексирования/ демультиплексирования приемной стороны в физический канал. Здесь постоянная битовая комбинация будет называться "нулевой рабочей нагрузкой".
Передается "пустой блок данных", чтобы показать, что услуга не имеет блока данных для передачи на контроллер мультиплексирования/ демультиплексирования передающей стороны. "Пустой блок данных" представляет собой блок данных без содержания и используется только для специальной цели.
2. Функционирование контроллера мультиплексирования/ демультиплексирования при приеме
Процессор 150 физического уровня приемной стороны, показанный на фиг.2, анализирует принятый сигнал, используя назначенный способ декодирования и демодуляции, и передает информационные биты, заполненные в принятом физическом кадре, на контроллер 140 мультиплексирования/ демультиплексирования приемной стороны. Контроллер 150 физического уровня передает следующую информацию при передаче проанализированных информационных битов на контроллер 140 мультиплексирования/ демультиплексирования.
- СБД (сервисный блок данных): Это поле заполняется информационными битами, подлежащими действительной передаче. Если информационный бит не принят или принят поврежденный кадр, то это поле заполняется нулевым значением, заданным между контроллером 140 мультиплексирования/ демультиплексирования и процессором 150 физического уровня.
- FRAME_ QUALITY (качество кадра): Это поле показывает, является ли принятый кадр действительным кадром.
- FRAME_SIZE (размер кадра): Это поле заполняется информацией о размере принятого кадра физического канала. Это значение поля определяется в соответствии со скоростью передачи принятого кадра физического канала.
- FRAME_ RATE (скорость передачи кадра): Это поле заполняется скоростью передачи принятого кадра физического канала.
Контроллер 140 мультиплексирования/ демультиплексирования приемной стороны должен предварительно знать скорость передачи и размер (длину и количество) информационных битов относительно принятого в данный момент физического канала и должен также знать, используется ли логический элемент передачи или нет, размер логического элемента передачи, если он используется, и способ образования ЦИК. Такую конфигурацию можно определять в соответствии с вышеупомянутой информацией, предоставленной процессором 150 физического канала в предварительно назначенном пределе между подвижной станцией и базовой станцией.
Если контроллер 140 мультиплексирования/ демультиплексирования приемной стороны заполняет СБД нулевым значением, говорящим о том, что кадр физического канала не принят, и заполняет в поле КАЧЕСТВО КАДРА так, чтобы показать, что принят достоверный кадр, то контроллер 140 мультиплексирования/ демультиплексирования приемной стороны сообщает всем услугам, соответствующим физическому каналу, к которому подсоединен логический канал, что кадр не принят.
Если процессор 150 физического уровня приемной стороны не заполняет СБД нулевым значением или заполняет в поле КАЧЕСТВО КАДРА так, чтобы показать, что принят поврежденный кадр, то контроллер 140 мультиплексирования/ демультиплексирования приемной стороны определяет, используется ли логический элемент передачи для принятого кадра, на основании конфигурации и информации, поступившей из процессора 150 физического уровня приемной стороны.
Если используется логический элемент передачи, контроллер 140 мультиплексирования/ демультиплексирования приемной стороны определяет длину логического элемента передачи, способ проверки ЦИК и количество логических элементов передачи. Контроллер 140 мультиплексирования/ демультиплексирования делит принятые информационные биты на логические элементы передачи, количество которых равно количеству логических элементов передачи. Поскольку контроллер 140 мультиплексирования/ демультиплексирования заранее знает длину и количество логических элементов передачи, он может выделить логические элементы передачи посредством деления принятых информационных битов на количество групп, равное количеству логических элементов передачи.
Когда назначенный физический канал передает принятые информационные биты, контроллер 140 мультиплексирования/ демультиплексирования приемной стороны определяет, повреждены ли упомянутые информационные биты или нет, в зависимости от поля КАЧЕСТВО КАДРА, переданного из физического канала. Если принятые информационные биты повреждены и принятые информационные биты сегментированы на несколько логических элементов передачи, то контроллер 140 мультиплексирования/ демультиплексирования снова анализирует ЦИК каждого логического элемента передачи, отделенного при вышеупомянутом процессе, с целью определения, существуют ли не имеющие ошибок логические элементы передачи.
Если существует ошибочный логический элемент передачи, контроллер 140 мультиплексирования/ демультиплексирования сообщает относительно ошибочного логического элемента передачи всем услугам, соответствующим физическому каналу, с которым соединен логический канал, что принят поврежденный блок данных.
Если принятые информационные биты повреждены и принятые информационные биты не имеют ЦИК для проверки ошибки каждого или нескольких MuxPDU, контроллер 140 мультиплексирования/ демультиплексирования приемной стороны сообщает всем услугам, соответствующим физическому каналу, с которым соединен логический канал, что принят поврежденный блок данных.
При приеме не имеющих ошибок логического элемента передачи или информационных битов контроллер 140 мультиплексирования/ демультиплексирования приемной стороны выделяет не имеющие ошибок MuxPDU из заполняющей битовой комбинации в ЛЭП или информационных битах. Если выделяемый MuxPDU является не нулевым трафиком или MuxPDU заполнения, контроллер 140 мультиплексирования/ демультиплексирования передает блок данных, включенный в MuxPDU, и длину блока данных службе, обозначенной идентификатором служб MuxPDU.
После процесса приема, если принята не имеющая ошибок логическая передача или информационный бит и имеется служба, которая не смогла принять блок данных из служб, в которых логический канал соответствует физическому каналу, контроллер 140 мультиплексирования/ демультиплексирования приемной стороны сообщает, что принят пустой блок данных.
В. Функционирование контроллера мультиплексирования/ демультиплексирования при передаче/приеме в соответствии с вариантом осуществления изобретения
Действие передачи/приема контроллера 140 мультиплексирования/ демультиплексирования в соответствии с вариантом осуществления настоящего изобретения станет более очевидным из последующего подробного описания. Стандарт IS-2000 определяет несколько специализированных каналов трафика, например основной канал, дополнительный канал и специализированный канал управления. Следовательно, действие передачи и приема контроллера 140 мультиплексирования/ демультиплексирования согласно варианту осуществления изобретения можно описать отдельно для двух случаев. Один случай применяется к основному каналу, а другой случай применяется к дополнительному каналу. Так как специализированный канал управления можно применять к частному случаю, при котором основной канал работает только со скоростью 96 Кбит/с или 14,4 Кбит/с, отдельное описание специализированного канала управления не будет здесь приведено. Далее, действие можно отдельно описывать для случая, когда используется логический элемент передачи, и другого случая, когда логический элемент передачи не используется. Здесь случай, когда используется логический элемент передачи, соответствует случаю, когда данные кодированы и используется сверточный код перед передачей и приемом данных, а случай, когда логический элемент передачи не используется, соответствует случаю, когда данные кодированы и используется турбокод перед передачей и приемом данных.
1. Количество информационных битов основного канала и дополнительного канала
Перед описанием действия в соответствии с вариантом осуществления настоящего изобретения вначале в таблицах 1-4 будет приведено количество информационных битов основного канала и количество информационных битов дополнительного канала, определяемых стандартом IS-2000. Более конкретно, в таблицах 1 и 2 показано количество информационных битов основного канала, определенного стандартом IS-2000, а в таблицах 3 и 4 показано количество информационных битов дополнительного канала. В таблицах 1 и 3 показано количество информационных битов набора 1 скоростей передачи на основании скорости передачи 9600 бит/с, а в таблицах 2 и 4 показано количество информационных битов набора 2 скоростей передачи на основании скорости передачи 14400 бит/с.
Следует отметить, что в таблицах 1-4 показаны не все размеры информационных битов, установленные стандартом IS-2000.
Когда используется ЛЭП (логический элемент передачи), соответствующий количествам информационных битов, имеющим достаточное количество битов, показанных в таблицах 3 и 4, размер и количество элементов ЛЭП можно рассчитать, как показано в таблицах 5 и 6. Здесь количество информационных битов можно рассчитать посредством добавления битов, оставшихся после умножения размера ЛЭП на количество ЛЭП. Кроме того, размер полезной информации ЛЭП представляет собой значение, определяемое вычитанием 16, которое является размером ЦИК из таблиц 5 и 6.
Следует отметить, что в таблицах 5 и 6 ЛЭП не используется для первых двух скоростей передачи. То есть при подсоединении дополнительного канала, имеющего такие скорости передачи, контроллеры мультиплексирования/ демультиплексирования передающей стороны и приемной стороны следуют правилам обработки информационных битов.
В таблицах 7-12 показаны форматы MuxPDU, предложенные в варианте осуществления изобретения для заполнения информационных битов. В таблицах 7 и 8 показаны форматы MuxPDU для информационных битов основного канала (OK). В таблицах 9 и 11 показаны форматы MuxPDU для информационных битов дополнительного канала (ДК) для случая, где используется ЛЭП. В таблицах 10 и 12 показаны форматы MuxPDU для информационных битов дополнительного канала для случая, когда ЛЭП не используется. Как описано выше, специализированный канал управления применяется для специального случая, когда допустима только скорость передачи 9600 бит/с или 14400 бит/с для дополнительного канала, специализированный канал управления допускает только формат MuxPDU, соответствующий скоростям передачи 9600 бит/с или 14400 бит/с, в таблицах 7 и 8.
В таблицах 7 и 8 к MuxPDU подсоединен заголовок MuxPDU, который является информацией для сегментации блоков данных, включенных в MuxPDU. Заголовок MuxPDU расположен в хвостовой части MuxPDU для байтового расположения блоков данных.
В таблицах 7-12 идентификатор услуг может быть определен, как показано в таблице 13.
В таблице 13 "нулевая услуга" является предварительно определенным конкретным идентификатором услуги, используемым для информирования контроллера мультиплексирования/ демультиплексирования приемной стороны, о том, что MuxPDU является блоком MuxPDU заполнения. Как можно видеть из таблицы 13, форматы MuxPDU таблиц 7-12 могут идентифицировать блоки
данных, предоставленные максимум от 6 услуг.
В таблицах 7 и 8 показаны форматы MuxPDU, передаваемые по основному каналу. Здесь, 1-ю услугу можно идентифицировать в зависимости только от заголовка MuxPDU без идентификатора услуги, потому что случай, при котором заголовок MuxFDU представляет '0', соответствует 1-й услуге. Блоки данных, соответствующие 2-6-й услугам, можно определять в зависимости от идентификаторов услуг таблиц 7 или 8. Следовательно, идентификаторы услуг таблицы 7 или 8 могут иметь значения '010'-'110'. Когда блок данных 1-й услуги заполнен всеми 1-ами в основном канале, при использовании формата MuxPDU таблицы 7 или 8, контроллер мультиплексирования/ демультиплексирования приемной стороны назначает нулевую рабочую нагрузку, которая не соответствует никакой услуге в контроллере мультиплексирования/ демультиплексирования передающей стороны. Следовательно, когда MuxPDU, принятый из основного канала, имеет только блок данных 1-й услуги и блок данных заполняется всеми 1-ами, контроллер мультиплексирования/ демультиплексирования приемной стороны решает, что блок данных является нулевой рабочей нагрузкой.
В таблицах 7 и 8, как установлено выше, форматы MuxPDU, разрешенные на скорости передачи 9600 бит/с или 14400 бит/с, могут передаваться по специализированному каналу управления. Блоки данных, соответствующие второй - шестой услугам, могут быть определены в зависимости от идентификатора услуги, показанного в таблице 7 или 8. Следует отметить, что специализированный канал управления не требует рабочей нагрузки.
В таблицах 7 и 8, среди форматов MuxPDU, разрешенных на скорости передачи 9600 бит/с или 14400 бит/с, форматы MuxPDU, включающие только один блок данных услуг, а не сообщение сигнализации, можно передавать, когда дополнительный канал подсоединен при скорости передачи 9600 бит/с или 14400 бит/с. Как установлено выше, блоки данных, соответствующие второй-шестой услугам, можно определять в зависимости от идентификатора услуги, показанного в таблице 7 или 8.
В таблицах 9-12 показаны форматы MuxPDU, передаваемые, когда дополнительный канал подсоединен при скорости передачи 19200 бит/с, 28800 бит/с или больше. Блоки данных, соответствующие первой - шестой услугам, можно определять в зависимости от идентификатора услуги, показанного в таблицах 9-12. Следовательно, идентификаторы услуг, показанные в таблицах 9-12, могут иметь значение '001'-'110'. Для индикатора длины '000' форматы MuxPDU таблиц 9-12 включают в себя блок услуг, имеющий длину, соответствующую скоростям передачи, указанным в таблицах. В форматах MuxPDU таблиц 9-12, когда индикатор длины устанавливают на '100', '101' или '110', размер MuxPDU можно рассчитать, используя поле длины. То есть, когда индикатор длины устанавливается на '100', форматы MuxPDU таблиц 9-12 имеют блок услуг, имеющий длину, определяемую посредством вычитания значения, определяемого путем умножения значения, показанного в поле длины, на 8 из длины, соответствующей скоростям передачи таблиц. Например, если MuxPDU, принятый по дополнительному каналу, который подсоединен при скорости передачи 614400 бит/с и не использует ЛЭП, имеет индикатор длины, установленный на '100', и поле длины, установленное на '00000010', длина блока услуги, включенного в принятый MuxPDU, составляет 12250-(2•8)= 12234 бита из таблицы 9. Когда индикатор длины устанавливается на '101' или '110', форматы MuxPDU таблиц 9-12 имеют блок услуг, имеющий длину, определяемую посредством вычитания 6 битов, которые являются размером MuxPDU, из значения, определяемого посредством умножения 8 на значение, определяемое посредством прибавления 1 к значению, показанному в поле длины. То есть, если MuxPDU, принятый по дополнительному каналу, который подсоединен при скорости передачи 614400 бит/с и не использует ЛЭП, имеет индикатор длины, установленный на '110', и поле длины, установленное на '0000 0101 1111 1001' (1529 в десятичном значении), длина блока услуг, включенного в принятый MuxPDU, составляет (1529+1) х 8-6=12234 бита.
2. Функционирование контроллера мультиплексирования/ демультиплексирования при передаче по основному каналу (ОК)
Принимая, что подсоединены 6 услуг с использованием ПРЛ, контроллер мультиплексирования/ демультиплексирования передающей стороны работает следующим образом. Это действие выполняется в соответствии с процедурой, показанной на фиг.10.
Сначала, контроллер 140 мультиплексирования/ демультиплексирования фиг.3 определяет последовательность услуг и размер блоков данных согласно правилу гарантирования КУ (Качества услуги). То есть контроллер мультиплексирования/ демультиплексирования запрашивает уровень УДЛ (управление доступом к линии) сигнализации относительно возможного размера (операция S10 на фиг.10) и определяет блок данных надлежащего размера для блока данных из уровня УДЛ сигнализации (операция S11). Контроллер мультиплексирования/ демультиплексирования определяет порядок передачи услуг (операция S12), запрашивает 1-ю услугу для предоставления блока данных определенного размера (операция S13) и принимает блок данных в пределах определенного размера из 1-й услуги (операция S14). В случае блока данных, подлежащего передаче в основной канал, процессор ПРЛ должен запросить сформировать блок данных надлежащего размера согласно размеру и количеству блоков данных, которые MuxPDU допускает в соответствии с таблицей 7 или 8, и их комбинацию. После этого контроллер мультиплексирования/ демультиплексирования накапливает подлежащие передаче блоки данных и вычисляет остающиеся блоки, которые можно передавать (операция S15). Затем контроллер мультиплексирования/ демультиплексирования определяет, можно ли компоновать MuxPDU, используя накопленные блоки данных (операция S16) или нет. Если невозможно компоновать MuxPDU, контроллер мультиплексирования/ демультиплексирования возвращается к операции S12, чтобы запросить соответствующую услугу с целью обеспечения блока данных, и обеспечивается запрошенным блоком данных. В противном случае, если можно скомпоновать MuxPDU, контроллер мультиплексирования/ демультиплексирования собирает MuxPDU, используя накопленные блоки данных (операция S17). Контроллер мультиплексирования/ демультиплексирования выбирает соответствующую битовую комбинацию из таблицы 4 и присоединяет выбранную битовую комбинацию к заголовку MuxPDU. Контроллер мультиплексирования/ демультиплексирования передает скомпонованный MuxPDU в физический канал в информационных битах (операция S18).
В случае процессора ПРЛ, который не смог скомпоновать блок данных в вышеупомянутом процессе, контроллер мультиплексирования/ демультиплексирования просит процессор ПРЛ образовать пустой блок данных, чтобы позволить процессору ПРЛ знать то, что он не мог иметь такую возможность. Кроме того, если каждый процессор ПРЛ не обеспечил блок данных в вышеупомянутом процессе, контроллер мультиплексирования/ демультиплексирования компонует нулевую рабочую нагрузку и передает ее в качестве информационных битов в физический канал.
3. Функционирование контроллера мультиплексирования/ демультиплексирования при приеме по основному каналу (OK)
Контроллер мультиплексирования/ демультиплексирования приемной стороны работает следующим образом относительно информационных битов, передаваемых по основному каналу. Это действие выполняется согласно процедуре, показанной в фиг.11. Контроллер мультиплексирования/ демультиплексирования анализирует скорость передачи и заголовок MuxPDU полученной информации (операция S20 на фиг. 11) и различает блоки данных (операции S21 и S22) на основании анализа. Для различия блоков данных необходимо ссылаться на таблицы 7 и 8 согласно наборам скоростей передачи. Если последний 1 бит принятых информационных битов устанавливается на '0', все информационные биты, отличные от последнего 1 бита, составляют блок данных первой услуги, так что он передается первой услуге вместе с информацией о длине блока данных (операция S23).
В противном случае, когда последний 1 бит полученных информационных битов устанавливается на '1' в вышеупомянутом процессе, контроллер мультиплексирования/ демультиплексирования приемной стороны рассматривает последние 4 бита, как MuxPDU для набора 1 скоростей передачи, и принимает последние 5 битов, как MuxPDU для набора 2 скоростей передачи. Комбинацию, имеющую битовую комбинацию MuxPDU, отыскивают в таблице 7 или 8. Если здесь нет комбинации, имеющей такую битовую комбинацию, контроллер мультиплексирования/ демультиплексирования приемной стороны рассматривает принятые информационные биты как поврежденные биты. В противном случае, если здесь существует комбинация, имеющая такую битовую комбинацию, контроллер мультиплексирования/ демультиплексирования отделяет блок данных и идентификатор услуги согласно размеру и местоположению блока данных, указанных в таблице 7 или 8. Например, для набора 1 скоростей передачи, если информационные биты принимаются со скоростью 9600 бит/с и заголовок MuxPDU представляет '0011', первые 80 битов принятого MuxPDU составляют блок данных первой услуги, следующие 85 битов составляют блок данных другой услуги, а оставшиеся 3 бита представляют идентификатор услуги. В соответствии с комбинацией идентификатор услуги может отсутствовать, как определено в таблице 7 или 8.
Блок данных, отделенный в вышеупомянутом процессе, передается соответствующей услуге со ссылкой на таблицу 7 или 8. Можно передать блок данных первой услуге и уровню сигнализации вместе с информацией о длине блока данных без анализа идентификатора услуги. Однако, если здесь существует идентификатор услуги, то идентификатор услуги сравнивается с таблицей 13, чтобы передать блок данных соответствующей услуге вместе с информацией о длине блока данных. В этом примере контроллер мультиплексирования/ демультиплексирования приемной стороны передает 80-разрядный блок данных первой услуге вместе с его информацией о длине и передает 85-разрядный блок данных услуге, указанной идентификатором услуги вместе с его информацией о длине. Если значение идентификатора услуги устанавливается на '000', '001' или '111', контроллер мультиплексирования/ демультиплексирования приемной стороны считает принятые информационные биты поврежденными. Если принятые информационные биты являются поврежденными битами, контроллер мультиплексирования/ демультиплексирования сообщает всем услугам, которые имеют логический канал на основном канале, что принят поврежденный блок данных, и также сообщает максимальную длину блока данных, с которой можно передавать соответствующие услуги. Например, в случае формата MuxPDU таблицы 7 используемого на наборе 1 скоростей передачи, передается 171 бит первой услуге и передается 165 битов второй - шестой услугам.
В противном случае, если информационные биты не повреждены, имеется только один блок данных и блок данных, соответствующий первой услуге, заполняется всеми '1', то контроллер мультиплексирования/ демультиплексирования приемной стороны отбрасывает информационные биты, рассматривая их в виде нулевой рабочей нагрузки, и сообщает всем услугам, которые имеют логический канал на основном канале, что блок данных не принят. Когда информационные биты не повреждены, и одна или более услуг из услуг, которые имеют логические каналы на основном канале, не принимают блоки данных, контроллер мультиплексирования/ демультиплексирования приемной стороны информирует эти услуги, что принят пустой блок данных. Следует отметить, что в случае нулевой рабочей нагрузки сообщение отсутствия приема блока данных и сообщение о приеме пустого блока данных могут иметь различные значения в соответствии с услугой.
4. Функционирование контроллера мультиплексирования/ демультиплексирования при передаче по дополнительному каналу (ДК)
При создании информационных битов для дополнительного канала контроллер мультиплексирования/ демультиплексирования вырабатывает такое количество ЛЭП, которое показано в таблице 5 или 6 в соответствии со скоростью передачи. ЛЭП имеет размер, показанный в таблице 5 или 6. Так как ЛЭП имеет 16-разрядный ЦИК, максимальный размер MuxPDU, который можно фактически передавать по ЛЭП, изменяется согласно скоростям передачи.
Например, когда используется дополнительный канал 307,2 Кбит/с и создается ЛЭП, полезная информация ЛЭП включает в себя MuxPDU, так что максимальный размер MuxPDU составляет 744 бита (как определено посредством вычитания 16 битов ЦИК из 760 битов полезной информации ЛЭП). Когда контроллер мультиплексирования/ демультиплексирования создает ЛЭП, при производстве информационных битов дополнительного канала, возможный формат MuxPDU согласно наборам скоростей передачи показан в таблицах 9 и 11. Если контроллер мультиплексирования/ демультиплексирования формирует MuxPDU, чтобы заполнить полезную информацию ЛЭП, контроллер мультиплексирования/ демультиплексирования создает 16-разрядный ЦИК для полезной информации ЛЭП. 16-разрядный ЦИК создается таким же способом, как и способ создания 16-разрядного ЦИК, который применяется для дополнительного канала. Этим способом контроллер мультиплексирования/ демультиплексирования создает такое количество ЛЭП, какое определено в таблице 5 или 6, последовательно помещает их в информационных битах, а затем заполняет оставшуюся часть 0-ми перед передачей на процессор физического уровня.
Если элементы ЛЭП не созданы при формировании информационных битов дополнительного канала, контроллер мультиплексирования/ демультиплексирования создает информационные биты дополнительного канала с размером, показанным в таблице 3 или 4 согласно скорости передачи. В этом случае для скорости передачи 9600 бит/с или 14400 бит/с информационные биты могут переносить только один MuxPDU, заполненный только одним блоком данных услуг, указанным в таблицах 7 и 8. Контроллер мультиплексирования/ демультиплексирования создает MuxPDU, чтобы заполнить информационные биты созданным MuxPDU и затем передает сформированные информационные биты/MuxPDU на процессор физического уровня.
Если элементы ЛЭП не созданы, контроллер мультиплексирования/ демультиплексирования может использовать форматы MuxPDU таблиц 10 и 12 для скорости передачи 19200 бит/с или 28800 бит/с или больше. Контроллер мультиплексирования/ демультиплексирования создает MuxPDU, чтобы заполнить информационные биты созданным MuxPDU, и затем передает созданные информационные биты/MuxPDU на процессор физического уровня.
Действие передачи по дополнительному каналу выполняется в соответствии с процедурой, показанной на фиг.12. Контроллер мультиплексирования/ демультиплексирования определяет порядок передачи услуг и размер блоков данных согласно правилу гарантии КУ. Затем контроллер мультиплексирования/ демультиплексирования посылает запрос блока данных на ПРЛ соответствующих услуг согласно порядку приоритета (операция S30 на фиг.12). То есть контроллер мультиплексирования/ демультиплексирования посылает запрос возможного блока данных на процессор ПРЛ первой услуги, имеющей высший приоритет (операция S30), и принимает соответствующий блок данных или пустой блок данных из процессора ПРЛ первой услуги (операция S31). После приема блока данных, а не пустого блока данных контроллер мультиплексирования/ демультиплексирования создает MuxPDU, используя принятый блок данных (операция S32). Созданный MuxPDU компонуется в информационные биты.
Если во время компоновки информационных битов дополнительного канала создаются ЛЭП, контроллер мультиплексирования/ демультиплексирования должен запросить процессор ПРЛ образовать блок данных соответствующего размера в соответствии с размером блока данных, разрешенным MuxPDU в таблице 9 или 11 и оставшуюся часть ЛЭП, которая в данный момент создается. То есть после приема блока данных контроллер мультиплексирования/ демультиплексирования вычисляет размер ЛЭП или оставшейся части информационных битов (операция S33) и определяет, является ли рассчитанный размер больше или равным возможному размеру MuxPDU (операция S34). Если рассчитанный размер больше или равен возможному размеру MuxPDU, контроллер мультиплексирования/ демультиплексирования посылает запрос блока данных возможного размера на процессор ПРЛ второй услуги, имеющей следующий высший приоритет (операция S35), и принимает соответствующий блок данных или пустой блок данных из процессора ПРЛ второй услуги (операция S36). Это действие неоднократно повторяется на процессорах ПРЛ всех услуг.
Если элементы ЛЭП не созданы при формировании информационных битов дополнительного канала, то контроллер мультиплексирования/ демультиплексирования запрашивает соответствующие услуги сформировать блок данных, который можно передать в дополнительный канал, определяемый в таблицах 7 и 8 в соответствии с порядком приоритета для скорости передачи 9600 бит/с или 14400 бит/с, для формирования одного формата MuxPDU, который можно передать в дополнительный канал из форматов MuxPDU, указанных в таблицах 7 и 8. Если какая-либо одна из услуг создает блок данных, контроллер мультиплексирования/ демультиплексирования компонует его в блок MuxPDU.
В случае скорости передачи 19200 бит/с или 28800 бит/с, если элементы ЛЭП не созданы при формировании информационных битов дополнительного канала, контроллер мультиплексирования/ демультиплексирования должен запросить процессор ПРЛ создать блок данных соответствующего размера согласно размеру блока данных, разрешенному MuxPDU в таблице 10 или 12, и оставшуюся часть ЛЭП, который в данный момент создается (операции S32-S38).
Если контроллер мультиплексирования/ демультиплексирования заполняет полезную информацию ЛЭП или информационные биты при формировании информационных битов дополнительного канала, контроллер мультиплексирования/ демультиплексирования должен знать о полезной информации ЛЭП, которая еще не заполнена, и длине оставшейся части информационных битов. Контроллер мультиплексирования/ демультиплексирования просит услуги создать блок данных для оставшейся части. Если от определенной услуги принят блок данных, который является не пустым блоком данных, контроллер мультиплексирования/ демультиплексирования оперирует в соответствии с длиной этого блока данных следующим образом.
Во-первых, если длина принятого блока данных короче на 4 бита полезной информации ЛЭП или оставшейся части информационных битов, контроллер мультиплексирования/ демультиплексирования компонует MuxPDU посредством присоединения 3-разрядного идентификатора услуги и индикатора длины, установленного на '0', в головной части блока данных в соответствии с услугой, от которой принят блок данных, на основании таблицы 13. Контроллер мультиплексирования/ демультиплексирования помещает созданный MuxPDU в полезной информации ЛЭП или оставшейся части информационных битов, чтобы благодаря этому завершить полезную информацию ЛЭП или информационные биты.
Во-вторых, если длина переданного блока данных меньше 14 битов или больше оставшейся части полезной информации ЛЭП или информационных битов, контроллер мультиплексирования/ демультиплексирования создает MuxPDU, имеющий поле 8-разрядной или 16-разрядной длины, показанное в таблицах 9-12. То есть, когда созданный блок данных равен или меньше, чем 2034 бита, контроллер мультиплексирования/ демультиплексирования присоединяет 3-разрядный идентификатор услуги в соответствии с услугой передачи на основании таблицы 13 и устанавливает 3-разрядный индикатор длины на '101' и 8-разрядное поле длины на значение, определяемое посредством вычитания '1' из значения, определенного посредством выражения в байтах общей длины MuxPDU, определяемой посредством суммирования идентификатора услуги, индикатора длины, поля типа длины, поля длины и блока данных. Если созданный блок данных больше 2034 битов, контроллер мультиплексирования/ демультиплексирования присоединяет 3-разрядный идентификатор услуги, соответствующей услуге передачи, на основании таблицы 13 и устанавливает 3-разрядный индикатор длины на '110' и 16-разрядное поле длины на значение, определяемое посредством вычитания 1 из значения, определяемого посредством выражения в байтах общей длины MuxPDU, определяемой посредством суммирования идентификатора услуги, индикатора длины, поля типа длины, поля длины и блока данных. Контроллер мультиплексирования/ демультиплексирования может создавать MuxPDU, имеющий 8-разрядное поле длины и поле длины '100', показанное в таблицах 9-12. То есть можно создавать MuxPDU посредством заполнения в 8-разрядном поле длины, показывающем в байтах, насколько оно мало по сравнению с максимальным размером блока данных, показанного в таблицах 9-12. Если размер созданного MuxPDU является не целым числом, то есть, когда длина MuxPDU выражена не в байтах, контроллер мультиплексирования/ демультиплексирования отбрасывает блок данных. Если размер созданного MuxPDU является целым числом, контроллер мультиплексирования/ демультиплексирования присоединяет идентификатор услуги, индикатор длины, поле типа длины и поле длины к головной части блока данных, вследствие чего создавая MuxPDU. Контроллер мультиплексирования/ демультиплексирования заполняет созданный MuxPDU в оставшейся части полезной информации ЛЭП или информационных битов.
Вышеизложенный процесс неоднократно выполняется на части, оставшейся после последовательного помещения созданных MuxPDU в полезной информации ЛЭП. Во время процесса, если больше нет блоков данных надлежащего размера, контроллер мультиплексирования/ демультиплексирования заполняет первые 6 битов в остающейся части посредством установки идентификатора услуги на '111' и индикатора длины на '000', а затем заполняет оставшуюся часть всеми 0-ми, тем самым заполняя полезную информацию ЛЭП или информационные биты.
В случае создания элементов ЛЭП, если создается такое количество ЛЭП, какое указано в таблице 5 или 6, контроллер мультиплексирования/ демультиплексирования последовательно помещает все созданные ЛЭП в информационных битах. Контроллер мультиплексирования/ демультиплексирования заполняет оставшуюся часть всеми 0-ми, как показано в таблице 5 или 6, и передает ее в процессор физического канала.
В том случае, когда ЛЭП не создаются, если все информационные биты, указанные в таблице 3 или 4, заполняются в вышеупомянутом процессе, контроллер мультиплексирования/ демультиплексирования передает их в процессор физического уровня.
На фиг. 6А - 6С показаны форматы ЛЭП, созданные в соответствии с вариантом осуществления настоящего изобретения. Элементы ЛЭП составляют информационный кадр (физический кадр или информационные биты), подлежащий передаче по физическому каналу, и каждый ЛЭП состоит из мультиплексного кадра MuxPDU и ЦИК. Хотя описание будет приведено на основании случая, при котором информационный кадр состоит из элементов ЛЭП, информационный кадр может состоять только из блоков MuxPDU без ЦИК. Последовательные мультиплексные кадры MuxPDU, включенные в ЛЭП, могут иметь данную длину (например, 744 бита, как показано на фиг.5С), и каждый мультиплексный кадр MuxPDU состоит из заголовка и последующего кадра ПРЛ (или блока данных), как показано на фиг.5В. Кадр ПРЛ включает в себя данные передачи. По меньшей мере один из мультиплексных кадров MuxPDU состоит из множества подмультиплексных кадров, и каждый подмультиплексный кадр состоит из заголовка, содержащего поле идентификатора услуги ПРЛ и поле индикации длины, показывающее длину данных передачи, и последующий блок данных. То есть мультиплексным кадром MuxPDU может быть или один подмультиплексный кадр, состоящий из блока данных для определенной услуги и заголовка, показывающего блок данных, или множество подмультиплексных кадров, каждый из которых содержит блок данных для определенной услуги и заголовок, показывающий блок данных. На фиг.6А показан случай, когда мультиплексный кадр MuxPDU состоит из одного подмультиплексного кадра, то есть включает в себя только один блок данных. Фиг.6В показывает случай, где мультиплексный кадр MuxPDU состоит из множества подмультиплексных кадров, то есть включает в себя множество блоков данных. Действие создания блока данных (или кадра ПРЛ) выполняется контроллером 131 ПРЛ фиг.3, действие создания мультиплексного кадра MuxPDU выполняется контроллером 140 мультиплексирования/ демультиплексирования фиг. 3, а действие создания информационного кадра (или физического кадра) выполняется процессором 150 физического уровня фиг.2.
Как показано на фиг. 6А, первый ЛЭП соответствует случаю, при котором 738-разрядный блок данных принимается от первой услуги и является более коротким, чем полезная нагрузка ЛЭП (744 бита) точно на 6 битов так, что идентификатор услуги устанавливается на первую услугу '001', индикатор длины устанавливается на '000', а затем полезная нагрузка ЛЭП заполняется принятым блоком данных. Здесь идентификатор услуги и индикатор длины составляет заголовок мультиплексного кадра MuxPDU. Как показано в таблицах 9-13, идентификатор услуги '001' показывает длину последующего блока данных. Например, ссылаясь на таблицы 9, принимая, что используется ЛЭП и скорость передачи составляет 307200 бит/с при установке 1 скорости передачи, если мультиплексный кадр включает в себя только один блок данных, а индикатором длины является '000', то длина блока услуги составляет 728 битов.
Как показано на фиг. 6В, второй ЛЭП соответствует случаю, при котором 330-разрядный блок данных принимается от второй услуги и оказывается короче более чем на 14 битов оставшейся полезной информации ЛЭП (744 бита - 330 битов = 414 битов) и короче 2034 битов, которые представляют максимальную длину блока данных услуги, имеющейся на каждой скорости передачи, показанной в таблице 12, так что идентификатор услуги устанавливается на вторую услугу '010', индикатор длины устанавливается на '101', а затем поле длины устанавливается на значение '00101010 (=42)', определяемое путем вычитания одного из 43 байтов (344 бита), который является общей длиной MuxPDU. Часть блока полезной информации ЛЭП оставшихся 50 байтов (400 битов) соответствует случаю, когда блок данных не принят из услуг. В этом случае создается заполнение MuxPDU и помещается в этой части. Здесь идентификатор услуги и индикатор длины составляют заголовок мультиплексного кадра MuxPDU. ЛЭП, то есть комплексный кадр, состоит из двух подмультиплексных кадров. В первом подмультиплексном кадре идентификатор услуги '010' показывает, что последующий блок данных предназначен для второй услуги. Индикатор длины '101' и поле длины '00101010' показывают длину блока данных для второй услуги, включенной в MuxPDU.
Второй подмультиплексный кадр создается посредством заполнения блока данных для второй услуги и заполнения MuxPDU в полезной информации ЛЭП. Идентификатор услуги '111' показывает, что последующий блок данных предназначен для нулевой услуги, и индикатор длины '000' показывает длину блока данных для нулевой услуги, как показано в таблице 13.
Как показано на фиг.6С, третий ЛЭП соответствует случаю, когда блок данных не принимается из услуг при создании ЛЭП. В этом случае создаются MuxPDU заполнения и располагаются в ЛЭП. Посредством заполнения информационных битов элементами ЛЭП, показанными на фиг.6А - 6С и установки оставшихся битов на '000', завершается формирование информационных битов (или информационного кадра).
5. Функционирование контроллера мультиплексирования/ демультиплексирования при приеме по дополнительному каналу (ДК)
Контроллер мультиплексирования/ демультиплексирования приемной стороны действует следующим образом в отношении информационных битов, передаваемых по дополнительному каналу (ДК). Это действие выполняется в соответствии с процедурой, показанной на фиг.13.
Для информационных битов, использующих элементы ЛЭП, ЛЭП разделен согласно скорости передачи, как показано в таблице 5 или 6. Например, в случае информационных битов, принятых по дополнительному каналу, подсоединенному для скорости 307,2 Кбит/с, элементы ЛЭП сегментируются на блок 760 битов, как показано в таблице 5. Если информационные биты не имеют ошибок, контроллер 140 мультиплексирования/ демультиплексирования отделяет MuxPDU от каждого ЛЭП или информационных битов (операция S40 фиг.13). После отделения MuxPDU, контроллер 140 мультиплексирования/ демультиплексирования определяет ПРЛ услуги, на который будет передан блок данных (операция S41), и передает принятый блок данных на ПРЛ соответствующей услуги. В этот момент информация о длине блока данных передается вместе с принятым блоком данных (операции S42 и S43). Это действие передачи принятого блока данных и информации о длине блока данных на ПРЛ соответствующей услуги выполняется на каждом отделяемом MuxPDU.
В противном случае, если информационные биты имеют ошибки, контроллер 140 мультиплексирования/ демультиплексирования выполняет проверку ЦИК на каждом отдельном ЛЭП. В случае не имеющих ошибок ЛЭП контроллер 140 мультиплексирования/ демультиплексирования выделяет MuxPDU. Однако в случае имеющих ошибки ЛЭП, контроллер 140 мультиплексирования/ демультиплексирования сообщает всем услугам, которые имеют логический канал на дополнительном канале, что принят поврежденный блок данных, и также сообщает этим услугам максимальную длину блока данных, которую соответствующие услуги могут передавать в ЛЭП, и затем отбрасывает информационные биты. Например, максимальная длина блока данных, подлежащего передаче в ЛЭП, который был принят по дополнительному каналу, подсоединенному для скорости 307,2 Кбит/с, имеет 738 битов, как показано на фиг.6А - 6С.
В случае принятых информационных битов, которые были созданы без использования ЛЭП, MuxPDU отделяется согласно таблице 7 или 8 для скорости передачи 9600 бит/с или 14400 бит/с. Способ отделения MuxPDU выполняется таким же образом как в основном канале. Однако в дополнительном канале, так как в MuxPDU может существовать только один блок данных, принятый из услуги, которая имеет логический канал, соответствующий дополнительному каналу, информационные биты, имеющие отличный заголовок MuxPDU, считаются поврежденными.
В случае принятых информационных битов, которые были созданы без использования элементов ЛЭП, MuxPDU отделяется по всем информационным битам для скорости передачи 19200 бит/с или 28800 бит/с. Если информационные биты имеют ошибки, контроллер мультиплексирования/ демультиплексирования сообщает всем услугам, которые имеют логический канал на дополнительном канале, что принят поврежденный блок данных, и затем отбрасывает информационные биты.
При отделении MuxPDU от полезной информации ЛЭП или информационных битов можно знать, к какой услуге должен быть передан блок данных MuxPDU в зависимости от идентификатора услуги, индикатора длины и поля длины, и знать полную длину принятого MuxPDU следующим образом.
Во-первых, контроллер мультиплексирования/ демультиплексирования приемной стороны начинает отделение MuxPDU в головной части полезной информации ЛЭП или информационных битов.
Во-вторых, если идентификатор услуги MuxPDU, который теперь анализируется, установлен на '111', как показано в таблице 13, контроллер мультиплексирования/ демультиплексирования приемной стороны отбрасывает всю оставшуюся часть полезной информации ЛЭП или информационных битов.
В-третьих, если идентификатор услуги MuxPDU, который теперь анализируется, установлен на '000', как показано в таблице 13, контроллер мультиплексирования/ демультиплексирования приемной стороны считает полезную информацию ЛЭП или информационные биты поврежденными.
В-четвертых, если идентификатор услуги MuxPDU, который теперь анализируется, установлен на значение между '001' и '110', которое указывает одну из услуг, имеющих логический канал на дополнительном канале, будет анализироваться следующий 3-разрядный индикатор. Если идентификатор услуги не указывает одну из услуг, которые имеют логический канал на дополнительном канале, контроллер мультиплексирования/ демультиплексирования рассматривает полезную информацию ЛЭП или информационные биты поврежденными.
В-пятых, если 3-разрядный индикатор длины установлен на '000', оставшаяся часть полезной информации ЛЭП или информационных битов составляет один MuxPDU. Следовательно, блок данных из MuxPDU, имеющий длину, определяемую посредством вычитания 6 битов из длины оставшейся части, передается на услугу верхнего уровня.
В-шестых, если 3-разрядный индикатор длины установлен на '100', '101' или '110', будет анализироваться следующее 3-разрядное поле длины. Если 3-разрядное поле длины не установлено на '000', '100', '101' или '110', контроллер мультиплексирования/ демультиплексирования приемной стороны считает полезную информацию ЛЭП или информационные биты поврежденными.
В-седьмых, если 3-разрядное поле типа длины устанавливается на '100', часть, соответствующая длине, определяемой посредством вычитания значения, определяемого посредством умножения 8-разрядного значения поля длины на 8, из максимального размера MuxPDU, который может быть заполнен в полезной информации ЛЭП или информационных битах, составляет один MuxPDU. Следовательно, часть MuxPDU, из которой исключается 14-разрядный заголовок, передается на услугу верхнего уровня в качестве блока данных вместе с информацией о длине блока данных.
В-восьмых, если 3-разрядное поле типа длины устанавливается на '101' или '110', будет анализироваться следующее 8-разрядное или 16-разрядное поле длины. Если значение, определяемое посредством добавления 1 к значению поля длины, больше значения, определяемого посредством выражения в байтах, длины оставшейся части полезной информации ЛЭП или информационных битов, контроллер мультиплексирования/ демультиплексирования приемной стороны считает полезную информацию ЛЭП или информационные биты поврежденными.
В-девятых, если значение, определяемое посредством прибавления 1 к значению поля длины, меньше или равно значению, определяемому посредством выражения в байтах длины оставшейся части полезной информации ЛЭП или информационных битов, определяемое значение является длиной MuxPDU. Следовательно, оставшаяся часть, определяемая посредством вычитания 14-разрядного или 22-разрядного заголовка из MuxPDU, имеющей значение длины, определяемое в оставшейся части полезной информации ЛЭП или информационных битов, передается на услугу верхнего уровня в качестве блока данных вместе с его информацией о длине.
И наконец, если здесь существует оставшаяся часть полезной информации ЛЭП или информационных битов после определения MuxPDU, вышеприведенный процесс будет снова выполняться на оставшейся части.
С. Функционирование контроллера ПРЛ, при передаче/приеме согласно варианту осуществления настоящего изобретения
Функционирование контроллера 131 ПРЛ, показанного на фиг.3 и 4, выполняемое в соответствии с вариантом осуществления настоящего изобретения, будет разделяться следующим образом.
1. Функционирование контроллера ПРЛ при передаче данных
Контроллер 131 ПРЛ принимает поток данных, запомненных в буферном устройстве 122 данных передач, и, когда контроллер 140 мультиплексирования/ демультиплексирования запрашивает блок данных, создает кадр ПРЛ, имеющий размер запрошенного блока данных. Поток данных, запомненный в буферном устройстве 122 данных передач, считается имеющим бесконечную длину. Следовательно, контроллер 131 ПРЛ передает поток данных без различия между начальной и конечной частями.
Контроллер 131 ПРЛ сегментирует поток данных, запомненный в буферном устройстве 122 данных передач, в блоки надлежащей длины. Блоки могут иметь или одинаковый размер или различные размеры. Однако в любом случае блоки имеют размер более одного байта и максимум Nданных байтов.
Контроллер 131 ПРЛ присваивает блокам порядковые номера от 0 до (Nблока-1). В приведенном ниже описании назначенный блоку порядковый номер будет называться "порядковым номером блока". Контроллер 131 ПРЛ приписывает порядковый номер 0 первому созданному блоку. При создании нового блока контроллер 131 ПРЛ приписывает новому блоку порядковый номер, определяемый посредством увеличения порядкового номера предыдущего блока на один. Если предыдущему блоку назначен порядковый номер (Nблока-1), то контроллер 131 ПРЛ новому блоку снова приписывает порядковый номер 0.
Кроме того, контроллер 131 ПРЛ приписывает в новом блоке порядковые номера от 0 до (Nданных-1) байтам данных. В приведенном ниже описании порядковый номер, приписываемый байту данных, будет называться "порядковым номером данных". Контроллер 131 ПРЛ приписывает порядковый номер 0 первому байту данных в блоке. Контроллер 131 ПРЛ приписывает следующему байту порядковый номер, определяемый посредством увеличения порядкового номера предыдущего байта на один. Так как блоки могут иметь максимальный размер Nданных байтов, порядковых номеров 0-(Nданных-1) достаточно для порядковых номеров данных.
Используя порядковый номер блока и порядковый номер данных, можно обозначить конкретный байт данных. В приведенном ниже описании способ обозначения конкретного байта данных при использовании порядкового номера блока и порядкового номера данных будет называться "двумерной адресацией".
Когда контроллер 140 мультиплексирования/ демультиплексирования запрашивает блок данных, контроллер 131 ПРЛ создает кадр ПРЛ из первого байта в первом блоке, используя данные соответствующего размера. Контроллер 131 ПРЛ заполняет порядковый номер блока и порядковый номер данных сегмента данных в кадре ПРЛ, так что контроллер ПРЛ приемной стороны может знать, каким байтам данных, в каком блоке соответствует соответствующий сегмент данных, включенный в принятый кадр ПРЛ.
Когда размер блока в кадре ПРЛ меньше Nданных байтов, контроллер 131 ПРЛ должен создать такой кадр ПРЛ, чтобы контроллер ПРЛ приемной стороны мог знать конец передаваемого блока. То есть, когда передаваемый блок данных имеет количество данных меньше Nданных байтов, контроллер 131 ПРЛ указывает конец блока контроллеру ПРЛ приемной стороны, чтобы контроллер ПРЛ приемной стороны ожидал следующий блок. Для этого изобретение определяет "индикатор конца блока". То есть контроллер ПРЛ передающей стороны передает индикатор конца блока вместе с кадром ПРЛ. Контроллер 131 ПРЛ устанавливает 1-разрядный индикатор конца блока на '1' при передаче последней части блока, размер которой меньше Nданных байтов, а в противном случае устанавливает 1-разрядный индикатор конца блока на '0'. После приема кадра ПРЛ, в котором индикатор конца блока установлен на '1', контроллер 131 ПРЛ ожидает поступления первого байта данных в блоке, имеющем следующий порядковый номер.
Этот процесс посредством примера показан на фиг. 7. На фиг.7 байту Nданных присвоено число 6. На фиг.7 контроллер 131 ПРЛ создает 5 кадров ПРЛ по запросу контроллера 140 мультиплексирования/ демультиплексирования. Когда контроллер 140 мультиплексирования/ демультиплексирования запрашивает блок данных, в котором можно заполнить 6 байтов, контроллер 131 ПРЛ создает первый кадр А ПРЛ, показанный на фиг.7. Так как блок с порядковым номером 0, который является первым блоком, имеет 6-байтовые данные, контроллер 131 ПРЛ может создать кадр ПРЛ только с БЛОКОМ_0. Поскольку кадр ПРЛ создается сегментом данных, который начинается от байта данных с порядковым номером 0 в блоке с порядковым номером 0, контроллер 131 ПРЛ указывает порядковый номер блока 0 и порядковый номер 0 данных в заголовке кадра ПРЛ. Далее, так как размер блока с порядковым номером 0 является предварительно определенным размером Nданных байтов (6 байтов), контроллер 131 ПРЛ устанавливает индикатор конца блока на '0'.
Когда контроллер 140 мультиплексирования/ демультиплексирования запрашивает блок данных, в котором могут быть заполнены 4-байтовые данные, контроллер 131 ПРЛ создает второй кадр В ПРЛ, показанный на фиг.7. Так как на фиг. 7 первый блок уже передан, контроллер 131 ПРЛ создает кадр ПРЛ, используя блок с порядковым номером 1, который является вторым блоком. На фиг. 7, поскольку блок с порядковым номером 1 имеет 4-байтовые данные, контроллер 131 ПРЛ может создать кадр ПРЛ только с БЛОКОМ_1. Так как кадр ПРЛ создается с сегментом данных, который начинается от байта данных с порядковым номером 0 в блоке с порядковым номером 1, контроллер 131 ПРЛ показывает порядковый номер 1 блока и порядковый номер 0 данных в заголовке кадра ПРЛ. Далее, так как размер блока с порядковым номером 1 составляет 4 байта, который является меньше 6 байтов, и последняя часть (байт данных 3) БЛОКА_1 заполнена, контроллер 131 ПРЛ устанавливает индикатор конца блока на '1'.
Когда контроллер 140 мультиплексирования/ демультиплексирования снова запрашивает блок данных, в котором могут быть заполнены 4-байтовые данные, контроллер 131 ПРЛ создает третий кадр С ПРЛ, показанный на фиг.7. Так как первый и второй блоки на фиг.7 уже переданы, контроллер 131 ПРЛ создает кадр ПРЛ, используя блок с порядковым номером 2, который является третьим блоком. На фиг. 1, поскольку блок с порядковым номером 2 имеет 6-байтовые данные, контроллер 131 ПРЛ создает кадр ПРЛ с первыми 4 байтами БЛОКА_2. Так как кадр ПРЛ создается сегментом данных, который начинается от байта данных с порядковым номером 0 в блоке с порядковым номером 2, контроллер 131 ПРЛ показывает порядковый номер 2 блока и порядковый номер 0 данных в заголовке кадра ПРЛ. Далее, поскольку размер блока с порядковым номером 2 составляет 6 байтов, контроллер 131 ПРЛ устанавливает индикатор конца блока на '0'.
Когда контроллер 140 мультиплексирования/ демультиплексирования снова запрашивает блок данных, в котором могут быть заполнены 4-байтовые данные, контроллер 131 ПРЛ создает четвертый кадр D ПРЛ, показанный на фиг.7. Так как первые 4 байта (от байта 0 данных до байта 3 данных) в блоке с порядковым номером 2 на фиг.7 уже переданы, контроллер 131 ПРЛ создает кадр ПРЛ, начинающийся у пятого байта данных (байт 4 данных) в блоке с порядковым номером 2, который является третьим блоком. На фиг.7, поскольку блок с порядковым номером 2 имеет 2-байтовые данные, которые не переданы, контроллер 131 ПРЛ не может заполнять кадр ПРЛ только данными в БЛОКЕ_2. Следовательно, контроллер 131 ПРЛ создает кадр ПРЛ, используя также данные в блоке с порядковым номером 3, который является следующим блоком. То есть контроллер 131 ПРЛ создает кадр ПРЛ, имеющий 4-байтовые данные, используя последние 2 байта в блоке с порядковым номером 2 и первые 2 байта в блоке с порядковым номером 3. Так как кадр ПРЛ создается с сегментом данных, который начинается от байта данных с порядковым номером 4 в блоке с порядковым номером 2, контроллер 131 ПРЛ указывает порядковый номер 2 блока и порядковый номер 4 данных в заголовке кадра ПРЛ. Далее, так как размер блока с порядковым номером 2 составляет 6 байтов, а последняя часть (байт 4 данных) блока с порядковым номером 3 не заполнена, контроллер 131 ПРЛ устанавливает индикатор конца блока на '0'.
Когда контроллер 140 мультиплексирования/ демультиплексирования снова запрашивает блок данных, в котором могут быть заполнены 4-байтовые данные, контроллер 131 ПРЛ создает пятый кадр Е ПРЛ, показанный на фиг.7. Так как первые 2 байта (байт 0 данных и байт 1 данных) в блоке с порядковым номером 3 уже были переданы на фиг.7, контроллер 131 ПРЛ создает кадр ПРЛ, начинающийся у третьего байта данных (байт 2 данных) в блоке с порядковым номером 3, который является четвертым блоком. На фиг.7, поскольку блок с порядковым номером 3 имеет 3-байтовые данные (от байта 2 данных до байта 4 данных), которые не переданы, и больше не имеет данных, контроллер 131 ПРЛ создает кадр ПРЛ только с данными в БЛОКЕ_3. То есть контроллер 131 ПРЛ создает кадр ПРЛ, имеющий 3-байтовые данные, используя последние 3 байта в блоке с порядковым номером 3. Поскольку кадр ПРЛ создается сегментом данных, который начинается от байта данных с порядковым номером 2 в блоке с порядковым номером 3, контроллер 131 ПРЛ показывает порядковый номер 3 блока и порядковый номер 2 данных в заголовке кадра ПРЛ. Далее, так как размер блока с порядковым номером 3 составляет 5 байтов, что меньше 6 байтов, и последняя часть (байт 4 данных) блока с порядковым номером 3 заполнена, контроллер 131 ПРЛ устанавливает индикатор конца блока на '1'.
Как описано выше, контроллер 131 ПРЛ в соответствии с настоящим изобретением сегментирует поток данных на множество кадров (последовательных кадров) ПРЛ, как показано на фиг.7. Поток данных делится на множество последовательных блоков БЛОК0-БЛОК3, имеющих переменную длину данных, и каждый последовательный блок снова сегментируется на множество подпоследовательных блоков, имеющих байтовую длину. Например, последовательный БЛОК0 сегментируется на подпоследовательные блоки от 0 до 5, каждый из которых имеет байтовую длину. Контроллер 131 ПРЛ передает поток данных посредством сегментирования его на множество кадров ПРЛ, в которых заголовок присоединен к головной части каждого кадра ПРЛ. Заголовок состоит из порядкового номера блока, порядкового номера данных и индикатора конца блока. Порядковый номер блока представляет собой первый набор битов, указывающих уникальный номер последовательного блока, которому принадлежат подпоследовательные блоки, включенные в соответствующий кадр ПРЛ. На этой стадии порядковый номер блока представляет собой номер последовательного блока, которому принадлежит первый подпоследовательный блок соответствующего кадра ПРЛ. Порядковый номер данных представляет собой второй набор битов, указывающих номер первого подпоследовательного соответствующего кадра ПРЛ. Индикатор конца блока указывает, меньше ли размер последовательного блока, включенного в один или больше кадров ПРЛ, заданного размера (Nданных байтов), и включается последняя часть блока.
Контроллер 131 ПРЛ передает пустой блок данных, когда для передачи нет данных.
При создании блока вышеупомянутым способом контроллер 131 ПРЛ заполняет (порядковый номер созданного блока, размер сегмента данных, включенного в созданный блок, и сегмент данных, включенный в созданный блок данных) во вводимых данных передачи и запоминает вводимые данные передачи в буферном устройстве 133 прямого переупорядочения. Буферное устройство 133 прямого переупорядочения хранит вводимые данные ретрансляции в течение заданного времени и передает, когда контроллер 131 ПРЛ принимает запрос ретрансляции из контроллера ПРЛ приемной стороны, входные данные ретрансляции, имеющие запрошенный порядковый номер из запомненных входных данных ретрансляции на контроллер 131 ПРЛ. Контроллер 131 ПРЛ создает подлежащий ретрансляции кадр ПРЛ ретрансляции, используя часть данных, запрашиваемых контроллером ПРЛ приемной стороны из сегмента данных, запомненных в передаваемых входных данных ретрансляции. Контроллер 131 ПРЛ создает кадр ПРЛ таким же способом, как при создании кадра ПРЛ, который передает новые данные, даже при создании кадра ПРЛ ретрансляции. То есть контроллер 131 ПРЛ заполняет порядковый номер блока и порядковый номер данных сегмента данных в кадре ПРЛ, так что контроллер ПРЛ приемной стороны может знать, каким байтам данных в каком блоке соответствует соответствующий сегмент данных, включенный в принятый формат ПРЛ. Кроме того, когда размер передаваемого блока в кадре ПРЛ меньше Nданных байтов, контроллер 131 ПРЛ создает кадр ПРЛ так, что контроллер ПРЛ приемной стороны может знать конец передаваемого блока, например, когда передаются новые данные. Кроме того, контроллер 131 ПРЛ показывает контроллеру ПРЛ приемной стороны, что по меньшей мере первый байт данных сегмента данных, заполненного в принятом кадре ПРЛ, является ретранслируемым байтом данных. Для этого изобретение определяет "индикатор ретрансляции". Например, контроллер ПРЛ передающей стороны устанавливает индикатор ретрансляции на '1', когда первый байт, включенный в кадр ПРЛ является ретранслируемым байтом, а в противном случае устанавливает индикатор ретрансляции на '0'. После приема кадра ПРЛ, в котором индикатор ретрансляции установлен на '1', контроллер ПРЛ приемной стороны выполняет процедуру обработки ретранслируемых данных.
2. Функционирование контроллера ПРЛ при приеме данных
Всякий раз, когда контроллер 140 мультиплексирования/ демультиплексирования обеспечивает принятый кадр ПРЛ, контроллер 131 ПРЛ исследует, заполнен ли принятый кадр ПРЛ новыми данными или ретранслированными данными. Это действие может выполняться в зависимости от индикатора ретрансляции. Если индикатор ретрансляции принятого кадра ПРЛ установлен на '0', то это означает, что кадр ПРЛ заполнен новыми данными, так что контроллер 131 ПРЛ проверяет порядковый номер блока и порядковый номер данных принятого кадра ПРЛ. Если порядковые номера идентичны порядковому номеру блока и порядковому номеру данных, которые в данный момент ожидаются, это означает, что новые байты данных не пропущены. Следовательно, контроллер 131 ПРЛ запоминает сегмент данных в буферном устройстве 124 данных приема. В противном случае, если они не идентичны, контроллер 131 ПРЛ запрашивает контроллер ПРЛ передающей стороны ретранслировать блок и данные, соответствующие отсутствующему порядковому номеру, и запоминает принятый сегмент данных нового блока в буферном устройстве 138 перегруппирования.
Контроллер 131 ПРЛ определяет пропущенные порядковые номера следующим образом. При двумерной адресации контроллер 131 ПРЛ считает порядковые номера, существующие между порядковым номером блока и порядковым номером данных, прием которых ожидался, и порядковый номер блока и порядковый номер данных первого байта принятого нового сегмента данных, пропущенными порядковыми номерами. Следовательно, контроллер 131 ПРЛ запоминает порядковый номер блока и порядковый номер данных, прием которых ожидался в перечне 137 НПП в качестве вводимых данных НПП и определяет порядковый номер блока и порядковый номер данных следующего байта данных, байта данных, имеющего вышеупомянутые порядковый номер блока и порядковый номер данных. Когда определяемые порядковый номер блока и порядковый номер данных следующего байта данных не равны порядковому номеру блока и порядковому номеру данных первого байта принятого нового сегмента данных, контроллер 131 ПРЛ запоминает определяемые порядковый номер блока и порядковый номер данных в перечне 137 НПП в виде вводимых данных НПП, снова определяет порядковый номер блока и порядковый номер данных следующего байта данных и затем повторяет вышеупомянутый процесс. В противном случае, если порядковый номер блока и порядковый номер данных следующего байта данных равны порядковому номеру блока и порядковому номеру данных первого байта принятого нового сегмента данных, контроллер 131 ПРЛ заканчивает процесс дополнительного ввода НПП.
При двумерной адресации, когда имеется байт данных, имеющий порядковый номер блока B_SEQ и порядковый номер данных D_SEQ, порядковый номер блока B_ SEQNEXT и порядковый номер данных D_SEQNEXT следующего байта этого байта данных определяются с использованием уравнения 1 (см. в конце описания).
В уравнении 1 действие по модулю выполняется для вычисления остатка, определяемого посредством деления значения левого члена знака 'по модулю' на значение правого члена.
Контроллер 131 ПРЛ создает вводимые данные НПП, используя порядковый номер блока отсутствующего байта данных, порядковый номер данных отсутствующего байта данных, индикатор, указывающий, принят ли байт отсутствующих данных, таймер ретрансляции и таймер прерывания, и запоминает созданные вводимые данные НПП в перечне 137 НПП.
После окончания процесса дополнения вводимых данных НПП отсутствующих байтов данных контроллер 131 ПРЛ приписывает уникальные порядковый номер блока и порядковый номер данных каждым байтам данных сегмента данных принятого блока, используя уравнение 1. То есть контроллер 131 ПРЛ назначает принятые порядковый номер блока и порядковый номер данных первому байту данных принятого сегмента данных. После этого контроллер 131 ПРЛ приписывает порядковый номер блока и порядковый номер данных байтам данных принятого сегмента данных, используя уравнение 1, и порядковый номер блока и порядковый номер данных предшествующего байта данных.
После назначения порядковых номеров байтам данных принятого блока контроллер 131 ПРЛ запоминает вводимые данные буферного устройства переупорядочения, которые содержат порядковый номер блока принятого байта данных, порядковый номер данных принятого байта данных, принятый байт данных и индикатор, указывающий, является ли принятый байт данных последним байтом данных блока, в буферном устройстве 138 перегруппирования, чтобы перегруппировать (или переупорядочить) целые байты данных, когда поступают пропущенные байты данных. В частности, если контроллер ПРЛ передающей стороны информирует, что размер принятого блока меньше Nданных байтов и последняя часть блока в кадре ПРЛ, принятом в это время, заполнена, контроллер 131 ПРЛ устанавливает индикатор конца блока, соответственно, при создании вводимых данных буферного устройства переупорядочения для приема последнего байта данных.
После обработки кадра ПРЛ, заполненного новыми данными, контроллер 131 ПРЛ вычисляет порядковый номер блока и порядковый номер данных следующих новых данных следующим образом. То есть, если контроллер ПРЛ передающей стороны информирует его, что размер принятого блока меньше Nданных байтов, и последняя часть блока в принятом в данный момент кадре ПРЛ заполнена, контроллер 131 ПРЛ устанавливает порядковый номер блока для порядкового номера следующего нового блока и устанавливает порядковый номер данных на '0'. Как упомянуто выше, порядковый номер следующего нового блока представляет порядковый номер, определяемый посредством увеличения порядкового номера предыдущего блока на один. Если предыдущему блоку назначен порядковый номер (Nблока-1), новый блок имеет порядковый номер 0. Если контроллер ПРЛ передающей стороны информирует, что размер принятого блока равен Nданных байтам, и последняя часть блока, имеющая размер меньше Nданных байтов, в принятом в данный момент кадре ПРЛ, не заполнена, контроллер 131 ПРЛ оставляет порядковый номер блока и увеличивает только порядковый номер данных вплоть до размера принятого сегмента данных. Если увеличенный порядковый номер данных становится больше Nданных, то считается, что все данные этого блока приняты. Следовательно, контроллер 131 ПРЛ устанавливает порядковый номер блоков на порядковый номер блока следующего нового блока и устанавливает порядковый номер данных на разность между увеличенным порядковым номером данных и Nданных.
Если индикатор ретрансляции в принятом кадре ПРЛ установлен на '1', то принятый кадр ПРЛ имеет ретранслированный сегмент данных, так что контроллер 131 ПРЛ назначает порядковый номер блока и порядковый номер данных каждому байту данных сегмента данных в принятом блоке, используя уравнение 1. То есть контроллер 131 ПРЛ приписывает принятые порядковый номер блока и порядковый номер данных первому байту данных принятого сегмента данных. После этого контроллер 131 ПРЛ приписывает порядковый номер блока и порядковый номер данных каждому байту данных принятого сегмента данных, используя уравнение 1, и порядковый номер блока и порядковый номер данных байта предыдущего байта данных.
После этого процесса контроллер 131 ПРЛ осуществляет поиск в перечне НПП 137 вводимых данных НПП, в которых содержится порядковый номер блока и порядковый номер данных для принятого байта данных. Если найденные вводимые данные НПП уже приняты, контроллер 131 ПРЛ отбрасывает байт данных. Если найденные вводимые данные НПП являются самыми старыми вводимыми данными из вводимых данных, которые еще не приняты, это означает, что приняты все байты данных до принятого байта данных. Следовательно, контроллер 131 ПРЛ перегруппирует принятые последовательные байты данных, запомненные в буферном устройстве 138 перегруппирования в последовательности порядкового номера и затем посылает их в буферное устройство 124 данных приема, и контроллер 131 ПРЛ устанавливает индикатор, указывающий, принят ли пропущенный байт данных, чтобы указать, что пропущенный байт данных принят. Если вводимые данные НПП не являются самыми старыми из вводимых данных, которые еще не приняты, контроллер 131 ПРЛ устанавливает индикатор, указывающий, принят ли пропущенный байт данных для указания, что пропущенный байт данных принят, и запоминает принятый байт данных в буферном устройстве 138 перегруппирования. Контроллер 131 ПРЛ создает вводимые данные буферного устройства переупорядочения, состоящие из порядкового номера блока принятого байта данных, порядкового номера данных принятого байта данных, и индикатора, указывающего, является ли принятый байт данных последним байтом данных блока для байта данных, и запоминает их в буферном устройстве 138 перегруппирования. Когда поступают предыдущие пропущенные байты данных и принимаются кадры данных, имеющие последовательные порядковые номера для буферного устройства 124 данных приема, обеспечиваются запомненные данные, как описано выше.
После обработки принятого кадра ПРЛ, контроллер 131 ПРЛ выполняет действие регулирования таймера для запроса ретрансляции на каждых вводимых данных НПП в перечне 137 НПП. То есть, если определено, что принятый кадр ПРЛ имеет вновь переданные байты данных, или контроллер ПРЛ передающей стороны ничего не передал, это означает, что контроллер ПРЛ передающей стороны не имеет запроса ретрансляции, так что контроллер 131 ПРЛ снова осуществляет запрос ретрансляции. Следовательно, контроллер 131 ПРЛ уменьшает время таймера ретрансляции или значение таймера прерывания вводимых данных НПП, которые еще не приняты, на один, и когда это значение представляет '0', снова запрашивает ретрансляцию, а в противном случае передает только принятую оставшуюся часть в буферное устройство 124 данных приема, отвергая запрос ретрансляции.
3. Функционирование контроллера ПРЛ перед передачей данных
Перед началом действия контроллер 131 ПРЛ устанавливает на '0' регистр 132 L_V(S), регистр 136 L_V(R), регистр 135 L_V(N) и Е-регистр 134, показанные на фиг.3 и 4. Перед началом действия, контроллер 131 ПРЛ очищает буферное устройство 133 прямого переупорядочения, перечень 137 НПП и буферное устройство 138 перегруппирования. В заключение, контроллер 131 ПРЛ деактивирует все связанные с ретрансляцией таймеры.
Типы блоков данных, которые контроллер 131 ПРЛ может передавать на контроллер 140 мультиплексирования/ демультиплексирования, показаны на фиг.8А-8F и фиг.9А-9В. Более конкретно, на фиг.8А-8F показаны кадры ПРЛ, которые можно передавать по основному каналу, а на фиг.9А-9В показаны кадры ПРЛ, которые можно передавать по дополнительному каналу. В нижеприведенном описании кадры ПРЛ будут называться следующим образом. Кадр СИНХРОНИЗАЦИИ (СИНХ), СИНХРОНИЗАЦИИ/ПОДТВЕРЖДЕНИЯ (СИНХ/ПОДТ), ПОДТВЕРЖДЕНИЯ (ПОДТ) или НПП, показанный на фиг.8А-8F или таблице 14, будет называться "управляющим кадром", а кадр, заполненный данными, будет называться "кадром данных". Кадр данных делится на новый кадр данных, заполненный вновь переданной частью данных, и ретранслированный кадр данных, заполненный только ретранслированной частью данных. Кадр, имеющий только 12-разрядное поле порядкового номера (SEQ), будет называться "незанятым кадром".
На фиг.8А-8F показаны управляющий кадр, кадр данных или незанятый кадр, пригодный для блока данных, передаваемого по основному каналу. На фиг.9А-9В показан только кадр данных, пригодный для блока данных, передаваемого по дополнительному каналу.
Контроллер 131 ПРЛ перед передачей данных выполняет процесс восстановления. Контроллер 131 ПРЛ непрерывно передает кадр СИНХ на контроллер 140 мультиплексирования/ демультиплексирования в качестве блока данных.
Контроллер 131 ПРЛ принимает кадр СИНХ от контроллера 140 мультиплексирования/ демультиплексирования и непрерывно передает кадр СИНХ/ПОДТ на контроллер 140 мультиплексирования/ демультиплексирования, пока не произойдет прием кадра физического канала, который не является ни пустым блоком данных, ни кадром СИНХ.
После принятия кадра СИНХ/ПОДТ контроллер 131 ПРЛ передает кадр ПОДТ на контроллер 140 мультиплексирования/ демультиплексирования. Контроллер 131 ПРЛ непрерывно передает кадр ПОДТ, пока кадр физического канала, который не является ни пустым блоком данных, ни кадром СИНХ/ПОДТ, не будет принят от контроллера 140 мультиплексирования/ демультиплексирования. Контроллер 131 ПРЛ начинает передавать данные, когда произойдет прием кадра физического канала, и принятый блок данных окажется не пустым блоком данных, а имеет кадр ПРЛ, который является кадром СИНХ/ПОДТ.
После приема кадра ПОДТ контроллер 131 ПРЛ начинает передачу данных. Контроллер 131 ПРЛ может передавать на контроллер 140 мультиплексирования/ демультиплексирования другие кадры, за исключением кадров СИНХ, СИНХ/ПОДТ, ПОДТ.
4. Функционирование контроллера ПРЛ при передаче данных по основному каналу (ОК)
Контроллер 140 мультиплексирования/ демультиплексирования передающей стороны посылает запрос на передачу блока данных по основному каналу на контроллер ПРЛ 131, так что контроллер 131 ПРЛ создает кадр. Контроллер 140 мультиплексирования/ демультиплексирования передающей стороны также посылает информацию о размере Т блока данных, подлежащего созданию контроллером ПРЛ 131, посылая в то же время запрос блока данных на контроллер ПРЛ 131. Здесь предполагается, что размер Т блока данных, запрашиваемого контроллером 140 мультиплексирования/ демультиплексирования передающей стороны, всегда составляет 171 бит при установке 1 скорости передачи и 266 битов при установке 2 скорости передачи.
Контроллер 131 ПРЛ создает блок данных, подлежащий передаче по основному каналу согласно следующему порядку приоритетности.
1. Управляющий кадр (СИНХ, СИНХ/ПОДТ, ПОДТ, НПП).
2. Ретранслируемый кадр данных.
3. Кадр данных.
4. Незанятый кадр.
Когда для передачи существует кадр управления, контроллер 131 ПРЛ создает кадр управления следующим образом. Для кадров СИНХ, СИНХ/ПОДТ и ПОДТ контроллер 131 ПРЛ устанавливает поле порядкового номера (SEQ) на '00000000', устанавливает поле КТЛ в соответствии с типом кадра и затем присоединяет к нему поле КПК (контрольной последовательности кадров), как показано на фиг. 8А. Поле КПК представляет 16-разрядную последовательность проверки кадра, созданную посредством многочлена, заданного RFC-1662. Поле КПК создается для всех предшествующих битов. Контроллер 131 ПРЛ устанавливает часть после поля КПК на все '0' согласно информации о размере, предоставленной контроллером 140 мультиплексирования/ демультиплексирования. Контроллер 131 ПРЛ устанавливает поле ТИПА, которое является последним одним битом блока данных, на '1', и затем передает созданный блок данных на контроллер 140 мультиплексирования/ демультиплексирования.
Когда имеются подлежащие ретрансляции данные, контроллер 131 ПРЛ создает кадр НПП и передает его на контроллер 140 мультиплексирования/ демультиплексирования. Кадр НПП имеет структуру, показанную в таблице 14.
Как показано в таблице 14, контроллер 131 ПРЛ создает кадр НПП следующим образом. Поле порядкового номера (ПН) таблицы 14 устанавливается на '00000000', поле УПР на '00011100', а поле ТИПА на '1'. Контроллер 131 ПРЛ устанавливает поле NAK_COUNT (СЧЕТ НПП) на значение, определяемое посредством вычитания единицы из номера запроса ретрансляции, включенного в кадр НПП.
Контроллер 131 ПРЛ выполняет запрос ретрансляции (NAK_COUNT+1) (СЧЕТ НПП+1). Как можно видеть в таблице 14, запрос ретрансляции состоит из поля NAK_TYPE_AND_UNIT (ТИП И ЭЛЕМЕНТ НПП) и полей ПЕРВОГО И ПОСЛЕДНЕГО или полей NAK_ MAP_ SEQ (ПН ОТБР НПП) и NAK_MAP (ОТБР НПП), соответствующих значению поля ТИП И ЭЛЕМЕНТ НПП. Когда поле ТИП И ЭЛЕМЕНТ НПП запроса ретрансляции устанавливается на '0001', контроллер 131 ПРЛ заполняет ПЕРВОЕ поле первым порядковым номером первого блока, который непрерывно запрашивает ретрансляцию, и заполняет ПОСЛЕДНЕЕ поле порядковым номером блока последнего блока.
Когда контроллер 131 ПРЛ устанавливает поле ТИП И ЭЛЕМЕНТ НПП на '0010', выполняется запрос ретрансляции на блоке, имеющем поле НП ОТОБРАЖЕНИЯ НПП и поле ОТОБРАЖЕНИЯ НПП способом ОТБР НПП. При запросе ретрансляции для нескольких непоследовательных блоков, контроллер 131 ПРЛ устанавливает поле ТИП И ЭЛЕМЕНТ НПП на '0010' и заполняет поле ОТБР НПП следующим образом. Способ ОТБР НПП заполняет порядковый номер блока, запрашиваемого для ретрансляции первого блока в поле ПН ОТБР НПП, и устанавливает n-ый бит старшего двоичного разряда (СДР) поля ОТБР НПП на '1', когда необходимо запросить ретрансляцию для блока, соответствующего порядковому номеру (ПН+n ОТБР НПП) по модулю 212, где n может иметь значение от 1 до 8. Например, для поля ТИПА И ЭЛЕМЕНТА НПП '0010' и установки 1 скоростей передачи, если поле ПН ОТБР НПП установлено на '0' и поле ОТБР НПП установлено на '10000000', контроллер ПРЛ должен ретранслировать блок с порядковым номером блока 0 и блок с порядковым номером блока 1 после приема значений поля.
Контроллер 131 ПРЛ может устанавливать поле ТИПА И ЭЛЕМЕНТА НПП, как показано в таблице 15 или 16, при запросе ретрансляции для частичного участка блока. Когда контроллер 131 ПРЛ устанавливает поле ТИПА И ЭЛЕМЕНТА НПП, как показано в таблице 15 или 16, запрос передачи выполняется на частичном участке блока, имеющего поле НП ОТБР НПП и поле ОТБР НПП способом ОТБР НПП.
Контроллер 131 ПРЛ заполняет поле ОТБР НПП и поле ПН ОТБР НПП на основании таблицы 15 или 16. Порядковый номер блока с запросом ретрансляции заполняется в поле ПН ОТБР НПП, а порядковый номер данных сегмента данных в блоке, запрашиваемом для ретрансляции в элементе, показанном в таблице 15 или 16, заполняется в поле ОТБР НПП. Используя ОТБР НПП, контроллер 131 ПРЛ запрашивает ретрансляцию для байта данных, принадлежащего блокам, соответствующим порядковым номерам данных от ((n-1)•U) до (n•U-1), где U обозначает элемент, определяемый полем ТИПА И ЭЛЕМЕНТА НПП всякий раз, когда n-ый бит старшего двоичного разряда (СДР) поля ОТБР НПП представляет '1'. Значение 'n' может иметь величину от 1 до 8. Например, в случае установки 1 скорости передачи, когда поле ТИПА И ЭЛЕМЕНТА НПП установлено на '0011', поле ПН ОТБР НПП установлено на '0' и поле ОТБР НПП установлено на '10000000', контроллер ПРЛ ретранслирует байты данных порядковых номеров данных 0-18 в части данных блока с порядковым номером блока 0, то есть 1-19-й байты данных после приема значений поля.
Контроллер 131 ПРЛ может устанавливать поле ТИПА И ЭЛЕМЕНТА НПП на '1111' при запрашивании ретрансляции для байтов данных, принадлежащих блоку. Когда контроллер 131 ПРЛ устанавливает поле ТИПА И ЭЛЕМЕНТА НПП на '1111', запрос ретрансляции содержит поле ПН ОТБР НПП, ПЕРВОЕ поле и ПОСЛЕДНЕЕ поле. Контроллер 131 ПРЛ заполняет порядковый номер блока, заполненного запрошенным для ретрансляции сегментом данных в поле ПН ОТБР НПП, заполняет порядковый номер данных первого байта, запрошенного для ретрансляции сегмента данных в ПЕРВОМ поле и заполняет порядковый номер данных последнего байта в ПОСЛЕДНЕМ поле.
Контроллер 131 ПРЛ создает запросы передачи (СЧЕТ+1 НПП), чтобы заполнить их в кадре НПП, пустые места поля КПК с 0-ми для выравнивания байта и затем заполняет поле КПК. Поле КПК представляет 16-разрядную последовательность контроля кадра, созданную посредством многочлена, указанного в стандарте RFC-1662. Поле КПК создается для всех предшествующих битов. После заполнения поля КПК контроллер 131 ПРЛ заполняет оставшуюся часть блока данных 0-ми.
Чтобы создать новый кадр данных, подлежащий передаче по основному каналу, контроллер 131 ПРЛ действует следующим образом.
После передачи всех байтов данных в блоке, который был определен ранее или определен, когда вначале был создан новый кадр данных, контроллер 131 ПРЛ определяет новый блок для оставшихся данных потока данных. Здесь способ определения нового блока будет разделен на режим А и режим В. В режиме А новый блок определяется так, что имеет сегменты данных такого большого размера данных, который может быть заполнен в блоке данных, запрашиваемом контроллером 140 мультиплексирования/ демультиплексирования. В режиме В новый блок определяется так, чтобы всегда иметь Nданных байтов независимо от размера блока данных, запрашиваемого контроллером 140 мультиплексирования/ демультиплексирования. При определении нового блока контроллер 131 ПРЛ может выбирать режим А или режим В. В настоящем варианте осуществления, Nблока и Nданных определяются числами 28 и 29 соответственно.
На фиг. 8А-8F показаны доступные форматы, которые можно передавать по основному каналу. На фиг.8А показан формат передачи кадра управления типа кадров СИНХ, СИНХ/ПОДТ и ПОДТ. На фиг.8В-8Е показан формат передачи кадра данных. И наконец, на фиг. 8F показан формат передачи незанятого кадра. Структура каждого формата передачи станет очевидной из нижеприведенного описания.
При создании кадра ПРЛ основного канала, заполненного новыми данными, контроллер 131 ПРЛ использует 21-разрядный регистр 132 L_V(S) порядкового номера. Контроллер 131 ПРЛ определяет 12 старших разрядов 21-разрядного значения, регистра 132 L_V(S) порядкового номера в качестве порядкового номера блока В_ SEQ и определяет 9 младших разрядов в качестве порядкового номера данных D_SEQ.
Если значение D_SEQ не равно 0, контроллер 131 ПРЛ решает, что блок имеет часть данных, которая еще не передана. То есть контроллер 131 ПРЛ решает, что должны быть переданы байты данных, имеющие порядковые номера данных D_ SEQ до (Nданных-1) в блоке, соответствующем порядковому номеру блока B_SEQ. Следовательно, чтобы передать сегмент данных, контроллер 131 ПРЛ использует форматы кадров фиг.8D и 8Е. Формат фиг.8D можно использовать, когда удовлетворяются следующие условия.
Во-первых, количество байтов данных в потоке данных, который еще не передан, составляет больше В, который может быть передан с форматом фиг.8D, то есть составляет 19 байтов или больше при установке 1 скорости передачи и 31 байт или больше при установке 2 скорости передачи.
Во-вторых, значение D_SEQ является кратным количеству В байтов данных, которые можно передавать с форматом фиг.8D, то есть кратным 19 при установке 1 скорости передачи и кратным 31 при установке 2 скорости передачи.
При передаче новых данных с использованием формата фиг.8D контроллер 131 ПРЛ вначале устанавливает поле ПН с 8 младшими разрядами значения В_SEQ, которое является порядковым номером блока части данных. Далее, контроллер 131 ПРЛ устанавливает поле ПН с частным, определяемым посредством деления значения D_SEQ на В байтов данных, передаваемых форматом фиг.8D.
При передаче новых данных с использованием формата фиг.8D контроллер 131 ПРЛ устанавливает поле ТИПА на '1', поле REXMIT, которое является индикатором ретрансляции, на '0' и поле УПР на '01', а затем заполняет поле ДАННЫХ данными передачи.
При передаче новых данных с использованием формата фиг.8Е контроллер 131 ПРЛ вначале устанавливает поле ПН с 8 младшими разрядами значения В_SEQ, которое является порядковым номером блока части данных. Далее, контроллер 131 ПРЛ устанавливает поле ПН со значением D_SEQ.
При передаче новых данных с использованием формата фиг.8Е контроллер 131 ПРЛ устанавливает поле ТИПА на '1', поле REXMIT, которое является индикатором ретрансляции, на '0' и поле УПР на '1', заполняет поле ДАННЫХ данными передачи и затем устанавливает поле ДЛИНЫ на количество байтов данных, заполненных в поле ДАННЫХ.
При передаче новых данных с использованием формата фиг.8D или 8Е контроллер 131 ПРЛ устанавливает поле КОНЦА, которое является индикатором конца, на '1', когда удовлетворяются нижеприведенные условия, а в противном случае устанавливает поле КОНЦА на '0'.
Во-первых, после передачи поток данных больше не имеет данных, которые еще не переданы.
Во-вторых, значение, определяемое посредством прибавления количества N передаваемых байтов данных к значению D_SEQ, не равно Nданных или кратному ему числу.
После передачи нового кадра данных контроллер 131 ПРЛ корректирует регистр 132 L_ V(S) следующим образом. Во-первых, когда поле КОНЦА, которое представляет индикатор конца блока, установлено на '0', если размер новых переданных данных составляет N в вышеупомянутом процессе, контроллер 131 ПРЛ добавляет значение N к регистру 132 L_V(S). Во-вторых, когда поле КОНЦА, которое представляет индикатор конца блока, установлено на '1' в вышеупомянутом процессе, контроллер 131 ПРЛ добавляет '1' к значению старших 12 разрядов регистра 132 L_V(S) и устанавливает значение младших 9 разрядов регистра 132 L_V(S) на '0'.
Контроллер 131 ПРЛ определяет новый блок, когда значение D_SEQ представляет 0. Как описано выше, это действие тлеет различные процедуры для режима А и режима В. Если контроллер 131 ПРЛ определяет новый блок в соответствии с режимом В, контроллер 131 ПРЛ действует следующим образом.
В режиме А контроллер 131 ПРЛ принимает решение минимизировать значение М от размера нового блока до количества В байтов данных, которые можно передавать с форматом фиг.8В, то есть 20 байтами при установке 1 скорости передачи и 32 байтами при установке 2 скорости передачи, и количества байтов данных в потоке данных, которые еще не переданы. Контроллер 131 ПРЛ использует формат фиг.8В, когда определенное минимальное значение М является равным количеству В байтов данных, которые можно передать форматом фиг.8В, а в противном случае использует формат фиг.8С.
При передаче новых данных с использованием формата фиг.8В контроллер 131 ПРЛ вначале устанавливает поле порядкового номера с 8 младшими разрядами значения B_SEQ, который является порядковым номером блока части данных. Так как данные, передаваемые форматом фиг.8В, всегда начинаются от порядкового номера данных 0 и имеют размер меньше Nданных, индикатор конца блока всегда установлен на '1'. Следовательно, хотя формат фиг.8В не включает порядковый номер данных и индикатор конца блока, контроллер ПРЛ приемной стороны распознает порядковый номер данных как '0' и индикатор конца блока как '1' после приема формата фиг.8В.
При передаче новых данных, используя формат фиг.8В, контроллер 131 ПРЛ устанавливает поле ТИПА на '0', поле REXMIT, которое является индикатором ретрансляции, на '0', а затем заполняет поле ДАННЫХ данными передачи.
При передаче новых данных с использованием формата фиг.8С контроллер 131 ПРЛ вначале устанавливает поле ПН с 8 младшими разрядами значения B_SEQ, которое является порядковым номером блока части данных. Так как данные, передаваемые форматом фиг.8С, всегда начинаются от порядкового номера данных 0 и имеют размер меньше Nданных, индикатор конца блока всегда устанавливается на '1'. Следовательно, хотя формат фиг.8С не включает порядковый номер данных и индикатор конца блока, контроллер ПРЛ приемной стороны распознает порядковый номер данных как '0' и индикатор конца блока как '1', после приема формата фиг.8С.
При передаче новых данных с использованием формата фиг.8С контроллер 131 ПРЛ устанавливает поле ТИПА на '1', поле PEXMIT, которое является индикатором ретрансляции, на '0' и поле КТЛ на '001', заполняет поле ДАННЫХ данными передачи, а затем устанавливает поле ДЛИНА на количество байтов данных, заполненных в поле ДАННЫХ.
После передачи нового кадра данных контроллер 131 ПРЛ корректирует регистр 132 L_ V(S) следующим образом. Контроллер 131 ПРЛ добавляет значение Nданных к регистру 132 L_V(S).
Если контроллер 131 ПРЛ определяет новый блок, соответствующий режиму В, контроллер 131 ПРЛ действует следующим образом. В режиме В контроллер 131 ПРЛ устанавливает размер нового блока на минимальное значение М из Nданных байтов и количество байтов данных в потоке данных, которые еще не переданы. После определения размера нового блока контроллер 131 ПРЛ определяет новый блок, как имеющий данные такого размера, как размер блока, определяемый из байтов данных в потоке данных, которые еще не переданы. После определения нового блока контроллер 131 ПРЛ выполняет процедуру передачи оставшейся части блока, как описано выше.
Контроллер 131 ПРЛ запоминает вновь определенные блоки в буферном устройстве 133 прямого переупорядочивания, подготавливая к запросу ретрансляции от приемной стороны. Контроллер 131 ПРЛ заполняет порядковый номер блока созданного блока, размер сегмента данных, включенного в созданный блок, и сегмент данных, включенный в созданный блок во вводимых данных ретрансляции, и запоминает их в буферном устройстве 133 прямого переупорядочивания. После приема запроса ретрансляции от приемной стороны контроллер 131 ПРЛ определяет байт данных, соответствующий запрошенному порядковому номеру блока и порядковому номеру данных из буферного устройства 133 прямого переупорядочивания, и ретранслирует обнаруженный байт данных. Контроллер 131 ПРЛ определяет запрошенный для ретрансляции порядковый номер блока в качестве порядкового номера блока B_SEQ и определяет порядковый номер данных первого байта в сегменте данных передачи в качестве порядкового номера данных D_SEQ.
Контроллер 131 ПРЛ может использовать форматы фиг.8В -8Е при передаче ретранслируемого кадра данных. Контроллер 131 ПРЛ использует форматы фиг.8В или 8С, когда удовлетворяются следующие условия.
Во-первых, осуществляется запрос ретрансляции для всего блока.
Во-вторых, размер блока ретрансляции равен или меньше количества В байтов данных, которые можно передавать с форматом фиг.8В, то есть 20 байтов при установке 1 скорости передачи и 32 байта при установке 2 скорости передачи.
При ретранслировании блока с использованием формата фиг.8В или 8С контроллер 131 ПРЛ использует формат фиг.8В, если размер блока равен количеству В байтов данных, которые могут быть переданы с форматом фиг.8В, а в противном случае контроллер 131 ПРЛ использует формат фиг.8С.
При ретранслировании блока с использованием формата фиг.8В контроллер 131 ПРЛ вначале устанавливает поле ПН с 8 младшими разрядами порядкового номера блока В_SEQ части данных.
При ретранслировании блока с использованием формата фиг.8В контроллер 131 ПРЛ устанавливает поле ТИПА на '0' и поле REXMIT на '1', а затем заполняет поле ДАННЫХ данными ретрансляции.
При ретранслировании блока с использованием формата фиг.8С контроллер 131 ПРЛ вначале устанавливает поле ПН (SEQ) с 8 младшими разрядами порядкового номера блока B_SEQ части данных.
При ретранслировании блока с использованием формата фиг.8С контроллер 131 ПРЛ устанавливает поле ТИПА на '1', поле REXMIT на '1' и поле УПР на '001', заполняет поле ДАННЫХ данными ретрансляции, а затем заполняет поле ДЛИНЫ количеством байтов данных, заполненных в поле ДАННЫХ.
Когда вышеупомянутые условия не удовлетворяются, контроллер 131 ПРЛ использует формат фиг.8D или 8Е. Контроллер 131 ПРЛ может использовать формат фиг.8D, когда удовлетворяются следующие условия.
Во-первых, размер сегмента данных в блоке ретрансляции оказывается больше количества В байтов данных, которые могут быть переданы с форматом фиг. 8D, то есть 19 байтов или больше при установке 1 скорости передачи и 31 байта при установке 2 скорости передачи.
Во-вторых, порядковый номер данных D_SEQ первого байта данных сегмента данных в блоке ретрансляции является кратным количеству В байтов данных, которые могут быть переданы с форматом фиг.8D, то есть кратным 19 при установке 1 скорости передачи и кратным 31 при установке 2 скорости передачи.
При ретранслировании сегмента данных в блоке с использованием формата фиг. 8D контроллер 131 ПРЛ вначале устанавливает поле ПН с 8 младшими разрядами порядкового номера блока B_SEQ части данных. Далее, контроллер 131 ПРЛ устанавливает поле СЕГ с частным, определяемым посредством деления значения D_SEQ на количество В байтов данных, которые передаются с форматом фиг.8D.
При ретранслировании сегмента данных в блоке с использованием формата фиг.8D контроллер 131 ПРЛ устанавливает поле ТИПА на '1', поле REXMIT на '1' и поле УПР на '01', а затем заполняет поле ДАННЫХ данными ретрансляции.
При ретранслировании сегмента данных в блоке с использованием формата фиг. 8Е контроллер 131 ПРЛ вначале устанавливает поле ПН с 8 младшими разрядами порядкового номера блока B_SEQ части данных. Далее, контроллер 131 ПРЛ устанавливает поле СЕГ со значением D_SEQ.
При ретранслировании сегмента данных в блоке с использованием формата фиг.8Е контроллер 131 ПРЛ устанавливает поле ТИПА на '1', поле REXMIT на '1' и поле УПР на '1', заполняет поле ДАННЫХ данными ретрансляции и затем заполняет поле ДЛИНЫ количеством байтов данных, заполненных в поле ДАННЫХ.
При ретранслировании данных с использованием формата фиг.8D или 8Е контроллер 131 ПРЛ устанавливает поле КОНЦА, которое является индикатором конца блоком, на '1', если удовлетворяются нижеприведенные условия, а в противном случае устанавливает поле КОНЦА на '0'.
Во-первых, после передачи сегмент данных в блоке больше не имеет данных, которые еще не ретранслированы.
Во-вторых, значение, определяемое посредством добавления количества N передаваемых байтов данных к D_SEQ, не равно Nданных или кратному ему.
Контроллер 131 ПРЛ может передавать незанятый кадр в формате фиг.8F, когда контроллер 140 мультиплексирования/ демультиплексирования запрашивает блок данных, имеющий длину 16, 20 или 32 бита, и когда не имеется новых данных передачи или данных ретрансляции и здесь отсутствует кадр управления для передачи. Чтобы скомпоновать незанятый кадр, контроллер 131 ПРЛ заполняет поле ПН (SEQ) с 12 старшими разрядами регистра 132 L_V(S). Контроллер 131 ПРЛ передает блок данных, оставшаяся часть которого заполнена 0-ми, на контроллер 140 мультиплексирования/ демультиплексирования.
5. Функционирование контроллера ПРЛ при приеме данных по основному каналу
Контроллер 140 мультиплексирования/ демультиплексирования обеспечивает контроллер 131 ПРЛ блоком данных вместе с информацией о размере Т принятого блока данных.
После приема кадров СИНХ, СИНХ/ПОДТ и ПОДТ из кадров управления контроллер 131 ПРЛ выполняет процесс восстановления. После приема кадра НПП из кадра управления контроллер 131 ПРЛ анализирует кадр НПП в соответствии с таблицей 14, чтобы ретранслировать запрошенный блок или сегменты данных блока.
Контроллер 131 ПРЛ использует 21-разрядный регистр 136 L_V(R) порядкового номера, когда принимается новый кадр данных в форматах фиг.8В - 8Е. Контроллер 131 ПРЛ определяет 12 старших разрядов 21-разрядного значения из регистра 136 L_V(R) порядкового номера в качестве ожидающего передачи порядкового номера блока B_SEQR и 9 младших разрядов в качестве ожидающего передачи порядкового номера данных D_SEQR. Сначала контроллер 131 ПРЛ вычисляет порядковый номер блока В_SEQ, используя 8-разрядное поле SEQ (ПН) принятого кадра, и регистр 136 L_V(R), в соответствии с приведенным ниже уравнением 2.
[Уравнение 2]
B_ SEQ = [B_SEQR + {28 + SEQ - (B_SEQR по модулю 28)} по модулю 28] по модулю 212 (2)
После приема нового кадра данных в формате фиг.8В или 8С контроллер 131 ПРЛ определяет порядковый номер данных первого байта данных в принятом сегменте данных в виде '0'. После приема нового кадра данных в формате фиг. 8В или 8С контроллер 131 ПРЛ считает поле КОНЦА, которое является индикатором конца блока, как '1'.
После приема нового кадра данных в формате фиг.8D контроллер 131 ПРЛ определяет порядковый номер данных D_SEQ первого байта данных в принятом сегменте данных в виде значения, определяемого посредством умножения 5-разрядного значения поля СЕГ принятого кадра на количество В байтов данных, которые могут быть переданы форматом фиг.8D.
После приема нового кадра данных в формате фиг.8Е контроллер 131 ПРЛ определяет порядковый номер данных D_ SEQ первого байта данных в принятом сегменте данных в виде 9-разрядного значения СЕГ принятого кадра.
После приема нового кадра данных в формате фиг.8D или 8Е контроллер 131 ПРЛ определяет значение поля КОНЦА в виде 1-разрядного значения поля КОНЦА принятого кадра.
При приеме ретранслируемого кадра данных в формате фиг.8В-8Е контроллер 131 ПРЛ имеет перечень 137 НПП, показанный на фиг.4. Как установлено выше, каждые вводимые данные НПП в перечне 137 НПП, состоят из порядкового номера блока отсутствующего байта данных, порядкового номера данных отсутствующего байта данных, индикатора, указывающего, принят ли отсутствующий байт данных, таймера ретрансляции и таймера прерывания. Контроллер 131 ПРЛ обнаруживает вводимые данные НПП, причем 8 младших разрядов 12-разрядного значения порядкового номера блока совместимы со значением, заполненным в 8-разрядном поле ПН принятого ретранслируемого кадра. Если обнаруживаются вводимые данные НПП, контроллер 131 ПРЛ определяет порядковый номер блока В_SEQ, запомненный во вводимых данных НПП, в качестве порядкового номера блока принятого сегмента данных. В противном случае, если вводимые данные НПП не обнаружены, контроллер 131 ПРЛ отбрасывает принятый кадр.
После приема ретранслируемого кадра данных в формате фиг.8В или 8С контроллер 131 ПРЛ определяет порядковый номер данных D_SEQ первого байта данных в принятом сегменте данных в виде '0'.
После приема ретранслируемого кадра данных в формате фиг.8В или 8С контроллер 131 ПРЛ определяет значение поля КОНЦА в виде '1'.
После приема ретранслируемого кадра данных в формате фиг.8D контроллер 131 ПРЛ определяет порядковый номер данных D_SEQ первого байта данных в принятом сегменте данных в виде значения, определяемого посредством умножения 5-разрядного значения поля СЕГ принятого кадра на количество В байтов данных, которые можно передать в формате фиг.8D.
После приема ретранслируемого кадра данных в формате фиг.8Е контроллер 131 ПРЛ определяет порядковый номер данных D_SEQ первого байта данных в принятом сегменте данных в виде 9-разрядного значения поля СЕГ принятого кадра.
После приема ретранслируемого кадра данных в формате фиг.8D или 8Е контроллер 131 ПРЛ определяет значение поля КОНЦА в виде 1-разрядного значения поля КОНЦА принятого кадра.
После приема форматов, показанных на фиг.8В-8Е, контроллер 131 ПРЛ устанавливает порядковый номер данных первого байта данных в принятом сегменте данных на значение поля D_SEQ, определяемое в вышеупомянутом процессе. После определения порядкового номера блока B_SEQ и порядкового номера данных D_SEQ первого байта данных в принятом сегменте данных, контроллер 131 ПРЛ вычисляет порядковые номера оставшихся байтов данных, используя уравнение 1.
Контроллер 131 ПРЛ использует регистр 135 L_V(N), который является 21-разрядным регистром порядкового номера, при обработке байтов данных в принятом сегменте данных. Контроллер 131 ПРЛ определяет 12 старших разрядов 21-разрядного значения из регистра 135 L_V(N) порядковых номеров в качестве ожидающего ретрансляции порядкового номера блока B_SEQN, и определяет 9 младших разрядов в качестве ожидающего ретрансляции порядкового номера данных D_ SEQN. Контроллер 131 ПРЛ делает выбор порядковых номеров блоков и порядковых номеров данных соответствующих байтов данных в принятом сегменте данных на основании таблицы 17.
Контроллер 131 ПРЛ сравнивает пару <В, D> порядкового номера блока и порядкового номера данных каждого байта данных в принятом сегменте данных с <B_ SEQR, D_SEQR> и <B_SEQN, D_SEQN>, используя таблицу 17, следующим образом. Здесь SEQR является 21-разрядным значением порядкового номера, запомненным в регистре 136 L_V(R), который запоминает следующие ожидаемые порядковые номера блоков и порядковые номера данных: B_SEQR является порядковым номером из 12 старших разрядов SEQR, a D_SEQR является порядковым номером из 9 младших разрядов SEQR. SEQN является 21-разрядным значением порядкового номера, запомненного в регистре 135 L_V(N), запоминающем порядковые номера блоков и порядковые номера данных, которые сначала должны ретранслироваться: B_SEQN представляет порядковый номер из 12 старших разрядов SEQN, a D_SEQN - порядковый номер из 9 младших разрядов SEQN.
Во-первых, если <В, D> равна <B_SEQN, D_SEQN> или больше ее и меньше, чем <B_ SEQR, D_ SEQR>, то контроллер 131 ПРЛ считает это ретранслируемыми данными.
Во-вторых, если <В, D> равна или больше, чем <В_SEQR, D_SEQR>, а значение В меньше, чем значение, определяемое посредством выполнения по модулю 28 действия на значении, определяемом посредством добавления В_SEQR к Е-регистру 134, контроллер 131 ПРЛ считает это новыми данными.
В-третьих, если <В, D> равна или больше значения, определяемого посредством выполнения по модулю 28 действия на значении, определяемом посредством прибавления <В_SEQR, D_SEQR> к Е-регистру 134, контроллер 131 ПРЛ считает это дублированными данными.
Контроллер 131 ПРЛ отбрасывает байт данных, считающихся дублированными данными, так как они являются ранее принятыми данными.
Если принятый байт данных считается новым байтом данных или ретранслированным байтом данных, контроллер 131 ПРЛ выполняет следующие действия.
Во-первых, если <В, D> принятого байта данных больше или равна <B_SEQN, D_ SEQN> и меньше, чем <B_SEQR, D_SEQR>, контроллер 131 ПРЛ создает вводимые данные буферного устройства переупорядочения, состоящие из порядкового номера блока принятого байта данных, порядкового номера данных принятого байта данных, принятого байта данных и индикатора, указывающего, является ли принятый байт данных последним байтом данных в блоке и запоминает принятый байт данных в буферном устройстве 138 перегруппирования. Индикатор, указывающий, является ли принятый байт данных последним байтом данных в блоке, устанавливается так, чтобы указать 'ПОСЛЕДНИЙ', когда байт данных является последним байтом данных принятого сегмента данных, и значение КОНЦА устанавливается на '1'. На этой стадии, если <В, D> равна <В_SEQN, D_SEQN>, контроллер 131 ПРЛ последовательно передает на буферное устройство данных приема запомненные байты данных со входа буферного устройства переупорядочения, имеющего порядковый номер <B_SEQN, D_SEQN>, и на вход буферного устройства переупорядочения, имеющего порядковый номер, который можно последовательно передавать из вводимых данных буферного устройства переупорядочения, запомненных в буферном устройстве 138 перегруппирования. Если индикатор, указывающий, является ли последним байтом данных блока принятый байт данных вводимых данных буферного устройства переупорядочения, которому принадлежит последний переданный байт данных, устанавливается на значение, указывающее последний байт данных, контроллер 131 ПРЛ устанавливает 12 старших разрядов регистра 135 L_ V(N) на следующий порядковый номер блока порядкового номера блока, запомненного во вводимых данных буферного устройства переупорядочения, и устанавливает 9 младших разрядов на '0'. В противном случае, если индикатор не устанавливается, чтобы указывать последний байт, контроллер 131 ПРЛ устанавливает <B_SEQN, D_SEQN>, чтобы указать следующий байт данных последнего переданного байта данных, используя таблицу 1, и затем устанавливает 12 старших разрядов и 9 младших разрядов регистра 135 L_V(N) на значение В_SEQN и значение D_SEQN соответственно. Контроллер 131 ПРЛ регистрирует то, что ожидаемый кадр данных принимается во вводимых данных НПП, имеющих такие же порядковый номер блока и порядковый номер данных, как и порядковые номера принятого байта данных.
Во-вторых, если <В, D> принятого байта данных равна <B_SEQR, D_SEQR>, a <B_SEQR, D_SEQR> равна <B_SEQN, D_SEQN>, то контроллер 131 ПРЛ увеличивает и <B_ SEQR, D_ SEQR>, и <В_SEQN, D_SEQN>, чтобы указать следующий байт, используя уравнение 1. В этих условиях, если байт данных является последним байтом данных принятого сегмента данных и значение КОНЦА установлено на '1', то контроллер 131 ПРЛ устанавливает 12 старших разрядов регистра 135 L_V(N) на следующий порядковый номер блока значения B_SEQN, a 9 младших разрядов на '0', и точно так же устанавливает 12 старших разрядов регистра 136 L_V(R) на следующий порядковый номер блока значения В_SEQR, a 9 младших разрядов на '0'. В противном случае контроллер 131 ПРЛ устанавливает 12 старших разрядов и 9 младших разрядов регистра 135 L_V(N) на значение B_SEQN и значение D_SEQN соответственно и устанавливает 12 старших разрядов и 9 младших разрядов регистра 136 L_V(R) на значение B_SEQR и значение D_SEQR соответственно. Контроллер 131 ПРЛ подает принятый байт данных на буферное устройство данных приема.
В-третьих, если <В, D> принятого байта данных равна <B_SEQR, D_SEQR>, a <B_ SEQR, D_SEQR> не равна <B_SEQN, D_SEQN>, то контроллер 131 ПРЛ увеличивает <B_SEQR, D_SEQR>, чтобы показать следующий байт, используя уравнение 1. В этом состоянии, если байт данных является последним байтом данных принятого сегмента данных, а значение КОНЦА установлено на '1', то контроллер 131 ПРЛ устанавливает 12 старших разрядов регистра 136 L_V(R) на следующий порядковый номер блока значения В_SEQR, а 9 младших разрядов на '0'. В противном случае контроллер 131 ПРЛ устанавливает 12 старших разрядов и 9 младших разрядов регистра 136 L_ V(R) на значение B_SEQR и значение D_SEQR соответственно. В этом состоянии контроллер 131 ПРЛ направляет принятый байт данных во вводимые данные буферного устройства переупорядочения, состоящие из порядкового номера блока принятого байта данных, порядкового номера данных принятого байта данных, принятого байта данных, и индикатора, показывающего, является ли принятый байт данных последним байтом данных в блоке, и запоминает принятый байт данных в буферном устройстве 138 перегруппирования. Индикатор, указывающий, является ли принятый байт данных последним байтом данных в блоке, устанавливается на показание 'ПОСЛЕДНИЙ', когда байт данных представляет последний байт данных принятого сегмента данных и значение КОНЦА устанавливается на '1'.
В-четвертых, если <В, D> принятого байта данных больше, чем <B_SEQR, D_ SEQR>, то контроллер 131 ПРЛ создает вводимые данные для каждого байта данных в перечне 137 НПП, чтобы запросить ретрансляцию байтов данных <B_SEQR, D_ SEQR> для предыдущего байта данных <В, D>. Как установлено выше, каждые вводимые данные состоят из порядкового номера блока отсутствующего байта данных, порядкового номера данных отсутствующего байта данных, индикатора, указывающего, принят ли отсутствующий байт данных, таймера ретрансляции и таймера прерывания. Далее, контроллер 131 ПРЛ запоминает принятый байт данных в буферном устройстве 138 перегруппирования и увеличивает <B_SEQR, D_ SEQR>, чтобы указать следующий байт данных, используя уравнение 1. Если байт данных представляет
собой последний байт данных принятого сегмента данных и значение КОНЦА установлено на '1', контроллер 131 ПРЛ устанавливает 12 старших разрядов регистра 136 L_V(R) на следующий порядковый номер блока значения B_SEQR. и устанавливает 9 младших разрядов на '0'. В противном случае контроллер 131 ПРЛ устанавливает 12 старших разрядов и 9 младших разрядов регистра 136 L_ V(R) на значение B_SEQR и значение D_SEQR соответственно.
Между тем, после приема незанятого кадра в формате фиг.8F контроллер 131 ПРЛ устанавливает порядковый номер блока B_SEQ на 12-разрядное значение поля SEQ и устанавливает порядковый номер данных D_SEQ на '0'. Если <B_SEQ, D_ SEQ> принятого незанятого кадра больше, чем <B_SEQR, D_SEQR>, то контроллер 131 ПРЛ создает вводимые данные для каждого байта данных в перечне 137 НПП с целью запроса ретрансляции предшествующих байтов данных <В_SEQR, D_SEQR> для предшествующего байта данных <B_SEQ, D_SEQ>. Как установлено выше, каждые вводимые данные содержат порядковый номер блока отсутствующего байта данных, порядковый номер данных отсутствующего байта данных, индикатор, указывающий, принят ли отсутствующий байт данных, таймер ретрансляции и таймер прерывания. Далее, контроллер 131 ПРЛ устанавливает 12 старших разрядов регистра 136 L_ V(R) на следующий порядковый номер блока значения В_SEQR и устанавливает 9 младших разрядов на '0'. Если <В_SEQ, D_SEQ> принятого незанятого кадра меньше, чем <B_SEQR, D_SEQR>, то контроллер 131 ПРЛ выполняет процесс восстановления.
Если контроллер 131 ПРЛ информирован контроллером 140 мультиплексирования/ демультиплексирования, что принят поврежденный блок данных, контроллер 131 ПРЛ увеличивает значение, запомненное в Е-регистре 134, на один и запоминает получающееся значение в Е-регистре 134. Если значение, определяемое посредством выполнения действия по модулю 28 на значении, определяемом посредством добавления увеличенного значения Е-регистра 134 к значению В_SEQR, больше, чем значение B_SEQN, контроллер 131 ПРЛ выполняет процесс восстановления.
Если имеется какой-либо блок данных, который принят правильно и не является пустым блоком данных или если контроллер 131 ПРЛ информирован контроллером 140 мультиплексирования/ демультиплексирования, что кадр не принят, контроллер 131 ПРЛ устанавливает Е-регистр 134 на '0'.
6. Функционирование контроллера ПРЛ при передаче данных по дополнительному каналу
Контроллер 140 мультиплексирования/ демультиплексирования передающей стороны посылает запрос по дополнительному каналу на контроллер ПРЛ 131 в отношении подлежащего передаче блока данных, чтобы контроллер 131 ПРЛ создал кадр. Контроллер 140 мультиплексирования/ демультиплексирования передающей стороны также посылает на контроллер ПРЛ 131 информацию Т о размере блока данных, который должен создать контроллер 131 ПРЛ.
Контроллер 131 ПРЛ создает блок данных, подлежащий передаче по дополнительному каналу согласно следующему порядку приоритета.
1. Кадр данных ретрансляции.
2. Кадр данных.
Контроллер 131 ПРЛ создает новый кадр данных, подлежащих передаче по дополнительному каналу, следующим образом.
Когда вначале создается блок данных, или когда переданы все байты данных в ранее определенном блоке, контроллер 131 ПРЛ определяет новый блок для оставшихся данных потока данных. Здесь, как и в основном канале, способ определения нового блока будет разделен на режим А и режим В. В режиме А новый блок определяется так, чтобы он имел сегменты данных такого большого размера данных, который может быть заполнен в блоке данных, запрашиваемом контроллером 140 мультиплексирования/ демультиплексирования. В режиме В новый блок определяется так, чтобы он всегда имел Nданных байтов, независимо от размера блока данных, запрашиваемого контроллером 140 мультиплексирования/ демультиплексирования. При определении нового блока контроллер 131 ПРЛ может выбирать режим А или режим В.
На фиг. 9А и 9В показаны форматы кадров, которые могут быть переданы по дополнительному каналу в режимах А и В. Новый кадр данных, созданный в режиме В, может иметь формат фиг.9А. Новый кадр данных, созданный в режиме А, может иметь формат фиг.9В. При создании кадра ПРЛ дополнительного канала, заполненного новым кадром данных, контроллер 131 ПРЛ использует 21-разрядный регистр 132 L_ V(S) порядкового номера. Контроллер 131 ПРЛ определяет 12 старших разрядов 21-разрядного значения из регистра 132 L_V(S) порядкового номера как порядковый номер блока В_SEQ и определяет 9 младших разрядов в качестве порядкового номера данных D_SEQ.
Как показано на фиг.9А, кадр данных, который может быть передан по дополнительному каналу, состоит из 1-разрядного поля ТИПА, 1-разрядного поля REXMIT (индикатора ретрансляции), 8-разрядного поля SEQ (порядкового номера) и поля ДАННЫХ.
Как показано на фиг.9В, кадр данных, который может быть передан по дополнительному каналу, состоит из 1-разрядного поля ТИПА, 1-разрядного поля REXMIT, 9-разрядного поля СЕГ (порядкового номера данных), 1-разрядного поля КОНЦА (индикатора конца блока), 6-разрядного поля RSVD (резервного), 8-разрядного поля ПН (SEQ) и поля ДАННЫХ.
Если определяемое значение D SEQ не является '0', контроллер 131 ПРЛ решает, что блок имеет часть данных, которые еще не были переданы. То есть контроллер 131 ПРЛ решает, что должны быть переданы байты данных с порядковыми номерами данных D SEQ - (Nданных-1) в блоке, соответствующем порядковому номеру блока B_SEQ. Следовательно, контроллер 131 ПРЛ использует формат фиг.9В для передачи сегментов данных.
При передаче новых данных, используя формат фиг.9В, контроллер 131 ПРЛ устанавливает поле ПН с 8 младшими разрядами порядкового номера блока B_SEQ части данных. Далее, контроллер 131 ПРЛ устанавливает поле СЕГ на значение D_SEQ.
При передаче новых данных, используя формат фиг.9В, контроллер 131 ПРЛ устанавливает поле ТИПА на '1' и поле REXMIT на '0', а затем заполняет поле ДАННЫХ данными ретрансляции.
При передаче новых данных, используя формат фиг.9В, контроллер 131 ПРЛ устанавливает поле КОНЦА, которое является индикатором конца блока, на '1', если удовлетворяются нижеприведенные условия, а в противном случае устанавливается поле КОНЦА на '0'.
Во-первых, после передачи, здесь в потоке данных больше не остается данных передачи.
Во-вторых, значение, определяемое посредством прибавления количества N передаваемых байтов данных к значению D_SEQ, не равно Nданных или кратному ему.
После передачи новых данных, контроллер 131 ПРЛ корректирует регистр 132 L_V(S). Если размер переданных новых данных составляет N, контроллер 131 ПРЛ добавляет значение N к значению регистра 132 L_V(S) следующим образом.
Во-первых, когда поле КОНЦА, которое представляет индикатор конца блока, устанавливается на '0' в вышеупомянутом процессе, если размер переданных новых данных составляет N, контроллер 131 ПРЛ добавляет значение N к регистру 132 L_V(S).
Во-вторых, когда поле КОНЦА, которое представляет индикатор конца блока, устанавливается на '1' в вышеупомянутом процессе, контроллер 131 ПРЛ добавляет '1' к значению старших 12 разрядов регистра 132 L_V(S) и устанавливает значение младших 9 разрядов регистра 132 L_V(S) на '0'.
Если значение D_SEQ представляет 0, контроллер 131 ПРЛ определяет новый блок. Как установлено выше, это действие выполняется по-разному в режиме А и режиме В. Если контроллер 131 ПРЛ определяет новый блок, соответствующий режиму В, контроллер 131 ПРЛ будет оперировать следующим образом.
В режиме В контроллер 131 ПРЛ определяет размер нового блока в виде минимального значения М из количества байтов данных, которые могут передаваться форматом фиг.9А, то есть из количества байтов данных в потоке данных, которые еще не были переданы.
При передаче новых данных, используя формат фиг.9А, контроллер 131 ПРЛ вначале устанавливает поле SEQ (ПН) с 8 младшими разрядами порядкового номера блока B_SEQ части данных. Так как данные, передаваемые форматом фиг.9А, всегда начинаются от порядкового номера данных 0 и имеют размер меньше, чем Nданных, индикатор конца блока всегда устанавливается на '1'. Следовательно, хотя формат фиг. 9А не содержит порядковый номер данных и индикатор конца блока, контроллер ПРЛ приемной стороны распознает порядковый номер данных как '0' и индикатор конца блока как '1' после приема формата фиг.9А.
При передаче новых данных, используя формат фиг.9А, контроллер 131 ПРЛ устанавливает поле ТИПА на '0', поле REXMIT, которое является индикатором ретрансляции, на '0', а затем заполняет поле ДАННЫХ данными передачи.
После передачи новых данных контроллер 131 ПРЛ корректирует регистр 132 L_ V(S) следующим образом. Контроллер 131 ПРЛ добавляет значение Nданных к значению регистра 132 L_V(S).
Если контроллер 131 ПРЛ определяет новый блок согласно режиму В, контроллер 131 ПРЛ действует следующим образом. В режиме В контроллер 131 ПРЛ определяет размер нового блока в качестве минимального значения М из байтов Nданных и количества байтов данных в потоке данных, которые еще не были переданы. После определения размера нового блока контроллер 131 ПРЛ определяет новый блок как имеющий данные с размером до размера блока, определяемого из байтов данных в потоке данных, которые еще не переданы. После определения нового блока контроллер 131 ПРЛ выполняет процедуру передачи оставшейся части блока, как описано выше.
Контроллер 131 ПРЛ запоминает вновь определенные блоки в буферном устройстве 133 прямого переупорядочения, подготавливая для запроса ретрансляции от приемной стороны.
Контроллер 131 ПРЛ может использовать формат фиг.9А или 9В при передаче кадра данных ретрансляции. Контроллер 131 ПРЛ использует формат фиг.9А, когда удовлетворяются следующие условия.
Во-первых, запрос ретрансляции осуществляется для целого блока.
Во-вторых, размер блока ретрансляции равен или меньше количества В байтов данных, которые могут быть переданы форматом фиг.9А, то есть значение, определяемое посредством вычитания 10 битов заголовка ПРЛ из размера Т блока данных, запрашиваемого контроллером 140 мультиплексирования/ демультиплексирования.
При ретрансляции блока, используя формат фиг.9А, контроллер 131 ПРЛ вначале устанавливает поле SEQ с 8 младшими битами порядкового номера блока В SEQ части данных. При ретрансляции блока, используя формат фиг.9А, контроллер 131 ПРЛ устанавливает поле ТИПА на '0' и поле REXMIT на '1', а затем заполняет поле ДАННЫХ данными ретрансляции. Контроллер 131 ПРЛ использует формат фиг.9В, когда вышеупомянутые условия не удовлетворяются.
При ретрансляции сегмента данных в блоке, используя формат фиг.9В, контроллер 131 ПРЛ вначале устанавливает поле SEQ с 8 младшими разрядами порядкового номера блока B_SEQ части данных. Далее, контроллер 131 ПРЛ устанавливает поле СЕГ со значением D_SEQ.
При ретрансляции данных, используя формат фиг.9В, контроллер 131 ПРЛ устанавливает поле ТИПА на '1' и поле REXMIT на '1', а затем заполняет поле ДАННЫХ данными ретрансляции.
При ретрансляции данных, используя формат фиг.9В, контроллер 131 ПРЛ устанавливает поле КОНЦА на '1', если удовлетворяются нижеприведенные условия, а в противном случае устанавливает поле КОНЦА на '0'.
Во-первых, после передачи, сегмент данных в блоке больше не имеет данных, которые еще не ретранслированы.
Во-вторых, значение, определяемое посредством прибавления номера N передаваемых байтов данных к D_SEQ, не равно Nданных или кратному ему.
Контроллер 131 ПРЛ передает пустой блок данных на контроллер 140 мультиплексирования/ демультиплексирования, когда отсутствуют новые данные, данные ретрансляции или кадр управления, подлежащие передаче.
7. Функционирование контроллера ПРЛ при приеме данных по дополнительному каналу (ДК)
Контроллер 140 мультиплексирования/ демультиплексирования обеспечивает контроллер 131 ПРЛ блоком данных вместе с информацией о размере Т принятого блока данных.
Когда он принимает новый кадр данных в формате фиг.9А или 9В, контроллер 131 ПРЛ использует 21-разрядный регистр 136 L_V(R) порядкового номера. Контроллер 131 ПРЛ определяет 12 старших разрядов 21-разрядного значения из регистра 136 L_V(R) порядкового номера в качестве порядкового номера блока В SEQR, ожидающего передачи, и 9 младших разрядов в качестве порядкового номера данных D_SEQR, ожидающих передачи. Сначала контроллер 131 ПРЛ вычисляет порядковый номер блока B_SEQ, используя 8-разрядное поле SEQ (ПН) принятого кадра и регистр 136 L_V(R), в соответствии с уравнением 2.
После приема кадра новых данных в формате фиг.9А контроллер 131 ПРЛ определяет порядковый номер данных D_SEQ первого байта данных в принятом сегменте данных в виде '0'. После приема кадра новых данных в формате фиг.9А контроллер 131 ПРЛ устанавливает поле КОНЦА, которое является индикатором конца блока, на '1'.
После приема кадра новых данных в формате фиг.9В контроллер 131 ПРЛ определяет порядковый номер данных D_SEQ первого байта данных в принятом сегменте данных в виде 9-разрядного значения поля СЕГ принятого кадра. После приема нового кадра данных в формате фиг.9В контроллер 131 ПРЛ определяет значение поля КОНЦА, как 1-разрядного значения поля КОНЦА принятого кадра.
После приема ретранслируемого кадра данных в формате фиг.9А или 9В контроллер 131 ПРЛ должен иметь перечень 137 НПП, как в основном канале. Контроллер 131 ПРЛ обнаруживает вводимые данные НПП, причем 8 младших разрядов 12-разрядного значения порядкового номера блока совместимы со значением, заполненным в 8-разрядном поле SEQ принятого ретранслированного кадра. Если имеются обнаруженные вводимые данные НПП, контроллер 131 ПРЛ определяет порядковый номер блока B_SEQ, запомненного во вводимых данных НПП в качестве порядкового номера блока принятого сегмента данных. В противном случае, если не обнаружены вводимые данные НПП, контроллер 131 ПРЛ отбрасывает принятый кадр.
После приема ретранслируемого кадра данных в формате фиг.9А контроллер 131 ПРЛ определяет порядковый номер данных D_SEQ первого байта данных в принятом сегменте данных в виде '0'. После приема ретранслируемого кадра в формате фиг.9А контроллер 131 ПРЛ определяет значение поля КОНЦА а виде '1'.
После приема ретранслируемого кадра данных в формате фиг.9В контроллер 131 ПРЛ определяет порядковый номер данных D_SEQ первого байта данных в принятом сегменте данных в виде 9-разрядного значения поля СЕГ принятого кадра. После приема ретранслируемого кадра данных в формате фиг.9В контроллер 131 ПРЛ определяет значение поля КОНЦА в виде 1-разрядного значения поля КОНЦА принятого кадра.
После приема форматов, показанных в фиг.9А или 9В, контроллер 131 ПРЛ устанавливает порядковый номер данных первого байта данных в принятом сегменте данных на значение поля D_SEQ, определяемое в вышеупомянутом процессе. После определения порядкового номера блока В_SEQ и порядкового номера данных D_ SEQ первого байта данных в принятом сегменте данных контроллер 131 ПРЛ вычисляет порядковые номера оставшихся байтов данных, используя уравнение 1.
Контроллер 131 ПРЛ использует регистр 135 L_V(N), который является 21-разрядным регистром порядкового номера, при обработке байтов данных в принятом сегменте данных. Контроллер 131 ПРЛ определяет 12 старших разрядов 21-разрядного значения из регистра 135 L_V(N) порядкового номера в качестве порядкового номера блока B_ SEQN, ожидающего ретрансляцию, и определяет 9 младших разрядов в качестве порядкового номера данных D_SEQN, ожидающих ретрансляцию. Контроллер 131 ПРЛ выбирает порядковые номера блоков и порядковые номера данных соответственных байтов данных в принятом сегменте данных на основании таблицы 17.
Контроллер 131 ПРЛ сравнивает пару <В, D> порядкового номера блока и порядкового номера данных каждого байта данных в принятом сегменте данных с <B_ SEQR, D_SEQR> и <B_SEQN, D_SEQN>, используя таблицу 17, следующим образом.
Во-первых, если <В, D> равна или больше, чем <B_SEQN, D_SEQN>, и меньше, чем <B_SEQR, D_SEQR>, контроллер 131 ПРЛ считает это ретранслированными данными.
Во-вторых, если <В, D> равна или больше, чем <B_SEQR, D_SEQR> и значение В меньше, чем значение, определяемое посредством действия по модулю 28 на значении, определяемом посредством добавления B_SEQR к Е-регистру 134, контроллер 131 ПРЛ рассматривает это как новые данные.
В-третьих, если <В, D> равна или больше значения, определяемого посредством действия по модулю 28 на значении, определяемом посредством добавления <B_ SEQR, D_SEQR> к Е-регистру 134, контроллер 131 ПРЛ считает это дублированными данными.
Контроллер 131 ПРЛ отбрасывает байт данных, считающихся дублированными данными, так как они являются ранее принятыми данными.
Если принятый байт данных рассматривается как новый байт данных или ретранслированный байт данных, контроллер 131 ПРЛ выполняет следующие действия.
Во-первых, если <В, D> принятого байта данных больше или равна <B_SEQN, D_ SEQN> и меньше <B_ SEQR, D_SEQR>, контроллер 131 ПРЛ создает вводимые данные буферного устройства переупорядочения, состоящие из порядкового номера блока принятого байта данных, порядкового номера данных принятого байта данных, принятого байта данных, и индикатора, указывающего, является ли принятый байт данных последним байтом данных в блоке, и запоминает принятый байт данных в буферном устройстве 138 перегруппирования. Индикатор, указывающий, является ли принятый байт данных последним байтом данных в блоке, устанавливается на указание 'ПОСЛЕДНИЙ', когда байт данных является последним байтом данных принятого сегмента данных и значение КОНЦА устанавливается на '1'. В этом состоянии, если <В, D> равна <B_SEQN, D_SEQN>, контроллер 131 ПРЛ последовательно передает на буферное устройство данных приема запомненные байты данных из вводимых данных буферного устройства переупорядочения, имеющих порядковый номер <B_SEQN, D_SEQN>, во вводимые данные буферного устройства переупорядочения, имеющие порядковый номер, который можно последовательно передавать из вводимых данных буферного устройства переупорядочения, запомненных в буферном устройстве 138 перегруппирования. Если индикатор, указывающий, является ли байт вводимых данных буферного устройства переупорядочения, которому принадлежит последний переданный байт данных, последним байтом данных блока, устанавливается на значение, указывающее последний байт, контроллер 131 ПРЛ устанавливает 12 старших разрядов регистра 135 L_ V(N) на следующий порядковый номер блока порядкового номера блока, запомненного во вводимых данных буферного устройства переупорядочения, и устанавливает 9 младших разрядов на '0'. В противном случае, если индикатор не установлен на индикацию последнего байта, контроллер 131 ПРЛ устанавливает <B_ SEQN, D_ SEQN>, чтобы указать следующий байт данных последнего переданного байта данных, используя таблицу 1, и затем устанавливает 12 старших разрядов и 9 младших разрядов регистра 135 L_V(N) на значение В_SEQN и значение D_SEQN соответственно. Контроллер 131 ПРЛ регистрирует то, что ожидаемый блок данных принят во вводимых данных НПП, имеющих такие же порядковый номер блока и порядковый номер данных, как и порядковые номера принятого байта данных.
Во-вторых, если <В, D> принятого байта данных равна <B_SEQR, D_SEQR>, a <B_ SEQR, D_ SEQR> равна <B_SEQN, D_SEQN>, контроллер 131 ПРЛ увеличивает и <B_SEQR, D_SEQR>, и <B_SEQN, D SEQN>, чтобы указать следующий байт, используя уравнение 1.
В этом состоянии, если байт данных является последним байтом данных принятого сегмента данных и значение КОНЦА устанавливается на '1', контроллер 131 ПРЛ устанавливает 12 старших разрядов регистра 135 L_V(N) на порядковый номер следующего блока значения B_SEQN и 9 младших битов на '0', и точно так же устанавливает 12 старших разрядов регистра 136 L_V(R) на порядковый номер следующего блока значения В_SEQR и 9 младших разрядов на '0'. В противном случае контроллер 131 ПРЛ устанавливает 12 старших разрядов и 9 младших разрядов регистра 135 L_V(N) на значение B_SEQN и значение D_SEQN соответственно и устанавливает 12 старших разрядов и 9 младших разрядов регистра 136 L_ V(R) на значение B_SEQR и значение D_SEQR соответственно. Контроллер 131 ПРЛ передает принятый байт данных на буферное устройство данных приема.
В-третьих, если <В, D> принятого байта данных равна <B_SEQR, D_SEQR>, a <B_ SEQR, D_SEQR> не равна <B_SEQN, D_SEQN>, контроллер 131 ПРЛ увеличивает <B_ SEQR, D_ SEQR>, чтобы указать следующий байт, используя уравнение 1. В этом положении, если байт данных является последним байтом данных принятого сегмента данных и значение КОНЦА устанавливается на '1', контроллер 131 ПРЛ устанавливает 12 старших разрядов регистра 136 L_V(R) на порядковый номер следующего блока значения В_SEQR и 9 младших разрядов на '0'. В противном случае контроллер 131 ПРЛ устанавливает 12 старших разрядов и 9 младших разрядов регистра 136 L_ V(R) на значение B_SEQR и значение D_SEQR соответственно. В этом положении контроллер 131 ПРЛ создает принятый байт данных во вводимых данных буферного устройства переупорядочения, состоящих из порядкового номера блока принятого байта данных, порядкового номера данных принятого байта данных, принятого байта данных и индикатора, указывающего, является ли принятый байт данных последним байтом данных в блоке и запоминает принятый байт данных в буферном устройстве 138 перегруппирования. Индикатор, указывающий, является ли принятый байт данных последним байтом данных в блоке, устанавливается для указания 'ПОСЛЕДНИЙ', когда байт данных является последним байтом данных принятого сегмента данных, и значение КОНЦА установлено на '1'.
В-четвертых, если <В, D> принятого байта данных больше, чем <B_SEQR, D_ SEQR>, контроллер 131 ПРЛ создает вводимые данные для каждого байта данных в перечне 137 НПП, чтобы запросить ретрансляцию байтов данных <В_SEQR, D_SEQR> для предшествующего байта данных <В, D>. Как установлено выше, каждые вводимые данные состоят из порядкового номера блока отсутствующего байта данных, порядкового номера данных отсутствующего байта данных, индикатора, указывающего, принят ли отсутствующий байт данных, таймера ретрансляции и таймера прерывания. Далее, контроллер 131 ПРЛ запоминает принятый байт данных в буферном устройстве 138 перегруппирования и увеличивает <В_SEQR, D_SEQR>, чтобы указать следующий байт данных, используя уравнение 1. Если байт данных является последним байтом данных принятого сегмента данных и значение КОНЦА устанавливается на '1', контроллер 131 ПРЛ устанавливает 12 старших разрядов регистра 136 L_ V(R) на следующий порядковый номер блока значения B_SEQR и устанавливает 9 младших разрядов на '0'. В противном случае контроллер 131 ПРЛ устанавливает 12 старших разрядов и 9 младших разрядов регистра 136 L_ V(R) на значение B_SEQR и значение D_SEQR соответственно.
Если контроллер 140 мультиплексирования/ демультиплексирования информирует, что принят поврежденный блок данных, контроллер 131 ПРЛ увеличивает значение, запомненное в Е-регистре 134 на единицу, и запоминает получающееся значение в Е-регистре 134. Если значение, определяемое посредством выполнения по модулю действия 212 на значении, определяемом посредством добавления увеличенного значения Е-регистра 134 к значению В_SEQR, оказывается больше, чем значение B_SEQN, контроллер 131 ПРЛ выполняет процесс восстановления.
Если имеется какой-либо блок данных, который принят и не является пустым блоком данных, или если контроллер 140 мультиплексирования/ демультиплексирования информирует, что кадр не принят, контроллер 131 ПРЛ устанавливает Е-регистр 134 на '0'.
8. Функционирование контроллера ПРЛ после приема данных
После обработки всех принятых кадров контроллер 131 ПРЛ выполняет следующее действие. Если принятый блок данных включает в себя новый кадр данных или кадр не принят из контроллера ПРЛ приемной стороны, контроллер 131 ПРЛ выполняет следующие процессы на вводимых данных НПП в перечне 137 НПП в порядке старшинства вводимых данных.
Во-первых, если время таймера прерывания еще не кончилось и порядковый номер, включенный во вводимые данные НПП, был передан три раза, контроллер 131 ПРЛ уменьшает значение таймера прерывания на единицу. Если значение таймера прерывания становится равным '0', контроллер 131 ПРЛ выполняет следующее действие. Если контроллер 131 ПРЛ принял ретранслируемый байт данных, соответствующий порядковому номеру, который вводимые данные НПП уже имеют, контроллер 131 ПРЛ отбрасывает вводимые данные НПП. В противном случае, если контроллер 131 ПРЛ не принял ретранслируемый байт данных, соответствующий порядковому номеру, который вводимые данные НПП уже имеют, контроллер 131 ПРЛ последовательно передает принятые байты данных, которые больше порядкового номера блока и порядкового номера данных перечня НПП, запомненные в буферном устройстве 138 перегруппирования, и может последовательно передавать на канальный протокол верхнего уровня, считая, что байт данных, соответствующий порядковому номеру вводимых данных НПП не принят. Затем контроллер 131 ПРЛ удаляет вводимые данные НПП. Контроллер 131 ПРЛ устанавливает регистр 135 L_V(N) на порядковый номер байта данных, подлежащего приему следующим.
Во-вторых, если время таймера прерывания еще не окончено и порядковый номер, который имеют вводимые данные НПП, был включен в НПП, который уже передан два раза, контроллер 131 ПРЛ уменьшает значение таймера прерывания на единицу. Если значение таймера прерывания становится равным '0', контроллер 131 ПРЛ выполняет следующее действие. Если контроллер 131 ПРЛ принял ретранслированный байт данных, соответствующий порядковому номеру, который вводимые данные НПП уже имеют, контроллер 131 ПРЛ отбрасывает вводимые данные НПП и устанавливает регистр 135 L_V(N) на порядковый номер кадра данных, подлежащего приему следующим. В противном случае, если контроллер 131 ПРЛ не смог принять байт данных, контроллер 131 ПРЛ устанавливает таймер прерывания вводимых данных НПП на нужное значение. Контроллер 131 ПРЛ включает в себя порядковый номер блока и порядковый номер данных НПП, вводимых в трех кадрах НПП, подлежащих приему следующими.
Контроллер 131 ПРЛ устанавливает таймер ретрансляции на соответствующее значение для вводимых данных НПП, которые должны быть вновь добавлены, и включает в себя порядковые номера данных НЕПОДТВЕРЖДЕНИЯ ПРИЕМА (НПП), вводимых в двух кадрах НПП, подлежащих передаче следующими.
Как описано выше, новая система связи с подвижными объектами передает и принимает кадры ПРЛ, используя порядковый номер блока, указывающий последовательный блок для услуги, включенной в кадр ПРЛ, и порядковый номер данных, показывающий подпоследовательный блок последовательного блока. Можно эффективно передавать или ретранслировать увеличенное количество байтов данных для множества услуг посредством использования порядкового номера блока и порядкового номера данных при двумерной адресации.
Хотя изобретение показано и описано со ссылкой на определенный предпочтительный вариант его осуществления, специалистам в данной области техники должно быть понятно, что можно осуществлять в нем различные изменения формы и деталей, не выходя при этом за рамки сущности и объема изобретения, которые определены прилагаемой формулой изобретения.
Предложен способ передачи данных в системе связи с подвижными объектами. Способ заключается в том, что сегментируют поток данных по меньшей мере на один последовательный кадр, имеющий переменную длину данных, причем поток данных сегментирован на множество последовательных блоков, имеющих переменную длину данных, причем каждый последовательный блок сегментирован на множество подпоследовательных блоков, имеющих байтовую длину; присоединяют к каждой головной части последовательных кадров заголовок, включающий в себя первый набор битов, указывающих порядковый номер последовательного блока, соответствующего головной части, и второй набор битов, указывающих порядковый номер подпоследовательного блока, соответствующего головной части; и передают последовательные кадры с присоединенными заголовками. Техническим результатом является создание кадра протокола работ радиолинии различной длины и передача увеличенного количества данных посредством использования порядкового номера в элементе блока и порядкового номера в элементе байта данных в системе радиосвязи с подвижными объектами. 2 с. и 7 з.п.ф-лы, 25 ил., 17 табл.
Дорожная спиртовая кухня | 1918 |
|
SU98A1 |
СПОСОБ ФОРМАТИРОВАНИЯ ДАННЫХ | 1993 |
|
RU2116696C1 |
Приспособление в пере для письма с целью увеличения на нем запаса чернил и уменьшения скорости их высыхания | 1917 |
|
SU96A1 |
US 4617657 А, 14.10.1986. |
Авторы
Даты
2003-05-10—Публикация
2000-05-27—Подача