一文深度解析AD9361增益控制

描述

Overview

功能与寄存器之间的关系说明

RX

发射功率控制

TX功率由TX通路的模拟衰减值和数字衰减值控制。

模拟衰减

模拟衰减值由9bit二进制数决定,有效范围359个等级,每个等级衰减0.25dB, 模拟链路总共衰减范围是89.75dB。

TX1衰减值寄存器:0x074[D0]+0x073[D7:D0]

TX2 衰减值寄存器:0x076[D0]+0x075[D7:D0]

RX

数字衰减

数字衰减值由寄存器0x079[D4:D0]控制,0x079[D6]=1表示TX1衰减值等于TX2,0x079[D6]=0表示TX1通道衰减生效。

接收增益控制

RX

接收链路增益控制模块

AD9361接收增益的调整是由模拟增益和数字增益共同决定的,控制方式为:自动控制和手动控制,增益调整范围为90dB,数字增益最大为31dB,模拟增益最大为76dB,增益分配是由查找表决定的,查找表也有单表模式和多表模式。

低功率门限

低功率门限对两个接收通道同时有效。

门限范围:0至-63.5dBFS,控制精度0.5dBFS/LSB。

门限值寄存器地址0x114,0x114[D6:D0]=128档门限值。

低功率门限可应用于快速AGC(fast attack AGC)和手动AGC(MGC)两种模式

fast attack AGC:当检测到功率低于门限时,flag非立刻生效,只有在低功率持续一个时间段后生效。持续时间=0x11B

MGC:只要低于功率门限,flag立即生效。

平均功率测量

平均功率测量方法使抽取一系列样本取平均,抽取样本的持续周期由寄存器设置,地址0x15c[D3:D0]

RX

峰值功率检测时间

一般地,通过峰值超出持续时间来控制增益。通过RX的FIR滤波器时钟频率(clkRF)对信号峰值采样,峰值超出时间记录在0x0FE[D4:D0]

Delay设置

功率检测在RX-FIR滤波器前进行。当增益设置改变时功率测量需要维持时延,以便RX-FIR之前的模块完成准备。Delay=0x111[D4:D0]*2,时钟频率为clkRF

RX

增益表(Gain Table)

AD9361增益分为数字增益和模拟增益两部分,且两部分独立控制。

模拟增益表有两种模式:整体表(full table)和分立表(split table),两种模式选择由寄存器0x0FB[D3]控制。

Full模式指接收通道的所有增益由value来体现;

split模式将接收通道增益分为LMT(LAN、MIXER、TIA)和LPF两个独立部分。

RX

Full  table mode

在full模式下,改变总体增益值,比如由60改成59,链路中增益模块(LNA、TIA、LPF…)的参数可能都会改变。
通过SPI可读取增益值,0x2B0[D6:D0]指示RX1的增益,0x2B5[D6:D0]指示RX2的增益。
最大的full模式下的增益可在寄存器0x0FD中设置,最大值为76(十进制)。如果在split模式下该寄存器最大值是40(十进制)

RX

Split Table Mode

Split模式下模拟总增益最大值可由寄存器0x0FD设置,最大值为40(十进制),由LMT和LPF两部分组成。

RX1的LMT增益可通过0x2B0[D6:D0]设置;LPF增益可通过0x2B1[D4:D0]设置,范围0到24(十进制)。RX2的LMT增益可通过0x2B5[D6:D0]设置;LPF增益可通过0x2B6[D4:D0]设置,范围0到24(十进制)。

注意:split模式下的增益不是简单的LMT GAIN+LPF GAIN。增加LMT增益1dB,可能不会导致整体增益增加1dB。

RX

数字增益

数字增益使能标志位0x0FB[D2],寄存器0x100[D4:D0]可设置最大增益值,且不超过31.
由于数字增益不会恶化SNR,在链路总增益固定的情形下,可以通过增加数字增益,减小模拟增益来优化链路性能。

注意:

当寄存器0x10B[D5]=1时,无论数字增益标志位0x0FB[D2]为何值,RX1通道数字增益强制为0x10B[D4:D0];

当寄存器0x10E[D5]=1时,无论数字增益标志位0x0FB[D2]为何值,RX2通道数字增益强制为0x10E[D4:D0];

手动增益控制(MANUAL GAIN CONTROL (MGC)MODE)

