ad9954编程注意事项和寄存器介绍

更新时间:2024-04-20 08:13:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

关于这篇翻译的几点申明

1. 翻译参与人员是成都信息工程学院的 王堃 邓练 王继承。 2. 由于能力和时间有限,只翻译了自己觉得对我们这次培训有用的部分。其它部分希望有兴趣的人自己查阅PDF.

3. 这个翻译是基于AD公司的AD9954的PDF的,翻译了部分页数的部分内容。有部分内容由于在一个“AD9954中文“的PDF上有了说明,我们就没有再翻译,有需要可以联系我们。 4. 这篇文章是翻译来我们自己查阅用的,如果你在使用这个文档的所产生的问题责任由你自己负责,所有错误都是因为你不自己看PDF!! :- )

5. 不需要感谢,只需要大家在传阅这篇翻译的时候不要删除这几点申明。

6. 有任何问题可以联系我们QQ: 王堃 4164162邓练 16519653 王继承405117024 7. 时间 :2007-8-11

8. 地点 :成都信息工程学院 高频培训实验室

几个核心词汇的解释:(PDF13,14页) 参考频率:REFCLK Input

AD9954有几种生成内部系统时钟的方式,片上的振荡环路可以通过

外部的时钟输入引脚链接的晶振产生一个低频参考信号。系统时钟可以通过内部的一个锁相倍频使低频的输入信号生成一个低频信号源的供给系统高采集率的DDS和DAC使用。为了得到最好的效果,外部晶振要尽量稳定,无噪声。

通过对CLKMODESELECT引脚,CFR1<4>和CFR2<7:3>的设置可以设定系统的时钟工作模式,需要注意这些引脚只支持1.8v的逻辑电压,不支持3.3v的逻辑电压。CLKMODESELECT引脚为高的的时候,激活了内部震荡回路,通过外部晶振输入的频率,系统产生一个缓冲过的信号。 当内部时钟被禁用时,外部晶振必须提供一个参考频率,对于不同的操作,如果是单端输入参考频率的话,应该在不用的引脚和模拟VCC之间连接一个0.1uf的电容。有了这个电容,时钟输入引脚的偏斜电压(bias voltage )会是1.35V.5号框图是对时钟工作模式设置的总结。注意对锁相环的倍频是通过CFR2<7:3>这几个位进行设置的,和CFR1<4>是相互独立的。 倍频器:

片上的锁相环电路可以参考频率进行倍频。通过对CFR2<7:3>.这几个控制位,可以设置倍频率。倍频值是在0x04 到 0x14 之间(4——20倍)。编程时使用者应该考虑倍频器的最大输入频率, 在倍频比修改后,必须有一段时间的延时让锁相环去锁定。(大概1ms)

The PLL is bypassed by programming a value outside the range of 4 to 20 (decimal). When bypassed, the PLL is shut down to conserve power. (这一段不理解,大家自己查阅吧)。

压控振荡器VCO可以通过对(CFR2<2>)位的设置进行精确范围的设置。

环路滤波器(loop filter)链接的电容和电阻的推荐取值在框图4上。 DAC 输出

和大多数的DAC不一样的是,AD9954的参考点是AVDD,而不是AGND。两个双向输出端提供一个最大值输出电流,微分输出可以减少DAC输出产生的共态噪声,从而有更好的信噪比。最大电流是由外部DAC_RSET 引脚和 DAC ground 引脚直接链接的电阻RSET决定的,计算方程如下。

RSET =(39.19/Iout)

最大输出电流是15MA.限制到10ma以下有更好的spurious-free dynamic range (SFDR)效果。

DAC输出-5.0v到+5.0v之间。超出这个范围会产生过载以至于烧毁DAC输出电路.要注意输出电压不要超出这个范围。 比较器:

许多应用都是方波而不是正弦波,该芯片为了支持这种应用,自身带有片上比较器,片上比较器特点为带宽大于200M,电压输入范围为1.3到1.8,比较器可通过使用控制字——CFR1<6>进行关闭,

目的是降低电源功耗 频率累加器:

该板块采用线性扫频模式,从开始频率 (F0) 转变到终点的频率

