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]

Reply via email to