在Zynq SDR快速原型开发平台上进行研发

在Zynq SDR快速原型开发平台上进行研发,第1张

简介

本系列文章的前几部分介绍了Zynq SDR快速原型开发平台1,说明了利用MATLAB和Simulink开发算法以成功处理和解码ADS-B传输的步骤2,并展示了如何在仿真中和利用SDR平台获得的实时数据验证该算法3。所有阶段的最终目标是创建一个经验证的模型,其可以转换为C和HDL代码,并且能够方便地集成到SDR平台的软件和硬件基础设施中。

T本系列第二部分("利用MATLAB和Simulink进行S模式检测和解码")2讨论的Simulink模型是一个具有足够高精度硬件细节的仿真模型,可验证该设计将能成功解码ADS-B消息。以该模型为出发点,本部分将讨论为了产生一个能够在Zynq SDR快速原型开发平台上运行的有效接收机设计所需的最后步骤。像前面几篇文章一样,开发该有效设计所需的技能包括: 熟练使用MATLAB和Simulink,了解Zynq无线电硬件,以及软硬件集成技能。
 

本文提出的步骤包括:

以Zynq SoC上的FPGA结构和ARM® 处理系统为目标,将Simulink模型划分为多个功能。

引入对Simulink模型的设计变更,以改善所生成的HDL代码的性能。

生成ADS-B接收机算法的HDL和C语言源代码。

将生成的源代码集成到Zynq无线电平台设计中。

在目标硬件上利用实时航空器信号测试该嵌入式设计。

此过程结束时,就会产生一个经全面验证的SDR系统,其运行从Simulink ADS-B模型自动生成的C和HDL代码,可实时接收和解码商用航空器信号。

将模型划分为硬件和软件组件

生成实现代码过程的第一步是划分设计功能,以便在Zynq SoC的可编程逻辑和ARM处理系统上运行。

功能划分通常是从明确设计的不同组件的处理要求和所需的执行速率与时间开始。需要以采样速率实时运行的计算密集型组件(如数据调制/解调算法),最适合在可编程逻辑中实现。计算量相对较少的处理任务(如数据解码和渲染,以及系统监视和诊断),更适合通过软件实现。其它需要考虑的方面有: 运算的数据类型和复杂度,以及输入和输出数据的精度。所有以可编程逻辑为目标的运算都采用定点、整数或布尔数据类型。对于更复杂的运算,如三角函数和平方根,须在可用硬件资源的约束下,利用近似来高效实现。所有这些约束都会导致精度损失,若不加以适当评估和处理,可能会对系统功能带来不利影响。但是,以处理系统为目标的组件可以采用浮点数,并以最高保真度实现任何复杂度的运算,不过通常要以降低执行速度为代价。

以上述约束作为指导原则,ADS-B解码算法的划分是相当明显的。ModeS_Simulink_Decode.slx模型中的检波器模块的功能,包括I/Q样本的前端处理一直到校验和计算,非常适合在Zynq SoC的可编程逻辑上实现(图1)。 改良缓冲器和解码与显示模块中的消息位解码功能,很容易在处理系统中实现。

在Zynq SDR快速原型开发平台上进行研发,图1. ModeS_Simulink_Decode.slx: FPGA和ARM处理器划分,第2张

图1. ModeS_Simulink_Decode.slx: FPGA和ARM处理器划分

对下述内容和Simulink模型感兴趣的读者,可在Analog Devices GitHub库4中找到相关文件。4

从Simulink模型生成HDL代码

S模式解码器模型中的检波器模块(图2)包括多个子系统: CalcSyncCorr、CalcNF、SyncAndControl、BitProcess、CalcCRC和FameDetect。MathWorks的HDL编码器5用于产生此设计的HDL源代码。

在Zynq SDR快速原型开发平台上进行研发,图2. 用于HDL代码生成的检波器模块,第3张

图2. 用于HDL代码生成的检波器模块

为了利用HDL编码器成功生成HDL代码,Simulink模型必须满足一些条件。下面是其中几个最重要的要求:

使用支持HDL代码生成的模块。HDL编码器支持大约200个Simulink模块的代码生成6。在检波器设计中,所有模块都支持HDL代码生成,包括状态流程图和数字滤波器模块。

使用定点数据类型。在检波器设计中,信号使用12位、24位和布尔数据类型。12位数据类型与ADI公司AD9361收发器上的模数转换器的位宽一致。

使用标量或矢量信号。矢量信号可用于多通道信号或资源共享。

避免模型中出现代数环。HDL编码器软件不支持存在代数环条件的模型的HDL代码生成。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2603537.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-09
下一篇 2022-08-09

发表评论

登录后才能评论

评论列表(0条)

保存