Перейти к содержанию
    

Полудуплекс в радиосвязи

Доброго времени суток!

 

Есть два устройства (FPGA + AFE). На FPGA реализован модем (модулятор + демодулятор), на AFE - передающий и приёмный радиотракт с одной антенной.

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

Возник вопрос, как уважаемые форумчане подходят к реализации полудуплексной радиосвязи (TDD) с минимизацией таймаутов?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По окончании передачи говорящий говорит "прием" и переводит радиостанцию в режим приема - аналоговая связь.

По окончании запроса следует ответ - цифровая связь. О каких таймаутах речь?

Я, видимо, совсем выпал из радиосвязи, т.к. не в курсе, что такое ТDD.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По окончании передачи говорящий говорит "прием" и переводит радиостанцию в режим приема - аналоговая связь.

По окончании запроса следует ответ - цифровая связь. О каких таймаутах речь?

Я, видимо, совсем выпал из радиосвязи, т.к. не в курсе, что такое ТDD.

 

Никуда не выпали :)

TDD - Time Division Duplex - дуплекс с временнЫм разделением доступа к среде распространения (по сути, полудуплекс).

 

Хорошо, тогда распишу, как реализовал. Мне интересны мнения и как другие реализовывали.

 

Выбран принцип мастер-раб. Известны задержки модулятора и демодулятора, известны задержки включения/отключения PA (усилителя мощности) и LNA (МШУ). Известны размеры пакетов от мастера к рабу и обратно. Пока на модулятор мастера заходят данные, включается подготовка физического тракта так, что бы к моменту готовых сэмплов тракт был настроен на передачу. На приемнике раба после reset'а постоянно сидим в приеме и найдя преамбулу с определенными задержками переключаем физический тракт с приема на передачу и запускаем свой собственный модулятор. Получается в зависимости от задержки модулятора и демодулятора на одном модеме они будут работать с нахлестом во времени так, чтобы в канале выход на передачу у обоих был поочередный. Период res (reserve) между транзакциями выбран с учетом возможной остаточной ошибки символьной синхронизации. Красными стрелками изображены влияния.

 

Visio_state_halfduplex.pdf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Или у Вас не пакетный обмен данными? Тогда почему?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Или у Вас не пакетный обмен данными? Тогда почему?

 

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

 

Порты и сигналы:

 

CTRL_STATE - автомат состояний контроллера модулятора, пихающего в него данные. В автомате состояния:

- AGC - первые несколько тренировочных данных для настройки АРУ

- REF - преамбулы

- DATA - полезные данные

 

PHY_STATE - автомат состояний физического тракта:

- PA_ON / PA_OFF - включение / отключение усилителя мощности передатчика, характеризуется задержкой Tps

- LNA_ON / LNA_OFF - включение / отключение малошумящего усилителя приемника, характеризуется задержкой Tlna

- RES - запасы между переключениями передача/прием

 

Data valid_i - сигнал валидности входных данных на модулятор

data_i - входные данные на модулятор

Mod_strobe_o - выходные стробы с модулятора, показывающие начало каждого символа

mod_data_o - выходные сэмплы с модулятора

 

txnrx - управление антенным коммутатором: 0 - прием / 1 - передача

REF - строб детектирования преамбулы

Demod_data_i - входные сэмплы после АЦП на демодулятор

Data_valid_o - сигнал валидности выходных данных с демодулятора

Data_o - выходные данные с демодулятор

 

Len_symbol - длина символа в сэмплах

N - кол-во передаваемых символов

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...