(F1) 不是即时的,而是以扫频或者跳变的方式进行转变。跳变模式可通过步进在F0-F1中间任意频率完成,线性扫频板块是用上升或者下降三角频率改变控制字和上升下降三角频率的斜率以及频率累加器实现。通过CFR!<21>使能线性扫频模块,线性扫描没有固定某个位去建立某一方式,用以在扫描过程中达到终点频率。 频率控制字: 参照图2,

三个不同的资源组成频率控制字,为dds核心提供相位累加器的累加值:频率累加器,静态RAM,和控制逻辑寄存器。实际应用中静态的输出频率或超过四被预置输出频率需要被转变,在一些在变或不明确的次序中,设定 FTW 的首选方法是设定FTW0 寄存器的值。

如果应用中需要预置超过四个特殊程序控制字或者需要写一个预置控制字序列,可以将FTW写到片上RAM上,通过管脚的设置可以在一套或者一系列之间进行切换。(PS0,PS1)

应用中如果需要一个稳定的扫频,就需要设置第二频率计数器。尽管累加器的值是使用者编程得到的,但是程序中一定要制定写些规则来避免溢出 DDS核

DDS的输出频率Fo是通过一个方程计算出来的,方程涉及系统时钟

(SYSCLK), 频率设置字(FTW), 和相位累加器的容量 (2, 这个芯片).方程如下

32

fO = (FTW )(fS)/2; 0 ≤ FTW ≤ 2

fO = fS × (1 ? (FTW/2)) ; 2< FTW < 2? 1

注意根据FTW的取值不同,方程是不一样的。

在每个时钟周期,FTW被写入到相位计数器中(有点像单片机的自动计数模式—本人自己的想法)。相位累加器的输出值和用户自己预先定义的14位相位设置字(POW)相加.这个19位的数值会通过一个余弦COS功能转化成一个幅度值(amplitude value)。消除掉较低的几位可以有效的减低功耗。这个消除不会降低频率分辨率。

在某些应用中,可能需要产生一个0相位的输出信号,单纯的把FTW设置为0 不能完成这个要求。必须把DDS核的输出相位值进行设置,有一个控制位是专门用来让相位计数器输出0相位的。

上电后,相位累加器清除位自动为1.但是这一位相对的缓冲存储器是0.所以,在上电之后,相位累加器在第一次I/O 更新之前是零。I/O更新把数据从数据缓存传输到数据寄存器。查阅SYNC_CLK and I/O UPDATE 部分了解细节。

同步-寄存器更新SYNCHRONIZATION—REGISTER UPDATES (I/O UPDATE)

输入到 AD9954的数据通过SYNC_CLK 信号实现同步。I/O更新是在SYNC_CLK的上升沿进行的。

系统内部,SYNC_CLK信号通过一个四分频器转换成SYNC_CLK信号.

32

31

32

3231

SYNC_CLK信号在SYNC_CLK引脚上有输出。这样使得外部硬件和系统通过系统内部的时钟同步。

I/O更新信号和SYNC_CLK信号,是用作把内部缓存里面的数据发送到控制寄存器里。他们可以保证使用者在修改数据字的时候是在一个稳定的连续的脉冲条件下。(保证时序的正确)

23号图和24号图对同步,I/O更新通讯时序进行了描述。 这些时序中需要注意的是以下几个方面:

1)、i/o 更新信号是边沿检测信号,这个信号没有对时间长度的约束,但是最小的低电平周期是一个SYNC_CLK 时钟周期。

2)、I/O UPDATE引脚在SYNC_CLK 的上升沿置高和保持。设置和保持规范查阅TABLE 2. 从PDf24页左下开始: 操作实例:(example operation)

作为一个示例,给幅度比例因子(ASF)寄存器写一个最大值一半的刻度值。首先计算出0.5对应的二进制数值。因为ASF是16位宽的数据,所以等效的的数值应该是0x80。然后,如果是高位在前模式(MSB),发出一个指令字节0x02(ASF的内存地址是00010b),通过这个指令,内部控制器选择对应的内存地址的寄存器,然后发现ASF是2byte宽,串口计数器设置为16(应该是自动的),然后开始等待SCLK的16个上升沿,然后依次从SDIO读取10000000 00000000.

在低位在前的模式(LSB)下修改ASF寄存器的值基本上和MSB

