On 2021-10-29 10:46, [email protected] wrote:
Hi Folks,
I'm working on a project that needs an asynchronous time tag event to
flag a time instant to apply specific processing to the RF samples
from a B210. The GPIO seems like the obvious resource to provide the
time alignment between my external event and the RF samples. But I've
never used the GPIO and the GPIO C++ example code leaves me with some
timing related questions.
Specifically, in that code it appears GPIO Readback is timed by when
the host controller asks for the state of the pin. With my external
timing signal, I'm looking for a change of state over a period as
short as 10us. So if I were to poll the state of that signal in the
while loop reading the receive samples, there is a good chance that
the state change would be missed. I suppose if I make the sample rate
high enough and the frame size small enough, I could guarantee
capturing the state transition within my timing constraints. But this
seems less than ideal, particularly because of how sensitive the b210
data buffering is to packet size and processing load. Maybe the way
the UHD driver supports GPIO makes it incompatible with my
application. But before I try to engineer a different solution, I'm
hoping someone with a clearer understanding of the GPIO implementation
could tell me whether or not this is the case.
Thanks,
Chris
You may have some success using the "timed command" infrastructure:
https://kb.ettus.com/Synchronizing_USRP_Events_Using_Timed_Commands_in_UHD#Example:_Using_Timed_Commands_to_Control_GPIO
_______________________________________________
USRP-users mailing list -- [email protected]
To unsubscribe send an email to [email protected]