WARP Project Forums - Wireless Open-Access Research Platform

You are not logged in.

#1 2018-Jun-28 02:37:13

Chandan
Member
Registered: 2018-May-23
Posts: 13

full_duplex

https://warpproject.org/trac/browser/Re … sic_txrx.m ,    this example is for basic tx and rx between two warp boards we modified this code to observe 2.4G signal generated from warp v3 board  on spectrum analyzer.when we saw output on spectrum analyzer we observed peak at 2.45G  but its power level is -23dbm. why we are getting negative power level???? Is this code fine ???

MODIFIED CODE:


clear;

%create vector of node objects
nodes = wl_initNodes(1);

%setup the transmit node
node_tx = nodes(1);

%setup trigger manager
eth_trig = wl_trigger_eth_udp_broadcast;
wl_triggerManagerCmd(nodes, 'add_ethernet_trigger', [eth_trig]);

%read trigger IDs
trig_in_ids  = wl_getTriggerInputIDs(nodes(1));
trig_out_ids = wl_getTriggerOutputIDs(nodes(1));

%Ethernate will trigger the baseband buffer of the node
wl_triggerManagerCmd(nodes, 'output_config_input_selection', [trig_out_ids.BASEBAND], [trig_in_ids.ETH_A]);

%Get the IDs for interface on the board
ifc_ids = wl_getInterfaceIDs(node_tx);

%Set the RF center frequency
    % Frequency = 2.4 GHz
    % Channel = 11
wl_interfaceCmd(nodes, ifc_ids.RF_ALL, 'channel', 2.4, 11);

%Set the Tx gain
wl_interfaceCmd(nodes, ifc_ids.RF_ALL, 'tx_gains', 3, 63);

%Get the baseband sampling frequency
ts_tx   = 1 / (wl_basebandCmd(nodes(1), 'tx_buff_clk_freq'));

%Get maximum I/Q buffer length
maximum_buffer_len = wl_basebandCmd(node_tx, ifc_ids.RF_A, 'tx_buff_max_num_samples');

%Set the transmission length in samples
tx_length    = 2^12;

% Check the transmission length
if (tx_length > maximum_buffer_len)
    error('Node supports max transmission length of %d samples.  Requested %d samples.', maximum_buffer_len, tx_length);
end

% Set the length for the transmit buffer based on the transmission length
wl_basebandCmd(nodes, 'tx_length', tx_length);

% Create the IQ data payload
t = [0:ts_tx:((tx_length - 1) * ts_tx)].';                      % Create time vector (Sample Frequency is ts_tx (Hz))

sinusoid_1    = 0.6 * exp(j*2*pi * 1e6 * t);                    % Create  1 MHz sinusoid
% sinusoid_2    = 0.6 * exp(j*2*pi * 5e4 * t);                    % Create 50 kHz sinusoid to transmit on RF_B

tx_data       = [sinusoid_1];                                   % Create the data to transmit on RF_A

% Transmit IQ data to the TX node
wl_basebandCmd(node_tx, [ifc_ids.RF_A], 'write_IQ', tx_data);

% Enabled the RF interfaces for TX
wl_interfaceCmd(node_tx, ifc_ids.RF_A, 'tx_en');

% Enable the buffer for TX
wl_basebandCmd(node_tx, ifc_ids.RF_A, 'tx_buff_en');

% Send the Ethernet trigger to start the TX
eth_trig.send();

% Disable the buffer and RF interfaces for TX
wl_basebandCmd(nodes, ifc_ids.RF_A, 'tx_rx_buff_dis');

%Visualize result
figure(1);clf;

% Plot IQ Data
%
ax(1) = subplot(3, 2, 1);
plot(0:(length(tx_data) - 1), real(tx_data(:, 1)))
xlabel('Sample Index')
title('Node 1 RFA: Transmitted I')
axis([1 tx_length -1 1])

ax(2) = subplot(3, 2, 2);
plot(0:(length(tx_data) - 1), imag(tx_data(:, 1)))
xlabel('Sample Index')
title('Node 1 RFA: Transmitted Q')
axis([1 tx_length -1 1])

Offline

 

#2 2018-Jun-28 02:50:12

Chandan
Member
Registered: 2018-May-23
Posts: 13