模式下一样,不过数据是相反的。00000000 00000001.

RAM串口操作

通过串口操作的方法是和其他串口通讯基本上一致的,但是读取的8位单元(byte)的数量是通过内存地址的开始地址到截至地址之间的长度定义的。内存段控制字(RSCW)。结束地址是I/O传输的最高位,开始内存地址是I/O传输的最低位。(所以这里要考虑你的传输模式是MSB,还是LSB,根据情况修改传输数据的时序。)

通过设置CFRI《8》,RAM I/O支持LSB和MSB这两种模式。MSB模式时第一个字节(byte 8位)是整个内存地址的最高位,接下来的三个字是依次组合成接下来的3个字节(byte 8位)是对较低的三个字节依次进行设置。LSB模式刚好相反。(PDF对这里描述比较烦琐而且重复,就没有继续翻译了,有疑问的可以自己查阅PDF或者联系我们。) 串口操作注意事项

? 设置的改变在对CFR1<9:8>这个寄存器写值之后就马上实现了。如果是多字节的写指令,对这两个寄存器位写指令应该是在整个通信周期的中间。(所以应该对剩下的字节改变量后进行依次重新书写CFR1,以保证整个修改全部刷新---括号里面是我自己的理解,希望大家有选择的读取)。

? 系统必须保证时钟同步以保证AD9954可以识别每个外部逻辑控制字。比如,如果系统发送一个指令字节去修改一个2-byte(16位)的寄存器,但是对SCLK产生了3个字节(24

次)的脉冲,即产生了多余的24个脉冲,那么通讯同步就丢失了。这种情况下,最开始的16个SCLK上升沿里面读取的数据被存储进了你所选择的寄存器,但是后面的八个上升沿则会被AD9954理解为下一个指令字节。为了防止AD9954和系统之间的不同步,IOSYNC这个引脚可以对AD9954的串口状态控制器进行重启。

? 如果要对RAM profile进行读取那么必须操作PROFILE控制引脚(PS1和PS0)。通过对PS1和PS0的设置可以片选你所需要的RAM寄存器。然后进行读取。 指令字节

指令字节包括以下信息:

Msb D6 D5 D4 D3 D2 D1 LSB R/w x x a4 a3 a2 a1 a0 这里是一个草图,具体请查阅PDF.

R/W :这一位是控制是对内存地址的写操作还是对内存地址的读操作的。

R就是读,w就是写 1:读 0 :写 X,x:d6,d5这两位可以不用关心。

a4 a3 a2 a1 a0:这里是对所要操作的内存地址进行设置。 每个存储器所对应的内存地址请在内存框图上查找。(参考PDF表12,13) 内存地址框图及介绍

图12和13是内存地址的框图。可用的内存地址是由linear sweep enable bit位决定的。

有些寄存器的内存地址可能会由于操作模式的不同有所改变。特别的是:0x07,0x08,0x09,0x0a这几个寄存器会受到影响。因为linear sweep operation (直译 直线扫描操作)的优先级高于RAM操作。AD公司建议在linear sweep被使能的情况下,通过bitCFR1<31>把RAM操作禁止。通过对CFR1<21> 的设置去保证电源(conserve power).串口地址数与每个寄存器关联,”<>”这个符号描述了特殊位和位的范围。比如:<3>指的是第三位(bit 3),<7:3>指的是这个范围是bit7到bit3之间。

CFR1<21> 直线扫描和RAM操作控制位。 0 : RAM 操作模式。 1 : 直线扫描操作模式。 寄存器控制位描述

接下来是图12.13 请参考PDF 这里就不再列出。 寄存器控制功能NO.1

CFR1被用来控制多种功能,并且控制AD9954的模式。每位的功能。 CFR1<31>:RAM使能位

CFR1<31>=0(默认):RAM不能被操作。单音操作模式或者直线扫描模式被允许。

CFR1<31>=1:RAM允许被操作。正常存取控制操作被 RSCW模式控制位 控制为了电流分布。

CFR1<31>: RAM Enable Bit

CFR1<31> = 0 (default). The RAM is disabled for operation. Either single-tone mode of operation or linear sweep mode of operation is enabled.

