0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

CDMA反向链路波形发生器FPGA,用于生产传输路径测试

星星科技指导员 来源:ADI 作者:ADI 2023-02-23 16:12 次阅读

Maxim设计了一种易于构建的CDMA基带调制发生器,用于对设计到蜂窝手机发射路径中的各种产品进行电路评估。该设计结合了高密度可编程逻辑器件、晶体振荡器和一对匹配的低通滤波器,以提供所需的正交输出波形。复杂可编程逻辑器件(CPLD)中的数字电路基于IS95标准。4.9152MHz晶体振荡器驱动CY37256 CPLD产生1.2288MHz数字输出,从而为输出低通滤波器提供精确的I/Q(同相和正交)比特流。通过在MAX2361发送器IC上测量ACPR,并将结果与使用安捷伦E4433B任意波形发生器作为参考信号源观察到的ACPR进行比较,证实了性能。实验室测量的ACPR被发现在0.5dB以内一致。

本应用笔记介绍了CDMA反向链路波形发生器的数字部分,并描述了一些设计问题及其处理方式。

介绍

Maxim设计了一种易于构建的CDMA基带调制发生器,用于对设计到蜂窝手机发射路径中的各种产品进行电路评估。该设计结合了高密度可编程逻辑器件、晶体振荡器和一对匹配的低通滤波器,以提供所需的正交输出波形。复杂可编程逻辑器件(CPLD)中的数字电路基于IS95标准。4.9152MHz晶体振荡器驱动CY37256 CPLD产生1.2288MHz数字输出,从而为输出低通滤波器提供精确的I/Q(同相和正交)比特流。通过在MAX2361发送器IC上测量ACPR,并将结果与使用安捷伦E4433B任意波形发生器作为参考信号源观察到的ACPR进行比较,证实了性能。实验室测量的ACPR被发现在0.5dB以内一致。

本应用笔记介绍了CDMA反向链路波形发生器的数字部分,并描述了一些设计问题及其处理方式。

数字系统说明

教科书CDMA发生器

图1显示了CDMA反向通道发生器的框。CDMA发生器由以下项目组成:

数字数据源。在手机中,这是编码的语音数据。

编码和交错函数。

沃尔什代码生成器。

最大长度的 42 位长 PN(伪噪声)发生器,此处称为“长代码”。

3 个模二混频器或专用 OR 门。

两个“短代码”、15 位 PN 最大长度移位寄存器

半个芯片延迟,等于(813.8ns / 2)或406.9ns。

一对匹配的有限脉冲响应 (FIR) 低通滤波器。

pYYBAGP3H_aAcNioAAAgaBeVcI4875.gif


图1.教科书CDMA反向链接生成器。

这项工作中采取的捷径

出于实际测量目的,可以简化一些编码。消除了与前向纠错(FEC)和交错相关的模块,因为它们对频谱的贡献很小。为了模拟 CELP 编解码器数据源,使用了 7 位最大 PN 生成器。

