Наверх

Часть 3. Локальная радиосеть (канальный уровень).

1.5. Построение результирующих иерархических моделей терминала и выделенных узлов сети (в соответствии с концепцией OSI) с отражением путей доставки служебных, так и информационных сообщений.

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

            Для выполнения задач поставленных перед разрабатываемой сетью, на основе эталонной модели синтезирована иерархическая модель узлов сети (рис. 1), включающая в себя следующие уровни:

            -физический уровень; 

            -канальный уровень с двумя подуровнями: подуровень управления доступом к среде МАС и подуровень управления доступом к каналу САС;

            -верхний уровень (уровень принятия решений).



Рис. 1 - Иерархическая модель терминала сети

            Физический уровень – это самый нижний уровень системы, который отвечает за непосредственный передачу (прием) сигнала в (из) радиоканал(а). Здесь же определяются требования к соединениям, разъёмам, электрическому согласованию, заземлению, защите от помех. 

             Канальный уровень отвечает за формирование пакетов стандартного вида, адресную доставку сообщений и контроль правильности приема. Здесь производится управление доступом к сети, обнаруживаются ошибки передачи. МАС-подуровень реализует набор протоколов, которые обеспечивают безопасность, маршрутизацию, энергосберегающие функции и обмен данными с протоколами вышележащих уровней. САС-подуровень описывает процедуру доступа к общему каналу связи. Сначала МАС-уровень формирует и передает  пакет L1 уровню САС. Уровень CAC начинает процедуру конкурентной борьбы и получения доступа к физическому каналу связи. В разрабатываемой сети доступ к КС осуществляется на основе протокола CSMA (см. пункт 1.3.2).

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

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

 

2. Экспериментальная часть. Разработка и экспериментальное исследование программной модели канала передачи данных.

            Разрабатываемая модель будет осуществлять передачу информационного сообщения по каналу TCH, необходимому для непосредственной передачи данных, от терминала ТД.


Рис. 2 - Структура передаваемого сообщения

 

 

            Приведенная ниже блок - схема (Рис.3) отражает передачу сообщения и его последующий прием.

Передача:

            Сверху, с уровня принятия решений передается информационный блок, при формирование пакета канального уровня, в начало пакете добавляется последовательность, показывающие именно начало(поле FL ), определяется и добавляется к пакету тип (поле type). Далее добавляется информационная часть и адреса получателя и отправителя. В итоге для полученного пакета выполняется расчет CRC-16, для проверки в приемной стороне произошла ошибка или нет. В самом конце формирования добавляется поле tail, которое показывает что пакет закончен, и весь полученный пакет отправляется на физический уровень.

Прием:

            Полученный пакет, ищется по полю FL, которое показывает что именно тут начинается пакет, далее выделяется информационная составляющая, по которой происходит расчет CRC-16. Как только произвели, расчет полученный и принятый CRC сравниваются, если они совпали выделяется информация, и отправляется выше, а если нет, то формируются отчет, что принятый пакет принят с ошибкой, и его необходимо передать еще раз.

 

Рис. 3 - Блок - схема алгоритма передачи и приема на КУ

 

Листинг №1:

function [ type_rcv, adrt_rcv, adrr_rcv, num_rcv, data_rcv, crcFlag ] = l2_func( type, adrt, adrr, num, data )

%%

% type - Тип сообщения

% adrt - Адрес отправителя

% adrr - Адрес получателя

% num - Номер пакета

% data - Информация

% _rcv - принятые поля

% crcFlag - флаг результата проверки контрольной суммы

% 1 - CRC совпадают, 0 - CRC не совпадают

 

%% Инициализация параметров

 

% Параметры для ФУ (см. функцию ФУ для описания)

    global mProfile; % Профиль передачи

    global SN; % ОСШ

    global showImg; % Показ изображений

   

% Полином CRC-16 кода

    poly = [ 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 ];

 

 

%== Канальный уровень передатчика ==% 

 

%% Формирование полей пакета L2

    fl = [ 1 0 1 0 1 ]; % Начало пакета L2

    if type == [ 0 0 0 0 ] % Определение базового типа сообщения для ФУ

        basicType = 0;

    else

        basicType = 1;

    end;

    inf_block = [ type adrt adrr num data ];

    crc  = [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ]; % Подготовка поля CRC

    tail =  [ 0 0 0 0 0 0 0 ]; % Поле нулей для сверточного кодера

 

% Расчет CRC

    [ z, x ] = deconv( [ inf_block crc ], poly );

    x = mod( abs( x ), 2 );

    crc = x( (end - length( crc ) + 1):end );

% Окончательное формирование пакета L2

    L2_msg = [ fl inf_block crc tail ];

   

%%

%== Физический уровень ==%

 

    [ L2_msg_rcv ] = phy_lvl( L2_msg, basicType, mProfile, SN, showImg );

 

%%   

%== Канальный уровень приемника ==%

 

% Выделение пакета L2

    L2_msg_rcv = L2_msg_rcv( 8:end );

    fl_rcv = L2_msg_rcv( 1:length( fl ) );

    inf_block_rcv = L2_msg_rcv( length( fl ) + ( 1:length( inf_block ) ) );

    crc_rcv = L2_msg_rcv( length( fl ) + length( inf_block ) + ( 1:length( crc ) ) );

 

%% Проверка пакета на наличие ошибок

    [ z x ] = deconv( [ inf_block_rcv crc_rcv ], poly );

% Проверка остатка

    x = mod( abs( x ), 2 );

    if x == zeros( 1, length( [ inf_block_rcv crc_rcv ] ) )

%        'Сhecksum correct.'

        crcFlag = 1;

    else

%        'Сhecksum incorrect.'

        crcFlag = 0;

    end;

   

%% Выделение информационного блока

    type_rcv  = inf_block_rcv( ( 1:length( type ) ) ); % Тип сообщения

    adrt_rcv = inf_block_rcv( length( type ) + ( 1:length( adrt ) ) ); % Адрес отправителя

                adrr_rcv = inf_block_rcv( length( type ) + length( adrt ) + ( 1:length( adrr ) ) ); % Адрес получателя

                num_rcv = inf_block_rcv( length( type ) + length( adrt ) + length( adrr ) + ( 1:length( num ) ) ); % Номер пакета

                data_rcv = inf_block_rcv( length( type ) + length( adrt ) + length( adrr ) + length( num ) + ( 1:length( data ) ) ); % Информация

            

end

 

Используемая литература:

1  .  Бакке А.В. "Лекции по курсу: Системы и сети связи с подвижными объектами";

2.    Скляр Б. "Цифровая связь";

3.  http://omoled.ru/publications/view/831;

4.      Курсовой проект "Локальная радиосеть" Савко Виктор;

5. http://citforum.ru/nets/tpns/glava_4.shtml.

Прикрепленные файлы

Комментарии

Комментариев пока нет
Статья опубликована в группах