信号发生器案例使用说明书.pdf

上传人:时光煮雨 文档编号:14966475 上传时间:2022-02-27 格式:PDF 页数:7 大小:180.82KB
返回 下载 相关 举报
信号发生器案例使用说明书.pdf_第1页
第1页 / 共7页
信号发生器案例使用说明书.pdf_第2页
第2页 / 共7页
信号发生器案例使用说明书.pdf_第3页
第3页 / 共7页
亲,该文档总共7页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《信号发生器案例使用说明书.pdf》由会员分享,可在线阅读,更多相关《信号发生器案例使用说明书.pdf(7页珍藏版)》请在三一文库上搜索。

1、信号发生器工程案例 使用说明书 V1.0 2009.3 文档版本1.0.0 文档日期2009 年 3月第1章 概述 1.1 案例概述 信号发生器工程案例参照“2007年全国大学生电子设计竞赛”高职高专组“信号发生器(H 题) ”要求设计而成。根据H 题要求,需设计并制作一台信号发生器,使之能产生正弦波、方波和三角波信号,且输出可调。本工程案例提供的软、硬件设计方案能够完全满足比赛题目中所提到的各项要求。不仅可作为日常工程训练,还为以后类似比赛题目提供借鉴。 根据设计要求,本案例选用EDA 比赛套件中: EDA-SOPC核心板、 LCD1602 、RS232&PS2及DDS_BOARD四个模块。

2、电源采用 5V直流电源及 5V电源供电。 各模块连接如下图所示: 图1.1 各模块连接示意图 各模块功能如下: 一、由 EDA-SOPC核心板提供的 FPAG 及SDRAM为本系统的核心器件。主要完成功能:1、采用 DDS 技术基于FPGA 设计信号发生模块,产生要求的信号序列;2、利用 SDRAM配合FPGA 构成片上系统,建立 NIOS 控制系统,完成任务调度及人机交互控制。核心板分别通过相关接口与其它三个功能模块相连。 二、RS232&PS2模块通过 8-PIN双排线与核心板的 PORT2CP接口相连。将 PS2 接口的数字小键盘连接到该模块的 PS/2接口上,实现按键输入功能。 三、L

3、CD1602 模块通过 16-PIN双排线与核心板的 PORT12-LCD接口相连。将液晶 LCD1602 连接到该模块的液晶接口上,实现人机交互的显示功能。 四、DDS 模块分别通过 14-PIN双排线与核心板的 PORT14-DA接口相连及通过 16-PIN双排线与核心板的PORT16-IO 接口相连。该模块实现两路D/A,其中一路产生信号,另一路实现信号幅度的调整,模块的BNC接头直接输出信号。 注:相关模块的详细功能,可参考该模块说明书。 1.2配件清单 EDA-SOPC 核心板 1块 LCD1602 模块 1块 RS232&PS2 模块 1块 DDS_BOARD模块 1块 LCD16

4、02 液晶 1块 PS2 接口的数字小键盘 1个 5V电源 1个 8针接口线 1根 14针接口线 1根 16针接口线 2根 说明书及相关资料 1份 第2章 快速上手 3.1 电路连接 按图1.1 示意图,将各模块通过双排线连接好。核心板通过下载线与计算机相连,打开电源。其中LCD1602 连接时注意排列方向。 3.2 程序下载 1、打开范例程序包,打开Quartus 软件,将下载线与FPGA的 AS相连,将配置文件下载到FPGA配置芯片中。 2、打开 Nois II,导入范例工程中 software 目录下的程序。将下载线与FPGA 的JTAG 相连,通过 Flash Programmer 将

5、程序下载到 FPGA 配置芯片中。 3、下载成功后,拔掉下载线,重新加载核心板供电电源。 3.2 功能演示 1、下载成功后,打开电源。液晶上首先显示“Signal Generator Version 1.0”字样。闪过之后第一行显示“ Sine Range:1.0V ”, 第二行显示“ 100K Fc:1.000KHz”。表示当前输出波形为正弦波,输出幅度为1.0V,频率调节档级为100Hz ,输出频率为1.000KHz。 2、将 DDS板的 BNC输出端与示波器相连,可以将观察到的波形参数与当前显示值比较。 3、通过数字小键盘上、下、左、右方向键,可设置输出波形参数。 第3章 案例说明 2.