Re: full_duplex

ON WARP V3 BOARD we are trying to get 2.4G  transmitted signal through RF_A  and same signal with 180 phase shift through RF_B. For that we used below code. We get 2.4G signal through RF_A but we are not getting any signal from RF_B. for 180 phase shift we included j*pi term in the code. is this way correct to get phase shif for the signal through RF_B interface on warp v3 board???

CODE:

clear;

%create vector of node objects
nodes = wl_initNodes(2);

%setup the transmit node
node_tx_a = nodes(1);
node_tx_b = nodes(2);

%setup trigger manager
eth_trig = wl_trigger_eth_udp_broadcast;
wl_triggerManagerCmd(nodes, 'add_ethernet_trigger', [eth_trig]);

%read trigger IDs
trig_in_ids_a  = wl_getTriggerInputIDs(nodes(1));
trig_out_ids_a = wl_getTriggerOutputIDs(nodes(1));
trig_in_ids_b  = wl_getTriggerInputIDs(nodes(2));
trig_out_ids_b = wl_getTriggerOutputIDs(nodes(2));

%Ethernate will trigger the baseband buffer of the node
wl_triggerManagerCmd(nodes, 'output_config_input_selection', [trig_out_ids_a.BASEBAND], [trig_in_ids_a.ETH_A]);
wl_triggerManagerCmd(nodes, 'output_config_input_selection', [trig_out_ids_b.BASEBAND], [trig_in_ids_b.ETH_A]);

%Get the IDs for interface on the board
ifc_ids_a = wl_getInterfaceIDs(node_tx_a);
ifc_ids_b = wl_getInterfaceIDs(node_tx_b);

%Set the RF center frequency
    % Frequency = 2.4 GHz
    % Channel = 11
wl_interfaceCmd(nodes, ifc_ids_a.RF_ALL, 'channel', 2.4, 11);
wl_interfaceCmd(nodes, ifc_ids_b.RF_ALL, 'channel', 2.4, 11);

%Set the Tx gain
wl_interfaceCmd(nodes, ifc_ids_a.RF_ALL, 'tx_gains', 3, 63);
wl_interfaceCmd(nodes, ifc_ids_b.RF_ALL, 'tx_gains', 3, 63);


%Get the baseband sampling frequency
ts_tx_a = 1 / (wl_basebandCmd(nodes(1), 'tx_buff_clk_freq'));
ts_tx_b = 1 / (wl_basebandCmd(nodes(2), 'tx_buff_clk_freq'));

%Get maximum I/Q buffer length
maximum_buffer_len_a = wl_basebandCmd(node_tx_a, ifc_ids_a.RF_A, 'tx_buff_max_num_samples');
maximum_buffer_len_b = wl_basebandCmd(node_tx_b, ifc_ids_b.RF_A, 'tx_buff_max_num_samples');

%Set the transmission length in samples
tx_length    = 2^12;

% Check the transmission length
if (tx_length > maximum_buffer_len_a)
    error('Node supports max transmission length of %d samples.  Requested %d samples.', maximum_buffer_len_a, tx_length);
end

% Check the transmission length
if (tx_length > maximum_buffer_len_b)
    error('Node supports max transmission length of %d samples.  Requested %d samples.', maximum_buffer_len_b, tx_length);
end

% Set the length for the transmit buffer based on the transmission length
wl_basebandCmd(nodes, 'tx_length', tx_length);

% Create the IQ data payload
t_a = [0:ts_tx_a:((tx_length - 1) * ts_tx_a)].';                      % Create time vector (Sample Frequency is ts_tx (Hz))
t_b = [0:ts_tx_b:((tx_length - 1) * ts_tx_b)].';                      % Create time vector (Sample Frequency is ts_tx (Hz))

sinusoid_1    = 0.6 * exp(j*2*pi * 1e6 * t_a);                    % Create  1 MHz sinusoid
% sinusoid_2    = 0.6 * exp(j*2*pi * 5e4 * t);                    % Create 50 kHz sinusoid to transmit on RF_B

sinusoid_2    = 0.6 * exp(j*2*pi * 1e6 * t_b + j*pi);