CFR1<31> = 1. The RAM is enabled for operation. Access control for normal operation is controlled CFR1<30>:RAM目标位

如果CRF<31>被清空,CRF<30>被忽略。

CFR1<30>=0(默认):如果CFR1<31>被设置,RAM输出驱动相位累加器(提供FTW)。

CFR1<30>=1。如果CFR1<31>被设置,RAM输出驱动相位加法器(POW)。 CFR1<30>: RAM Destination Bit

If CFR1<31> is cleared, CFR1<30> is ignored.

CFR1<30> = 0 (default). If CFR1<31> is set, the RAM output drives the phase accumulator (provides the FTW).

CFR1<30> = 1. If CFR1<31> is set, the RAM output drives the phase-offset adder (POW). CFR1<29:27>:内部板型控制

这些位引起板型位被忽略,当RAM被使用并且使AD9954进入自动板型循环序列,这个序列允许使用者执行频率/相位的合成扫描,扫描不需要外部输入。参看内部板型控制段的更多资料。 CFR1<29:27>: Internal Profile Control Bits

These bits cause the profile bits to be ignored when the RAM is being used and puts the AD9954 into an automatic profile loop sequence that allows the user to implement a frequency/phase composite sweep that runs without external inputs. See the Internal Profile Control section for more details.

CFR1<26>:装入在振幅斜坡速率控制位

CFR1<26> = 0(默认)。振幅斜坡速率定时器被装载只有在超时上(时钟==1);它不被装由于IO更新输入信号。

CFR1<26> =1。振幅斜坡速率定时器被装载时钟上升延时(时钟==1),或者在IO更新输入信号的时候。

CFR1<26>: Load Amplitude Ramp Rate Control Bit

CFR1<26> = 0 (default). The amplitude ramp rate timer is loaded only upon timeout (timer == 1); it is not loaded due to an I/O update input signal.

CFR1<26> = 1. The amplitude ramp rate timer is loaded upon either timeout (timer == 1) or at the time of an I/O update input signal.

CFR1<25>: Shaped On-Off Keying 使能位

CFR1<25>=0(默认)。Shaped on-off keying 被旁路。 CFR1<25>=1. Shaped on-off keying 被允许。参阅CFR<24>。 CFR1<25>: Shaped On-Off Keying Enable Bit

CFR1<25> = 0 (default). Shaped on-off keying is bypassed.

CFR1<25> = 1. Shaped on-off keying is enabled. See also CFR1<24>.

CFR1<24>:自动shaped On-off使能位 如果CFR<25>被清零,CFR<24>被忽略。

CFR<24>=0(默认)。手动Manual shaped on-off keying 操作,参看Shaped On-off Keying 部分详细资料。

CFR1<24>: Autoshaped On-Off Keying Enable Bit If CFR1<25> is cleared, CFR1<24> is ignored.

CFR1<24> = 0 (default). Manual shaped on-off keying operation. See the Shaped On-Off Keying section for details. CFR1<24> = 1. Autoshaped on-off keying operation. See the Shaped On-Off Keying section for details.

CFR1<23>:自动同步使能位

CFR<24>=0(默认)。多个的AD9954自动同步特征不被激活。 CFR<24>=1。多个的AD9954自动同步特征被激活。参看多个AD9954同步部分细节。

CFR1<23>: Automatic Synchronization Enable Bit

CFR1<23> = 0 (default). The automatic synchronization feature of multiple AD9954s is inactive.

CFR1<23> = 1. The automatic synchronization feature of multiple

AD9954s is active. See the Synchronizing Multiple AD9954s section for details.

CFR1<22>:多个AD9954软件手动同步

CFR1<22>=0(默认)。手动同步特征不被激活。

CFR1<22>=1。软件控制的手动同步特征被激活。SYNC_CLK上升沿被SYNC_CLK周期提前,并且这位被自动清零。为了提前上升沿若干倍,这个位需要被设置一次在在每个提前时。

CFR1<22>: Software Manual Synchronization of Multiple AD9954s CFR1<22> = 0 (default). The manual synchronization feature is inactive.

CFR1<22> = 1. The software-controlled manual synchronization feature is executed. The SYNC_CLK rising edge is advanced by one SYNC_CLK cycle, and this bit is autocleared. To advance the rising edge multiple times, this bit needs to be set once for each advance.

