书签 分享 收藏 举报 版权申诉 / 11

一种多功能信号发生器.pdf

  • 上传人:54
  • 文档编号:4301493
  • 上传时间:2018-09-13
  • 格式:PDF
  • 页数:11
  • 大小:499.29KB
  • 摘要
    申请专利号:

    CN201010531082.4

    申请日:

    2010.11.03

    公开号:

    CN102468826A

    公开日:

    2012.05.23

    当前法律状态:

    授权

    有效性:

    有权

    法律详情:

    授权|||实质审查的生效IPC(主分类):H03K 3/02申请日:20101103|||公开

    IPC分类号:

    H03K3/02

    主分类号:

    H03K3/02

    申请人:

    北京普源精电科技有限公司

    发明人:

    王悦; 王铁军; 李维森

    地址:

    102206 北京市昌平区沙河镇踩河村156号

    优先权:

    专利代理机构:

    北京三友知识产权代理有限公司 11127

    代理人:

    任默闻

    PDF完整版下载: PDF下载
    内容摘要

    本发明提供了一种多功能信号发生器,该信号发生器包括:波形存储器,用于存储波形数据;中央处理器,用于根据用户的设置进行系统控制;固定时钟源,用于提供稳定的时钟数据;现场可编程门阵列FPGA,用于将固定时钟源提供的时钟数据作频率合成处理,产生FPGA的工作时钟,并根据中央处理器的速率设置波形数据的读出速率,将读出的波形数据输出;数模变换器,用于将FPGA输出的波形数据进行数模变换;模拟输出电路,用于将数模变换后的波形数据输出。以解决AWG信号源频率切换时间慢、采样率调整范围窄的问题。

    权利要求书

    1: 一种多功能信号发生器, 其特征是, 所述的信号发生器包括 : 波形存储器, 用于存储波形数据 ; 中央处理器, 用于根据用户的设置进行系统控制 ; 固定时钟源, 用于提供稳定的时钟数据 ; 现场可编程门阵列 FPGA, 用于将所述固定时钟源提供的时钟数据作频率合成处理, 产 生 FPGA 的工作时钟, 并根据所述中央处理器的速率设置所述波形数据的读出速率, 将读出 的波形数据输出 ; 数模变换器, 用于将所述 FPGA 输出的波形数据进行数模变换 ; 模拟输出电路, 用于将数模变换后的波形数据输出。2: 根据权利要求 1 所述的信号发生器, 其特征是, 所述的 FPGA 包括 : 时钟模块和先入 先出 FIFO 模块 ; 其中 : 所述的时钟模块, 用于对所述的时钟数据作频率合成, 产生数模变换器的工作时钟、 FIFO 的读出时钟以及 FIFO 的写入时钟 ; 所述的 FIFO 模块, 用于以设置的读出速率读出波形数据, 并根据 FIFO 模块的数据存储 情况输出用于控制写入速率的反馈信号。3: 根据权利要求 1 所述的信号发生器, 其特征是, 所述的 FPGA 包括 : 内部波形存储器, 用于存储所述中央处理器提供的波形数据, 并循环的输出所述的波 形数据。4: 根据权利要求 2 所述的信号发生器, 其特征是, 所述的 FPGA 包括 : 累加器, 用于根据所述中央处理器设置的频率控制字累加地址, 并将累加结果分别传 送给所述的波形存储器和内部波形存储器 ; 所述的 FIFO 模块输出的反馈信号传送给所述的累加器, 控制累加器将累加所产生的 相位地址对应的波形数据写入所述的 FIFO 模块或暂停累加和暂停写入所述的 FIFO 模块。5: 根据权利要求 3 所述的信号发生器, 其特征是, 所述的 FPGA 包括 : 数据选择模块, 用于根据所述中央处理器的参数设置从所述的波形存储器和内部波形 存储器存储的两路波形数据中选出一路作为写入 FIFO 模块的波形数据。6: 根据权利要求 2 所述的信号发生器, 其特征是, 所述的 FPGA 包括 : FIFO 读速率控制模块, 用于根据所述中央处理器的速率设置所述 FIFO 模块的读出速 率。7: 根据权利要求 1 所述的信号发生器, 其特征是, 所述的 FPGA 包括 : CPU 接口模块, 用于实现所述 FPGA 与所述中央处理器之间的通信。8: 根据权利要求 1 所述的信号发生器, 其特征是, 所述的信号发生器还包括 : 网络接口, 用于连接上位机或者网络 ; LCD 屏, 用于显示波形数据 ; 以及 键盘, 用于对所述的中央处理器进行设置。

    说明书


    一种多功能信号发生器

        【技术领域】
         本发明关于信号源技术领域, 具体地讲是一种多功能信号发生器。背景技术
         在现有技术中, 任意发生器可以分成任意函数发生器 (AFG) 和任意波形发生器(AWG)。 如图 1 所示, AWG 基于真正可变时钟结构, 适用于在所有频率上生成比较复杂的波 形。AWG 也读取内存的内容, 但其读取方式不同于 AFG。AWG 的波形存放在内存中。波形占 用指定数量的内存位置。在可变时钟源 101 的每个时钟周期中, 内存地址控制单元 102 从 波形内存单元 103 中读出一个波形样点, 送给数模转换单元 (DAC)104 完成数模转换, 经由 模拟输出电路 105 处理后输出。由于波形的样点数量是固定的, 因此时钟速率越快, 读取波 形内存单元 103 中波形数据点的速度越快, 输出频率越高。换句话说, 输出信号频率完全取 决于时钟频率和波形内存单元 103 中的波形样点数量。AWG 的灵活性源自其波形内存单元 103 中存储的波形。波形可以采取任何形状 ; 它可以有任意数量的畸变, 或根本没有畸变。 在基于 PC 的工具的帮助下, 用户可以开发人们想得到的几乎任何物理限制内的波形。可以 在仪器能够生成的任何时钟频率上, 从内存中读取样点。不管时钟是以 1MHz 运行还是以 1GHz 运行, 波形的形状相同。
         AWG 虽然适用于产生复杂的信号, 如低抖动的伪随机码流 (PRBS)、 调制的射频信 号等等。 但无论通过编辑波形样点数, 还是改变可变时钟源的频率, 从而改变输出波形的频 率都是不方便的, 而且需要较长的频率切换时间。同时, 时钟源的频率范围也是有限的, 也 就限制了最终输出波形的频率范围。例如泰克的任意波形发生器 AWG5014B 的采样率可调 范围是 10M ~ 1.2GSa/S。
         如图 2 所示, AFG 通过读取内存的内容, 来同时创建函数波形和任意波形。大多数 现代 AFG 采用直接信号合成 (DDS) 技术, 在广泛的频率范围上提供信号。在固定频率 (fc) 时钟源 201 的控制下, N 位的相位累加器 206 累加频率控制字 K205 得到相码, 相码经过相位 寄存器 207 寻址波形存储器 202 进行相码 - 幅码变换输出不同的幅度编码, 再经过 DAC203 得到相应的阶梯波, 最后经过包括低通波器在内的模拟输出电路 204 处理后, 即得到由频 率控制字 K205 决定的连续变化的输出波形。输出信号的频率为 K*fc/2N, 输出信号的频率 分辨率为 fc/2N。
         AFG 虽然适用于输出干净规则的波形, 或要求从一个频率到另一个频率快速切换, 或在多条通道中必须同时提供不同频率等场合。但 AFG 采用固定频率的主控时钟源, 采样 率是固定的, 当采样率不是输出波形频率的整数倍时, AFG 具有较大的输出抖动。另外, AFG 通过频率控制字来控制输出频率, 当频率控制字较大时, 相当于以跳点方式读取波形存储 器, 这样很多样点不能准确复现。所以 AFG 不太适合要求低抖动和非常窄的瞬变的应用。
         发明内容本发明实施例提供了一种多功能信号发生器, 以解决 AWG 信号源频率切换时间 慢、 采样率调整范围窄的问题。
         本发明的目的是, 提供一种多功能信号发生器, 该信号发生器包括 : 波形存储器, 用于存储波形数据 ; 中央处理器, 用于根据用户的设置进行系统控制 ; 固定时钟源, 用于提 供稳定的时钟数据 ; 现场可编程门阵列 FPGA, 用于将固定时钟源提供的时钟数据作频率合 成处理, 产生 FPGA 的工作时钟, 并根据中央处理器的速率设置波形数据的读出速率, 将读 出的波形数据输出 ; 数模变换器, 用于将 FPGA 输出的波形数据进行数模变换 ; 模拟输出电 路, 用于将数模变换后的波形数据输出。
         本发明实施例通过对 FIFO 读速率进行控制实现采样率的改变。并且与专用时钟 电路相比, 本发明只需占用少量的 FPGA 资源就实现了采样率的改变, 实现简单、 成本低, 采 样率的调整范围宽。本发明实施例不需要修改波表长度和时钟源频率, 只需修改采样率对 应的分频系数, 就可修改 AWG 输出波形的频率。 附图说明
         为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍, 显而易见地, 下面描述中的附图仅仅是本 发明的一些实施例, 对于本领域技术人员来讲, 在不付出创造性劳动性的前提下, 还可以根 据这些附图获得其他的附图。
         图 1 为现有技术的任意波形发生器 (AWG) 的结构框图 ;
         图 2 为现有技术的任意函数发生器 (AFG) 的结构框图 ;
         图 3 为本发明实施例的多功能信号发生器的结构框图 ; 图 4 为本发明实施例的多功能信号发生器的硬件结构框图 ; 图 5 为本发明实施例的多功能信号发生器的工作流程图 ; 图 6 为本发明实施例的多功能信号发生器的 AWG、 AFG 的输出波形图。具体实施方式
         下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完 整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而不是全部的实施例。基于 本发明中的实施例, 本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例, 都属于本发明保护的范围。
         如图 3 所示, 本实施例的多功能信号发生器包括 : 波形存储器 305, 用于存储波形 数据 ; 中央处理器 301, 用于根据用户的设置进行系统控制 ; 固定时钟源 304, 用于提供稳定 的时钟数据 ; 现场可编程门阵列 FPGA302, 用于将固定时钟源提供的时钟数据作频率合成 处理, 产生 FPGA 的工作时钟, 并根据中央处理器的速率设置波形数据的读出速率, 将读出 的波形数据输出 ; 数模变换器 303, 用于将 FPGA 输出的波形数据进行数模变换 ; 模拟输出电 路 315, 用于将数模变换后的波形数据输出。
         本实施例的多功能信号发生器是集任意函数发生器、 任意波形发生器、 脉冲发生 器、 IQ 基带源、 跳频源、 码型发生器于一身的多功能信号发生器, 本实施例的多功能信号发 生器兼具 AFG 和 AWG 的功能特点。图 4 是本实施例的多功能信号发生器简化的硬件结构框图, 各部分功能如下 :
         中 央 处 理 单 元 (CPU)301 及 外 围 设 备, 包括用于系统控制的数字信号处理器 (DSP), 用于辅助 DSP 工作的存储器, 用于连接上位机或者网络的 LAN、 GPIB、 USB 等总线接口 模块, 用于显示的 LCD 屏以及显卡控制模块和键盘等等 ; 这些系统控制设备具有通用性。
         FPGA 芯片 302, 波形处理的核心装置, 将 CPU301 下发的波表数据经过处理后送给 DAC303。
         DAC303, 数模转换芯片, 将 FPGA 送出的数字格式的波形数据转换为模拟量, 再经 过模拟电路输出。
         固定频率时钟源 304, 为整个装置提供高精度的稳定时钟, 本实施例的多功能信号 发生器可用 10MHz 的频率 ; FPGA 芯片内部的时钟模块对此 10MHz 时钟进行频率合成, 产生 各个模块需要的时钟, 包括提供采样时钟给 DAC303。
         波形存储器 305( 也可称作 : 外部波形存储器 ), 容量较大, 用于存储较大长度的大 波表 ; 本实施例的多功能信号发生器可用 2G bits 的 DDR2 SDRAM。
         如图 4 所示 FPGA 芯片 302 内部被分成如下功能模块 :
         CPU 接口模块 306, 实现 FPGA 芯片 302 与 CPU301 之间的通信, 以便 CPU301 控制 FPGA302 内部的其它模块 ; 时钟模块 307, 利用 FPGA302 内嵌的频率合成软核对 10M 时钟 [304a] 作频率合成, 产生 DAC303 的工作时钟 307a, FIFO 的读时钟 307b, FIFO 的写入时钟 307c, 时钟 307c 同时 还作为 FPGA 内部其它模块的工作时钟。
         外部存储控制器 308, 实现 FPGA 与外部波形存储器的接口, 按照 CPU 配置的参数 308a( 包括波表起始地址、 波表长度等 ) 将波表数据 308a 写入外部波形存储器 ; 在要求输 出波形时, 将外部波形存储器的波表数据 308b 读出送给数据选择模块。
         内部波形存储器 309, 包括了用 FPGA 内嵌 RAM 块实现的存储器以及相应的控制 模块 ; 内部波形存储器的容量是固定的, 且容量远小于外部存储器, 在本实施例里的容量是 16K 个样点 ; 在输出波形前, 内部波形存储器 309 内的控制模块将 CPU 提供的波表数据 309a 写入内部存储器 ; 在输出波形时, 循环的从内部存储器读出波表 309b 送给数据选择模块 311。
         DDS 累加器 310, 根据 CPU 设置的频率控制字 310a, 累加地址, 将累加结果 310b 和 310c 分别送给外部存储控制器 308 和内部波形存储器 309。
         数据选择模块 311, 根据 CPU 的参数设置 311a, 从外部存储控制器 308 和内部波形 存储器 309 的两路数据 308b 和 309b 中选出一路作为写数据 311b 写入 FIFO 模块。
         FIFO 模块 312, FIFO 是指具有先入先出特点 (First Input First Output) 的存 储器 ; FIFO 模块 312 将位于时钟域 307c 的波形数据 311b 转换到时钟域 307b, 并在读速率 控制模块 313 的速率控制下, 读出数据 312a ; FIFO 模块 312 还根据 FIFO 的存储情况送出 一个反馈信号 312b 给 DDS 累加器 310, 控制累加器进行正常累加还是暂停累加, 正常累加 所产生的相位地址对应的波表数据会写入 FIFO, 暂停累加时也就暂停写入 FIFO。反馈信号 312b 的作用是 : 如果把 FIFO 比作成一个水库, FIFO 的读、 写操作可分别看作水库的放水、 灌 水; 为了让流出的水流不枯竭, 要求灌水快于放水 ; 但达到一定时间后会水满溢出 ; 如果在 蓄水达到警戒水位后暂停灌水, 然后等到水位下降至警戒水位以下后再重新灌水, 这样水
         库就会一直放水, 且不会溢出。同样的, 当 FIFO 内未被读出的数据长度超过一定限度后, 反 馈信号 312b 就要求累加器暂停, 也就是暂停 FIFO 的写入。
         数据处理模块 313, 对从 FIFO 模块 312 中读出的数据作二次处理, 如并串转换、 输 出关闭时输出空闲电平等 ; 处理后的数据送给外部 DAC303 ;
         FIFO 读速率控制模块 314, 根据 CPU 的速率设置 314a, 控制 FIFO 模块 312 的读出 速率, 也就间接实现了 DAC303 采样率可调。FIFO 读速率控制模块 314 可以是一分频器, 在 本实施例的多功能信号发生器中可采用 31bits 位宽的分频器实现采样率的改变。
         如图 5 所示, 本实施例的多功能信号发生器的工作流程包括 :
         (1) 根据用户的设置, CPU 首先将各个参数配置给 FPGA ; 不同的工作模式有不同的 工作流程。AFG 时, CPU 从非易失性存储器中读出波表并写到 FPGA 内部的波形存储器 ; AWG 时, CPU 从非易失性存储器中读出波表、 或者将上位机下发的波表写入到外部的 DDR2 SDRAM 波形存储器。
         (2) 波表写入完毕后启动 DDS, 开始 DDS 累加器的累加 ; 在累加过程中, 判断 FIFO 的 “水位” 状态, 一旦 FIFO 不能继续写入, 就暂停累加 ; 等 FIFO 可以继续写入时, 再继续累 加。
         (3) 根据 DDS 累加后的地址, AFG 模式从内部波形存储器读取波形、 AWG 从外部波 形存储器读取波形, 并写入 FIFO ;
         (4)AFG 时, 一直读取 FIFO, 将读出的波形数据处理后输出 ; AWG 时, 在读速率控制 模块的控制下, 可能不是一直读 FIFO, 而是以某个速率匀速的读取 FIFO。从 FIFO 读取波形 数据的带宽是小于或者等于 DAC 带宽的, 实际上, 前者是后者的约数。
         本实施例的多功能信号发生器的读速率控制模块的作用 :
         AFG 时, 通常输出的是规则的通用波形, 例如正弦波、 方波、 锯齿波等, 这些波表数 据存放在 CPU 附属的非易失性存储器中, 大小是固定的, 且长度较小。按照用户设置, 将相 应波表写入到 FPGA 内部的存储器中即可。在 CARP 里, AFG 的波表长度是固定的 16K 个样 点。FPGA 内部存储器可以配置成双端口模式, 读写带宽的利用率可达到 100%, 非常适合 AFG 时的跳点读取。
         如果用户要求输出任意波, 任意波波形通常是不规则的, 长度也很长。因此 CARP 配置了可存储 128M 个样点的 DDR2 bDRAM, 用于存储超过 16K 个样点长度的任意波。DDR2 DRAM 具有成本低、 容量大的特点, 但带宽利用率受到限制, 当逐点访问时, 带宽利用率可达 到 80% ; 但如果像 AFG 一样, 跳点的访问, 带宽利用率会急剧下降到最低 10%。也就是说, 上文强调的 FIFO 写入带宽要高于读出带宽的要求是无法满足的。
         通过读速率控制模块, 可以解决 AWG 时频率可调与 DDR2 DRAM 带宽之间的矛盾。 AWG 时, 设置 DDS 累加器的频率控制字为 1, 也就是要逐点读取 DRAM。但在 FIFO 的读出侧, 不是一直读取 FIFO, 而是按照用户设置的采样率读取 FIFO, 这样通过 FIFO 的 “水位” 反馈, 可以控制 DDS 累加器的累加还是暂停累加。当 FIFO 暂停读出时, 数据处理模块依然不间断 的将前一时刻读出的数据送给 DAC 输出。 FPGA 具体实现方法是根据采样率对 DAC 时钟作分 频, 利用分频后的时钟作为读使能来读取 FIFO。
         如图 6 所示, 说明了本实施例的多功能信号发生器的 AFG、 AWG 时的不同输出波形 如下 :AFG 时, 每个 DAC 时钟 ( 采样时钟 ) 输出一个波形样点, 样点对应的地址间隔就是 频率字, 通过改变频率字可调节输出波形的频率。 AWG 时, 以 1/2 的采样率为例, 地址间隔是 1, 本来每个 DAC 时钟输出一个波形样点 ; 但在读速率控制模块的控制下, 每 2 个 DAC 时钟输 出一个波形样点, 这样就达到了在不改变采样时钟的情况下, 通过修改采样率从而调节输 出波形频率的目的。AFG 时, 输出波形的频率等于 K*fc/2N, 出波形其中 K 是频率字, fc 是 DAC 时钟频率, N 是 DDS 累加器的位宽 (CARP 里是 64)。
         AWG 时, 输出波形的频率等于 1*fc/(LENGTH*DIVIDE), 其中 fc 是 DAC 时钟频率, LENGTH 是任意波的样点长度, DIVIDE 是读速率控制模块使用的分频系数。对于一定的任意 波长度, 通过修改分频系数 DIVIDE 即可减小输出波形的频率, 实际上, 相当于将采样率从 fc 修改为 fc/DIVIDE。本发明用一个 31bits 位宽的分频器实现采样率的改变, 对于 1GHz 采样时钟, AWG 时的实际采样率调整范围为 1GHz ~ 0.46Hz。
         与专用时钟电路相比, 本发明只需占用少量的 FPGA 资源就实现了采样率的改变, 实现简单、 成本低, 且采样率的调整范围要宽得多。
         不需要修改波表长度和时钟源频率, 只需修改采样率对应的分频系数, 就可修改 AWG 输出波形的频率, 频率改变时间仅仅是 CPU 配置该系数的时间, 因此具有不逊于 AFG 的 频率捷变性。 本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述, 以上实施例 的说明只是用于帮助理解本发明的方法及其核心思想 ; 同时, 对于本领域的一般技术人员, 依据本发明的思想, 在具体实施方式及应用范围上均会有改变之处, 综上所述, 本说明书内 容不应理解为对本发明的限制。
        

    关 键  词:
    一种 多功能 信号发生器
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:一种多功能信号发生器.pdf
    链接地址:https://www.zhuanlichaxun.net/p-4301493.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1