tx_data_a       = [sinusoid_1];                                   % Create the data to transmit on RF_A
tx_data_b       = [sinusoid_2];

% Transmit IQ data to the TX node
wl_basebandCmd(node_tx_a, [ifc_ids_a.RF_A], 'write_IQ', tx_data_a);
wl_basebandCmd(node_tx_b, [ifc_ids_b.RF_A], 'write_IQ', tx_data_b);

% Enabled the RF interfaces for TX
wl_interfaceCmd(node_tx_a, ifc_ids_a.RF_A, 'tx_en');
wl_interfaceCmd(node_tx_b, ifc_ids_b.RF_A, 'tx_en');

% Enable the buffer for TX
wl_basebandCmd(node_tx_a, ifc_ids_a.RF_A, 'tx_buff_en');
wl_basebandCmd(node_tx_b, ifc_ids_b.RF_A, 'tx_buff_en');

% Send the Ethernet trigger to start the TX
eth_trig.send();

% Disable the buffer and RF interfaces for TX
wl_basebandCmd(nodes, ifc_ids_a.RF_A, 'tx_rx_buff_dis');
wl_basebandCmd(nodes, ifc_ids_b.RF_A, 'tx_rx_buff_dis');

%Visualize result
figure(1);clf;

% Plot IQ Data
%
ax(1) = subplot(3, 2, 1);
plot(0:(length(tx_data_a) - 1), real(tx_data_a(:, 1)))
xlabel('Sample Index')
title('Node 1 RFA: Transmitted I')
axis([1 tx_length -1 1])

ax(2) = subplot(3, 2, 2);
plot(0:(length(tx_data_a) - 1), imag(tx_data_a(:, 1)))
xlabel('Sample Index')
title('Node 1 RFA: Transmitted Q')
axis([1 tx_length -1 1])

ax(1) = subplot(3, 2, 3);
plot(0:(length(tx_data_b) - 1), real(tx_data_b(:, 1)))
xlabel('Sample Index')
title('Node 1 RFA: Transmitted I')
axis([1 tx_length -1 1])

ax(3) = subplot(3, 2, 4);
plot(0:(length(tx_data_b) - 1), imag(tx_data_b(:, 1)))
xlabel('Sample Index')
title('Node 1 RFA: Transmitted Q')
axis([1 tx_length -1 1])

Offline

 

#3 2018-Jun-28 09:24:12

murphpo
Administrator
From: Mango Communications
Registered: 2006-Jul-03
Posts: 5159

Re: full_duplex

this example is for basic tx and rx between two warp boards we modified this code to observe 2.4G signal generated from warp v3 board  on spectrum analyzer.when we saw output on spectrum analyzer we observed peak at 2.45G  but its power level is -23dbm. why we are getting negative power level???? Is this code fine ???

That WARPLab script will transmit a 4096-sample (2^12) waveform once. To observe this signal on a spectrum analyzer you would need to configure the analyzer's trigger to detect the short (4096 samples @ 40MSps = 102usec) burst. Otherwise the analyzer will plot the spectrum of noise, plus whatever signal leaks from the WARP v3 RF interface (i.e. the sinusoid at -23dBm could be Tx LO leakage).

The better alternative would be WARPLab's continuous Tx mode. This will output a signal continuously which is much easier to detect and analyze with external test equipment.

Offline

 

#4 2018-Jun-28 09:26:00

murphpo
Administrator
From: Mango Communications
Registered: 2006-Jul-03
Posts: 5159

Re: full_duplex

ON WARP V3 BOARD we are trying to get 2.4G  transmitted signal through RF_A  and same signal with 180 phase shift through RF_B. For that we used below code. We get 2.4G signal through RF_A but we are not getting any signal from RF_B. for 180 phase shift we included j*pi term in the code. is this way correct to get phase shif for the signal through RF_B interface on warp v3 board???

You need to examine your code more carefully. Your code is initializing two WARP v3 nodes and transmitting on RF A from both nodes.

Offline

 

#5 2018-Jun-29 00:55:37

Chandan
Member
Registered: 2018-May-23
Posts: 13

Re: full_duplex

sorry, the below code we used for 180 phase shit through RF_B interface, but we are getting error how to solve this???

code:
clear;