CFR1<21>:线性频率扫描使能

CFR1<21>=0(默认)。AD9954的线性频率扫描能力不被激活。 CFR1<21>=1。AD9954的线性频率扫描能力被激活。参看线性扫描部分详细内容。

CFR1<21>: Linear Frequency Sweep Enable

CFR1<21> = 0 (default). The linear frequency sweep capability of the AD9954 is inactive.

CFR1<21> = 1. The linear frequency sweep capability of the AD9954 is enabled. See the Linear Sweep Mode section for details.

CFR1<20:16>:不被使用,待清零 CFR1<20:16>: Not Used, Leave Clear

CFR1<15>:

CFR1<15>=0(默认)。直线扫描斜率被装载仅在超时上(时钟=1)时;它不被装载由于IO更新输入信号。

CFR1<15>=1。直线扫描斜率被装载在超时上(时钟=1)时,或者在IO更新输入信号的时。

CFR1<15>: Linear Sweep Ramp Rate Load Control Bit

CFR1<15> = 0 (default). The linear sweep ramp rate timer is loaded only upon timeout (timer == 1); it is not loaded due to an I/O update input signal.

CFR1<15> = 1. The linear sweep ramp rate timer is loaded either upon timeout (timer == 1) or at the time of an I/O update input signal

CFR1<14>:自动清除频率累加器位

CFR1<14>=0(默认)。当前频率累加器状态不被IO接受到的更新信号影响。

CFR1<14>=1。频率累加器被自动地或者同步地腾出一个周期接受一个IO口更新信号。

CFR1<14>: Autoclear Frequency Accumulator Bit

CFR1<14> = 0 (default). The current state of the frequency accumulator is not impacted by receipt of an I/O update signal. CFR1<14> = 1. The frequency accumulator is automatically and synchronously cleared for one cycle upon receipt of an I/O UPDATE signal

CFR1<13>:自动清零相位累加器位

CFR1<13>=0(默认)。当前相位累加器状态不被IO接受到的更新信号影响。

CFR1<13> = 1. 相位累加器被自动地或者同步地腾出一个周期接受一个IO口更新信号。

CFR1<13>: Autoclear Phase Accumulator Bit

CFR1<13> = 0 (default). The current state of the phase accumulator is not impacted by receipt of an I/O update signal. CFR1<13> = 1. The phase accumulator is automatically and synchronously cleared for one cycle upon receipt of an I/O

update signal.

CFR1<12>:正弦/余弦选择位

CFR1<12> = 0(默认)。角度-振幅逻辑转换使用余弦函数。 CFR1<12> = 1。角度-振幅逻辑转换使用正弦函数。 CFR1<12>: Sine/Cosine Select Bit

CFR1<12> = 0 (default). The angle-to-amplitude conversion logic employs a cosine function.

CFR1<12> = 1. The angle-to-amplitude conversion logic employs a sine function.

CFR1<11>:清除频率累加器

FR1<11> = 0(默认)。频率累加器启正常功能。

FR1<11> = 1。频率累加器存储元件被清零并且持续清零直到这位本清零。

CFR1<11>: Clear Frequency Accumulator

CFR1<11> = 0 (default). The frequency accumulator functions as normal.

CFR1<11> = 1. The frequency accumulator memory elements are cleared and held clear until this bit is cleared.

CFR1<10>:清除相位累加器

FR1<10> = 0(默认)。相位累加器启正常功能。

FR1<10> = 1。相位累加器存储元件被清零并且持续清零直到这位本清零。

CFR1<10>: Clear Phase Accumulator

CFR1<10> = 0 (default). The phase accumulator functions as normal.

CFR1<10> = 1. The phase accumulator memory elements are cleared and held clear until this bit is cleared.

CFR1<9>:SDIO 仅输入

CFR1<9> = 0(默认)。SDIO引脚是双向的(2-线按序编写程序模式)。 CFR1<9> = 1。SDIO被设置(3-线按序编写程序模式)。 CFR1<9>: SDIO Input Only

CFR1<9> = 0 (default). The SDIO pin is bidirectional (2-wire serial programming mode).

CFR1<9> = 1. The SDIO is configured (3-wire serial programming mode).

