AD6635是4通道,80msps WCDMA接收信号处理器(RSP)Ⅱ

元器件信息   2022-11-22 09:21   171   0  

160点击型号即可查看芯片规格书

256点击型号即可查看芯片规格书

AD6635点击型号即可查看芯片规格书

4096点击型号即可查看芯片规格书

3000点击型号即可查看芯片规格书


芯片规格书搜索工具-icspec


RAM系数滤波器

每个单独信道的最终信号处理阶段是具有可编程系数的抽取滤波器的乘积之和。简化的框图如下所示。数据存储器I-RAM和Q-RAM以20位分辨率存储来自前一滤波级的160个最新复杂样本。系数存储器CMEM以20位分辨率存储多达256个系数。在每个CLK循环中,使用相同的系数计算I的一个抽头和Q的一个抽头。RCF输出由24位数据组成。

0762471a-6a04-11ed-bcbe-b8ca3a6cb5c4.png

循环贷款抽取登记册

每一个RCF通道都可以用来降低数据速率。抽取寄存器是一个8位寄存器,可以从1抽取到256。循环贷款抽取以MRCF–1的形式存储在0xA0中。循环贷款的输入利率为fSAMP5。

循环贷款抽取阶段

RCF抽取阶段可用于同步芯片内的多个滤波器。当在AD6635中使用多个信道来实现允许多个RCF滤波器的资源并联的多相滤波器时,这是有用的。在这种应用中,两个循环贷款过滤器将处理来自CIC5的相同数据。然而,每个滤波器将被延迟一半的抽取率,从而在两个一半之间产生180∞相位差。

AD6635滤波器通道使用存储在此寄存器中的值来预加载RCF计数器。因此,计数器不是从0开始(系数0),而是加载:

0762471b-6a04-11ed-bcbe-b8ca3a6cb5c4.png

从而在处理中创建一个偏移量,该偏移量应等于所需的处理延迟。用于处理一个载波的信道或rcf的数目在上述等式中使用。fCLK是AD6635的输入时钟速率,fRCF是CIC5级到RCF的输入采样速率。此数据以8位数字的形式存储在0xA1中。只有当循环贷款抽取率与使用的循环贷款数量之比为整数时,才能使用循环贷款抽取阶段。

RCF滤波器长度

此滤波器可计算的最大抽头数NTAPS由下式给出。值NTAPS–1写入AD6635中地址0xA2处的通道寄存器。

0762471c-6a04-11ed-bcbe-b8ca3a6cb5c4.png

上面使用的函数“min”给出了括号内所有表达式的最小值。

RCF系数位于地址0x00到0x7F中,并被解释为20位两补数。当写入系数RAM时,较低的地址将乘以来自CIC5的相对较旧的数据,较高的系数地址将乘以来自CIC5的相对较新的数据。系数不必是对称的,系数长度NTAPS可以是偶数或奇数。如果系数是对称的,则脉冲响应的两边必须写入系数RAM中。

虽然系数的基本存储器只有128个字长,但实际长度是256个字长。有两页,每一页128字。页面由0xA4的第8位选择。

尽管这些数据必须以页的形式写入,但内部核心处理的筛选器超过128个taps的长度。因此,数据RAM的全长可用作滤波器长度(160抽头)。尽管RCF只能计算160个抽头滤波器,但滤波器系数存储器是256字长,因此存储器中可以存储多个滤波器配置,并且可以使用系数偏移0xA3寄存器来选择。

循环贷款将来自CIC5的数据存储到一个160?40的RAM中。160¥20分配给I数据,160¥20分配给Q数据。RCF使用RAM作为循环缓冲区,因此很难知道特定数据元素存储在哪个地址。为了避免由于未定义的数据RAM值而引起的启动瞬变,应在初始化时清除数据RAM。

当触发RCF以计算滤波器输出时,它首先将数据RAM中的最旧值乘以第一个系数,该系数由RCF系数偏移寄存器(0xA3)指示。该值与较新数据字的乘积乘以系数RAM中的后续位置累加,直到达到系数地址RCFOFF+NTAPS–1。

0762471d-6a04-11ed-bcbe-b8ca3a6cb5c4.png

循环贷款系数偏移寄存器可用于两个目的。该寄存器的主要用途是允许将多个过滤器加载到内存中,并通过更改偏移量作为快速过滤器更改的指针进行选择。该寄存器的另一个用途是构成符号定时调整的一部分。如果期望的滤波器长度的末端用零填充,则可以调整起始点,以便在参考高速时钟计算滤波器时形成轻微延迟。这允许游标调整符号计时。课程调整可以在循环贷款抽取阶段进行。

该滤波器的输出速率由CIC5级和MRCF的输出速率决定:

0762471e-6a04-11ed-bcbe-b8ca3a6cb5c4.png

循环贷款输出比例因子和控制寄存器

寄存器0xA4是一个复合寄存器,用于配置RCF寄存器的几个方面。位3–0用于设置定点输出模式的刻度。该标度值还可用于结合该寄存器的位6来设置浮点输出。

位4和5决定输出模式。模式00将芯片设置为定点模式。位数由并行端口或链路端口配置决定。

模式01选择浮点模式8+4。在这种模式下,8位尾数后跟4位指数。在模式1x(x不重要)中,模式是12+4,或12位尾数和4位指数。

0762471f-6a04-11ed-bcbe-b8ca3a6cb5c4.png

通常,AD6635将确定优化数值精度的指数值。但是,如果设置了该控制寄存器的第6位,则使用存储在第3–0位中的值来缩放输出。这确保了在可能保证可预测输出范围的条件下,一致的缩放和精度。如果位3–0由RCF Scale表示,则dB中的比例因子由以下公式给出:

07624720-6a04-11ed-bcbe-b8ca3a6cb5c4.png

循环贷款比例为0时,比例因子等于–18.06分贝,对于最大循环贷款规模15,比例因子等于72.25分贝。

如果设置了该寄存器的第7位,则实输出和虚输出(I和Q)将使用相同的指数。使用的指数将是以牺牲小信号精度为代价防止数字溢出的指数。然而,这很少是一个问题,因为无论使用什么指数,小数字都表示0。

该寄存器的位8是用于对寄存器编程的循环贷款银行选择位。当该位为0时,选择128的最低块(抽头0到127)。高时,选择最高的块(轻触128到255)。需要注意的是,虽然芯片是计算滤波器,但是tap 127与128相邻,并且没有分页问题。

该寄存器的第9位选择每个循环贷款的输入来自何处。如果位9清除,则循环贷款输入来自通常与循环贷款相关联的CIC5。对于通道0到3,如果设置了位,则输入来自CIC5通道1。唯一的例外是通道1,它使用通道0的CIC5输出作为备用。使用此功能,每个RCF可以在其自己通道的NCO+rCIC2+CIC5数据上运行,也可以与通道1的RCF配对。信道1的RCF也可以与信道0配对。该控制位用于多相分布式滤波。

类似地,对于通道4到7,如果设置了位,则输入来自CIC5通道5。唯一的例外是通道5,它使用CIC5通道4的输出作为其备用源。

如果位10清除,则AD6635信道在正常模式下工作。但是,如果设置了位10,则绕过RCF来执行信道BIST。有关更多详细信息,请参阅下面的通道BIST(内置自检)部分。

注意,可以使用端口控制寄存器中的适当设置将RCF的输出直接发送到输出端口(并行或链路)(请参阅输出端口控制寄存器的内存映射)。或者,可以将来自多个信道的数据交织到插值半带滤波器和agc中(即使绕过半带滤波器和agc,交织功能仍然完成)。此功能交错AD6635内部的数据,允许使用多个信道处理单个载波。

