通过UHD API寻址多个B200设备

时间:2017-03-21 19:08:16

标签: usrp uhd

我在Windows 10系统上的USB3上有2个B210无线电,使用UHD USRP C API最新版本和Python 3.6作为编程环境。我可以“分类”在不同的进程中同时运行它们但是想知道是否可以在单个线程中运行它们?怎么样?

1如果让事情变得更容易,我很高兴转向Linux。我对Windows更熟悉。

2“排序”=我有时会得到错误,可能是两个进程在堆栈中的某个位置发生冲突。

下面的代码说明了竞争条件,有时一个或两个进程失败,错误代码为40(UHD_ERROR_ASSERTION)或偶尔代码为11(UHD_ERROR_KEY)

hadoop fs -D dfs.block.size=16777216 -put 25090206.P .

1 个答案:

答案 0 :(得分:0)

是的,您可以拥有多个multi_usrp句柄。

顺便说一句,请注意UHD本身就是C ++,而C API只是一个包装器。它被设计用于生成脚本接口,例如您正在使用的Python事物(不知道Python和您正在使用的C Api之间的哪个接口 - 这是自编的?)。

虽然有可能,但没有充分的理由从同一个线程调用recvsend函数 - 大多数现代机器都是多线程的,你应该利用它。实时SDR是一项CPU密集型任务,您应该使用所有可用的CPU资源来获取驱动程序之间的数据,以避免溢出缓冲区。