FPGA+AD9361 SDR实现机载视频无线传输

电子森林 2020-12-30 00:00
我们即将发布的新一期Funpack活动的ADALM-PLUTO SDR内部基本组成是AD9363 + Xilinx Zynq。

在活动发布以前,我们先来看看使用同一家族的FPGA和射频收发芯片,可以怎么完成对射频收发器的配置,实现机载视频和遥控遥测的无线传输。稍稍剧透一下的是:新一期Funpack的任务会有无线视频传输。而有了Pluto,这个任务就不难了。


文章来源:射频百花潭,作者:宋哲,曹旸等

摘要: 针对当前无人机数据链日趋小型化,采用射频收发一体化设计,基于FPGA 对零中频射频收发器AD9361 进行配置,实现机载视频和遥控遥测的无线传输。测试结果表明,该设计可以实现无人机与地面站之间数据的可靠传输,同时满足小型无人机对数据链体积、重量、功耗和低成本的要求。

无人机数据链是实现无人机与地面站之间双向传输信息的无线通信系统,主要完成机载视频的实时下传、载荷控制及状态回报和遥控遥测信息的分发[1]。其中射频收发系统是无线传输的重要组成部分,针对小型无人机数据链体积小、重量轻、功耗低等特点,一般的集成式宽带收发器解决方案在性能、可调带宽方面受限,缺乏实现实用性; 而分立式软件定义无线电( SDR) 的设计成本高昂,缺乏有效的硬件和RF 信号链设计技术,从而导致开发周期过长,因此,需要一款高度集成式软件定义RF 收发器[2]。集成式RF 收发器AD9361 的优势在于为多种无线电方案提供统一的可再编程软件无线电平台,具备出色的灵活性和可配置性以及支持现场升级[3]。



姜浩等人提出采用PC + FPGA 配置AD9361 的方法,PC 机通过PCIe 接口将配置指令发送到FPGA,FPGA 通过SPI 接口发送配置指令到AD9361[4]。Jorge Santos 等人提出采用FPGA + MicroBlaze的方案配置AD9361,并在Xilinx KC705 开发板上进行了实现和验证[5]。方良提出利用FPGA+ ARM 的方式实现AD9361 的配置,基于Zedboard和AD9361子板建立软件无线电平台进行双向视频的传输[6]。本文提出一种FPGA 独立实现AD9361配置的方案,该方案满足小型数据链对于功耗、体积和成本的严苛要求,同时不受FPGA 型号的限制,可方便移植于不同的FPGA 平台。

1 整体系统方案
无人机机载数据链设备的系统架构如图1 所示。首先,FPGA 通过EMIF 接收DSP 的高清压缩视频、通过UART 接收飞控计算机的遥测数据,压缩后的视频数据和遥测数据在FPGA 组帧编码调制后通过LVDS 发送到AD9361,AD9361 对数据进行上变频后经由天线发射出去; 同时,AD9361 对天线接收到的信号进行下变频后,通过LVDS 将地面的遥控数据发送到FPGA,数据在FPGA 中经过解调译码解帧后通过UART 发送到飞控计算机中。其中,AD9361 的配置是FPGA 通过SPI 读写寄存器完成的。
图1 无人机机载数据链设备的系统架构图


2 AD9361 配置流程
AD9361 有0 - 0x3FF 共1 024 个寄存器,有些寄存器不需要配置,保持上电默认值即可,而有些寄存器需要进行多次写入,比如fir 滤波器、增益表等[7 - 8]。图2 给出了AD9361 配置的状态转移图。
图2 AD9361 配置状态转移图

BB - PLL: BB - PLL ( Base Band PLL,基带锁相环) 状态是AD9361 初始化配置的起始状态,该状态设置了晶振的输入类型、参考时钟频率、AD9361内部基带锁相环频率和环路滤波器参数、单双通道选择等。SPI 读0x5E 寄存器最高位为1 则说明基带锁相环成功锁定。