插值半带滤波器

AD6635有四个内插半带FIR滤波器,紧跟在四个数字AGC之前,紧跟在RCF信道输出之后。每一个内插半带从前一个RCF接收I和Q数据,并将I和Q数据输出到AGC。半带滤波器和AGC彼此独立工作,因此可以绕过AGC,在这种情况下,半带滤波器的输出直接发送到输出数据端口。半带滤波器也彼此独立工作-任何一个都可以使用半带控制寄存器启用或禁用。

半带滤波器还执行在实际插值功能之前从各种RCF信道输出交织数据的功能。即使绕过了半带滤波器的实际功能,也允许这种数据交错。此功能允许在AD6635上使用多个信道(实现多相滤波器)来处理单个载波。RCF相位抽取或信道的启动延迟计数器用于适当地对信道进行相位调整。例如,如果使用AD6635的两个信道来处理一个cdma2000载波,则两个信道的RCF滤波器应为180∞异相。这可以使用RCF相位抽取或适当的起始延迟计数器,然后是适当的NCO相位偏移来完成。

半带滤波器A可以监听0到3个信道

0和1,或仅通道0。半带滤波器B可以收听信道2和3或仅收听信道2。每个半带滤波器交织其控制寄存器中指定的信道。这样组合的交织数据被2插值。交错函数可以独立于插值函数使用,在这种情况下,使用半带控制寄存器绕过半带滤波器。当半带滤波器被旁路时,交织功能仍被执行。对于以两倍芯片速率运行的一个信道,可以使用半频带以4%芯片速率输出信道数据。

在图31中,图中示出了插值半带FIR滤波器相对于码片速率的频率响应。

07624721-6a04-11ed-bcbe-b8ca3a6cb5c4.png

插值半带滤波器的信噪比约为149.6db。定点算法产生的最大错误杂散约为-172.9db。表7给出了13抽头插值半带FIR滤波器的系数。

07624722-6a04-11ed-bcbe-b8ca3a6cb5c4.png

自动增益控制

AD6635配备了四个独立的自动增益控制(AGC)回路,用于与RAKE接收器直接接口。每个AGC电路的范围为96db。重要的是,AGC之前的AD6635的抽取滤波器拒绝不需要的信号,以便每个AGC环路仅在感兴趣的载波上工作,并且其他频率的载波不影响环路的测距。

AGC将内插半带滤波器的23位复杂输出压缩为4–8、10、12或16位的可编程字大小。由于来自较低比特的小信号通过增加增益被推入较高比特,因此较低比特的削波不会损害感兴趣信号的信噪比。AGC在输出端保持恒定的平均功率,而不管感兴趣的信号电平如何,允许在信号的动态范围超过输出分辨率的动态范围的环境中工作。

AGC和内插滤波器没有捆绑在一起,并且它们中的任何一个或两者都可以在没有另一个的情况下进行选择。如果需要,可以通过设置AGC控制字的位0绕过AGC部分。绕过时,I/Q数据在剪裁为16位I/Q数据后传递到输出端口。

AGC函数引入的误差有三个来源:下溢、溢出和调制。下溢是由输出范围以下的位截断引起的。溢出是由输出信号超出输出范围时的剪辑错误引起的。在接收数据期间,当输出增益变化时发生调制错误。

应根据信号的概率密度函数设置所需的信号电平,以平衡由于下溢和溢出引起的误差。应设置环路滤波器的增益和阻尼值,使AGC足够快,以跟踪可能导致过多下溢或溢出的信号的长期振幅变化,但足够慢,以避免由于信号调制而导致过多的振幅信息丢失。

自动增益控制回路

AGC回路采用对数线性结构。它包含四个基本操作:功率计算、误差计算、环路滤波和增益倍增。

AGC可以配置为在两种模式中的一种运行:期望信号电平模式或期望削波电平模式,如AGC控制字(0x0A,0x12)的位4所设置。AGC根据所选择的操作模式,根据与给定期望信号电平或期望限幅电平的距离来调整输入数据的增益。提供两条到AGC回路的数据路径:一条在剪裁电路之前,一条在剪裁电路之后,如图32所示。对于所需的信号电平模式,仅使用剪辑之前的I/Q路径。对于所需的削波电平模式,使用削波电路前后的I/Q信号的差。

期望信号电平模式

在这种操作模式下,AGC努力将输出信号保持在可编程设定的水平。通过在AGC控制字(0x0A,0x12)的位4中输入0值来选择此操作模式。首先,循环通过对I和Q进行平方运算并将其相加来确定输入的复杂数据信号的平方(或幂)。此操作在指数域中使用2x(2的幂)实现。

AGC回路有一个平均阻塞和致命阻塞。这种平均和抽取运算发生在幂样本上,并且在平方根运算之前。此程序块可编程为平均1-16384个功率样本,而decimate部分可编程为每1-4096个样本更新一次AGC。平均运算的限制是平均功率样本的数目应该是抽取值的倍数(1、2、3或4倍)。

平均和抽取有效地意味着AGC可以在1-16384个输出样本的平均功率上运行。选择每1-4096个样本更新一次AGC并以平均功率运行有助于实现具有慢时间常数的环路滤波器,其中AGC误差收敛缓慢并进行不频繁的增益调整。在用户希望在数据帧(或符号流)上保持增益缩放恒定的情况下,它也很有用。

07624723-6a04-11ed-bcbe-b8ca3a6cb5c4.png

由于平均样本数是抽取值的倍数的限制,仅对倍数1、2、3或4进行编程。这个数字在0x10和0x18寄存器的位1、0中编程。然后,这些平均样本用可编程为1到4096的抽取率进行抽取。这个抽取率在12位寄存器0x11和0x19中定义。

平均运算和抽取运算被捆绑在一起,并使用一阶CIC滤波器和一些FIFO寄存器来实现。与CIC滤波器相关联的是增益和比特增长,这取决于抽取率。为了补偿与这些操作相关联的增益,在CIC滤波器之前提供衰减缩放。

该缩放操作解释了与平均操作相关联的除法以及CIC滤波器中的传统比特增长。由于此缩放是作为位移位操作实现的,因此只能进行粗略缩放。在稍后解释的请求级别中,精细缩放被实现为偏移量。衰减比例(SCIC)可使用0x10和0x18寄存器的四位从0到14进行编程,并由以下给出:

07624724-6a04-11ed-bcbe-b8ca3a6cb5c4.png

其中MCIC是抽取率(1–4096),NAVG是编程为抽取率(1、2、3或4)倍数的平均样本数。

例如,如果抽取比MCIC为1000,而NAVG被选择为3(抽取1000个样本并平均3000个样本),则由于平均和抽取而产生的实际增益为3000或69.54 dB(=20 log 3000)。由于衰减是作为位移操作来实现的,因此仅可能是6.02db衰减的倍数。在这种情况下,SCIC是12,相当于72.24db。这样,SCIC标度总是衰减到足以补偿平均部分和毁灭部分的增益变化,从而防止AGC环路中的溢出。但同样明显的是,CIC标度引入了高达6.02db的增益误差(CIC引起的增益和提供的衰减之间的差异)。此错误应在请求信号电平中补偿,如下所述。

