quato_a 3 25 ноября, 2017 Опубликовано 25 ноября, 2017 · Жалоба Доброго времени суток! Есть два устройства (FPGA + AFE). На FPGA реализован модем (модулятор + демодулятор), на AFE - передающий и приёмный радиотракт с одной антенной. В передаваемых фреймах есть преамбула, по которой демодулятор можно понят, где начало фрейма. Возник вопрос, как уважаемые форумчане подходят к реализации полудуплексной радиосвязи (TDD) с минимизацией таймаутов? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
V_G 8 25 ноября, 2017 Опубликовано 25 ноября, 2017 · Жалоба По окончании передачи говорящий говорит "прием" и переводит радиостанцию в режим приема - аналоговая связь. По окончании запроса следует ответ - цифровая связь. О каких таймаутах речь? Я, видимо, совсем выпал из радиосвязи, т.к. не в курсе, что такое ТDD. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
quato_a 3 25 ноября, 2017 Опубликовано 25 ноября, 2017 · Жалоба По окончании передачи говорящий говорит "прием" и переводит радиостанцию в режим приема - аналоговая связь. По окончании запроса следует ответ - цифровая связь. О каких таймаутах речь? Я, видимо, совсем выпал из радиосвязи, т.к. не в курсе, что такое ТDD. Никуда не выпали :) TDD - Time Division Duplex - дуплекс с временнЫм разделением доступа к среде распространения (по сути, полудуплекс). Хорошо, тогда распишу, как реализовал. Мне интересны мнения и как другие реализовывали. Выбран принцип мастер-раб. Известны задержки модулятора и демодулятора, известны задержки включения/отключения PA (усилителя мощности) и LNA (МШУ). Известны размеры пакетов от мастера к рабу и обратно. Пока на модулятор мастера заходят данные, включается подготовка физического тракта так, что бы к моменту готовых сэмплов тракт был настроен на передачу. На приемнике раба после reset'а постоянно сидим в приеме и найдя преамбулу с определенными задержками переключаем физический тракт с приема на передачу и запускаем свой собственный модулятор. Получается в зависимости от задержки модулятора и демодулятора на одном модеме они будут работать с нахлестом во времени так, чтобы в канале выход на передачу у обоих был поочередный. Период res (reserve) между транзакциями выбран с учетом возможной остаточной ошибки символьной синхронизации. Красными стрелками изображены влияния. Visio_state_halfduplex.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
V_G 8 25 ноября, 2017 Опубликовано 25 ноября, 2017 · Жалоба Трудно разобрать чужие обозначения без расшифровки. Правильно ли я понимаю, что передача включается до окончания приема пакета? Только в этом случае при пакетном обмене имеет смысл разговаривать о таймингах. Или у Вас не пакетный обмен данными? Тогда почему? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
quato_a 3 26 ноября, 2017 Опубликовано 26 ноября, 2017 · Жалоба Трудно разобрать чужие обозначения без расшифровки. Правильно ли я понимаю, что передача включается до окончания приема пакета? Только в этом случае при пакетном обмене имеет смысл разговаривать о таймингах. Или у Вас не пакетный обмен данными? Тогда почему? Да, пакетный обмен. Да, передатчик включается до окончания приема пакета. Пока сконфигурировано так, что оба приемника знают сколько символов в пакете им должно прийти. Порты и сигналы: 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 - кол-во передаваемых символов Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться