这个其实是可能的,如此高集成度的东西几乎没法维护,看上去冷却可能也会是个问题(现在用一个比较暴力的风扇上下吹,FPGA温升控制在20度以下)。
但是价格如此亲民,如果不需要109 MHz to 270 MHz的发射,就算买两块一块用一块冗余,也几乎是现在最高性价比的宽带SDR方案。
最近要是有空,准备花点时间写一个GNURadio的接口。
eevblog上看到有大佬关注这款模块,其为NI的第一代PXIe VST产品,65M-6G RF,16 bits 120Msps AD/DA,80M基带带宽, 射频性能不错。可能因为其大量使用在OEM的移动通信测试平台上,而其基带带宽已经落伍,有不少淘汰产品,ebay上现价只要不到400刀。
更令人心动的是,eevblog上那位大佬做了一个转接板(XXXXXXXXXXXXXXXXXXX/project/192236-industrial-6ghz-rf-analyzergenerator-in-a-desktop ),把PXIe的接口breakout直接转到PCIe上,没有任何bridge就可以挂在电脑PCIe bus上使用,连PXIe机箱和控制器都省了。(不需要进行任何配置,不需要伪装出一个chassis就可使用,直接在NI MAX里显示成一个RIO设备,简直是个奇迹)
本想着这么便宜买不了吃亏买不了上当,按开源文件嘉立创打了张转接板,ebay上整了一块回来。
。。。结果被卖家坑了,跨过半个地球给我发来一张坏得离谱的卡来
明显被摔过,PXIe接口部分有一连接器一排针孔被摔堵,另一个press-fit的连接器直接失踪了。
ebay上跟卖家argue,找客服继续argue,最终结果同意退款不退货,变成我坑卖家了。
从另一家另买一块,接上转接板,上电一次成功。
原来那块摔烂了的死马当活马医一下,digikey买来摔没了的插头(ERNI 973028),开拆。
全机分三块板, 发射,接收,处理各一块。撕开前面板覆膜,拧开螺丝,分离由一组排针和两个不认识的高速连接器互联的三个模块
被摔没得连接器在FPGA处理板上,拆下二层小板,就露出了这个press-fit连接器原有的孔位
拿来买来的新连接器,用锤子在心理接受范围内尽量用劲将其敲进去。。。这其实是件很困难的事,这玩意非常非常的紧,又离其他元件很近,敲得都有心理阴影了。。。最终没能完全敲到位,但是电气接触已经没问题,位置上也大概在mating的连接器的容限以内。
另外拆开发射模块看看(接收模块螺丝太紧不拆,第一次见Torx还能滑丝的)
主控板板正面散热器下看上去用了一种会固化的蓝色的导热胶,完全无法拆开(要是FPGA寄了应该是无法维修的)。
背面屏蔽罩拆开如图
哦豁,有个钽电容看上去情况不妙,但是并没有短路。限于条件,暂时不换。
接上转接板,上电测试,居然工作正常,实乃意外惊喜
据论坛某位大佬说这玩意容易暴毙,我就没有浪费钱再尝试了。
这个其实是可能的,如此高集成度的东西几乎没法维护,看上去冷却可能也会是个问题(现在用一个比较暴力的风扇上下吹,FPGA温升控制在20度以下)。
但是价格如此亲民,如果不需要109 MHz to 270 MHz的发射,就算买两块一块用一块冗余,也几乎是现在最高性价比的宽带SDR方案。
最近要是有空,准备花点时间写一个GNURadio的接口。
撸主,这种针上有鱼眼的高密连接器,一般是用压力压进去。你可以试试桌面虎钳或铣床钳,甚至焊接夹具,找合...
是的,这是正确的方法。用锤子只是因为没有合适的夹具,背面难以支撑。
没有任何优化的GNURadio source调通了,主要的难度在于如何在Windows上编译好OOT模块。
除了NI RFSA驱动全家桶,radioconda外(和gnuradio-build-deps ?),还需要安装Boost库,Visual Studio 2019以及Windows SDK。懒得改CMake文件了,直接在生成的VS工程里把RFSA的header和lib加上就好。make install的时候注意按以下第二个链接配置好安装目录。
还有一个漏掉的大坑,OOT模块需要创建python binding,这一部分在Windows上因为各种bug无法自动生成(bindtool给castxml错误传入的'-fPIC',还有castxml在windows下根本就不兼容boost库(issue #36)),需要参考pybind手动创建。
参考了
XXXXXXXXXXXXXXXXXXXXXXXXX/XXXXXXXXp?title=Creating_C%2B%2B_OOT_with_gr-modtool
XXXXXXXXXXXXXXXXXXXXXXXXX/XXXXXXXXp?title=CondaInstall#Building_OOT_modules_to_use_with_conda-installed_GNU_Radio
用NI RFSA库直接暴力fetch和memcpy,在这台i7-3770古代电脑上完全稳定工作的极限在IQ rate 30MSps左右(block min output size 1M)。加上gr-fosphor当RTSA用能有很好的效果,视频是繁忙的2.4G波段,加上微波炉正常工作(没有打开门)时漏出微波的干扰。
VID20240112225151.mp4 点击下载
费了点功夫装上官方的LabVIEW Streaming案例(按序装新版labview,新版驱动全家桶,15版labview,VST IDL之后可在23版labview上跑),把buffer设大一点后40MSps TDMS格式stream到SSD也是可以的,但是更快就会underflow,不知道瓶颈在哪。
更新: 其实不需要memcpy的,直接把CF32或者CS16的buffer传给RFSA就行了。NI的complex type成员名字不同,但是物理存储格式恰好和std::complex兼容。
找到瓶颈在哪了,PCIe链路宽度本来应该可以x4的,但是协商成了x1,不知道为什么。
经查,原来是trivial的问题,做转接板的时候press-fit的MiniSAS连接器接触不良,万用表测不通。总共0,1,2,3四对差分TXRX,只有1是完全通的,主板居然能支持这种情况也不容易。直接焊上修复之后可以轻松跑满120Msps IQ rate,使用GT530古代显卡时,gr-fosphor也能用上使用全部80M带宽。
时段 | 个数 |
---|---|
{{f.startingTime}}点 - {{f.endTime}}点 | {{f.fileCount}} |
200字以内,仅用于支线交流,主线讨论请采用回复功能。