Re: [Discuss-gnuradio] [USRP] tracking the transmission/receiving process

2015-09-11 Thread Martin Braun
On 10.09.2015 12:47, Logan wrote:
> Hi Martin,
> 
> Thank you. Now I see how the interaction between the host PC and USRP works.
> Actually, i am mostly interested in the transmission/sensing to/from the
> radio space (i.e. a radio application on PC sends command to the hardware
> for transmission/sensing). To my understanding, the application has put the
> radio parameters into the property tree and messages into the queue. But how
> does the hardware (motherboard) know when to perform the
> transmission/sensing? I know the command is also delivered through the
> Ethernet as you've introduced. I am wondering where does the USRP somehow
> "decode" the command, and realize the intention of the application?

This depends a lot on which device you're using. On the X-Series, the
E310 and also on the B200 series, we use a packet format we call
'CVITA'. This includes flags for packet type (e.g., command vs data),
time stamps and other info.

Say you send a data packet to the X310 radio. Internally, it uses a
crossbar to route the packet to the correct destination (the radio).
There, it is identified as a data packet by its header flags. The radio
is set up to transmit any data packet it receives, so it goes straight
to the DAC from there (with some preprocessing).

On the receive side, you might send a 'transmit command' packet to the
radio. Again, it uses the header flags to identify it as a command; in
this case, the payload defines what happens (e.g.: start transmitting
now). Data packets go back to the host, etc.

You can imagine this is something we could talk about for days, so I'm
going to have to cut it off here -- but don't hesitate to come back if
you have more specific questions.

M




___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] [USRP] tracking the transmission/receiving process

2015-09-10 Thread Logan
Hi Martin,

Thank you. Now I see how the interaction between the host PC and USRP works.
Actually, i am mostly interested in the transmission/sensing to/from the
radio space (i.e. a radio application on PC sends command to the hardware
for transmission/sensing). To my understanding, the application has put the
radio parameters into the property tree and messages into the queue. But how
does the hardware (motherboard) know when to perform the
transmission/sensing? I know the command is also delivered through the
Ethernet as you've introduced. I am wondering where does the USRP somehow
"decode" the command, and realize the intention of the application?

Best Regards,
Logan



--
View this message in context: 
http://gnuradio.4.n7.nabble.com/USRP-tracking-the-transmission-receiving-process-tp55900p55975.html
Sent from the GnuRadio mailing list archive at Nabble.com.

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] [USRP] tracking the transmission/receiving process

2015-09-09 Thread Logan Wu
Hi Jeff,

Thank you for the suggestions. I'll look into the codes under "cores" 
directory.

Logan

-- 
Posted via http://www.ruby-forum.com/.

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] [USRP] tracking the transmission/receiving process

2015-09-09 Thread Martin Braun
On 08.09.2015 15:41, Logan Wu wrote:
> Hello,
> 
> I've been tracking the source code to figure out the procedure of
> transmission/receiving. All I've found out is that the parameters (e.g.
> freq, gain, etc.) are stored in a property tree, and messages are
> inserted to the tail of queue. But how does the transmitter/receiver
> (daughter board) know when to transmit/receive? Specifically, which file
> in UHD host code does the job of notifying the hardware to
> transmit/receive?

I'm not sure if this answers your question, but it's the send() call
that initiates a transmit from the host side. This does a bunch of
things, depending on the device, but mainly starts sending data packets
to the USRP, and once they hit the radio, they're automatically sent.

On the rx, side, you do an issue_stream_cmd() and that will tell the
radio to start sending data to the host. The recv() call then picks up
the data from the host-local buffer.

If you have more specific questions, don't hesitate to drop them here!

Cheers,
Martin


___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


[Discuss-gnuradio] [USRP] tracking the transmission/receiving process

2015-09-08 Thread Logan Wu
Hello,

I've been tracking the source code to figure out the procedure of
transmission/receiving. All I've found out is that the parameters (e.g.
freq, gain, etc.) are stored in a property tree, and messages are
inserted to the tail of queue. But how does the transmitter/receiver
(daughter board) know when to transmit/receive? Specifically, which file
in UHD host code does the job of notifying the hardware to
transmit/receive?

Thank you,
Logan

-- 
Posted via http://www.ruby-forum.com/.

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] [USRP] tracking the transmission/receiving process

2015-09-08 Thread Jeff Long

As an example, look for issue_stream_command() in

uhd/host/lib/usrp/cores/rx_dsp_core_200.cpp

There are separate files to control the various "cores" in the FPGA 
logic. And, there are multiple versions of things for different boxes, 
transports, etc. It starts makes sense if you read through a bunch of 
the code.


- Jeff

On 09/08/2015 06:41 PM, Logan Wu wrote:

Hello,

I've been tracking the source code to figure out the procedure of
transmission/receiving. All I've found out is that the parameters (e.g.
freq, gain, etc.) are stored in a property tree, and messages are
inserted to the tail of queue. But how does the transmitter/receiver
(daughter board) know when to transmit/receive? Specifically, which file
in UHD host code does the job of notifying the hardware to
transmit/receive?

Thank you,
Logan




___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio