Главная » Статьи » Мои статьи

Исходники прошивки Odyssey доступны для скачивания.

Прошивка трансивера Odyssey основана на свободно распространяемом коде fpga_ver4 от Jim Ahlstrom для трансивера N2ADR/HiQSDR. Многие модули были доработаны мной, некоторые я написал самостоятельно, но в любом случае, в соответствии с требованиям лицензии GNU, исходные коды опубликованы и доступны для скачивания без ограничений здесь.

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

Устоявшийся протокол обмена с компьютером N2ADR/HiqSDR был расширен новыми функциями и будет опубликован отдельно. Обратная совместимость выдержана, это означает, что все функции предусмотренные базовым протоколом поддержаны.

Исходные коды компилировались в Quartus II 13.1 Web Edition, использовать более старые версии для компиляции не рекомендуется.

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

В файле level_calibration.v

21   level_band <= 255; //1.8M Point of Measurement

Здесь можно линеаризировать АЧХ передатчика, рассчитав коэффициенты для различных частот. По умолчанию, все коэффициенты равны 255 - максимальному значению, так как тракт передачи трансивера достаточно линеен и не нуждается в калибровке. В зависимости от параметров используемого усилителя, можно использовать возможность линеаризации. Технология расчета коэффициентов полностью идентична описанной тут, в конце статьи.

В файле ethernet.v

    // Our initial IP address in network order
  74    parameter IP1    = 8'd192;
  74    parameter IP2    = 8'd168;
  76    parameter IP3    = 8'd2;
  78    parameter IP4    = 8'd160;

Здесь можно задать IP адрес закрепленный за устройством.

**** Информация указанная ниже актуальна только для прошивки версии 1.0.0. В более поздних прошивках все эти параметры можно задавать через SDR-программу или Odyssey Key Master****

В файле Tranciever.v

114     wire pro_clock;      // F=102.4kHz profile time T = 512/F

Время нарастания/спада несущей при CW манипуляции, расчитывается по формуле : время в секундах равно 512 деленное на частоту в герцах. По умолчанию частота профилирования равна 102.4 кГц что соответствует времени нарастания 0.005 секунд или 5 мс.

115  wire tone_clock;    // freq for side-tone = tone_clock / 1000, Ex. 700k clock for 700Hz tone

Частота тона самопрослушки в наушниках при CW манипуляции. Заданные килогерцы соответствуют тону в герцах.

Нужные частоты следует задавать в настройках стандартного модуля PLL_pro:pro кликнув по его иконке.

В файле key_delays.v

 32    parameter key_delay_down    = 12000;      // Tx key delay on key down
 33    parameter key_delay_up     = 15000;  // Rx key delay on key up

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

В файле transmitter.v

 79    ? ( ( tx_tune_phase < 32'd349490381 ) ?  (tx_tune_phase - 32'd24466) : (tx_tune_phase + 32'd24466) )

Здесь цифра 24466 означает сдвиг несущей передачи при манипуляции CW в режиме SSB. Рассчитывается как частота в герцах умноженная на 34.95, по умолчанию 800 Гц.

В файле sound_codec.v

91    parameter sound_delay = 110; // Delay in msec , 320msec max

Здесь можно задать задержку на включение звука в наушниках после окончания передачи или манипуляции CW. Эта задержка необходима, чтобы устранить  возможность прослушивания собственного сигнала, задержанного по времени в программе. Значение в миллисекундах, максимальное значение 320 мс.

 

 

Категория: Мои статьи | Добавил: rolin791 (11.08.2015)
Просмотров: 2303 | Рейтинг: 3.0/2
Всего комментариев: 0
avatar