On 19/11/2024 11:02, Tim Vancauwenbergh wrote:
Dear,

I am revisiting an issue I encountered earlier. I have a flow that generates pulses with spaces between them continuously. To switch between the RX and TX paths on a single antenna, I tried utilizing GPIO to control an RF switch.

Tests were conducted on a B210 and X310. Initially, I used GPIO tags on a USRP sink, but this caused continuous underruns. A sample rate of 4 MHz was used. I then switched to using bursts in combination with ATR, but the issue persists. The USRP is unable to keep up, resulting in significant underruns.

My goal is to send pulses at specific times and have the GPIO state follow accordingly. When sending 0s or no samples, the GPIO state should be low; otherwise, it should be high.

Could you advise on how to achieve this? I have attached my embedded Python block code, which is positioned just before the USRP sink block. This block adds the tags for the start and end of bursts and handles the initial GPIO setup. For reference, I have also included the manual GPIO control block.

Thank you for your assistance.


Best regards,

Tim Vancauwenbergh

Generally "U" underruns are caused by your *host computer* being unable to "keep up" with the USRP, NOT the other   way around.  The USRP internal performance is entirely deterministic. If you program it to take in 4Msps, it will
  be able to do that forever.

I'll note that Python blocks DO NOT PERFORM at the same performance level as C++ blocks.  By a significant margin.   I note that in one of your blocks, you're individually iterating through samples looking for some kind of trigger.   This is guaranteed to have very poor performance characteristics, and is unlikely to be able to "keep up" at anything
  beyond perhaps 1Msps, but that will depend very much on your computer.

Also, (and I don't know if this is your issue), you can't schedule timed buffers hugely in advance of when they will   actually get scheduled on the hardware--the hardware has very little buffering.

_______________________________________________
USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-le...@lists.ettus.com

Reply via email to