Charge Pump: Charge Pump ( 电荷泵) 状态是对AD9361 内部电荷泵的电流进行设置并校准,接收电荷泵设置0x23D 寄存器,发射电荷泵设置0x27D 寄存器。

RF - PLL: RF - PLL ( Radio Frequency PLL,射频锁相环) 状态对AD9361 的发射和接收频率进行设置,包括射频锁相环的频率、压控振荡器参数、环路滤波器参数、混频器增益表等。其中,压控振荡器和环路滤波器的参数分别写入到FPGA 的rom ip 核中,通过查找表的方式进行调用。射频锁相环的频率范围是6 ~ 12 GHz,发射和接收频率范围是从70~ 6 000 MHz,发射频率和接收频率是独立的,即使精度设为1 MHz,如果将整个频率范围都存入rom ip核,至少需要存11 000 多组数据,无论是工作量还是存储空间都是巨大的,因此为了优化设计,发射频率和接收频率的设置通过式1 ~ 式3 来实现。
以发射频率为例,式1:
FLO为AD9361 的发射频率,
FRFPLL为发射锁相环频率,
VCO_Divider 是锁相环分频,根据表1 选择相应VCO_Divider 的值,例如
AD9361 的发射频率FLO设置为4 635 MHz,则对应的VCO_Divider 为0,然后根据式1 得到发射锁相环的频率FRFPLL为9 270 MHz。由于在BB - PLL 状态中已经将FREF参考时钟设置为40MHz,那么通过式2就可以得到发射频率的整数部分NInteger = 0xE7 并写入到AD9361 的0x271 和0x272 寄存器中,通过公式3 得到发射频率的小数部分NFractional = 0x5F_FFF5并写入0x273 - 0x275 寄存器中。

设置接收频率的公式和发射频率相同,不同的是接收频率的整数部分NInteger要写入AD9361 的0x231 和0x232 寄存器,NFractional写入0x233 - 0x235 寄存器。
表1 发射频率FLO与锁相环分频VCO_Divider 的对应关系

RX Gain: RX Gain( 接收增益) 状态包括对LNA( 低噪声放大器) 、TIA( 跨阻放大器) 、LPF( 低通滤波器) 、接收增益表、增益控制方式等进行配置。接收增益表分为整体表和分立表,整体表配置简单,分立表配置复杂但是抗干扰能力更强。不同的频率范围又对应着不同的增益表,接收频率为70 ~ 1 550MHz、1 551 ~ 3 650 MHz、3 651 ~ 6 000 MHz 时需要设置不同增益表来调整输入信号的增益。增益控制方式分为自动增益控制( AGC) 和手动增益控制( MGC) ,自动增益控制又分为快速增益和慢速增益,通常情况下,时分双工模式( TDD) 采用快速自动增益,而频分双工模式( FDD) 采用慢速自动增益。

Filter: Filter( 滤波器) 状态是对AD9361 内部的数字和模拟滤波器进行配置,发射和接收端各有4个数字滤波器和2 个模拟滤波器,图3 给出了发射端滤波器的通路,经过编码后的IQ 两路数据先后经过FIR 滤波器和HB1、HB2、HB3 等3 个半带滤波器插值后送入DAC 进行数模转换,接下来用一个3 阶巴特沃斯低通滤波器BB LPF 和一个单极低通滤波器2ND LPF 来减小模拟信号的带外杂散。
图4 给出了接收端滤波器的通路,天线接到的模拟信号经过一个单极低通滤波器TIA LPF 和一个3 阶巴特沃斯低通滤波器BB LPF 后进入到ADC 中进行模数转换,然后经过HB1、HB2、HB3 等3 个半带滤波器和FIR 滤波器输出IQ 两路数据到后面的数字信号处理模块。
图3 AD9361 发射信号滤波器通道
图4 AD9361 接收信号滤波器通道

Calibration: Calibration( 校准) 状态包括基带直流偏置校准、射频直流偏置校准、发射正交校准、接收正交校准跟踪、基带和射频直流跟踪校准。校准的目的是通过对直流偏置、增益、相位误差等进行改善来提高系统的性能,各个校准所需要的时间跟发射和接收频率成反比,频率越高,校准时间越短。

