没有合适的资源?快使用搜索试试~ 我知道了~
大学生EDA实验
资源推荐
资源详情
资源评论
二进制数字调制器的设计
一.设计目的
1.
学习掌握综合电路的设计方法,进一步理解宏功能模块的概念,掌握用嵌入式逻辑分析
仪测试电路节点信号的方法
;
2.
学习掌握综合电路的调试技能;
3.
理解学习数字调制的基本概念。
二.设计内容
设计 2ASK 和 2FSK(2PSK)调制电路,将其输出通过嵌入式逻辑分析仪进行测试,
观察输出信号波形。
三.设计要求
1. 在已做正弦波发生器(“地址发生器-ROM”)的基础上完成 2ASK 和 2FSK(2PSK)
调制器的设计,地址输出采用 6 位二进制,ROM 中存储的数据宽度为 8;
2. 做出仿真结果,并通过嵌入式逻辑分析仪进行测试,观察采样的 2ASK 和 2FSK(2PSK)
物理信号。
四.设计方案
1. 调制器原理:
数字调制的载波为正弦信号,调制信号是数字,对于二进制信号,称为键控。
2ASK(振幅键控):ASK 指的是幅移键控。它是根据信号的不同来调节正弦波的幅度。幅度
键控可以通过开关电路和乘法器来实现。载波在数字信号 1 或者 0 的控制下通或断。幅移键
控法(ASK)的载波幅度是随着调制信号而变化的,其最简单的形式是,载波在二进制调制信号
控制下通断,此时又可称作开关键控法。
设计方案:
如下图,我们将从⽤⼆选⼀数据选择器进⾏调制。将选择器的两个输⼊端分别接 coswt、GND,
选择信号接 s(t)。当按键没有按下时,⼆选⼀数据选择器输出 coswt;当按键按下时二选
⼀数据选择器输出 GND (即低电平‘0’)。
2FSK(频率键控):2FSK 是利用数字基带信号控制在波的频率来传送信息。例如,1 码用频
率 f1 来传输,0 码用频率 f2 来传输,而其振幅和初始相位不变。
设计方案:
可以通过改变计数器和寄存器 rom 的时钟输⼊来改变波形的频率,所以,只需在源代码中加
⼊⼀个分频代码
2PSK(相位键控):2PSK 即二进制相移键控。这是一种用载波相位表示输入信号信息的调制
技术。移相键控分为绝对移相和相对移相两种。以未调载波的相位作为基准的相位调制叫绝
对移相。以二进制调相为例,取码元为“1”时,调制后载波与未调载波同相;取码元为“0”
时,调制后载波与未调载波反相;“1”和“0”时调制后载波相位差 180°。
设计方案
通过相移 180 度。可以通过改变寄存器的地址输⼊来调相,由于使⽤的是 6 位地址发⽣器,
要想相位改变 180 度,只需要地址改变 32 即可.
某些信道不适合于基带传输,只能传输调制信号
2. 分别建立 ASK,FSK,PSK 三个调制器后,利用 Quartus II 编写程序利用三选一开关连接起
来。
五.实验步骤
1) 在 D 盘建立一个文件夹命名为 D:\EDA\aaa0342erjinzhi,用于存放工程文件以及存储器初始化文件。
2) 建立存储器初始化文件,包括对比波形和将要调制的波形。
所谓存储器的初始化文就是可配置于 LPM RAM 或 LPM_ROM 中的数据或序代码。在设计中,通过
EDA 工具设计或设定的存储器中的代码文件必须由 EDA 软件在统一编译的时候自动调入,所以此类代
码文件,即初始化文件的格式必须满足一定的要求。
这里我通过直接编辑生成 mif 数据文件,命名为 sin.mif,并对其进行存盘,存入 D:\EDA\aaa0342erjinzhi\rom
中,此时建立的文件为对比的波形。
3) LPM_ROM 的设置
在 Quartus 软件界面的右侧 IP Catalog 中搜索 ROM 选择 ROM_1_PORT,进入 ROM 设置窗口,文件类型
选择 VHDL,文件名为 rom_compare.vhd,选择文件存盘选择 D:\EDA\aaa0342erjinzhi\rom。单击 Next 数
据位宽选择 8 位,数据深度为 2
6
=64,6 位地址线,再选择双时钟方式。单击 Next,取消选中 q’output port,
即选择时钟只控制锁存输入信号。单击 Next,单击 Browse,选择指定路径上的初始化文件 sin.mif。单击
Next,单击 Finish。
同理生成将要调制的波形,命名为 rom_changed.vhd,存入 D:\EDA\aaa0342erjinzhi\rom 中。
4) 设定工程,并调用文件 romsin.vhd,ronsin.vhd。
在 D:\EDA\aaa0342erjinzhi\b_modul 中建立一个工程,在文件栏加入 romsin.vhd,ronsin.vhd,命名为 b_modul,
输入下列 VHDL 代码:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity b_modul is
Port (
rst : in std_logic;
clk : in std_logic;
en : in std_logic;
c : in std_logic_vector(1 downto 0);
剩余10页未读,继续阅读
资源评论
Darkest292
- 粉丝: 3
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Picasso_v3.1 2.ipa
- chromedriver-mac-arm64.zip
- 蓝zapro.apk
- chromedriver-linux64.zip
- UCAS研一深度学习实验-MNIST手写数字识别python源码+详细注释(高分项目)
- 基于Python和PyTorch框架完成的一个手写数字识别实验源码(带MINIST手写数字数据集)+详细注释(高分项目)
- 基于Matlab在MNIST数据集上利用CNN完成手写体数字识别任务,并实现单层CNN反向传播算法+源代码+文档说明(高分项目)
- NVIDIA驱动、CUDA和Pytorch及其依赖
- 基于SVM多特征融合的微表情识别python源码+项目说明+详细注释(高分课程设计)
- html动态爱心代码一(附源码)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功