对基数2的对数应用于“平均”和“抽取”部分的输出。这些抽取的功率样本(在对数域)通过应用平方根转换为均方根信号样本。这个平方根是用一个简单的移位操作实现的。这样获得的rms样本从寄存器(0x0B,0x14)中指定的请求信号电平“R”中减去,留下一个由环路滤波器G(z)处理的错误项。

用户根据所需的输出信号电平设置该可编程请求信号电平‘R’。请求信号电平“R”可编程为0至-23.99分贝,步长为0.094分贝。如前所述,请求信号电平还应补偿由CIC缩放引起的任何错误。因此,请求信号电平被由:

07624725-6a04-11ed-bcbe-b8ca3a6cb5c4.png

其中,偏移量以dB为单位。

继续前面的例子,这个偏移量由72.24–69.54=2.7分贝。所以请求信号电平由:

07624726-6a04-11ed-bcbe-b8ca3a6cb5c4.png

其中R是请求信号电平,DSL(期望信号电平)是用户期望的输出信号电平。因此,在前面的例子中,如果期望的信号电平是-13.8db,则请求电平“R”被编程为-16.54db。

AGC提供可编程的二阶环路滤波器。可编程参数增益K和极点P完全定义了环路滤波器的特性。减去请求信号电平后的误差项由环路滤波器G(z)处理。二阶环路滤波器的开环极点分别为1和P。环路滤波器参数极点“P”和增益“K”允许调整滤波器时间常数,该常数确定计算峰均比的窗口。

滤波器的开环传递函数,包括增益参数,由:

07624727-6a04-11ed-bcbe-b8ca3a6cb5c4.png

如果AGC配置正确(根据请求级别的偏移量),则除滤波器增益K外没有增益。在这种情况下,AGC环路的闭环表达式是可能的,并由:

07624728-6a04-11ed-bcbe-b8ca3a6cb5c4.png

增益参数“K”和极点“P”通过寄存器(AGC A和AGC C的0x0E和0x0F;AGC B和AGC D的0x16和0x17)从0到0.996进行编程,使用8位表示法,以0.0039为步进。尽管用户定义了开环极点“P”和增益“K”,但它们将直接影响闭环极点的位置和滤波器特性。这些闭环极点P1和P2是上述闭环传递函数中分母的根,由:

07624729-6a04-11ed-bcbe-b8ca3a6cb5c4.png

通常,AGC环路的性能是根据其时间常数或稳定时间来定义的。在这种情况下,闭环极点应设置为满足AGC回路所需的时间常数。时间常数和闭环极点之间的下列关系可用于此目的。

0762472a-6a04-11ed-bcbe-b8ca3a6cb5c4.png

其中t是对应于极点P1,2的时间常数。时间常数也可以从下面给出的沉降时间中导出。

0858ac72-6a04-11ed-bcbe-b8ca3a6cb5c4.png

MCIC(CIC抽取从1到4096),用户应选择确定时间或时间常数。采样率是所有进入AGC/半带内插滤波器的交织信道的组合采样率。如果使用两个信道以2码片速率处理一个UMTS载波,则每个信道以3.84mhz工作,并且进入半带内插滤波器的组合采样速率为7.68msps。在计算上述方程中的极点时,应使用该比率。

环路滤波器输出对应于由AGC更新的信号增益。由于环路滤波器的所有计算都在采样的对数域(以2为底)内完成,因此信号增益是使用环路滤波器输出的指数(2的幂)生成的。

增益乘法器给出输入AGC部分的I和Q数据的信号增益的乘积。该信号增益被用作粗略的4位缩放,然后是精细的8位乘法器。因此,所施加的信号增益在-48.16分贝和+48.13分贝之间,步长为0.024分贝。信号增益的初始值可分别使用AGC A(AGC)和AGC B(AGC D)的寄存器0x0D和0x15进行编程。

增益乘法器的乘积是19位表示的AGC标度输出。它们依次用作I和Q,用于计算功率和AGC误差,并进行环路滤波以产生下一组样本的信号增益。使用AGC控制字(0x0A,0x12),这些AGC标度输出可编程为4、5、6、7、8、10、12或16位。如功能框图所示,AGC标度输出使用限幅电路被截断为所需的比特宽度。

开环增益设置:如果滤波器增益K仅占1lsb或0.0039,则在与误差项相乘期间,可截断高达6.02db的误差。这个截断是由于AGC环路中可用的比特宽度较低。如果滤波器增益K为最大值,则截断误差小于0.094db(相当于误差项表示的1lsb)。通常,小的滤波器增益用于实现大的时间常数环(或慢环),但在这种情况下,它会导致大的误差无法被检测到。由于这一特点,设计人员建议如果用户想要慢AGC环路,他们应该使用相当高的滤波器增益K值,然后使用CIC抽取来实现慢环路。这样,与小而频繁的增益变化相比,AGC环路将进行大而不频繁的增益变化,如在正常的小增益环路滤波器的情况下。然而,尽管AGC环路产生了大的、不频繁的增益变化,但仍然获得了一个缓慢的时间常数,并且误差的截断也较小。

平均样本设置:尽管用直观的方法来表示平均采样数的精确影响很复杂,但它对AGC环路攻击信号电平突然增加或尖峰的方式有平滑效果。如果使用四个样本的平均值,AGC将比不使用平均值更缓慢地攻击信号电平的突然增加。这同样适用于AGC攻击信号电平突然下降的方式。

所需的剪辑级别模式

如前所述,可以对每个AGC进行配置,使得环路锁定到期望的削波电平或期望的信号电平。可以通过设置单个AGC控制字(0x0A、0x12)的位4来选择所需的削波电平模式。对于倾向于超过峰均比界限的信号,所需的削波电平选项提供了一种避免截断这些信号的方法,并且仍然提供一种快速攻击并稳定到所需输出电平的AGC。此操作模式的信号路径用图32(AGC的框图)中的虚线箭头表示,并且该操作类似于所需的信号电平模式。

首先,来自增益乘法器的数据被截断为由AGC控制字设置的较低分辨率(4、5、6、7、8、10、12或16位)。产生一个误差项(I和Q),它是截断前后信号之间的差。该项被传递到复平方幅度块,用于平均和抽取更新样本,并取其平方根以找到均方根样本,就像在所需的信号电平模式中一样。代替请求所需的信号电平,减去所需的削波电平,留下由二阶环路滤波器处理的误差项。其余回路的工作方式与所需的信号电平模式相同。这样计算截断误差,AGC回路保持恒定的截断误差水平。

除了AGC控制字的位4之外,与所需信号电平模式相比,唯一的另一个寄存器设置改变是所需的削波电平存储在AGC所需电平寄存器(0x0C,0x15)中,而不是存储在请求信号电平(如所需信号电平模式中)。

同步

在AGC输出连接到RAKE接收机的情况下,RAKE接收机可以同步平均和更新部分,以更新AGC误差计算和环路滤波的平均功率。该外部同步信号将AGC变化同步到RAKE接收机,并确保AGC增益不会在符号周期内变化,从而产生更精确的估计。这种同步可以通过设置AGC控制寄存器的适当位来实现。

当通道从休眠状态出来时,它加载AGC延迟计数器值并开始倒计时,由主时钟计时。当该计数器为零时,AGC的CIC滤波器开始抽取,并基于设置的CIC抽取值更新AGC环路滤波器。

此外,每当用户想要同步新的更新样本的抽取开始时,可以在AGC延迟计数器(0x0B,0x13)中设置适当的延迟值,然后设置AGC控制字中的Sync now位(位3)。在设置该位时,延迟计数器值被倒计时,并且在计数为零时更新CIC被抽取的值。