ATTEN&RSSI: ATTEN( Attenuation,衰减控制)和RSSI( Receive Signal Strength Indicator,接收信号强度指示) 状态包括发射信号的衰减值和接收信号强度的指示。衰减值可设置的范围是0 ~ 89. 75dBm,精度是0. 25 dBm,RSSI 显示与实际信号大小成反比,信号越强,RSSI 值越小。

FDD/TDD: FDD( Frequency Division Duplex,频分双工) 或TDD( Time Division Duplex,时分双工) 状态通过配置0x13 - 0x15 寄存器切换AD9361 内部的ENSM 状态机来实现FDD 或者TDD,AD9361 正常工作时的一直保持该状态。

当FPGA 接收到切换频率( FRQ change) 指令时,状态机从FDD/TDD 状态跳转到RF - PLL 状态,改变发射或接收频率后再跳转到FDD/TDD 状态正常工作; 当FPGA 接收到切换带宽( BW change) 指令时,状态机从FDD/TDD 状态跳转到Filter 状态,改变滤波器带宽后再跳转到FDD/TDD 状态正常工作;当FPGA 接收到切换衰减( ATTEN change) 指令时,状态机从FDD/TDD 状态跳转到ATTEN&RSSI 状态,改变衰减值后跳转到FDD/TDD 状态正常工作。


3 系统测试
   3.1 单音测试

基于Artix7 - 100T FPGA 配置AD9361 发射和接收频率1. 7 GHz,发射和接收带宽1 MHz,发射衰减10 dBm,双工模式为FDD,单发单收。FPGA 内部生成一个DDS ip 核,DDS 产生720KHz 的正弦波和余弦波作为AD9361 的I 路和Q 路发射数据,图5 给出了单音频谱,可以看出频谱从1. 7 GHz 向上搬移了720 KHz,输出功率为- 5. 57dBm。图6 是ChipScope采集到AD9361 实时接收的数据,正确的还原出了发射的IQ 两路信号。
图5 AD9361 单音频谱

    3.2 宽带测试
基于Kintex7 - 325T FPGA 配置AD9361 发射和接收频率5 GHz,发射和接收带宽48MHz,发射衰减25 dBm,双工模式为FDD,单发双收。FPGA内部产生一个32Mbps 业务速率的QPSK 信号,符号速率55Mbps,经过成型滤波后送入AD9361 的IQ 两路,图7给出了QPSK 调制信号的发射频谱,中心频率为5GHz,通道功率为- 22. 4 dBm。图8 给出了AD9361接收到信号后经过QPSK 解调的星座图,能够看出信号解调正常,可以进行后续的译码解帧等工作。
图6 ChipScope 采集AD9361 的IQ 两路数据
图7 QPSK 调制信号的发射频谱
图8 QPSK 解调后星座图

   3.3 资源占用
分别用ADI 官方提供的FPGA + ARM 方式和本文FPGA 的方式配置AD9361,表2 给出了在Zedboard开发板上布线后的资源占用情况,通过对比可以看出,本文采用的FPGA 独立配置AD9361 方式比FPGA + ARM 方式在资源上节省了60%以上。
表2 不同方式配置AD9361 占用FPGA 资源情况

结论
本文详细的介绍了基于FPGA 独立实现AD9361 射频收发器的配置方法和步骤,该方法比ADI 官方提供的FPGA + ARM 或FPGA + MicroBlaze等解决方案更加通用,会大幅降低FPGA 的资源占用率。

本文分别在Xilinx 平台Artix - 7、Kintex - 7、Zynq - 7000 等三种不同型号FPGA 上实现了AD9361 的配置,说明该方法方便移植于任意型号FPGA,甚至可以通过生成网表文件跨平台使用。此外由于不需要DDR3 作为缓存,可以节约硬件电路板卡的面积、整体功耗和成本。本方案可实现机载数据链的小型化和低成本,满足在军品和民品领域无线视频传输和遥控遥测的需求。(参考文献略)



