基于ZYNQ+AD9361的软件无线电平台设计与实现
Posted 专注DSP+ARM+FPGA
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于ZYNQ+AD9361的软件无线电平台设计与实现相关的知识,希望对你有一定的参考价值。
所谓软件无线电,它是一种以通用硬件平台为基础,以自定义软件为核心,来实现各种无线通信系统功能的一种体系和技术。从字面上看,“软件无线电”这个词并不深奥。“无线电”是指采用电磁波空间传播来实现信息收发的通信技术;软件原始定义为控制计算机系统的一系列命令。因此也可以这么说,软件无线电系统就是专用于通信的计算机系统。
AD9361是ADI公司生产的一款高性能的射频收发模块,它也是业界第一款高度集成的捷变收发器。传统的射频模块由分立元件来搭建,无论是研发、调试、应用和升级都存在着诸多弥端。而作为一款高度集成芯片,在一块芯片上包括了所有的、滤波、放大、增益控制、频率合成器等模块,不仅使得射频收发模块的体积、功耗、成本都降到最低,而且在性能上,完全可以满足当前所有通信制式的需求,它的工作频率范围为70MHz至6.0GHz,工作带宽为200KHz至56MHz,它可以应用于各种通信系统的通信和数据采集等方向。
图2 ZYNQ+AD9361总体设计框架
由上图所给出的,本平台的射频部分,拟采用ADI公司的AD9361收发器。
AD9361通过FMC接口与ZYNQ平台相连,具有无缝FPGA连接能力。该器件集RF前端与灵活的混合信号基带部分为一体,通过该集成收发器上预留的SPI接口,就可以完成整个射频模块的参数配置。该平台已经为客户幵发好了驱动模块,使用该驱动模块,即可完成ZYNQ与AD9361的信息交互,诸如配置射频参数和读取状态信息等。
ZYNQ是基于全可编程的可扩展处理平台结构,该结构在单芯片内集成了具有丰富特点的双核ARM9多核处理器的处理系统和可编程逻辑。可编程逻辑部分主要开发了上层数字信号处理算法库、用于射频模块配置的SPI接口、ZYNQ与AD9361之间的数据交互接口和用于内部数据交互的AXI接口。在ARM处理系统部分幵发了与之相对应的驱动模块,最后提供给客户的API即是在ARM侧的底层接口驱动和算法库的封装。所有在PL部分开发的模块,都会在部分幵发相应的驱动。
ZYNQ的PS部分作为总控制单元和算法库的调用中心,需要系统来支撑。而LINUX系统是ARM嵌入式系统开发的首选,所以本项目釆用该系统来调度管理的软硬件资源。下文将阐述如何在侧移植嵌入式系统,以及为了节省嵌入式资源,采取的相应措施。比如,关闭界面、关闭进程等。ZYNQ本质上是以ARM为核心的可扩展FPGA芯片,该平台的启动分了多个阶段,主要包括裸机启动,系统启动和启动。用户在使用该软件无线电平台时,若使用了资源来开发处理模块,则需重新编译文件,若只是釆用资源,则无需任何附加步骤,只需在平台启动完成后,运行编写的软件模块即可。基于跨平台的编程环境,编写控制界面。这一部分,主要完成了调用底层接口驱动来配置射频模块参数,同时对基带信号做频谱分析和星座图演示。
1 评估板简介
信迈科技 XM-ZYNQ7045-EVM 是一款基Xilinx Zynq-7000 系列 XC7Z045/XC7Z100 高性能处理器设计的高端异构多核 SoC 评估板,处理器集成 PS 端双核 ARM Cortex-A9 + PL 端 Kintex-7 架构 28nm 可编程逻辑资源,评估板由核心板与评估底板组成。核心板经过专业的 PCB Layout 和高低温测试验证,稳定可靠,可满足各种工业应用环境。
评估板接口资源丰富,引出双路千兆网口、四路 SFP+光口、CameraLink、HDMI、F
MC HPC、GTX、PCIe、USB、Micro SD 等接口,方便用户快速进行产品方案评估与技术
预研。
图 1 Xilinx Zynq-7000 处理器功能框图
图2
图3
图4
图5
2 典型应用领域
- 软件无线电
- 雷达探测
- 光电探测
- 视频追踪
- 图像处理
- 水下探测
- 定位导航
- 深度学习
3 软硬件参数
3.1 硬件参数
表1
CPU | CPU:Xilinx Zynq-7000 XC7Z045/XC7Z100-2FFG900I |
2x ARM Cortex-A9,主频 800MHz,2.5DMIPS/MHz Per Core | |
1x Kintex-7 架构可编程逻辑资源 | |
ROM | PS 端:8GByte eMMC |
PS 端:128/256Mbit SPI NOR FLASH | |
RAM | PS:单通道 32bit DDR 总线,1GByte DDR3 |
PL:单通道 32bit DDR 总线,1/2GByte DDR3 | |
Logic Cell | XC7Z045:350K,XC7Z100:444K |
OSC | PS 端:33.33MHz |
B2B Connector | 2x 140pin 公座高速 B2B 连接器,2x 140pin 母座高速 B2B 连接器,共 560pin, 间距 0.5mm,合高 7.0mm |
LED | 2x 电源指示灯(核心板 1 个,评估底板 1 个) |
1x PL 端 DONE 灯(核心板 1 个) | |
3x PS 端用户可编程指示灯(核心板 2 个,评估底板 1 个) | |
2x PL 端用户可编程指示灯(评估底板 2 个) | |
KEY | 1x 电源复位按键 |
1x 系统复位按键 | |
1x PS 端用户输入按键 | |
1x PL 端用户输入按键 | |
SD | 1x Micro SD 接口(PS 端) |
XADC | 1x 排针接口,2x 2pin 规格,2.54mm 间距,单通道专用差分输入,1MSPS |
Ethernet | 1x PS RGMII,RJ45 接口,10/100/1000M 自适应(PHY 位于核心板上) |
1x PL RGMII,RJ45 接口,10/100/1000M 自适应 | |
Watchdog | 1x Watchdog,3pin 排针方式,2.54mm 间距,通过跳线帽配置 |
UART | 1x Debug UART,Micro USB 接口(PS 端) |
1x RS232 UART,DB9 接口(PL 端) | |
1x RS485 UART,3pin 3.81mm 绿色端子方式(PL 端) | |
CAN | 2x CAN,3pin 3.81mm 绿色端子方式(PL 端) |
USB | 4x USB 2.0 HOST 接口,使用 HUB 扩展(PHY 位于核心板上) |
PCIe | 1x PCIe,由两组 GTX 引出,共两通道,x4 金手指连接方式(PL 端) |
IO | 1x 400pin FMC 连接器,1.27mm 间距,HPC 标准 |
SATA | 1x 7pin SATA 接口,150MHz LVDS 差分时钟(PL 端) |
HDMI | 1x HDMI OUT(PL 端) |
1x HDMI IN(PL 端) | |
DISPLAY | 1x LCD RES 电阻触摸屏,40pin FFC 连接器,间距 0.5mm(PL 端) |
CAMERA | 2x CAMERA,2x 10pin 排母方式,间距 2.54mm(PL 端) |
CameraLink | 2x CameraLink Base 接口,支持 Full 模式(PL 端) |
SFP+ | 4x SFP+光口,支持万兆光模块,由高速串行收发器(GTX)引出 |
LVDS | 1x 排针接口,2x 15pin 规格,可接通用 LVDS 显示屏,间距 2.00mm(PL 端) |
SMA | 1x GTX CLK |
1x GTX RX | |
1x GTX TX | |
RTC | 1x RTC 座,适配纽扣电池 ML2032(3V 可充)、CR2032(3V 不可充) |
FAN | 1x FAN,3pin 排针端子,12V 供电,间距 2.54mm |
JTAG | 1x 14pin JTAG 接口,间距 2.0mm |
BOOT SET | 1x 6bit 启动方式选择拨码开关 |
SWITCH | 1x 电源摆动开关 |
POWER | 1x 12V6A 直流输入 DC-005 电源接口,可接外径 5.5mm、内径 2.1mm 电源插头 |
3.2 软件参数
表 2
ARM 端软件支持 | 裸机,FreeRTOS,Linux-4.9.0 | |
Vivado 版本号 | 2017.4 | |
软件开发套件提供 | PetaLinux-2017.4,Xilinx SDK 2017.4,Xilinx HLS 2017.4 | |
驱动支持 | SPI NOR FLASH | DDR3 |
USB 2.0 | eMMC | |
LED | KEY | |
RS485 | MMC/SD | |
Ethernet | CAN | |
7in Touch Screen LCD(Res) | XADC | |
I2C | USB 4G | |
USB WIFI | RS232 |
4 开发资料
(1)提供核心板引脚定义、可编辑底板原理图、可编辑底板 PCB、芯片 Datasheet,缩短
硬件设计周期;
(2)提供系统固化镜像、内核驱动源码、文件系统源码,以及丰富的 Demo 程序;
(3)提供完整的平台开发包、入门教程,节省软件整理时间,让应用开发更简单;
(4)提供详细的 PS + PL SoC 架构通信教程,完美解决异构多核开发瓶颈。
开发案例主要包括: Ø
- 基于 Linux 的开发例程
- 基于裸机的开发案例
- 基于 FreeRTOS 的开发案例
- 基于 PS + PL 的异构多核开发案例
- 基于 OpenAMP 的 Linux + 裸机/FreeRTOS 双核 ARM 通信开发案例
- 基于 PL 端的 HDL、HLS 开发案例
- Qt 开发案例
- CameraLink、SDI、HDMI、PAL 视频输入/输出案例
- 高速 AD(AD9613)采集 + 高速 DA(AD9706)输出案例
- AD9361 软件无线电案例
- UDP(10G)光口通信案例
- Aurora 光口通信案例
- PCIe 通信案例
5 电气特性
工作环境
环境参数 | 最小值 | 典型值 | 最大值 |
核心板工作温度 | -40°C | / | 85°C |
核心板工作电压 | / | 5.0V | / |
评估板工作电压 | / | 12.0V | / |
功耗测试
类别 | 工作状态 | 电压典型值 | 电流典型值 | 功耗典型值 |
核心板 | 状态 1 | 5.0v | 0.40A | 2.00W |
状态 2 | 5.0v | 1.85A | 9.25W | |
评估板 | 状态 1 | 12.0v | 0.43A | 5.16W |
状态 2 | 12.0v | 1.19A | 14.28W |
备注:功耗基于 CPU 为 XC7Z045 的核心板测得。功耗测试数据与具体应用场景有关,测试数据仅供参考。
状态 1:评估板不接入外接模块,PS 端启动系统,不执行额外应用程序;PL 端运行 LED 测试程序。
状态 2:评估板不接入外接模块,PS 端启动系统,运行 DDR 压力读写测试程序,2 个 ARM Cortex-A9核心的资源使用率约为 100%;PL 端运行 IFD 综合测试程序。
图 11 状态 2 资源使用率
6机械尺寸
表 4
核心板 | 评估底板 | |
PCB 尺寸 | 62mm*100mm | 142.75mm*260mm |
PCB 层数 | 14 层 | 8 层 |
PCB 板厚 | 1.6mm | 1.6mm |
安装孔数量 | 4 | 4 |
图 12 核心板机械尺寸图
图 13 评估底板机械尺寸图
7技术服务
- 协助底板设计和测试,减少硬件设计失误;
- 协助解决按照用户手册操作出现的异常问题;
- 协助产品故障判定;
- 协助正确编译与运行所提供的源代码;
- 协助进行产品二次开发;
- 提供长期的售后服务。
8增值服务
- 主板定制设计
- 核心板定制设计
- 嵌入式软件开发
- 项目合作开发
- 技术培训
更多信息,请联系深圳信迈科技。
以上是关于基于ZYNQ+AD9361的软件无线电平台设计与实现的主要内容,如果未能解决你的问题,请参考以下文章
FMC子卡设计资料原理图:FMC177-基于AD9361的双收双发射频FMC子卡