% Create a vector of node objects
nodes = wl_initNodes(1);

% Set up transmit and receive nodes
node_tx = nodes(1);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Set up Trigger Manager
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Create a UDP broadcast trigger and tell each node to be ready for it
%     NOTE:  This will allow us to trigger both nodes to begin transmission / reception of IQ data
%
eth_trig = wl_trigger_eth_udp_broadcast;
wl_triggerManagerCmd(nodes, 'add_ethernet_trigger', [eth_trig]);

% Read Trigger IDs into workspace
trig_in_ids  = wl_getTriggerInputIDs(nodes(1));
trig_out_ids = wl_getTriggerOutputIDs(nodes(1));

% For both nodes, we will allow Ethernet A to trigger the baseband buffers
wl_triggerManagerCmd(nodes, 'output_config_input_selection', [trig_out_ids.BASEBAND], [trig_in_ids.ETH_A]);

% Set up the Interface parameters
ifc_ids = wl_getInterfaceIDs(nodes(1));

% Set the RF center frequency on all interfaces
%     - Frequency Band  :  Must be 2.4 or 5, to select 2.4GHz or 5GHz channels
%     - Channel         :  Must be an integer in [1,11] for BAND = 2.4; [1,23] for BAND = 5
%
wl_interfaceCmd(nodes, ifc_ids.RF_ALL, 'channel', 2.4, 11);

% Set the TX gains on all interfaces
wl_interfaceCmd(nodes, ifc_ids.RF_ALL, 'tx_gains', 3, 63);

% Get the baseband sampling frequencies from the board
ts_tx   = 1 / (wl_basebandCmd(nodes(1), 'tx_buff_clk_freq'));

% Get the maximum I/Q buffer length
maximum_buffer_len = wl_basebandCmd(node_tx, ifc_ids.RF_ALL, 'tx_buff_max_num_samples');

% Set the transmission / receptions lengths (in samples)
tx_length    = 2^12;

% Check the transmission length
if (tx_length > maximum_buffer_len)
    error('Node supports max transmission length of %d samples.  Requested %d samples.', maximum_buffer_len, tx_length);
end

% Set the length for the transmit and receive buffers based on the transmission length
wl_basebandCmd(nodes, 'tx_length', tx_length);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Signal processing to generate transmit signal
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Create the IQ data payload
t = [0:ts_tx:((tx_length - 1) * ts_tx)].';                      % Create time vector (Sample Frequency is ts_tx (Hz))

sinusoid_1    = 0.6 * exp(j*2*pi * 1e6 * t);                    % Create  1 MHz sinusoid
sinusoid_2    = 0.6 * exp(j*2*pi * 1e6 * t + j*pi);                    % Create 50 kHz sinusoid to transmit on RF_B

% tx_data       = [sinusoid_1];                                   % Create the data to transmit on RF_A
tx_data       = [sinusoid_1, sinusoid_2];                       % Create the data to transmit on both RF_A and RF_B

% Transmit IQ data to the TX node
wl_basebandCmd(node_tx, [ifc_ids.RF_A, ifc_ids.RF_B], 'write_IQ', tx_data);                      % Write each sinusoid to a different interface

% Enable the buffers for TX / RX
wl_basebandCmd(node_tx, ifc_ids.RF_ON_BOARD, 'tx_buff_en');   % Enable both RF_A and RF_B

% Send the Ethernet trigger to start the TX / RX
eth_trig.send();

% Disable the buffers and RF interfaces for TX / RX
wl_basebandCmd(nodes, ifc_ids.RF_ON_BOARD, 'tx_rx_buff_dis');           % Disable both RF_A and RF_B
wl_interfaceCmd(nodes, ifc_ids.RF_ON_BOARD, 'tx_rx_dis');               % Disable both RF_A and RF_B


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Visualize results
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

figure(1);clf;

% Plot IQ Data
%
ax(1) = subplot(3, 2, 1);
plot(0:(length(tx_data) - 1), real(tx_data(:, 1)))
xlabel('Sample Index')
title('Node 1 RFA: Transmitted I')
axis([1 tx_length -1 1])