MGC有两种控制方式,一种是SPI直接写入增益值,另一种是通过指针查表方式查找合适增益值。MGC模式由寄存器0x0FA后四位使能,0x0FA[D3:D2]=00,RX2进入MGC模式;0x0FA[D1:D0]=00,RX1进入MGC模式。

RX

注意:MGC控制方法:

设置0x0FA[D3:D0],使RX1、RX2进入MGC模式;

0x0FC[D7:D5]的值是MGC增益指针查表时增加的步径,0x0FE[D7:D5]的值是MGC增益指针查表时减小的步径。

MGC方式下的full table 模式

MGC方式下的split table 模式

SPI 直接写入增益值

LMT RX1控制寄存器地址0x109,

  LMT RX2=0x10C,

  LPF RX1=0x10A, LPF RX2=0x10D,

  Digtal RX1=0x10B, Digtal RX2=0x10E,

指针查表方式改变增益

在这种模式下存在一个问题,那就是查表时首先改变哪部分(LMTLPF)的增益,这由寄存器0x0FC[D4:D3]来确定。

如果0x0FC[D3]=0,则0x0FC[D4]=1改变LMT增益,0x0FC[D4]=0改变LPF增益.

如果0x0FC[D3]=1,则0x0FC[D4]状态忽略,由峰值功率检测机制(AD9361 peak detectors)决定改变LMT还是LPF增益。在这种模式下由寄存器0x11A将 LMT增益分为Upper和Lower两部分。

AGC 慢速控制(Slow attack)

应用场景:在FDD场景下。

设置方法:

0x0FA[D4]=0,确保不进入“Slow Attack Hybrid Mode”

RX1:0x0FA[D3:D2]=10; RX2:0x0FA[D1:D0]=10

AGC Slow attack 控制环

RX

设置增益更新时间

在0x124和0x125中设置更新时间,并以RFclk时钟计数,当达到0x124的value时,链路增益值更新。

Slow attack AGC模式下的full gain table

Slow 模式功率过载时,单增益表控制增益方式如下:

RX

Slow attack AGC模式下的split  gain  table

如果gain在LPF表中变化,步径=0x106[D3:D0],如果gain在LMT表中变化,步径=0x103[D4:D2]

RX

AGC混合控制模式

该模式是slow 模式,但是增益更新不受时间限制,只要BBP 拉高 CTRL_IN2 信号,则增益表更新。

设置方法:

0x0FA[D4]=1

RX2使能0x0FA[D3:D2]=11;RX1使能0x0FA[D1:D0]=11

AGC快速控制模式(fast attack mode)

AGC fast attack mode对过载的响应非常快,这样当信号的数据部分到达时,AGC就能稳定到最佳增益指标。

AGC是通过状态机实现增益锁定,如果状态机几个状态完成还没有锁定增益,则返回状态机复位状态。状态机如下图:

RX

STATE0

复位状态,当9361没有进入RX状态时,状态机停留在这一状态。

STATE1

进入RX状态,状态机做一个时延使进入gain侦查准备。时延值寄存器地址0x022

检测峰值功率是否过载,检测时间值=0x117[D4:D0],如果不过载则进入状态2

检测到峰值功率过载,调节机制如下:

RX

STATE2

在HB1输出处测量平均功率值,打开各功率过载检测器,一旦发现过载则返回状态1;

平均功率如果低于“低功率门限值”,启动增益增加机制。完成增益增加后返回状态1;

平均功率值与0x101比较,然后调整增益使之与平均功率匹配。链路最大增益由0x118确定。

在 full table模式下,增益调整直接增益参数。Flit模式下,如果0x111[D6]=1,执行如下操作:

RX

如果0x111[D6]=0,则只有LPF的增益值改变使之匹配平均功率值

STATE3

状态机进入增益锁定状态,功率过载检测机制继续进行。如果功率过载或者过低,增益进入非锁定状态。功率过低响应机制和state2一样。

STATE4

状态3检测到功率过载进入状态4,状态4下增益调整可以在单表(full table)和分表(split table)模式下进行。调整步径发生改变,由寄存器0x112[D7:D6],0x113[D7:D5]确定。

STATE5

在此状态下,增益是锁定状态。平均功率检测周期发生变化,由寄存器0x109[D7],0x10A[D7:D5]控制功率检测周期。

未完待续

太难了。。。原创不易,摸索更不易,如果对您有帮助,欢迎点赞,在看,转发也是对作者的支持与厚爱,感谢!

编辑:jq

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分