42位长代码被实现为31位长PN,最大长度移位寄存器。采取这一步骤是为了在CPLD中保留寄存器,并使设计验证更快。以 42.1MHz 移动的 2288 位 PN 发生器重复该周期需要 ~3 万秒。(这里的简单计算将揭示您的测试台必须保持6天不受干扰!加快 41 位 PN 发生器验证速度的一种方法是更快地运行时钟。即使时钟以42MHz运行,周期重复仍然需要20.2天。以5MHz运行的31位PN代码将在不到20分钟的时间内重复,这是一个更合理的测试时间。

输出端的数字(FIR)低通滤波器被简单的电感和电容无源滤波器所取代。本应用重点介绍了这些滤波器的复杂性和重要性,但对于那些感兴趣的人,该设计被实现为7kHz的600阶椭圆低通,并带有相位均衡器部分。关键性能点设置为45kHz时的-740dBc和65kHz及以上的-881dBc。发射频谱的带宽、滚降速率以及观察到的最终ACPR与这些滤波器的质量直接相关。

图 2 显示了在此工作中实现的简短框

poYBAGP3H_eAK3pDAABLH3YVr-A044.gif


图2.实现了CDMA反向链路生成器。

设计细节

本应用笔记不会试图介绍设计和实现的每个细节。相反,将使用一些关键模块来说明设计技术和解决方案。这不是将读者转化为Verilog专家的意图。

沃尔什代码生成器

沃尔什代码生成器通常在文献中使用矩阵表示法进行描述。

pYYBAGP3H_iAAvIoAAACcMTWFcA429.gif (公式1)

沃尔什向量的构造假设起始种子为 W1= 0。沃尔什矩阵的右下角区域,在公式1中由W表示n顶部有一个条形,表示矩阵中每个条目的按位逻辑反转。Walsh 矩阵中的每一行都可以使用一些独占或门和一个六位计数器生成。在进行此观察之前,Walsh矩阵似乎是一个令人生畏的模块,可以使用Verilog代码生成并适合CPLD。此处包含的 Verilog 代码列表仅作为示例提供。

module walsh( clk, resetn, select, wout);
//Walsh code generator. Selects one out of N = 64.
input clk, resetn;
input [5:0]select; // vector to select which walsh code is generated
output wout;
reg [5:0] cntval;
// intermediate terms to keep output exor size small.
reg [5:0] p ;
reg t01, t23, t45; // these registers are used to pipeline the EXOR section
reg s0, s1; // more pipeline registers for EXOR
always ? (negedge resetn or posedge clk)
begin
if(!resetn) // Is it time to reset??
begin
cntval <= 0; // initialize the counter register
end
else
begin
cntval <= cntval + 1; //Warp does an efficient job implementing this.
end
end
always ? (negedge resetn or posedge clk)
begin
if(!resetn) // Is it time to reset??
begin
p[5:0] <= 0; // initialize all registers associated with this section.
t01 <= 0;
t23 <= 0;
t45 <= 0;
s0 <= 0;
s1 <= 0;
end
else
begin
p <= cntval & select ;
t01 <= p[0] ^ p[1] ; // the ^ symbol is the exclusive OR operation.
t23 <= p[2] ^ p[3] ;
t45 <= p[4] ^ p[5] ;
s0 <= t01 ^ t23;
s1 <= t45;
end
end
assign wout = s0 ^ s1 ; // a last bit of async. Logic to generate the final output
endmodule

在上面的 Verilog 代码中,请注意为构建操作并尽可能使用同步逻辑而采取的预防措施。同步建模技术的使用在两个方面有助于设计:

亚稳态条件最小化。

逻辑有效地映射到 CPLD 架构中。

要使用现代硬件描述语言执行数字设计,必须始终牢记目标硬件。由于大多数CPLD具有由LOGIC GATES-> REGISTER组成的常规结构,因此如果Verilog代码遵循相同的结构,则可以有效地映射到CPLD。通过这种方式,工程师可以指导合成引擎。如果忽略这一点,并且 Verilog 代码中隐含了许多级别的异步逻辑,CPLD 拟合器将扩展逻辑并迅速超过目标 CPLD 的容量。对于独占 OR 函数尤其如此。此Verilog代码描述的Walsh代码生成器使用中间寄存器管道独占OR函数,从而提供了非常紧凑的实现。

Walsh生成器Verilog代码还说明了可靠设计的几个关键点。在每个“总是?”部分的开头,对复位条件进行测试,然后根据需要预设或清除所有相关寄存器。始终以已知状态启动是一种经过验证的设计技术,可实现可靠运行。还说明了实现 6 位计数器的单独部分,以及用于创建独占 OR 逻辑以选择要输出的正确 Walsh 向量的部分。最后,请注意注释的使用,在 Verilog 中由 // 符号显示。

PN 发生器

CDMA 发生器采用四个 PN 发生器。实现最大长度码移寄存器有两种基本方法:简单反馈样式和模块化样式。(见图3)

poYBAGP3H_mAdGIGAAAonyH1unQ592.gif


图3.简单和模块化PN发生器的示例。

简单的PN发生器可以接受在码速率(芯片)比所采用的逻辑更慢且反馈抽头数量较少的情况下使用。随着抽头数量的增加,简单的方法开始显示出局限性,因为通过多级异步逻辑的延迟继续串联增加并限制可以使用的最大时钟速度。本设计中,简单的PN发生器用于模拟随机数据,时钟频率为4.8kHz。

模块化PN发生器使用更多的逻辑门,因为EXOR操作在线性寄存器的每一级并行执行。在CPLD实现中,惩罚并不太严重,因为Verilog代码被编写为在需要时使用EXOR结构,而在其他地方使用简单的D类型触发器。

此设计中使用的 CDMA 特定多项式包括:

短代码 I:

I(X):= X15+ X13+ X9+X8+ X7+ X5+ 1

短代码 Q:

Q(X):= X15+ X12+ X11+ X10+ X6+ X5+ X4+ X3+ 1

长代码:

LC(X):= X42+ X35+ X33+ X31+ X27+ X26+ X25+ X22+ X21+ X19+ X18+ X17+ X16+ X10+ X7+ X6+ X5+ X3+ X2+ X1+ 1

用于实现短 I 代码的 Verilog 代码如下:

模块i_code_s(时钟、复位、i_code_out);
使用多项式生成 15 位 PN 代码
x15+ x13+ x9+ x8+ x7+ x5+ 1
输入时钟,复位;
输出i_code_out;
注册 [15:1]pi;

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • cpld
    +关注

    关注

    32

    文章

    1247

    浏览量

    169221
  • 振荡器
    +关注

    关注

    28

    文章

    3813

    浏览量

    138888
  • 发送器
    +关注

    关注

    1

    文章

    258

    浏览量

    26797
收藏 人收藏

    评论

    相关推荐

    怎么设计CDMA反向波形发生器

    Maxim设计了一个容易实现的CDMA基带调制发生器用于对其蜂窝手机发射通道中的各种产品进行电路评估。
    发表于 08-23 08:20

    实现CDMA2000系统前向卷积编码的方法有哪些?

    功率等方面考虑,若采取以上措施仍难满足要求,就要考虑差错控制措施。在CDMA 2000系统的前向反向
    发表于 10-18 08:29

    如何实现基带信号发生器CDMA2000下行路基带模块的设计?

    CDMA2000下行物理信道可分为几类?CDMA2000下行路基带处理的关键技术有哪些?如何实现基带信号
    发表于 04-15 06:41

    波形发生器设计

    本实验是基于EasyFPGA030的波形发生器设计,用EasyFPGA030开发套件实现频率可以受按键控制调节的,矩形波和三角波发生器。 本
    发表于 11-02 17:06 389次下载

    基于EasyFPGA030的波形发生器设计

    本实验是基于EasyFPGA030的波形发生器设计,用EasyFPGA030开发套件实现频率可以受按键控制调节的,矩形波和三角波发生器
    发表于 03-11 15:35 61次下载

    基于DDS的波形发生器设计

    基于DDS的波形发生器设计 0 引 言    随着信息技术的发展及测试对象不断丰富,现代电子系统对波形发生器也提出了更高的要求。传统的
    发表于 01-27 10:49 1674次阅读

    基于FPGA的任意波形发生器设计

    波形发生器
    发表于 08-11 08:33 13次下载

    基带信号发生器CDMA2000无线传输技术的下行路基带处理方案

    摘 要:提出了基带信号发生器CDMA2000无线传输技术的下行路基带处理方案,给出了其数字基带处理原理框图,并详细介绍了设计过程中涉及的各种CD
    发表于 11-04 10:57 0次下载
    基带信号<b class='flag-5'>发生器</b>中<b class='flag-5'>CDMA</b>2000无线<b class='flag-5'>传输</b>技术的下行<b class='flag-5'>链</b>路基带处理方案

    CDMA反向波形发生器的设计

    Maxim设计了一个容易实现的CDMA基带调制发生器用于对其蜂窝手机发射通道中的各种产品进行电路评估。此设计包含一个高密度的可编程逻辑器件、一个晶体振荡和一对匹配的低通滤波提供所需
    发表于 11-23 19:07 604次阅读
    <b class='flag-5'>CDMA</b><b class='flag-5'>反向</b><b class='flag-5'>链</b><b class='flag-5'>路</b><b class='flag-5'>波形</b><b class='flag-5'>发生器</b>的设计

    用于生产传输路径测试CDMA 反向波形发生器 FPGA

    发表于 11-18 23:45 0次下载
    <b class='flag-5'>用于</b><b class='flag-5'>生产</b><b class='flag-5'>传输</b><b class='flag-5'>路径</b><b class='flag-5'>测试</b>的 <b class='flag-5'>CDMA</b> <b class='flag-5'>反向</b><b class='flag-5'>链</b><b class='flag-5'>路</b><b class='flag-5'>波形</b><b class='flag-5'>发生器</b> <b class='flag-5'>FPGA</b>

    proteus波形发生器怎么用 proteus里怎么找超声波发射

    Proteus中的函数发生器是一种简单的波形发生器,适用于一些基本功能的测试和调试,但在一些特殊场合下可能无法满足需求。如果需要更高精度和更
    发表于 04-19 15:51 1.5w次阅读

    关于波形发生器,你知道多少?

    信号发生器系列波形发生器你知道多少?虹科信号发生器系列波形发生器
    的头像 发表于 08-05 08:07 2922次阅读
    关于<b class='flag-5'>波形</b><b class='flag-5'>发生器</b>,你知道多少?

    函数发生器、信号发生器波形发生器的区别

    在电子测试和测量领域,函数发生器、信号发生器波形发生器都是重要的测试仪器,它们各自具有独特的功
    的头像 发表于 05-15 14:49 1467次阅读

    任意波形发生器与示波器怎么连接

    在电子测试领域中,任意波形发生器和示波器是两种非常重要的测试设备。任意波形发生器能够产生多种
    的头像 发表于 05-15 15:38 906次阅读

    任意波形发生器的使用方法

    任意波形发生器(Arbitrary Waveform Generator,简称AWG)是现代电子测试与测量领域中不可或缺的重要工具。它能够产生复杂、非周期性的波形信号,为电子系统的研发
    的头像 发表于 05-21 17:26 1221次阅读