基于 AD9833 的高精度可编程波形发生器系统设计 来源:国外电子元器件 1 引言 频率合成器在通信、雷达和导航等设备中既是发射机的激励信号源,又是接 收机的本地振荡器;在电子对抗设备中可作为干扰信号发生器;在测试设备中则 作为标准信号源。因此频率合成器被称为许多电子系统的“心脏”。而设计高精 度,易于操作的频率合成器则是核心,因此,这里提出了一种基于 DDS AD9833 的高精度波形发生器系统解决方案。 用户可直接编辑设置所需的波形频率和峰峰 值等信息,利用串口将配置信息发送到电路板,实时控制波形。该系统设计已成 功应用于某型雷达测速仪测试设备。 2 AD9833 简介 AD9833 是 ADI 公司的一款低功耗、DDS 器件,能够输出正弦波、三角波、方 波。AD9833 无需外接元件,输出频率和相位可通过软件编程设置,易于调节。 其频率寄存器为 28 位,主频时钟为 25 MHz 时,其精度为 0.1 Hz;主频时钟为 l MHz 时.精度可达 0.004 Hzt2。 AD9833 内部有 5 个可编程寄存器:1 个 16 位控制寄存器,用于设置器件_T 作模式;2 个 28 位频率寄存器和 2 个 12 位相位寄存器,分别用于设置器件输出 正弦波的频率和相位。AD9833 有 3 根串行接口线,可与 SPI,QSPI,MICRO-WIRE 和 DSP 接口标准相兼容。在串口时钟 SCLK 的作用下,数据是以 16 位方式加载至 设备。 AD9833 的内部电路主要有数控振荡器(NCO)、频率和相位调节器、SineROM、 D/A 转换器、电压调整器。AD9833 的核心是 28 位的相位累加器,它由加法器和 相位寄存器组成,而相位寄存器是按每个时钟增加步长,相位寄存器的输出与相 位控制字相加后输入到正弦查询表地址中。 正弦查询表包含 1 个周期正弦波的数 字幅值信息,每个地址对应正弦波中 O。~360°内的 1 个相位点。查询表把输 入的地址相位信息映射成正弦波幅值的数字量信号,驱动 D/A 转换器输出模拟 量。 输出正弦波频率为: 式中:FREQREG 为频率控制字,由频率寄存器 FREQOREG 或 FREQlREG 的值给定, 其范围为 0≤M<228 一 1。fMCLK 为参考时钟频率。 输出正弦波的相位为 2π/4 096xPHASEREG,其中 PHASEREG 是所选相位寄 存器的值。输出正弦波的峰峰值固定.约 600 mV,且正弦波不是标准正弦波, 即波谷是 0 V,而不是负电压。因此,输出正弦波为: 式中:K 约 600 mV,与器件内部参考电压有关。 3 系统设计 图 1 为基于 PC 控制的高精度波形发生器系统框图。由于晶体振荡器将直接 影响频率稳定度和频率波动,因此,采用电压型控制晶体振荡器,其频率稳定度 高达+20 ppm,温度补偿晶体振荡器可达±1~+20 ppm,恒温箱晶体振荡器和数字 补偿晶体振荡器小于±l ppm。考虑性能和成本因素,采用温度补偿型控制晶体 振荡器。 模拟多选器采用 ADI 公司的 ADG704.该多选器具有 4 个输入端,1 个输 出端。利用 2 个电平信号组合进行选择,方便与处理器 I/O 端口连接。3 个输 人信号分别是 DDSl、DDS2 的输出信号,以及这两者输出信号相叠加后的输出信 号。模拟多选器输出这 3 个输入信号的其中之一。通过 MCU 可控制模拟多选器选 择 3 个信号的输出。 为了控制输出正弦波峰峰值,引入数字电位器,实现对输出信号的分压,通 过调节数字电位器抽头位置.改变抽头电压值。采用 ADI 公司的 AD5160 型数字 电位器,该电位器具有 256 抽头,SPI 接口,便于与处理器相连接,其连接图如 图 2 所示。 MCU 采用基于 ARM7 内核的 LPC2132 控制器, 其具有 2 个 UART 接口, 个 SPI 1 接口和 1 个 SSP 接口。其中 1 个 UART 接口用于连接 RS232 电平转换器,SPI 接 口用于连接 2 个数字电位器,而电位器的 SLCK,MOSI,MISO 引脚相连.其片选 信号连接控制器的 I/O 端口;控制器的 SSP 接口连接 2 个 DDS,其连接方法与 数字电位器类似。 该系统设计具有 RS232 接口.用户可编程设置 DDS 的输出频率、初始相位、 峰峰值,以及选择 2 路信号独立输 m 或叠加的输出等。这些配置信息通过 RS232 接口上传至 MCU。MCU 根据输出频率、初始相位设置 DDS;并根据峰峰值设置数 字电位器;根据两路信号的独立输出或叠加的输出设置模拟多选器。 该系统设计实现:2 路独立的正弦波输出,以及两者叠加输出,可分别独立 断开;输出正弦波频率,初始相位、峰峰值、信号通断均由用户编程设置控制。 输出正弦波最大频率高于 100 kHz,调节细度为 0.004 Hz,输出的正弦波峰峰 值为 0~500 mV,调节细度为 2 mV;输出信号频率的稳定度小于 10 ppm,频率 误差小于 O.0l Hz,频率波动小于 1×10-3/h。由于 DDSAD9833 输出波形的峰峰 值固定,该系统成功解决峰峰值设置问题。利用上位机软件可灵活设置所需波形 的峰峰值、频率等。与通用信号源相比,该系统设计减少了按键面模板以及液晶 显示的成本.将面模板的模拟控制改为 PC 的数字控制.提高系统抗干扰能力。 图 3 为上位机软件界面, 上位机软件采用 VB 编程, 利用微软: MSCOMM 控件实现。 4 结束语 以 AD9833 为频率信号源的核心实现高稳定度、高精度、高分辨率的信号发 生器系统。该系统设计与一般信号源相比,体积缩小,设计和使用灵活方便,已 成功应用于某型雷达测速仪测试设备。因此,基于 AD9833 的各类信号源必定有 着广阔的应用前景 ~寄存器的频率和相位 在 AD9833 包含两个频率寄存器和 2 个相位寄存器。如表三所示 表 3:频率 相位寄存器 :频率/相位寄存器 标记 频率 0 大小 28 Bits 描述 频率寄存器 0。当 FSELECT FREQ0 位= 0 时,该寄存器定义了 MCLK 的频率, 输出频率为一 小部分 28 Bits 频率寄存器 1。当 FSELECT 位= 1,这个寄存器定义 MCLK 的频率, 输出频率为一 小部分。 相位偏移寄存器 0。当 PSELECT 位= 0 时,该寄存 器的内容被添加到累加器输 出的阶段。 相位偏移寄存器 1。当 PSELECT 位= 1, 该寄存器的 内容被添加到累加器输出的 阶段。 频率 1 相位 0 PHASE0 12 Bits 相位 1 12 Bits 在 AD9833 的模拟输出是 fMCLK/228 x FREQREG 其中 FREQREG 是频率选择寄存器的值装 入。该信号将逐步转移登记由 2π/4096x PHASEREG 在 PHASEREG 选择阶段是值载英寸的 流程图在图 8 显示了 AD9833 的例程以书面形式向登记册的频率和相位 写入一个频率登记: 当写入频率寄存器,位的 D15 和 D14 上给予注册地址的频率。 表四。 表四。频率寄存器位 如果用户希望改变频率登记的全部内容的, 连续两次写入到同一个地址后, 必须进行广泛的 频率寄存器为 28 位。第一次写将包含 14 个最低有效位,而第二写将包含 14 个 MSB。此操 作模式中,控制位 B28 座(D13 号)应设置为“1”。写一个例子,一个 28 位是列于表五 表 5。00FC00 到 FREQ0 复位 。 SDATA Input 0010 0000 0000 0000 0100 0000 0000 0000 0100 0000 0011 1111 结果输入字 控制字写入(D15,D14= 00) ,B28(D13)= 1,HLB(D12 的) =x FREQ0 写(D15,D14= 01),14 个最低有效位= 0000 FREQ0 写(D15,D14= 01) ,14 个最高有效位= 003F 在一些应用中,用户不需要改变频率登记所有 28 位的。粗调,只有 14 个 MSB 是改变,而 与微调,只有 14 个 LSB 的改变。通过设置控制位 B28 座(D13 号)为“0”,28 位频率寄存 器操作两个最低有效位,14 位寄存器,一个包含 14 个 MSB 和其他载有 14。这意味着,频 率最高位的 14 个字的最低有效位可以改变的 14 个独立的,反之亦然。位 HLB 值(D12 的) 在确定了其中 14 个控制寄存器位被改变。这方面的例子是表六表七所示。 表六。 表六。写 3FFF 的 14 位最低有效位 FREQ1 复位 SDATA Input 结果输入字 控制字写入(D15,D14 = 00) ,B28(D13) = 0; HLB(D12 的)= 0,即最低有效位 FREQ1 写(D15,D14 = 10) ,14 个最低有 效位= 3FFF 0000 0000 0000 0000 1011 1111 1111 1111 表七。 表七。写 00FF 的 14 个 FREQ0 的最高有效位 SDATA Input 结果输入字 控制字写(D15,D14 = 00) ,B28(D13 号) = 0,HLB(D12)= 1,即最高有效位 FREQ0 写(D15,D14 = 01) ,14 个 MSB = 00FF 写入一期注册时写入一个阶段登记,钻头的 D15 和 D14 上都设置为 11。 D13 号位寄存器 确定哪一阶段被加载 0001 0000 0000 0000 0100 0000 1111 1111 表八。 表八。相位寄存器 复位功能的复位功能适当的内部寄存器复位为“0”,以提供一个模拟输出的中点。复位不重 置的相位,频率,或控制寄存器。当 AD9833 通电后,部分应该被重置。要重置 AD9833, 设置复位位为“1。”采取的部分进行复位,设置位为“0”。DAC 的一个信号会出现在输出 8 MCLK 的周期复位后设置为“0。 “ 表九。 表九。应用复位 RESET Bit 0 1 结果 没有复位应用 内部寄存器复位 睡眠功能使用节的 AD9833,在不关机可以减少电力消耗。这是使用的睡眠功能。断电的部 分是该芯片,可以是内部时钟和 DAC。位所需的睡眠功能是表十所述 表⑩。休眠功能 SLEEP1 0 SLEEP2 0 结果 不掉电,不休眠 0 1 1 1 0 1 DAC 掉电 内部时钟禁用 这两个 DAC 的断电和内部时钟失效 ~DAC 掉电 这是很有用的 AD9833 是用于输出数据的 MSB DAC 的唯一。在这种情况下,DAC 是不需要 这样就可以关机,以减少电力消耗 ~内部时钟禁用 当在 AD9833 内部时钟被禁止,DAC 的输出将保持在目前的价值,因为士官是不再积累。 新的频率,相位和控制字可以写的部分时,SLEEP1 控制位是活跃。在同步时钟仍然活跃, 这意味着选择的频率和相位寄存器还可以改变使用的控制位。 设置 SLEEP1 位为“0”使 MCLK 的。所做的任何更改选民登记册,而 SLEEP1 活跃将在一定的时间延迟后输出。 ~VOUT 端口 产出的 AD9833 芯片提供了一个从多种,所有这些都是在 VOUT 引脚可从。选择的产出是: 最高位 DAC 的输出数据,正弦输出,或一个三角形 该位 OPBITEN(D5)和模式(D1 的之三)在控制寄存器,用来决定哪输出可从 AD9833。 这是后面进一步解释,并在表十一。 ~DAC 的最高有效数据位 DAC 的数据的 MSB 可以从 AD9833 输出。通过设置 OPBITEN(D5)的控制位为“1”的数据 的 MSB DAC 的可在 VOUT 端子。这是一个有用的源粗时钟。这方波也可以被分为两个输出 之前。位 DIV2 控制寄存器(D3)在控制的 Vout 引脚的输出频率从 ~正弦输出 该单 ROM 是用来转换成振幅的相位信息,从信息的频率和相位寄存器,结果在一个正弦信 号在输出端。 拥有一个正弦输出 VOUT 端子从, 设置模式的 (D1) 位为“0”和 OPBITEN (D5) 的位为“0”。 ~三角输出 该单 ROM 可以绕过以便截断士官数字输出被发送到 DAC。在这种情况下,输出不再是正弦 波。该 DAC 将产生一个 10 位的线性三角功能。有一个三角形 VOUT 端子输出的,设置位模 式的(D1)= 1 请注意,SLEEP12 位必须是“0”(即 DAC 是启用)时,使用此针。 表 11.从 VOUT 的各种输出 从 OPBITEN Bit 0 0 1 1 1 MODE Bit 0 1 0 0 1 DIV2 Bit X X 0 1 X VOUT Pin 正弦波 三角波 DAC 数据的 MSB / 2 DAC 数据的 MSB 保留的 ~