在更新新值的同时,如果设置了AGC控制字的Init on Sync位(位2),则可以重置CIC滤波器累加器。除非设置了AGC控制字的第一个仅同步位(位1),否则每个同步将启动一个新的同步信号。如果未设置此位,则延迟计数器将再次加载延迟寄存器中的值,以倒计时并重复相同的过程。这些附加特性使AGC同步更加灵活,适用于各种情况。

地址0x0A–0x11已保留用于配置AGC

A、 地址0x12–0x19已预留用于配置AGC B。寄存器规格在“输出端口控制寄存器的内存映射”部分中详细说明。

用户可配置的内置自检(BIST)

AD6635包含两个内置测试功能,用于测试每个通道的完整性。第一个是RAM BIST,用于测试AD6635中高速随机存取存储器的完整性。第二种是通道BIST,它被设计用来测试AD6635的主信号路径的完整性。每个BIST函数彼此独立,这意味着每个通道可以同时独立测试。

RAM内建自测试

RAM BIST可用于验证片上RAM的功能。这个特性提供了一个简单的通过/失败测试,这将给信道RAM运行的信心。执行此测试应遵循以下步骤。

1、待测通道应通过外部地址寄存器0x011进入休眠模式。

2、RCF寄存器0xA8中的RAM BIST启用位应设置为高。

3、等待1600个时钟周期。

4、寄存器0xA8应该被读回。如果位0为高,则测试尚未完成。如果位0低,则测试完成,位1和2指示内部ram的状态。如果位1高,则CMEM坏。如果位2高,则DMEM不好。

0858ac73-6a04-11ed-bcbe-b8ca3a6cb5c4.png

通道内建自测试

通道BIST是对所选AD6635信号路径的彻底测试。在这种测试模式下,可以使用外部提供的向量或内部伪随机生成器。RCF中的错误签名寄存器监视通道的输出数据,并用于确定是否有正确的数据退出RCF。如果检测到错误,则可以绕过每个内部块,并运行另一个测试来调试故障。I和Q路径是独立测试的。执行此测试应遵循以下步骤。

1、要测试的通道应该按照应用程序的要求配置,设置抽取率、标量和循环贷款系数。

2、频道应保持睡眠模式。

3、要测试的通道的起始延迟计数器应设置为1。

4、内存位置0xA5和0xA6应设置为0。

5、应通过将位19–0设置为要观察的RCF输出数来启用位于0xA7的通道BIST。

6、外部地址寄存器5的位4应设置为高,以启动软同步。

7、将要测试的通道的同步位设置为高。

8、位6必须设置为0,以允许用户提供测试向量。内部伪随机数产生器也可用于通过将比特7设置为高来产生输入序列。

9、当位6设置为1且位7被清除时,可插入内部满标度正弦波。

10、当软同步被寻址时,所选频道将脱离睡眠模式并进行处理。

11、如果用户正在提供外部向量,则可以通过其他方法之一使芯片退出休眠模式,前提是任一IEN输入在信道准备好接受数据之前处于非活动状态。

12、在足够长的时间之后,信道BIST签名寄存器0xA5和0xA6将包含一个数值,该数值可与具有完全相同配置的已知良好AD6635的预期值进行比较。如果值相同,则信道中出现错误的概率非常低。

芯片同步

AD6635可实现两种类型的同步。这是开始和跳跃。每一个都在下面详细描述。同步是通过使用影子寄存器和延迟计数器来完成的。有关NCO阴影寄存器和NCO频率延迟计数器的简化示意图,请参见图33,以了解其基本操作。启用延迟计数器的时钟(AD6635 CLK)可以通过软同步(通过微孔)或管脚同步(通过四个AD6635同步管脚a、B、C或D中的任何一个)进行。

0858ac74-6a04-11ed-bcbe-b8ca3a6cb5c4.png

AD6635上提供的四个同步管脚对整个芯片是通用的,即所有8个通道和所有4个AGC。另一方面,特定于信道0到3以及AGCs A和B的4个软同步信道不同于特定于信道4到7以及AGCs C和D的4个软同步信道。这是对这些不同的同步信道组使用不同芯片选择(CS0和CS1)的效果。当使用CS1对微孔进行编程时,对软同步寄存器(外部地址0x5)和通道4、5、6和7的软同步进行编程。应注意,同步管脚与软同步通道0、1、2和3分开。

起点

启动是指单个通道、芯片或多个芯片的启动。如果不使用信道,则应将其置于睡眠模式以减少功耗。在硬复位(AD6635复位引脚上的低脉冲)之后,所有通道都进入休眠模式。也可以通过写入控制睡眠功能的外部地址0x3来手动将信道置于睡眠状态。

从没有同步开始

如果不需要同步来启动多个通道或多个AD6635s,则应使用以下方法来初始化设备:

1、要对频道进行编程,必须首先将其设置为睡眠模式(位高,分机地址3)。然后加载所有适当的控制和内存寄存器(过滤器)。开始更新延迟计数器(0x83)应设置为1:

2、将休眠位设置为低位(外部地址3)。这将启用频道。注意,当使用外部地址时,应为不同的信道使用适当的芯片选择。使用CS0时启动通道0–3,使用CS1时启动通道4–7。

从软同步开始

AD6635具有在微处理器控制下同步通道或芯片的能力。同步的一个动作是启动通道或芯片。启动更新延迟计数器(0x83)与启动位和同步位(外部地址5)一起允许此同步。基本上,Start Update延迟计数器通过其值(AD6635 CLK的数量)延迟通道的启动。以下方法用于通过微处理器控制同步多个通道的启动:

1、将相应的通道设置为睡眠模式(AD6635复位引脚的硬复位使所有四个通道都处于睡眠模式)。

2、注意,从RDY(DTACK)管脚变高到NCO开始处理数据的时间是开始更新延迟计数器(0x83)的内容加上六个主时钟周期。

3、将开始更新延迟计数器(0x83)写入适当的值(大于1且小于216–1)。如果芯片未初始化,则应在此步骤加载所有其他寄存器。

4、写入起始位和同步位高位(分机地址5)。

5、这将启动开始更新延迟计数器倒计时。计数器用AD6635时钟信号计时。当它达到一个计数时,相应信道的睡眠位被设置为低以激活信道。

6、注意,通道0到3和4到7将在不同的微端口写入期间接收同步(通道0到3和4到7必须使用单独的同步)。应注意两组通道(单独的微孔写入)的时间差。

从Pin同步开始

AD6635有四个同步管脚A、B、C和D,可以提供非常精确的同步通道。每一个通道都可以被编程为监听四个同步管脚中的任何一个。此外,任何或所有通道都可以监视单个同步管脚,或者每个通道都可以监视单独的管脚,从而提供完全的同步灵活性。用以下方法完成与外部信号之一的启动同步。

1、将相应的通道设置为睡眠模式(AD6635复位引脚的硬复位使所有四个通道都处于睡眠模式)。

2、请注意,从同步管脚变高到NCO开始处理数据的时间是开始更新延迟计数器(0x83)的内容加上三个主时钟周期。

3、将开始更新延迟计数器(0x83)写入适当的值(大于1且小于216–1)。如果芯片未初始化,则应在此步骤加载所有其他寄存器。

4、设置Pin Sync的起始位和适当的Sync PinEnable high(Ext address 4;A、B、C或D)。

5、当AD6635 CLK对同步管脚进行高采样时,这将启用开始更新延迟计数器的倒计时。计数器用AD6635时钟信号计时。当它达到一个计数时,相应信道的睡眠位被设置为低以激活信道。