CFR1<8>:LSB优先

CFR1<8> = 0(默认)。MSB优先初始化被激活。 CFR1<8> = 1。LSB优先初始化被激活。 CFR1<8>: LSB First

CFR1<8> = 0 (default). MSB first format is active. CFR1<8> = 1. LSB first format is active.

CFR1<7>:数字低功耗位

CFR1<7> = 0(默认)。所有数字功能和时钟被激活。

CFR1<7> = 1。所有非IO数字功能被暂停,对降低电源有重要意义。 CFR1<7>: Digital Power-Down Bit

CFR1<7> = 0 (default). All digital functions and clocks are active.

CFR1<7> = 1. All non-I/O digital functionality is suspended, lowering the power significantly.

CFR1<6>:比较器低功耗位

CFR1<6> = 0(默认)。比较器操作被激活。 CFR1<6> = 1。比较器被禁用并且进入低功耗状态。 CFR1<6>: Comparator Power-Down Bit

CFR1<6> = 0 (default). The comparator is enabled for operation. CFR1<6> = 1. The comparator is disabled and is in its lowest power dissipation state.

CFR1<5>:DAC低功耗位

CFR1<5> = 0(默认)。DAC操作被允许。

CFR1<5> = 1。DAC被禁用并且进入低功耗状态。 CFR1<5>: DAC Power-Down Bit

CFR1<5> = 0 (default). The DAC is enabled for operation. CFR1<5> = 1. The DAC is disabled and is in its lowest power dissipation state.

CFR1<4>:时钟输入低功耗位

CFR1<4> = 0(默认)。时钟输入电路操作被激活。

CFR1<4> = 1。时钟输入电路被禁止并且器件进入低功耗状态。 CFR1<4>: Clock Input Power-Down Bit

CFR1<4> = 0 (default). The clock input circuitry is enabled for operation.

CFR1<4> = 1. The clock input circuitry is disabled and the device is in its lowest power dissipation state.

CFR1<3>:外部低功耗模式

CFR1<3> = 0(默认)。外部地功耗模式选择是快速恢复低功耗模式。在这种模式下,当PWRDWNCTL输入脚为高时,数字逻辑(电路)和DAC数字逻辑电源关闭。DAC偏置电路,PLL,晶正,和时钟输入电路电源被关闭。CFR<7>决定是否关掉比较器电源。CFR<7>,和CFR<5:4>被忽略。

CFR1<3> = 1。外部低功耗模式被选择是全部进入低功耗模式。在这

种模式下,当PWRDWNCTL输入脚为高时,所有功能掉电。这些包括DAC和PLL,这些需要花费大量的时间加电。CFR1<7:4>全部被忽略。 CFR1<3>: External Power-Down Mode

CFR1<3> = 0 (default). The external power-down mode selected is the rapid recovery power-down mode. In this mode, when the PWRDWNCTL input pin is high, the digital logic and the DAC digital logic are powered down. The DAC bias circuitry, PLL, oscillator, and clock input circuitry are not powered down. CFR1<6> determines whether the comparator is powered down. CFR1<7>, and CFR1<5:4> are ignored.

CFR1<3> = 1. The external power-down mode selected is the full power-down mode. In this mode, when the PWRDWNCTL input pin is high, all functions are powered down. This includes the DAC and PLL, which take a significant amount of time to power up. CFR1<7:4> are all ignored.

CFR1<2>:线性扫描No-Dwell位

如果CFR1<21>被清零,这个位无关紧要(忽略)。

CFR1<21>=0(默认)。线性扫频No-Dwell功能未被激活。如果No-Dwell功能处于未被激活,当扫描完成,扫描不被启动直到IO更新,或者改变断面,按照先前的描述初始化其他扫频。在扫描时输出频率保持在最后的值。

CFR1<21>=1。线性扫描no-dwell功能被激活。如果No-Dwell模式被激活,当扫描完成时,相位累加器被清零。相位累加器保持清零直到其他扫频初始化经过一个IO更新或者在断面改变 CFR1<2>: Linear Sweep No-Dwell Bit