技术交流群
我们为对无线技术或者SDR、Pluto感兴趣的朋友们已经准备了一个交流群。后续的一些技术材料也会陆续放出。请在 “硬禾学堂” 公众号后台发送 “SDR” 获取下载链接和群二维码进群交流(最近群里发广告的太多,我们采用这个方法并在群里及时维护,尽力为大家提供一个干净的技术交流环境)

END


硬禾学堂

硬禾团队一直致力于给电子工程师和相关专业的同学,带来规范的核心技能课程,帮助大家在学习和工作的各个阶段,都能有效地提升自己的职业能力。

硬禾学堂

我们一起在电子领域探索前进

关注硬禾服务号,随时直达课堂


查看往期Funpack活动,静候SDR项目上线


电子森林 讲述电子工程师需要掌握的重要技能: PCB设计、FPGA应用、模拟信号链路、电源管理等等;不断刷新的行业新技术 - 树莓派、ESP32、Arduino等开源系统;随时代演进的热点应用 - 物联网、无人驾驶、人工智能....
评论
  • 数字隔离芯片是一种实现电气隔离功能的集成电路,在工业自动化、汽车电子、光伏储能与电力通信等领域的电气系统中发挥着至关重要的作用。其不仅可令高、低压系统之间相互独立,提高低压系统的抗干扰能力,同时还可确保高、低压系统之间的安全交互,使系统稳定工作,并避免操作者遭受来自高压系统的电击伤害。典型数字隔离芯片的简化原理图值得一提的是,数字隔离芯片历经多年发展,其应用范围已十分广泛,凡涉及到在高、低压系统之间进行信号传输的场景中基本都需要应用到此种芯片。那么,电气工程师在进行电路设计时到底该如何评估选择一
    华普微HOPERF 2025-01-20 16:50 127浏览
  •     IPC-2581是基于ODB++标准、结合PCB行业特点而指定的PCB加工文件规范。    IPC-2581旨在替代CAM350格式,成为PCB加工行业的新的工业规范。    有一些免费软件,可以查看(不可修改)IPC-2581数据文件。这些软件典型用途是工艺校核。    1. Vu2581        出品:Downstream     
    电子知识打边炉 2025-01-22 11:12 143浏览
  •  万万没想到!科幻电影中的人形机器人,正在一步步走进我们人类的日常生活中来了。1月17日,乐聚将第100台全尺寸人形机器人交付北汽越野车,再次吹响了人形机器人疯狂进厂打工的号角。无独有尔,银河通用机器人作为一家成立不到两年时间的创业公司,在短短一年多时间内推出革命性的第一代产品Galbot G1,这是一款轮式、双臂、身体可折叠的人形机器人,得到了美团战投、经纬创投、IDG资本等众多投资方的认可。作为一家成立仅仅只有两年多时间的企业,智元机器人也把机器人从梦想带进了现实。2024年8月1
    刘旷 2025-01-21 11:15 708浏览
  • 现在为止,我们已经完成了Purple Pi OH主板的串口调试和部分配件的连接,接下来,让我们趁热打铁,完成剩余配件的连接!注:配件连接前请断开主板所有供电,避免敏感电路损坏!1.1 耳机接口主板有一路OTMP 标准四节耳机座J6,具备进行音频输出及录音功能,接入耳机后声音将优先从耳机输出,如下图所示:1.21.2 相机接口MIPI CSI 接口如上图所示,支持OV5648 和OV8858 摄像头模组。接入摄像头模组后,使用系统相机软件打开相机拍照和录像,如下图所示:1.3 以太网接口主板有一路
    Industio_触觉智能 2025-01-20 11:04 199浏览
  • 高速先生成员--黄刚这不马上就要过年了嘛,高速先生就不打算给大家上难度了,整一篇简单但很实用的文章给大伙瞧瞧好了。相信这个标题一出来,尤其对于PCB设计工程师来说,心就立马凉了半截。他们辛辛苦苦进行PCB的过孔设计,高速先生居然说设计多大的过孔他们不关心!另外估计这时候就跳出很多“挑刺”的粉丝了哈,因为翻看很多以往的文章,高速先生都表达了过孔孔径对高速性能的影响是很大的哦!咋滴,今天居然说孔径不关心了?别,别急哈,听高速先生在这篇文章中娓娓道来。首先还是要对各位设计工程师的设计表示肯定,毕竟像我
    一博科技 2025-01-21 16:17 165浏览
  • 2024年是很平淡的一年,能保住饭碗就是万幸了,公司业绩不好,跳槽又不敢跳,还有一个原因就是老板对我们这些员工还是很好的,碍于人情也不能在公司困难时去雪上加霜。在工作其间遇到的大问题没有,小问题还是有不少,这里就举一两个来说一下。第一个就是,先看下下面的这个封装,你能猜出它的引脚间距是多少吗?这种排线座比较常规的是0.6mm间距(即排线是0.3mm间距)的,而这个规格也是我们用得最多的,所以我们按惯性思维来看的话,就会认为这个座子就是0.6mm间距的,这样往往就不会去细看规格书了,所以这次的运气
    wuliangu 2025-01-21 00:15 358浏览
  • 飞凌嵌入式基于瑞芯微RK3562系列处理器打造的FET3562J-C全国产核心板,是一款专为工业自动化及消费类电子设备设计的产品,凭借其强大的功能和灵活性,自上市以来得到了各行业客户的广泛关注。本文将详细介绍如何启动并测试RK3562J处理器的MCU,通过实际操作步骤,帮助各位工程师朋友更好地了解这款芯片。1、RK3562J处理器概述RK3562J处理器采用了4*Cortex-A53@1.8GHz+Cortex-M0@200MHz架构。其中,4个Cortex-A53核心作为主要核心,负责处理复杂
    飞凌嵌入式 2025-01-24 11:21 72浏览
  • 嘿,咱来聊聊RISC-V MCU技术哈。 这RISC-V MCU技术呢,简单来说就是基于一个叫RISC-V的指令集架构做出的微控制器技术。RISC-V这个啊,2010年的时候,是加州大学伯克利分校的研究团队弄出来的,目的就是想搞个新的、开放的指令集架构,能跟上现代计算的需要。到了2015年,专门成立了个RISC-V基金会,让这个架构更标准,也更好地推广开了。这几年啊,这个RISC-V的生态系统发展得可快了,好多公司和机构都加入了RISC-V International,还推出了不少RISC-V
    丙丁先生 2025-01-21 12:10 709浏览
  • 临近春节,各方社交及应酬也变得多起来了,甚至一月份就排满了各式约见。有的是关系好的专业朋友的周末“恳谈会”,基本是关于2025年经济预判的话题,以及如何稳定工作等话题;但更多的预约是来自几个客户老板及副总裁们的见面,他们为今年的经济预判与企业发展焦虑而来。在聊天过程中,我发现今年的聊天有个很有意思的“点”,挺多人尤其关心我到底是怎么成长成现在的多领域风格的,还能掌握一些经济趋势的分析能力,到底学过哪些专业、在企业管过哪些具体事情?单单就这个一个月内,我就重复了数次“为什么”,再辅以我上次写的:《
    牛言喵语 2025-01-22 17:10 195浏览
  • 故障现象 一辆2007款日产天籁车,搭载VQ23发动机(气缸编号如图1所示,点火顺序为1-2-3-4-5-6),累计行驶里程约为21万km。车主反映,该车起步加速时偶尔抖动,且行驶中加速无力。 图1 VQ23发动机的气缸编号 故障诊断接车后试车,发动机怠速运转平稳,但只要换挡起步,稍微踩下一点加速踏板,就能感觉到车身明显抖动。用故障检测仪检测,发动机控制模块(ECM)无故障代码存储,且无失火数据流。用虹科Pico汽车示波器测量气缸1点火信号(COP点火信号)和曲轴位置传感器信
    虹科Pico汽车示波器 2025-01-23 10:46 90浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