6、1 基本原理 2.1.1 直接数字频率合成器原理 直接数字合成( Direct Digital Synthesis、DDS )是一种从相位出发的新的频率合成技术和信号产生的方法。 DDS 的原理框图如图 2.1 所示。 图中相位累加器可在每一个时钟周期来临时将频率控制字(FTW )所决定的相位增量M累加一次, 如果记数大于,则自动溢出,而只保留后面的N位数字于累加器中。 正弦查询表 ROM 用于实现从相位累加器输出的相位值到正弦幅度值的转换,然后送到DAC 中将正弦幅度值的数字量转变为模拟量,最后通过滤波器输出一个很纯净的正弦波信号。 图2.1 DDS 原理框图 其中DAC 及滤波器部分由 D

7、DS 模块完成,下面重点 DDS 在FPGA 中的实现方法。 2.1.2 正弦波产生模块 图2.2 正弦波产生框图 相位累加器为32 位累加器,输出为 0(232-1),作为正弦查询表的地址输入端。正弦表中存放一个周期的正弦波内的232 个点的数据,输出f0为一正弦波,其频率由“频率控制字”进行调节,输出频率: fout=fclk/2M FTW 最小频率分辨率: fmin=fclk/2M 其中 M为相位累加器的位数,FTW为频率步进控制字,fclk 为时钟频率,输出信号频率主要取决于频率控制字 FTW 。当FTW 增大时, fout可以不断增加, 综合考虑 Nyquist 采样定理, 最高输出

8、频率应小于fout/ 2 。根据实验所得,实际工作频率应小于fclk/ 3 。 由于本案例只要求设计出最高为1MHz 的信号,根据 DA 及FPAG 的速度,可以很容易地满足设计需要。本例中选用 32M 的CLK 时钟, 在输出最高 1MHz 的信号时,波形在一个周期内仍有 32个点,能够完整描述出波形。fmin=fclk/2M =32106/232=0.00745058 所以可以实现1Hz 步进,当输出 1Hz 时,频率控制字FTW=1/fmin=134.217728 。由于频率控制字是由NIOS系统提供的, 考虑到浮点运算所占资源太多,所以把浮点运算改为定点运算。则当输出其他任意频率fou

9、t时Nios 内部算法为: FTW=fout 134+fout21/100+fout 77/10000+fout28/1000000 2.2 FPAG 各模块设计 2.2.1 相位累加器设计 din31.0clkdout9.0 xiangleiinst332位的din31.0输入为相位累加器频率控制字输入端,改变频率控制字,即可改变输出频率。clk为时钟输入,本例中选用32MHz 。dout9.0接正弦查询表的地址输入端,产生10位的地址查询码。 2.2.2 正弦波查询表 address9.0clockq9.0rominst14正弦查询表由一个ROM 模块构成,输入为10 位地址,在时钟的作用

10、下,输出存储的正弦数据。本模块采用 Quartus 软件定制的LPM_ROM 模块。正弦数据由Matlab 生成,并以mif 的文件格式存储后加载到ROM 模块中。文件为sin10bit.mif。 2.2.3 波形输出模块 clkaddr9.0qin9.0sel1.0qout9.0outsinst22波形输出模块, 10位地址输入端与相位累加器模块相连,10位数据输入端与正弦查询表的ROM 输出相连。sel 为波形选择端。 当选择端为 0时,在时钟的作用下,该模块输出正弦查询表的ROM 的数据; 当选择端为 1时,在时钟的作用下,输入数值小于或等于512时输出为 0,大于 512时输出为最大值

11、(1023),即输出占空比为 50的方波; 当选择端为 2时,在时钟的作用下,输入数值小于或等于512时输出为 0,输出地址数据乘 2,大于 512时输出地址数据取反乘 2加1,即输出三角波。 当选择端为 3时,在时钟的作用下,输出即等于输入的地址数据,即输出锯齿波。 由于DDS 模块采用的是 8位DA ,因此输出端仅接 qout的前8位。 2.2.4 NIOS 模块 本模块提供主控 CPU 部分,由 Quartus 软件定制,需加入 SDRAM、LCD 、RS232 等控制器。对 DDS 部分的控制由 PIO口完成,均为输出口,包括频率控制字输出口、波形选择输出口、幅度控制输出口。 2.2.5 PLL 模块 本设计需要两个 PLL模块,一个用于产生 NIOS 及SDRAM所需的时钟,另一个用于DDS 时钟,采用 32MHz 。 2.3 软件原理 可参照附件中的工程程序。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1