ax(2) = subplot(3, 2, 2);
plot(0:(length(tx_data) - 1), imag(tx_data(:, 1)))
xlabel('Sample Index')
title('Node 1 RFA: Transmitted Q')
axis([1 tx_length -1 1])




Error:


>> basic_phase_shift_tx
Error using wl_baseband_buffers/procCmd (line 394)
tx_buff_max_num_samples: buffer selection must be singular. Use vector notation for reading from multiple buffers e.g. [RFA, RFB]

Error in wl_baseband_buffers/subsref (line 142)
            varargout{:} = builtin('subsref', obj, S);

Error in wl_node/wl_basebandCmd (line 298)
                    out(n) = currNode.baseband.procCmd(n, currNode, varargin{:});

Error in basic_phase_shift_tx (line 42)
maximum_buffer_len = wl_basebandCmd(node_tx, ifc_ids.RF_ALL, 'tx_buff_max_num_samples');

Offline

 

#6 2018-Jun-29 14:01:49

murphpo
Administrator
From: Mango Communications
Registered: 2006-Jul-03
Posts: 5159

Re: full_duplex

Error using wl_baseband_buffers/procCmd (line 394)
tx_buff_max_num_samples: buffer selection must be singular. Use vector notation for reading from multiple buffers e.g. [RFA, RFB]

This error message is clear - you need to use the correct format for the arguments.

You need to attempt to solve these sort of errors yourself before asking us to solve them for you. Posting your entire script every time you get an error is not an effective use of these forums.

Offline

 

#7 2018-Aug-24 02:24:05

Chandan
Member
Registered: 2018-May-23
Posts: 13

Re: full_duplex

http://warpproject.org/trac/wiki/WARPLab/Examples  when i use siso ofdm example on warp v3 board i can able to see the transmitted signal on matlab but if i use 802.11 reference design for ofdm signal how to observe the generated signal after programming fpga with reference design on warp v3 board.

Offline

 

#8 2018-Aug-24 08:40:46

murphpo
Administrator
From: Mango Communications
Registered: 2006-Jul-03
Posts: 5159

Re: full_duplex

Please refer to this thread for the same question and our answers.

Offline

 

#9 2018-Aug-27 06:33:04

Chandan
Member
Registered: 2018-May-23
Posts: 13

Re: full_duplex

I referred to the thread ,using spectrum analyzer for observing output is it suggestible ??? is there any other way to observe?

Offline

 

#10 2018-Aug-27 19:28:50

murphpo
Administrator
From: Mango Communications
Registered: 2006-Jul-03
Posts: 5159

Re: full_duplex

Yes, a spectrum analyzer can observe transmissions from a WARP node running the 802.11 design. You will need the node to transmit. As we explained in the other thread, you can use the Ethernet bridge to cause transmissions, or configure an LTG via the wlan_exp Python tools.

Offline

 

#11 2018-Aug-28 01:43:35

Chandan
Member
Registered: 2018-May-23
Posts: 13

Re: full_duplex

As per above suggestions i connected node's ETH A port ,PC to 8 port Ethernet switch. But after programming fpga with 802.11 design how to cause transmission using this switch?

Offline

 

#12 2018-Aug-28 07:05:01

Chandan
Member
Registered: 2018-May-23
Posts: 13

Re: full_duplex

from your suggestions another way for transmission is configuring LTG via the wlan_exp python tools,for that  i referred  wlan_exp framework .for node to transmit signal can  i use Tx/Rx Log Capture example(The log_capture_two_node_two_flow.py)? i am new to warp so if any of my assumptions are wrong let me know

Offline

 

#13 2018-Aug-29 02:03:26

Chandan
Member
Registered: 2018-May-23
Posts: 13

Re: full_duplex

In post#11 what i am asking is, when we use Mcodes for example  siso ofdm in that triggering commands like  wl_trigger_eth_udp_broadcast,   wl_triggerManagerCmd etc are there to trigger the nodes to begin transmission / reception. But in case of 802.11 reference design after connecting  ETH A port ,PC to 8 port Ethernet switch do we need to use any such commands or steps to make the node to do transmission?

Offline

 

#14 2018-Aug-29 09:24:41

murphpo
Administrator
From: Mango Communications
Registered: 2006-Jul-03
Posts: 5159

Re: full_duplex

