从零开始研发GPS接收机连载——2、硬件射频功能的确认

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

从零开始研发GPS接收机连载——2、硬件射频功能的确认


前言

第一篇文章说过,如果没有硬件那一切都是空中楼阁,我们的设计是要承载在硬件平台上的,市面上是有很多开发板买的。像什么大名鼎鼎的黑金、米联客之类的,种类非常繁多,教程也非常丰富。想找一个开发板容易,想找一个带有射频接收功能的开发板就没那么容易了,理论上,我做GPS接收机,只需要有GPS的射频接收芯片就可以了,例如之前用过的MAX2769C,这种射频芯片很便宜,控制起来也很简单,但是淘宝上没有这种卖的。(所以这里又一次遗憾自己不会硬件,要是能自己设计一块出来该多美好)。
机缘巧合下,我买到了目前这个开发板,MiniEye开发板 AD9363 + zynq7030。

AD9363

这里要介绍一下AD9363。
AD936X 系列芯片集成了 LNA、 Mixer、放大器和 IQ 调制器等 RF 前端 以及 IF 电路(ADC、DAC),单一芯片可以完成 1T1R 或者 2T2R 通道的射 频及中频处理,提供零中频的数据流给 FPGA、DSP 或者其他的基带芯片,典 型应用框图如下
在这里插入图片描述
AD936x 功能参数指标
◎ 集成 12 位 DAC 和 ADC 的 RF 2×2 收发器;
◎ 频点范围: 325 MHz to 3.8 GHz;
◎ 带宽范围(AD936x 系列的不同型号规格如下:整个系列的所有芯片是 Pin to Pin 兼容的。

在这里插入图片描述
◎ 支持 FDD 和 TDD;
◎ 2.4 Hz 本振(LO)步长;
◎ 高线性度宽带发射器; Tx 噪声:≤−157 dBm/Hz 本底噪声(概念); ◎ CMOS/LVDS 数字接口;

很显然,AD9363是用来做移动通信用的,325 MHz to 3.8 GHz的范围,能提供零中频的数据流、带宽最大能到20MHz。对于GPS L1 C/A码带宽来说已经戳戳有余了。
这个芯片比MAX2769C来说不知道高端到哪里去了,MAX2769C只需要配置十几个寄存器,而这个AD9363要配置几千个寄存器。。。
再这里,我不会详细讲解AD9363怎么去用,这要研究起来,没个一两个月哪搞得定。不过我之前有个关于AD9364的使用的一些博文可以参考。因为我们买的是开发板,当然会附送一些例程了。

我找到了一个有AD9363驱动的例程,里面关于AD9363的配置都已经配置好了。我将一些参数进行修改,以适应我自己的应用,其主要配置如下:

外部晶振40M: BBPLL RFPLL参考时钟
•采样率25M :ADC采样率,HB滤波器,设置了10M的带宽,最后一级滤波器旁路掉
• Dual Port Full Duplex Mode : 2T2R DDR
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

这几个地方我已经获取了我感兴趣的关键信息了。
1、 射频频率
RF RX : 1574M (为什么设置这个后面再讲)
RF TX:1700MHz(没有用,随便设置一个数)
2、 IQ采样
3、 Data_clk rate:50MHz
4、 采样率:25MHz,带宽10MHz
以上信息对于我接收GPS L1带宽为2M的C/A码来说已经足够了。

射频信号接收测试

FPGA工程的系统框图
在这里插入图片描述
找到其RX的接口部分,建立一个ILA核,有两个接收通道,我们只要使用第一路就可以了。

rx_iq_ila1 rx_iq_ila(
	    .clk        ( rx_clk_in       ),
	    .probe0     ( rx_i_ch1   ), //12
	    .probe1     ( rx_q_ch1   ), //12tx_i_ch1
	    .probe2     ( rx_i_ch2   ), //8
	    .probe3     ( rx_q_ch2   ),
	    .probe4(rx_ref[0])
    );	

使用我的穷酸信号源来试试能不能收到信号先,两百多块钱的东西看起来还很高级呢。
在这里插入图片描述
在这里插入图片描述

通过ILA观察波形,令人激动的收到了期待的点频信号,通过频谱分析,点频离期望的1.42M频点偏移了20~30KHz的样子,尽管它的质量还是有点差,这应该是信号源的信号质量比较差,接收端应该问题不大。好了,结论就是这个闲置了两年多的开发板还没有坏,还能用。而且我也能将我的工作继续下去了。
在这里插入图片描述
在这里插入图片描述

后记

至此,一个最大的不确定性可以排除了。如果这个开发板的射频部分无法工作,那么后面的工作就完全无法进行下去了。但是,还有一个不确定因素也需要确认,就是那个HackRF One真的如宣称所言能够作为一个GPS模拟器么。这个就留在下一篇再来研究。

### 部署 Stable Diffusion 的准备工作 为了成功部署 Stable Diffusion,在本地环境中需完成几个关键准备事项。确保安装了 Python 和 Git 工具,因为这些对于获取源码和管理依赖项至关重要。 #### 安装必要的软件包和支持库 建议创建一个新的虚拟环境来隔离项目的依赖关系。这可以通过 Anaconda 或者 venv 实现: ```bash conda create -n sd python=3.9 conda activate sd ``` 或者使用 `venv`: ```bash python -m venv sd-env source sd-env/bin/activate # Unix or macOS sd-env\Scripts\activate # Windows ``` ### 下载预训练模型 Stable Diffusion 要求有预先训练好的模型权重文件以便能够正常工作。可以从官方资源或者其他可信赖的地方获得这些权重文件[^2]。 ### 获取并配置项目代码 接着要做的就是把最新的 Stable Diffusion WebUI 版本拉取下来。在命令行工具里执行如下指令可以实现这一点;这里假设目标路径为桌面下的特定位置[^3]: ```bash git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git ~/Desktop/stable-diffusion-webui cd ~/Desktop/stable-diffusion-webui ``` ### 设置 GPU 支持 (如果适用) 当打算利用 NVIDIA 显卡加速推理速度时,则需要确认 PyTorch 及 CUDA 是否已经正确设置好。下面这段简单的测试脚本可以帮助验证这一情况[^4]: ```python import torch print(f"Torch version: {torch.__version__}") if torch.cuda.is_available(): print("CUDA is available!") else: print("No CUDA detected.") ``` 一旦上述步骤都顺利完成之后,就可以按照具体文档中的指导进一步操作,比如调整参数、启动服务端口等等。整个过程中遇到任何疑问都可以查阅相关资料或社区支持寻求帮助。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FPGA十年老鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值