6、与软同步不同,Pin同步同时影响所有频道。请参阅上一节的步骤6,从软同步开始了解两组通道之间的延迟。由于同步管脚在所有AD6635通道之间共享,因此管脚同步不会发生这些延迟。

单足蹦跳

跳跃是从一个NCO频率跳到一个新的NCO频率。这种频率变化可以通过微处理器控制(软同步)或外部同步信号(引脚同步)进行同步,如下所述。

要在不同步的情况下设置NCO频率,应使用以下方法。

设置频率无跳

1、将NCO频率延迟计数器设置为0。

2、加载适当的NCO频率。新频率将立即加载到NCO。

软同步跳跃

AD6635包括在微处理器控制下同步多个通道或芯片上NCO频率变化的能力。NCO频率延迟计数器(0x84)与跃点位和同步位(外部地址4)一起允许此同步。基本上,NCO频率延迟计数器根据其值(AD6635 CLKs的数目)延迟新频率加载到NCO中。以下方法用于通过微处理器控制在多个信道上同步跳入频率。

1、注意,从RDY(DTACK)管脚变高到NCO开始处理数据的时间是NCO频率保持计数器(0x84)的内容加上七个主时钟周期。

2、将NCO Freq Hold Off(0x84)计数器写入适当的值(大于1且小于216–1)。

3、将NCO频率寄存器写入新的期望频率。

4、写入跃点位和同步位高位(分机地址4)。

5、这将启动NCO频率延迟计数器倒计时。计数器使用AD6635 CLK信号计时。什么时候?它达到一个计数,新的频率被加载到NCO中。

6、请注意,通道0到3和4到7将在不同的微端口写入期间接收同步(通道0到3和4到7必须使用单独的同步)。应注意两组通道(单独的微孔写入)的时间差。

带Pin同步的跳跃

AD6635包括四个同步管脚,以提供最精确的同步,特别是在多个AD6635s之间。跳频到新的NCO频率与外部信号的同步通过以下方法完成。

1、请注意,从同步管脚变高到NCO开始处理数据的时间是NCO频率保持计数器(0x84)的内容加上五个主时钟周期。

2、将NCO频率延迟计数器(0x84)写入适当的值(大于1且小于216–1)。

3、将NCO频率寄存器写入新的期望频率。

4、设置跳转Pin同步位和适当的同步PinEnable高。

5、当AD6635 CLK对所选同步管脚进行高采样时,这将启用NCO频率延迟计数器的倒计时。计数器用AD6635时钟信号计时。当它达到一个计数时,新的频率被加载到NCO中。

6、与软同步不同,Pin同步会同时影响所有通道。请参阅本节的步骤6,从软同步开始,了解两组通道之间的延迟。由于所有同步管脚在所有AD6635通道之间共享,因此管脚同步不会出现这些延迟。

并行输出端口

AD6635包含四个独立的16位并行端口和链路端口,用于输出数据传输。并行端口和链路端口共享管脚和内部多路复用器电路。对于每个数据路径,即对于每个输出端口(A、B、C或D),可以选择并行端口或链路端口,但不能同时选择两者。并行端口和链路端口可以同时使用,但前提是它们不共享相同的数据路径;例如,并行端口A与链路端口B一起使用,或并行端口B与链路端口A一起使用。图34示出了显示一个输出端口的AD6635输出数据路由配置的简化框图。它还显示了共享管脚;AD6635的8个管脚与链路端口数据管脚共享,并行端口信道指示管脚与链路端口时钟输入和时钟输出管脚共享。

0858ac75-6a04-11ed-bcbe-b8ca3a6cb5c4.png