Please review the wlan_exp documentation and work through the example scripts we provide. Once you understand these scripts it should be straightforward for you to write a script that configures a node to transmit using the LTG feature of the 802.11 design.

Offline

 

#15 2018-Sep-05 06:28:48

Chandan
Member
Registered: 2018-May-23
Posts: 13

Re: full_duplex

Sir i have to implement full duplex system for that i need to make two ofdm tranmitter chains and one ofdm receiver chain in a signal node.For this implementation which reference design is suggestible 802.11n reference design or ofdm reference design?

Offline

 

#16 2018-Sep-05 08:59:04

murphpo
Administrator
From: Mango Communications
Registered: 2006-Jul-03
Posts: 5159

Re: full_duplex

The OFDM Reference Design is no longer maintained or supported. I would not recommend using this design for any new projects.

I would suggest starting with the WARPLab Reference Design. The WARPLab design supports 4 RF interfaces (i.e. WARP v3 + FMC-RF-2X245) by default and supports configuring simultaneous Tx/Rx on different interfaces.

The 802.11 Reference Design is also an option, but would require substantial modifications to realize a 2-Tx / 1-Rx full-duplex system. You should be very comfortable with the Xilinx tools (System Generator, XPS, SDK) before attempting to modify the 802.11 design hardware. You should also know exactly what PHY algorithms you plan to implement. The WARPLab Reference Design is a better place to prototype such a system.

Offline

 

#17 2018-Nov-03 11:53:34

Chandan
Member
Registered: 2018-May-23
Posts: 13

Re: full_duplex

whole functionality of  802.11 reference design is implemented in c code.(i.e communication between boards, data) then why to use python files to make tx\rx from board? in the example  Tx/Rx Log  after configuring boards with AP,STA, again we are using a python file to make tx\rx from board?

Offline

 

#18 2018-Nov-05 08:53:35

chunter
Administrator
From: Mango Communications
Registered: 2006-Aug-24
Posts: 1212

Re: full_duplex

Python is only used for wlan_exp to remotely control the boards and make measurements for experiments. It does not take part in the fundamental 802.11 behaviors -- those all run locally on the FPGA of the board as a combination of custom programmable logic cores and software running in soft processors.

Offline

 

#19 2018-Nov-08 09:35:04

Chandan
Member
Registered: 2018-May-23
Posts: 13

Re: full_duplex

In log_capture_two_node_two_flow.py how to know the data that being tranmitted from the board?

Offline

 

#20 2018-Nov-08 09:48:15

murphpo
Administrator
From: Mango Communications
Registered: 2006-Jul-03
Posts: 5159

Re: full_duplex

The log_capture_two_node_two_flow.py script does not analyze log data. As its name implies, this script configures two nodes and two traffic flows, then captures log data to files for offline analysis. Refer to the "log_process_" scripts for examples of analyzing log data.

Offline

 

#21 2018-Nov-09 06:02:27

Chandan
Member
Registered: 2018-May-23
Posts: 13

Re: full_duplex

In warplab reference design tx_data is created using randi() function which creates random integers. In 802.11 reference design how the tx_data is created?

Offline

 

#22 2018-Nov-09 09:21:03

chunter
Administrator
From: Mango Communications
Registered: 2006-Aug-24
Posts: 1212

Re: full_duplex

Data transmissions have one of two sources: (1) the Ethernet portal and (2) the Local traffic generator. For the latter, wlan_exp can be used to configure/start/stop the LTG.

Offline

 

#23 2018-Nov-09 10:46:31

Chandan
Member
Registered: 2018-May-23
Posts: 13

Re: full_duplex

Using ethernet portal what type of data is created(like intergers created by randi() in warpreference design)? what is the code for data creation?

Offline

 

#24 2018-Nov-09 11:17:39

murphpo
Administrator
From: Mango Communications
Registered: 2006-Jul-03
Posts: 5159

Re: full_duplex

The Ethernet portal encapsulates packets received on the wired network interface and transmits them wirelessly. The contents of these packets are generated by whatever device creates the packets on the wire (i.e. your PC).

It's clear from your questions that you have not studied the documentation, the code, or begun using the design in hardware. *Please* spend some time with these resources.

Offline

 

Board footer