If CFR1<21> is clear, this bit is a don’t care (ignored). CFR1<2> = 0 (default). The linear sweep no-dwell function is inactive. If the no-dwell mode is inactive when the sweep completes, sweeping does not restart until an I/O update or change in profile initiates another sweep as previously described. The output frequency holds at the final value in the sweep.

CFR1<2> = 1. The linear sweep no-dwell function is active. If the no-dwell mode is active when the sweep completes, the phase accumulator is cleared. The phase accumulator remains cleared until another sweep is initiated via an I/O update input or change in profile.

CFR1<1>: SYNC_CLK 禁止位

CFR1<1> = 0 (默认)。SYNC_CLK被激活。

CFR1<1> =1。SYNC_CLK引脚呈现一个静态逻辑0状态为了减小数字电路产生的噪音。同步电路保持内部激活,为了保留器件标准时间。 CFR1<1>: SYNC_CLK Disable Bit

CFR1<1> = 0 (default). The SYNC_CLK pin is active.

CFR1<1> = 1. The SYNC_CLK pin assumes a static Logic 0 state to minimize noise generated by the digital circuitry. The synchronization circuitry remains active internally to maintain normal device timing.

CFR1<0>:不被使用,待清零 CFR1<0>: Not Used, Leave Clear

控制功能寄存器NO2(CFR2)

CFR2被使用控制AD9954多种功能,特征,和模式,首先关系到芯片模拟部分。

Control Function Register No. 2 (CFR2)

The CFR2 is used to control the various functions, features, and modes of the AD9954, primarily related to the analog sections of the chip.

CFR2<23:12>:不被使用,待清零 CFR2<23:12>: Not Used, Leave Clear

CFR2<11>:高速同步使能位

CFR2<11> = 0(默认)。高速同步使放大关闭。

CFR2<11> = 1. 高速同步使放大开。这位需要被设置,当使用自动同步特性在SYNC_CLK > 50 MHz(SYSCLK > 200 MSPS). CFR2<11>: High Speed Sync Enable Bit

CFR2<11> = 0 (default). The high speed sync enhancement is off. CFR2<11> = 1. The high speed sync enhancement is on. This bit should be set when using the autosynchronization feature for SYNC_CLK > 50 MHz (SYSCLK > 200 MSPS).

CFR2<10>:硬件手动同步使能位

CFR2<10> = 0(默认)。硬件手动同步功能关闭。

CFR2<10> = 1。硬件手动同步功能激活。当这位被设置,SYNC_IN管脚上升沿引起器件优先SYNC_CLK上升沿通过一个REFCLK周期。这位不自身清零。

CFR2<10>: Hardware Manual Sync Enable Bit

CFR2<10> = 0 (default). The hardware manual sync function is off.

CFR2<10> = 1. The hardware manual sync function is enabled. While this bit is set, a rising edge on the SYNC_IN pin causes the device to advance the SYNC_CLK rising edge by one REFCLK cycle. This bit does not self-clear.

CFR2<9>:晶体输出使能位

CFR2<9> = 0(默认)。晶体输出管脚未被激活。

CFR2<9> = 1。晶体输出管脚被激活。石英晶体振荡器电路输出驱动晶体输出关脚,这些可以为附加装置用作基准频率。 CFR2<9>: CRYSTAL OUT Enable Bit

CFR2<9> = 0 (default). The CRYSTAL OUT pin is inactive. CFR2<9> = 1. The CRYSTAL OUT pin is active. The crystal oscillator circuitry output drives the CRYSTAL OUT pin, which can be used as a reference frequency for additional devices.

CFR2<8>:不被使用,待清零 CFR2<8>: Not Used, Leave Clear

CFR2<7:3>:基准时钟增益控制位

这5位控制时钟乘法器(PLL)的输出增益值。参看时钟乘法器部分。 CFR2<7:3>: Reference Clock Multiplier Control Bits This 5-bit word controls the multiplier value out of the clock-multiplier (PLL) block. See the Clock Multiplier section for more details.

CFR2<2>:VCO范围控制位

CFR2<2> = 0(默认),VCO操作在100MHz和250MHz。 CFR2<2> = 1。VCO操作在250MHz和400MHz.

CFR2<2>: VCO Range Control Bit

CFR2<2> = 0 (default), VCO operates between 100 MHz and 250 MHz. CFR2<2> = 1, VCO operates between 250 MHz and 400 MHz.