并行端口配置是通过访问端口控制寄存器地址0x1A和0x1C来指定的。端口时钟主/从模式(稍后描述)是使用地址0x1E处的端口时钟控制寄存器来配置的。应该注意的是,输出端口A和B与输出端口有一个单独的时钟(PCLK0端口C和D(PCLK1)。注意,要访问这些寄存器,必须设置外部地址3(睡眠寄存器)的位5(访问端口控制寄存器)。然后通过在外部地址6对汽车寄存器进行编程来选择地址。

通过在地址0x1B和0x1D处设置链路控制寄存器的位7来启用并行端口。

每个并行端口都可以在通道模式或AGC模式下工作。下面将详细介绍每种模式。

频道模式

通过设置地址0x1A和0x1B的位0来选择并行端口信道模式。在信道模式中,每个信道被引导到并行端口,绕过交织器、内插半带滤波器和AGC。端口输出的特定通道通过设置输入端口控制寄存器0x1A和0x1C的位1–4来选择。每个通道0–3可以在端口A和/或端口B上独立输出。类似地,每个通道4-7可以在端口C、端口D或两者上独立输出。

通道模式提供两种数据格式。每种格式都需要不同数量的并行端口时钟(PCLK)周期来完成数据传输。在每种情况下,在一个PCLK周期中传输每个数据元素。参见图35和图36,它们显示了信道模式并行端口定时。

0858ac76-6a04-11ed-bcbe-b8ca3a6cb5c4.png0858ac77-6a04-11ed-bcbe-b8ca3a6cb5c4.png

16位交织格式在背对背PCLK周期上为每个输出样本提供I和Q数据。I和Q字都由16位的全端口宽度组成。当REQ和ACK都被断言时,数据输出在PCLK的上升沿被触发。在第一个PCLK循环期间输出I数据,并且PxIQ输出指示针被设置为高,以指示I数据在总线上。Q数据在随后的PCLK循环期间输出,并且PxIQ输出指示针在此循环期间处于低位。

8位并发格式在一个PCLK周期内同时提供8位I数据和8位Q数据,也在PCLK上升沿触发。I字节占据端口的最高有效字节,而Q字节占据最低有效字节。在PCLK循环期间,PxIQ(其中x=A、B、C或D)输出指示引脚被设置为高。注意,如果连续输出来自多个通道的数据,则PxIQ输出指示引脚将保持高电平,直到输出来自所有通道的数据。需要注意的是,输出端口(并行或链路)A和B只能从通道0-3输出数据,同样,输出端口C和D只能从通道4-7输出数据。

PACH[1:0]和PBCH[1:0]管脚提供一个2位二进制值,指示当前输出数据的源通道。此值将传送通道号0到3。类似地,PCCH[1:0]和PDCH[1:0]管脚提供一个2位二进制值,指示当前正在输出的数据的源通道,通道为4到7。二进制值00表示通道4,值11表示通道7。

应注意尽快从端口读取数据。否则,当下一个新数据样本到达时,将覆盖该样本。这是在每个通道的基础上发生的;也就是说,通道0示例将只被新的通道0示例覆盖,以此类推。

数据输出的顺序取决于数据何时到达端口,这是总抽取率、起始延迟值等的函数。优先级顺序是从最高到最低的通道0、1、2和3,同样地,在端口C和D上,优先级顺序是通道4、5、6和7。

AGC模式

通过清除地址0x1A和0x1C的位0来选择并行端口信道模式。AGC模式下输出的I和Q数据来自AGC,而不是单个信道。并行端口A和B可以提供来自AGC A和/或AGC B的数据。寄存器地址0x1A和0x1C的位1和2分别控制来自AGCs A和B的数据的包含。类似地,并行端口C和D可以提供来自AGC C、AGC D或两者的数据。

AGC模式只提供一种I和Q格式,类似于信道模式的16位交织格式。当REQ和ACK都被断言时,PCLK的下一上升沿触发一个PCLK周期的16位AGC I字的输出。在这个循环中,PxIQ(x=A、B、C或D)输出指示引脚为高,否则为低。在随后的PCLK循环中提供16位AGC Q字。如果自上次采样以来AGC增益字已更新,则在并行端口数据管脚的12 MSBs上的Q字之后的PCLK循环期间提供12位RSSI字(接收信号强度指示器)。RSSI字是AGC增益乘法器中使用的信号增益字的位逆。

PACH[1:0]和PBCH[1:0]提供的数据

AGC模式不同于信道模式。在AGC模式下,PACH[0]和PBCH[0]表示当前输出数据的AGC源(0=AGC A,1=AGC B)。PACH[1]和PBCH[1]指示当前数据是I/Q字还是AGC RSSI字(0=I/Q字,1=AGC RSSI字)。两种不同的AGC输出如图37和38所示。

0858ac78-6a04-11ed-bcbe-b8ca3a6cb5c4.png

主/从PCLKn模式

并行端口可以在主模式或从模式下工作。

该模式通过端口时钟控制寄存器(地址0x1E)设置。并行端口在从属模式下通电,以避免PCLKn管脚上可能出现的争用。并行端口A和B可以在主模式下设置,而端口C和D可以在从模式下设置,反之亦然。但是,端口A和B,或C和D应该处于相同的模式,因为它们分别共享并行端口时钟PCLK0和PCLK1。

在主模式下,PCLK是一个输出,其频率是AD6635时钟频率除以PCLK除数。由于PCLK_除数[2:1]的值可以设置为0、1、2或3,因此可以分别获得1、2、4或8的整数除数。由于AD6635的最大时钟频率是80MHz,所以主模式下的最高PLCK频率也是80MHz。通过设置地址0x1E的位0来选择主模式。

在从机模式下,外部电路提供PCLK信号。从模式PCLK信号可以是同步或异步的。最大从模式PCLK频率为100 MHz。

并行端口引脚功能

下面介绍并行端口使用的管脚的功能。

PCLK:输入/输出。作为输出(主模式),最大频率是CLK/N,其中CLK是AD6635时钟,N是1、2、4或8的整数除数。作为输入(从机模式),它可能相对于AD6635 CLK是异步的。此pin作为输入启动,以避免可能的争用。其他端口输出在PCLK的上升沿发生变化。

REQ:激活高输出,与PCLK同步。此引脚上的逻辑高表示可以将数据移出端口。在所有挂起的数据被移出之前,逻辑级别保持在高位。

ACK:主动高异步输入。在此引脚上应用逻辑下限可抑制并行端口数据移动。当REQ为高时,对该引脚应用逻辑高将导致并行端口根据编程的数据模式移出数据。ACK在PCLK的上升沿采样。假设REQ被断言,从ACK断言到出现在并行端口输出的数据的延迟不超过1.5pclk周期(见图12)。ACK可以持续保持高;在这种情况下,当数据可用时,移位在断言REQ之后开始一个PCLK周期(参见图35、36和37)。

PAIQ,PBIQ,PCIQ,PDIQ:当端口输出上有数据时,为高,否则为低。

PxCH[1:0]、PxCH[1:0]、PCCH[1:0]、PDCH[1:0]:这些管脚用于识别两种数据模式中的数据。在通道模式下,这些管脚形成一个2位二进制数,标识当前数据字的源通道。在AGC模式下,[0]表示AGC源(0=AGC A,1=AGC B),[1]表示当前数据字是(0=I/Q数据)还是(1=RSSI字)。类似地,对于并行端口C和D,[0]表示AGC源(0=AGC C,1=AGC D),并且[1]表示当前数据字是(0=I/Q数据)还是(1=RSSI字)。

PA[15:0]、PB[15:0]、PC[15:0]、PD[15:0]:并行输出数据端口。内容和格式依赖于模式。

链接端口

AD6635有四个可配置的链路端口,提供与TigerSHARC DSP的无缝数据接口。每个链路端口允许AD6635将输出数据写入TigerSHARC中的接收DMA信道以传输到存储器。由于它们彼此独立工作,每个链路端口可以连接到不同的TigerSHARC或同一TigerSHARC上的不同链路端口。图39显示了如何将四个AD6635链路端口之一连接到四个TigerShare链路端口之一。各个链路端口通过各自的寄存器进行配置。

0858ac79-6a04-11ed-bcbe-b8ca3a6cb5c4.png

链路端口数据格式

每个链路端口可向TigerSHARC输出5种不同格式的数据:2通道、4通道、专用AGC、带RSSI字的冗余AGC和不带RSSI字的冗余AGC。每种格式输出2字节的I数据和2字节的Q数据,形成4字节的IQ对。由于TigerSHARC链路端口以四字(16字节)块传输数据,四个IQ对可以构成一个四字。如果选择了信道数据(0x1B/0x1D的位0=0),则可以连续输出四个信道的4字节IQ字,或者可以输出交替信道对IQ字。图40和41显示了为每个场景传输的四字,对应的寄存器值用于配置每个链路端口。

0858ac7a-6a04-11ed-bcbe-b8ca3a6cb5c4.png

如果选择了AGC输出(0x1B/0x1D的位0=1),则可以使用每个AGC的IQ对发送RSSI信息。每个链路端口可以配置为从一个AGC输出数据,或者两个链路端口都可以从同一AGC输出数据。如果两个链路端口传输相同的数据,则必须用IQ字(位2=0)发送RSSI信息。注意,实际的AGC RSSI只有2个字节(RSSI字的12位加上4个零),因此链路端口在每个RSSI字之后立即发送2个0字节,以形成一个完整的16字节四字。

0858ac7b-6a04-11ed-bcbe-b8ca3a6cb5c4.png

请注意,位0=1、位1=0和位2=1不是有效配置。位2必须设置为0,才能在链路端口A上输出AGC A IQ和RSSI字,在链路端口B上输出AGC B IQ和RSSI字。

链路端口定时

链路端口A和B导出它们的PCLK0时钟和PCLK1的链路端口C和D,它们可以外部提供给芯片(Addr 0x1E,位0=0)或从AD6635的主时钟(Addr 0x1E,位0=1)生成。该寄存器引导至0(从机模式),允许用户控制来自AD6635的数据速率。PCLK的运行速度可达100兆赫。

链路端口提供1字节的数据字(Lx[7:0]管脚)和输出时钟(LxCLKOUT管脚),以响应来自接收器的就绪信号(LxCLKIN管脚),其中x=a、B、C或D。每个链路端口在LCLKOUT的每个边缘发送8位,需要8个LCLKOUT周期来完成TigerSHARC四字的全部16字节的传输。

0858ac7c-6a04-11ed-bcbe-b8ca3a6cb5c4.png

由于采用TIGERSARC链路端口协议,在TIGERSARC准备好接收数据后,AD6635必须等待至少六个PCLK周期,如TIGERSARC设置各自的AD6635 LCLKIN引脚高所示。一旦AD6635链路端口等待了适当数量的PCLK周期并开始传输数据,TigerSHARC通过在传输数据时先低后高发送AD6635 LCLKIN来进行连接检查。这告诉AD6635链路端口,TigerSHARC的DMA在当前四字结束后准备接收下一个四字。由于连接性检查是与数据传输并行进行的,因此AD6635能够将不间断的数据流传送到TigerSHARC。

数据传输前等待的长度是链路端口控制寄存器(0x1B和0x1D,位6–3)中的4位可编程值。此值允许AD6635 PCLK和TigerSHARC PCLK应以不同的速率和异相运行。

0858ac7d-6a04-11ed-bcbe-b8ca3a6cb5c4.png

等待确保AD6635开始数据传输所需的等待时间至少等于TigerSHARC期望它等待的最小时间。如果AD6635的PCLK与TigerSHARC的PCLK不同步,并且ceil()函数的参数是整数,则WAIT必须严格大于上述公式中给出的值。如果LCLKs同相,则最大输出数据速率为:

0858ac7e-6a04-11ed-bcbe-b8ca3a6cb5c4.png

否则,就是:

0858ac7f-6a04-11ed-bcbe-b8ca3a6cb5c4.png

TIGERSARC配置

由于AD6635始终是该链路中的发射机,而TIGERSARC始终是接收机,因此可以将以下值编程到用于接收AD6635输出数据的链路端口的LCTL寄存器中。“用户”是指实际的寄存器值取决于用户的应用程序。

0858ac80-6a04-11ed-bcbe-b8ca3a6cb5c4.png

内存映射

本节介绍通道、存储器以及输入和输出控制寄存器的存储器映射。

0858ac81-6a04-11ed-bcbe-b8ca3a6cb5c4.png

AD6635的每个单独信道都有单独的信道存储器映射。这些存储器映射通过使用适当的芯片选择管脚(CS0,CS1)并在外部地址7的两个lsb中写入适当的2位地址来寻址。如果使用CS0编程,这两位中的00访问通道0的内存映射,01访问通道1的内存映射,10访问通道2的内存映射,11访问通道3的内存映射。如果使用CS1,则00对应于信道4,01对应于信道5,10对应于信道6,11对应于信道7。应注意,执行此操作时,外部地址3(访问输入/输出控制寄存器)的位5未启用。

0x00–0x7F:系数存储器(CMEM)这是循环贷款使用的系数存储器(CMEM)。它的内存映射为128个字20位。第二个128字的RAM可以通过在信道地址0xA4处将RCF控制寄存器的位8写入高位来通过这个相同的位置被访问。所计算的滤波器将始终对I和Q使用相同的系数。通过使用这128个块中的两个块的存储器,可以计算多达160个抽头的滤波器。可以加载和选择多个滤波器,只需对通道地址0xA3处的系数偏移寄存器进行一次内部访问。

0x80:信道休眠寄存器

该寄存器包含信道的休眠位。当该位高时,信道处于低功率状态。当该位低时,信道处理数据。也可以通过访问外部地址3的睡眠寄存器来设置该位。当外部睡眠寄存器被访问时,所有四个信道同时被访问,并且信道的睡眠位被适当地设置。

0x81:软同步寄存器

此寄存器用于通过微孔启动同步事件。如果跃点位写入高位,则加载地址0x84处的跃点延迟计数器并开始倒计时。当该值达到1时,NCO累加器使用的NCO频率寄存器加载来自信道地址0x85和0x86的数据。当起始位设置为高时,起始延迟计数器加载地址0x83处的值并开始倒计时。当该值达到1时,地址0x80中的休眠位将降到低位并启动通道。

0x82:引脚同步寄存器

此寄存器用于控制同步管脚的功能。四个同步管脚中的任何一个都可以由通道选择和监视。可以将通道配置为通过设置跃点或起始位高来启动启动或跃点同步事件。这些位起启用作用,以便在同步脉冲发生时,启动或跳保持计数器以与软同步相同的方式激活。

0x83:启动延迟计数器

启动启动同步时,启动延迟计数器将加载写入此地址的值。它可以由软同步或Pin同步启动。计数器开始递减,当它达到1的值时,通道将从休眠状态恢复,并开始处理数据。如果信道已经在运行,则调整滤波器的相位,以便可以同步多个AD6635s。同步管脚上的周期性脉冲可以用这种方式根据ADC采样时钟的分辨率来调整滤波器的定时。如果此寄存器写入1,则同步进入通道时将立即开始。如果写入0,则不会发生同步。

0x84:NCO频率延迟计数器

当软同步或Pin同步进入信道时,NCO频率延迟计数器加载写入该地址的值。计数器开始倒计时,当它达到1时,NCO频率字用地址0x85和0x86的值更新。这被称为跳或跳同步。如果该寄存器被写入1,则当同步进入信道时,NCO频率将立即更新。如果写入0,则不会发生跃点。NCO跳可以是相位连续的或非相位连续的,这取决于信道地址0x88处的NCO控制寄存器的位3的状态。当该位低时,NCO的相位累加器未被清除,但一旦同步发生,就开始向累加器添加新的NCO频率字。如果该位高,则NCO的相位累加器被清除为0,然后累加新字。

0x85:NCO频率寄存器0

这个寄存器表示NCO频率字的16个lsb。这些位被隐藏,并且在通道从休眠状态恢复或发出软同步或Pin同步之前不会更新到用于处理的寄存器。在后两种情况下,当频率延迟计数器达到值1时,寄存器被更新。如果频率延迟计数器设置为1,则一旦写入阴影,寄存器将立即更新。

0x86:NCO频率寄存器1

此寄存器表示NCO频率字的16个MSBs。这些位被隐藏,并且在通道从休眠状态恢复或发出软同步或Pin同步之前不会更新到用于处理的寄存器。在后两种情况下,只有当

频率延迟计数器的值为1。如果频率延迟计数器设置为1,则一旦写入阴影,寄存器将立即更新。

0x87:NCO相位偏移寄存器

该寄存器表示到NCO的16位相位偏移。它被解释为从0弧度到2(216–1)/(216)弧度的值。

0x88:NCO控制寄存器

这个9位寄存器控制NCO和信道的特性。位定义如下。更多细节请参考数控振荡器(NCO)部分。

此寄存器的位8–7选择通道使用的四个同步管脚中的哪一个。所选同步管脚可用于启动通道的启动、跳跃或定时调整。同步部分提供了更多详细信息。

该寄存器的第6位定义通道使用的输入。对于通道0到3,输入端口可以是A或B,而对于通道4到7,输入端口可以是C或D。对于通道0到3,如果该位低,则选择输入端口A,如果该位高,则选择输入端口B。对于通道4至7,如果该位低,则选择输入端口C;如果该位高,则选择输入端口D。每个通道可以单独选择其输入端口。每个输入端口由一个14位输入尾数(INx[13:0])、一个3位指数(EXPx[2:0])和一个输入启用管脚IENx组成。x代表A、B、C或D。

位5–4确定如何从高速CLK信号导出信道的采样时钟。有四种可能的选择。每一个都定义如下;为了进一步详细说明数控振荡器(NCO)部分。

当这些位为00时,信道的输入采样率(fSAMP)等于高速CLK信号的速率。当IEN低时,进入通道的数据被屏蔽为0。对于TDD系统来说,这是一种合适的模式,在这种模式下,接收机可能希望屏蔽发送的数据,但仍保持在下一个接收突发的合适相位。

当这些位为01时,输入采样率由IEN输入高的CLK上升沿的分数决定。例如,如果IEN在CLK的每个上升沿上切换,则IEN信号将仅在CLK的每两个上升沿中的一个上进行高采样。这意味着输入采样率fSAMP将是CLK率的一半。

当这些位为10时,输入采样率由IEN管脚切换的速率确定。处理从低到高的IEN转换后在CLK上升沿捕获的数据。当这些位为11时,累加器和样本CLK由IEN pin切换的速率确定。处理IEN从高到低转换后在CLK上升沿捕获的数据。例如,控制模式10和11可用于允许来自A或B输入端口的交织数据,然后分配给相应信道。IEN pin选择数据,使得一个信道可以在模式10中配置,另一个信道可以在模式11中配置。

第3位确定发生跳跃时是否清除NCO的相位累加器。跳可以来自Pin同步或Soft同步。当该位设置为0时,跳变为相位连续且累加器未被清除。当该位设置为1时,累加器在开始累加新频率字之前被清除为0。当多个信道从不同频率跳到同一频率时,这是合适的。

位2–1控制NCO的抖动是否被激活。这些特性的使用在很大程度上取决于系统约束。有关抖动使用的更多详细信息,请参阅数控振荡器(NCO)部分。

该寄存器的位0允许绕过NCO频率转换级。当发生这种情况时,来自A输入端口的数据沿着通道的I路径传递,来自B输入端口的数据沿着通道的Q路径传递。这允许对基带I和Q数据执行真正的滤波器。对于通道4到7,C输入端口为I-路径,D输入端口为Q-路径。

0983a91c-6a04-11ed-bcbe-b8ca3a6cb5c4.png0983a91d-6a04-11ed-bcbe-b8ca3a6cb5c4.png

0x90:rCIC2抽取–1(MrCIC2–1)

此寄存器用于设置rCIC2滤波器中的抽取。写入此寄存器的值是小数减1。rCIC2抽取的范围可以从1到4096,这取决于信道的插值。抽取必须始终大于插值。必须选择大于lrccic2的MrCIC2,并且必须选择两者,以便可以选择合适的rCIC2标量。有关更多详细信息,请参阅二阶rCIC2滤波器部分。

0x91:rCIC2插值–1(lrccic2-1)

此寄存器用于设置rCIC2滤波器中的插值。写入该寄存器的值是插值减去1。rCIC2插值的范围可以从1到512,这取决于rCIC2的抽取。没有与此插值相关联的定时错误。有关更多详细信息,请参阅二阶rCIC2滤波器部分。

0x92:rCIC2刻度

rCIC2比例寄存器用于提供衰减,以补偿rCIC2的增益,并调整浮点输入数据的线性化。这个比例寄存器的使用受到rCIC2增长和浮点输入端口考虑因素的影响。有关更多详细信息,请参阅二阶rCIC2滤波器部分。

rCIC2标量与指数偏移量结合在一起,需要在输入端口和rCIC2部分中进行适当处理。

位11决定指数的极性。通常,除非使用AD6600等ADC,否则该位将被清除,在这种情况下,将设置该位。

位10确定与输入端口相关联的指数字的权重。当该位较低时,每个指数阶跃被认为值为6.02db。当该位较高时,每个指数阶跃被认为值为12.02db。

位9–5是与该信道相关联的电平指示器(LI)引脚激活时使用的实际刻度值。

位4–0是与该信道相关联的电平指示器(LI)引脚激活时使用的实际刻度值。

0x93:保留。(必须写得很低。)

0x94:CIC5抽取–1(MCIC5–1)

此寄存器用于设置CIC5滤波器中的抽取。写入此寄存器的值是小数减1。虽然这是一个8位寄存器,但抽取通常限制在1到32之间。高于32的抽取需要比CIC5更大的伸缩性。

0x95:CIC5刻度

CIC5比例因子用于补偿CIC5筛选器的增长。有关详细信息,请参阅五阶CIC5过滤器部分。

0x96:保留。(必须写得很低。)

0xA0:RCF抽取–1(MRCF–1)

此寄存器用于设置循环贷款阶段的抽取。所写的值是抽取数减去1。虽然这是一个8位寄存器,允许抽取多达256个,但对于大多数过滤方案,抽取应限制在1到32之间。允许更高的决策,但循环贷款的别名保护在某些应用中可能不可接受。

0xA1:循环贷款抽取阶段(PRCF)

此寄存器允许使用过滤器的任何MRCF阶段,并且可以动态调整。每次启动筛选器时,都会更新此阶段。当通道同步时,它将保留此处选择的相位设置。这可以用作外部处理器定时恢复循环的一部分,或者允许多个RCF在使用单个RCF对时协同工作。有关更多详细信息,请参阅RAM系数过滤器(RCF)部分。

0xA2:RCF抽头数减1(NRCF–1)

RCF滤波器的抽头数减1写在这里。

0xA3:RCF系数偏移量(CORCF)

该寄存器用于指定256字系数存储器的哪个部分用于滤波器。它可用于在加载到内存中并由该指针引用的多个筛选器之间进行选择。此寄存器被隐藏,每次启动新筛选器时都会更新筛选器指针。这使得即使在计算滤波器时也可以在不干扰操作的情况下写入系数偏移量。从循环贷款中拿出的下一个样本将带有新的过滤器。

0xA4:RCF控制寄存器

RCF控制寄存器是一个11位寄存器,用于控制RCF的一般特性和输出格式。此寄存器的位及其功能如下所述。

位10绕过RCF滤波器,并将CIC5输出数据发送到BIST-I和BIST-Q寄存器。如果在通道地址0xA9处设置了RCF控制寄存器2的位9,则可以从该寄存器访问CIC5数据的16个msb。

该寄存器的第9位控制RCF的输入数据源。如果该位为0,则RCF处理其自身信道的输出数据。如果该位为1,则处理来自另一个通道的CIC5的数据。表XII显示了当该位为1时,RCF连接到哪个CIC5。这些可用于允许多个rcf一起用于处理更宽的带宽信道。

0983a91e-6a04-11ed-bcbe-b8ca3a6cb5c4.png

位8用作额外地址,以允许信道地址在0x00–0x7F处寻址第二个128字的CMEM块。如果该位为0,则写入前128字;如果该位为1,则写入第二个128字。此位仅用于编程系数存储器。该处理不以任何方式使用它,并且可以执行超过128个抽头的滤波器。

位7用于帮助控制AD6635的循环贷款数据。此位仅在选择8+4或12+4浮点模式时使用。这些模式由该寄存器的第5位和第4位启用。当第7位为0时,I和Q输出指数根据各自的大小分别确定。当该位为1时,I和Q数据是一个复杂的浮点数,其中I和Q使用基于I或Q的最大值确定的单个指数。

第6位用于强制该寄存器第3–0位中的输出比例因子用于缩放数据,即使使用了浮点输出模式之一。如果数字太大,无法用所选的输出比例表示,则I和Q数据剪辑的尾数不会溢出。

位5和4选择RCF数据使用的输出格式选项。选项见表十三。用户应注意,只有当数据从通道输出时(通过将0写入并行A/B控制寄存器或链接A/B控制寄存器的位0),这些选项才有效。当来自AGCs的数据时,输出格式始终是由AGC定义的位宽度的固定点。

0983a91f-6a04-11ed-bcbe-b8ca3a6cb5c4.png

该寄存器的第3–0位表示RCF的输出比例因数。当输出格式为定点模式或力指数位较高时,此项用于缩放数据。

0xA5:I的BIST寄存器

这个登记册有两个用途。首先是允许在系统中测试通道中I数据路径的完整功能。有关更多详细信息,请参阅用户可配置内置自检(BIST)部分。第二个功能是通过微孔提供对I输出数据的访问。为此,应将RCF数据映射到RCF控制寄存器

登录icspec成功后,会自动跳转查看全文
博客评论
还没有人评论,赶紧抢个沙发~
发表评论
说明:请文明发言,共建和谐网络,您的个人信息不会被公开显示。