А кто подскажет, как инвертировать сигнал TX_ACTIVE (pin 6).
А еще лучше - получить два сигнала, прямой и инверсный на pin 6 и pin 7.
У меня сейчас прошивка 1.4. TX_ACTIVE выведен на pin 6, FDX - на pin 7.
Проблема в том, что РА включается прямым сигналом, а DPF - инверсным.
Хотелось бы сделать программно, в прошивке.
RL1W,
У меня прошита версия fpga_ver3-sg8_IMD.
там в файле Transceiver.v поменяйте всего 4 строчки(остальное тут просто для сравнения оставлено) и прокомпилируйте проект, прошейте.эти строчки можно и по другому настроить, если контакты другие надо.
// DAC data; clock is "clock" on pin 150
output signed [13:0] dac_data;
// Additional control bits for the HiQSDR.
// The connector X2 uses pins 45 and 46.
output [7:0] Conn_X1; // UX2HH
output [4:0] attenuate;
output AntSwitch;
// Use a phase locked loop PLL to generate the ADC clock based on adc_clock
wire rx_clock; // clock for ADC, etc.
wire half_clock; // half speed clock for ethernet
wire pll_rx_locked; // PLL lock indicator
pll_rx prx (adc_clock, rx_clock, half_clock, pll_rx_locked);
// Use a phase locked loop PLL to generate the DAC clock based on input clock
wire tx_clock; // clock for transmit
wire slow_clock; // slow clock for key delays, etc.
wire pll_tx_locked; // PLL lock indicator
pll_tx ptx (clock, tx_clock, slow_clock, pll_tx_locked);
// This module resets everything on power start.
ethernet_reset ereset (slow_clock, eth_nRESET);
// Generate transmit and receive keys with delays
wire key_down_rx, key_down_tx;
wire key_down; // True to transmit any mode
wire [7:0] tx_ctrl;
// These are the tx_ctrl bits:
// 0: enable CW transmit
// 1: enable all other transmit
// 2: use the HiQSDR extended IO pins not present in the 2010 QEX ver 1.0
// 3: the key is down (software key)
assign key_down = tx_ctrl[3] |
(tx_ctrl[2] ? (tx_ctrl[0] ? key_input : ptt_input) : key_input);
tx_delay td(slow_clock, key_down, txDelay, Conn_X1[5]);
//assign Conn_X1[5] = ~key_down;
key_delays kd (slow_clock, eth_nRESET, key_down, key_down_rx, key_down_tx);
wire [15:0] vna_count; // number of VNA scan data points; zero for non-VNA operation
wire [7:0] txDelay; // delay for tx off in cw mode
// These extended IO bits are used by the HiQSDR:
wire [31:0] Extend_IO;
assign Conn_X1[6] = key_down; //UX2HH
assign Conn_X1[4:0] = tx_ctrl[2] ? Extend_IO[4:0] : 5'd0;
assign attenuate = tx_ctrl[2] ? Extend_IO[12:8] : 5'd0;
assign AntSwitch = Conn_X1[6]; //UX2HH
assign Conn_X1[7] = !key_down; //UX2HH
assign led_red_2 = led_red; // Duplicate clip indicator
assign led_y1 = (LED == 0); // turn on for any LED bit true (errors)
assign LED[7] = ~ (pll_rx_locked && pll_tx_locked); // LED[7]: PLL not locked
assign adc_reset = ~ eth_nRESET; // the ADC requires a reset pulse 2 usec
clip_led cl (slow_clock, adc_overrange, led_red); // turn on LED for ADC clip
Добавлено через 13 минут(ы):
я тут для себя делал и вам может придется чуть подправить для себя.
Conn_X1[5] задекларирован. попробуйте и разберетесь.
Последний раз редактировалось yuri315; 21.03.2017 в 15:35.
Спасибо, Юрий, ща поэкспериментирую.
Добавлено через 37 минут(ы):
Все получилось, pin 6 - прямой, pin 7 - инверсный.
Последний раз редактировалось RL1W; 21.03.2017 в 16:45.
Выпилил пятаки под транзисторами, вложил туда выпиленные медные 'вкладыши', эффект дало отличный, ток покоя больше так дико не плывет, радиатор под платой выполняет свою функцию. Еще пришлось отказаться от дорогущих смд подстроечных резисторов, в пользу многооборотных, так как почти невозможно было точно ток покоя выставить. Драйвером пока доволен, по крайней мере на выходе синусоида, в ссб до 22 в прыгает стрелка вольтметра на 50 Ом (аттенюатор сделал 3 дб, а не 6 на входе). Еще, не знаю на сколько правильно я поступил, входной трансформатор 1к 9, изготовил так,- намотал 3 витка первичной обмотки, а вторичную подбирал, на вход антенный анализатор,- на выход 450 Ом резистор, подматывал по 1 витку до получения на входе 50 Ом. Точно не знаю, вышло по моему витков 7-8 вторичная обмотка.
Нормально будет при -70 дБ.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)