CFR2<1:0>:泵源电流控制位

这一位被用做控制泵源电流整定值。默认设置,CFR2<1:0>,设置泵源电流在默认的75μA。对应每位增加,25μA电流被加到泵源电流。01=100μA,10=125μA,11=150μA。

CFR2<1:0>: Charge Pump Current Control Bits

These bits are used to control the current setting on the charge pump. The default setting, CFR2<1:0>, sets the charge pump current to the default value of 75 μA. For each bit added, 25 μA of current is added to the charge pump current: 01 = 100 μA, 10 = 125 μA, and 11 = 150 μA.

PDF 31页右下 其他寄存器介绍

幅度系数设置Amplitude Scale Factor (ASF)

ASF包括2bit的自动倾斜速率值(auto ramp rate speed value )和14bit幅度系数值(Amplitude Scale Factor)在OSK(不懂这个术语,有知道的通知我谢谢)中使用。在自动OSK模式下,14bit和15bit 用来设置每次振幅增减的步进。Bit13到bit0 是用来设置内部幅度乘法

器的最大实现值。在手动模式下,15bit和14bit是无效的。Bit13到bit0直接设置输出比例因数。如果CFR1<25>位禁止了OSK,那么这些操作是无效的。

幅度倾斜率Amplitude Ramp Rate (ARR)

在OSK自动模式下设置8bit的倾斜系数值,详细参考幅度控制。

频率设置字0Frequency Tuning Word 0 (FTW0)

FTW是一个32bit的寄存器,用来控制DDS核中的相位累加器的累加速率。通过对芯片工作模式的不同设定,实现不同的功能。 相位设置字Phase Offset Word (POW) 14的寄存器,存储相位设置值。

频率设置字1Frequency Tuning Word 1 (FTW1) 类似频率设置字0。不做详细解释了。

后面的一些寄存器都是线性扫描,RAM操作等用到的,这里不再做翻译,有兴趣的自己查阅PDF或者联系我们。

PDF33页开始:描述了详细的编程示范 单频模式(SINGLE-TONE MODE )

这个例子是要编程实现输出一个122MHZ的载波,芯片外部晶振是20MHZ。通过倍频器把内部系统时钟频率倍频到400MHZ,设置频率然后加到载波上。 下面是编程步骤:

a) 1:一旦你想要修改脉冲频率产生一个新的脉冲信号时。向寄存器1写指令,让脉冲累加器自动清零。设置寄存器CFR1 的bit 13。CFR1的地址是0;因此,要发送一个0x00的命令字和一个0x 00 00 00 02的数据字。需要注意的是必须要对整个寄存器的4个字节内容进行改写。

b) 2:修改寄存器CRF2的值,从而把倍频率设置为20倍,并且设置VCO的范围设置位到它的上方值。CRF2的bit7到bit3是控制倍频率的。设置20倍的倍频,应该设置成10100(2进制)。像前面提到的一样,还要设置VCO的上方值(bit 2)。所以,命令字0x01,数据字是0x 00 00 a4.

c) 3:计算出频率设置字。由于是用400mhz的系统时钟产生122mhz的脉冲频率。数据字应该是0x 4e 14 7a e1.发送命令字节0x04和四个数据字节。存入是FTW0寄存器。

d) 4:无论何时需要改变脉冲相位时,都要设置相位设置数(POW),而且要产生一个I/O更新。例如:如果要设置45°,POW应该为((45/360) × 2),换算成十进制就是2048.因此,发送一

14

个命令字0x05 和一个数据字 0x08 00。当产生一个I/O更新后,相位累加器会清零,从0°开始。产生一个122mhz 的脉冲,不过相位移动的步进为45°。 线性扫频模式

这个例子是产生一个扫频的波,范围是61.53mhz—62.73mhz。(这段和本次训练关联不大,暂时没有翻译,以后添加。有兴趣的同学自己查阅PDF吧)

RAM模式(RAM MODE)

这个例子是讲RAM操作的。生成一个非线性的高斯滤波器相应FSK数据。暂时不翻译,有兴趣的同学可自己查阅PDF)

本文来源:https://www.bwwdw.com/article/l7vp.html

Top