微波EDA网,见证研发工程师的成长!
首页 > 微波射频 > RFIC/MMIC > 用于RF收发器的简单基带处理器

用于RF收发器的简单基带处理器

时间:02-13 来源:ADI公司 点击:

OR门。因此,未选择的地址组需要驱动读取数据零。

如上方寄存器映射表中所列,BBP有三个地址空间。常见寄存器空间映射至0x000、发送(DAC)映射至0x800 (0x200),接收(ADC)映射至0xC00 (0x300)。软件(Linux用户空间应用程序)应当将发送数据包数据写入缓冲器,并从另一个缓冲器中读取接收到的数据包数据。数据包大小选择为32字节,带有3字节前同步码和1字节CRC。

数据接口

对于接收和发送方向的两个通道,AD9361接口内核包含两对16位I/Q数据。内核按照与AD9361数字接口相同的时钟运行。在2R2T模式下,这是采样速率的4倍。在1R1T模式下,这是采样速率的2倍。有效数据速率由有效信号控制。因此在2R2T模式下,每4个时钟置位一次有效。在1R1T模式下,每2个时钟置位一次有效。BBP旨在支持2R2T和1R1T模式。它使用单个发送和接收通道。内部逻辑在2R2T和1R1T模式下以采样速率运行。然后,BBP在其时钟频率下,通过接口内核传输数据。这样是为了在BBP内演示时钟转换。在许多情况下,用户可能希望无论收发器的接口速率如何,都能在采样速率下运行BBP逻辑。

使用Xilinx基元BUFR和BUFG,生成采样频率内部时钟。BUFR是分压器,BUFG是高扇出时钟缓冲器。为此,也可以使用MMCM。如下所示,生成内部时钟。

parameter XCOMM2IP_1T1R_OR_2T2R_N = 0;
localparam XCOMM2IP_SCLK_divIDE =
(XCOMM2IP_1T1R_OR_2T2R_N == 1) ? "2" : "4";
BUFR #(.BUFR_divIDE(XCOMM2IP_SCLK_divIDE))
i_bufr (
.CLR (1’b0),
.CE (1’b1),
.I (clk),
.O (s_clk_s));
BUFG i_bufg (
.I (s_clk_s),
.O (s_clk));

使用BUFR和BUFG可确保时钟频率锁定,但会影响相位确定性。最大相位不确定性是单个接口时钟周期。通过带有同步信号的四级寄存器阵列,可以轻松补偿该不确定性。然而,设计采用了双端口RAM模块来实现数据传输。这也是为了展示常见信号处理要求的应用实例。使用ADI库内存模块(ad_mem)可以推断出双端口RAM元件。

发送接口

在发送方向,处理器将数据包数据写入缓冲器(参见上方寄存器映射表)。然后,请求硬件发送该数据包。BBP将数据包连续发送给设备。在数据包开始时,检查是否有任何请求。如果没有待处理的请求,则发送空闲数据包。如果有请求等待处理,读取并发送数据包缓冲器。

发送逻辑使用自由运行位计数器,按照位宽运行。当位计数器为0x0时,更新缓冲器读取地址。由于在数据包传输期间可能会随时出现处理器请求,因此在数据包传输开始时会立即捕获并清零。在数据包传输开始时,如果请求等待处理,则应答回至处理器接口。利用请求在缓冲器数据或空闲数据之间进行选择。

图5. 发送数据路径

数据包数据的前两个字节设置为0xfff0。第三个字节用于表示空闲(0xc5)或数据(0xa6)数据包。CRC字节作为数据包的最后一个字节插入。CRC多项式为x8 + x2 + x + 1。除表头外的所有字节已加扰。加扰多项式与SONET/SDH (x7 + x6 + 1)相同。

余弦和正弦查找表用于生成调制载波。在8个样本中,位间隔等于完整的信号周期(0至2)。位数据用于反转信号。然后,数据写入小缓冲器,并使用接口时钟,根据AD9361接口内核中的有效信号读取。

接收接口

在接收方向,针对表头模式0xfff0,监控I/Q数据。这种独特的模式在数据包传输中只出现一次。可以发送数据包数据,以使加扰器输出重复该模式。软件会限制并阻止该做法。12个连续位间隔的该系列同相数据序列用于通过时序恢复模块复位并跟踪接收器时序和相位。因此,将复位其时序计数器并将其相位值设置为0x1。该序列后的第一个反转被视为0x0。在此之后,时序恢复模块在整个数据包传输过程中保持其状态不变。

数据恢复模块计算信号的平均值,并决定信号的当前相位。然后,与时序恢复模块跟踪的相对相位进行比较。如果发生冲突,根据过去的信号变化做决定。这是因为冲突通常是由相位切换引起的。

图6. 接收数据路径

然后,解调的位数据组装到字节,并进行解扰。如果传输缓冲器为空,则数据写入传输缓冲器。在数据包结束时验证CRC。如果匹配且传输缓冲器已写入,则通知处理器接口。软件应当监控该请求,如果已设置,通过读取其内容来清空缓冲器。然后,必须清除请求,以便继续进行数据包传输。

构建说明和下载

本文介绍简单RF基带处理器的理论和实施详情。讨论了在ZC706和AD-FMCOMMS3-EBZ硬件上实现该设计的实际方案。快速演示和构建说明的完整设计文件参见https://wiki.analog.com/resources/fpga/docs/hdl/xcomm2ip 。此页面也详细介绍了HDL设计、软件、RF设置、性能和分析。

作者简介

Rejeesh Kutty于2011年加入

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top