前言
前面提到打算用MAX2769这个片子实现射频的功能,根据参考电路做了一块小板,插到微相Z7-lite那块开发板上,用于验证射频功能。最初看这个片子目的是打算做一个简单的中频信号采集器,通过USB传到上位机,可惜看了很久总感觉无法避开FPGA,只好退而求其次,单纯的做一块射频板。
MAX2769简介
MAX2769是一款通用的单芯片全球导航卫星系统(GNSS)接收机,用于GPS 、GLONASS以及伽利略导航卫星系统。
MAX2769采用Maxim先进的低功率SiGe BiCMOS工艺,能够以较低的成本提供业界最高的性能和集成度。单芯片内集成了完整的接收链路,包括双输入LNA、混频器、镜频抑制滤波器、PGA、VCO、N分频频率合成器、晶体振荡器和位复用ADC。该接收器的总噪声系数低至1.4dB。
特性
-
GPS/GLONASS/伽利略接收机
-
无需外部IF SAW或分立式滤波器
-
可编程设置IF频率
-
集成VCO的N分频频率合成器支持宽范围的参考时钟频率
-
内部独立的双输入LNA分别用于无源和有源天线输入
-
总噪声系数1.4dB
-
内置晶体振荡器
-
内置温度检测器
-
内置有源天线检测器
-
低功耗模式下电源电流为10mA
-
供电电压为2.7V至3.3V
-
微型28引脚、RoHS兼容、薄型QFN无铅封装(5mm x 5mm)
MAX2769典型电路图
MAX2769只需要简单的电阻电容就能实现,GPS信号射频到中频的转换,典型电路如下
配置方式
配置方式有两种:SPI配置和预设配置方式,预设的配置方式通过SPI三个信号的高低电平实现,仅能实现几种固有的模式。
最初,为图省事,我用的预设的配置方式,即上图中的STATE 3,采样率16.368MHz,中频4.092MHz,经过数天的折腾,终于用softwareGNSS实现了信号的捕获,使我看到了初步的希望。
但是16.368M的采样率存在严重的不足,仅能实现捕获,对于跟踪便显得无能为力了,因为后续需要使用MAX2769输出的始终产生本地信号,而这个时钟与我的系统时钟50M并不兼容。
第二种是SPI配置,PGM引脚拉低,就可以通过SPI写入寄存器配置芯片。
Verilog配置程序如下,也可以使用PL的SPI端口配置,初始化的时候写十个寄存器即可。
module max2769_spi(
output reg sclk,sdio,le,
input rst,clk,
output reg spi_ok
);
wire [3:0] lut_index=4'd9;//spi register 0~lut_index
reg [3:0