211111班26号周颖简易函数发生器.docx
- 文档编号:2467043
- 上传时间:2023-05-03
- 格式:DOCX
- 页数:15
- 大小:725KB
211111班26号周颖简易函数发生器.docx
《211111班26号周颖简易函数发生器.docx》由会员分享,可在线阅读,更多相关《211111班26号周颖简易函数发生器.docx(15页珍藏版)》请在冰点文库上搜索。
211111班26号周颖简易函数发生器
数电综合试验实验报告
简易函数发生器
(二〇一一年十月)
班级:
2009211111
姓名:
周颖
学号:
09210329
班内序号:
26
一、实验目的
1.熟练掌握VHDL语言和QuartusII软件的使用;
2.理解状态机的工作原理和设计方法;
3.掌握利用EDA工具进行自顶向下的电子系统设计方法;
4.熟悉D/A变换电路的设计;
二、任务要求
基本任务:
设计制作一个简易函数发生器。
1.输出波形为方波和三角波,频率范围为1kHZ-2kHZ;
2.频率可进行调节并用数码管显示,加、减步进均为100HZ;
3.输出三角波的峰峰值为4-5V,方波幅度为TTL电平的大小;
提高要求:
1.产生频率范围为1kHZ-2kHZ、峰峰值为4-5V的正弦波信号;
2.产生占空比可调的矩形波或其它波形;
3.自拟其它功能。
三、系统设计
1.设计思路
用VHDL语言结合原理图编辑方式设计实现一个函数信号发生器,输出频率可调方波和三角波,正弦波三种波形。
将波形选择、频率控制与分频、三角波、正弦波、方波发生各个模块分别用VHDL语言编程为一个子程序,并把每一个模块转换成图形文件,然后在原理图编辑框调用这些图形模块。
由于考虑到按键开关工作的不确定性,通过拨码开关模块的SW0到SW3控制频率调节f〔3...0〕,用SW4、SW5控制DELTA、SINE、SQUARE波形选通,最后把八位输出经过并串转换,接到开发板上的DA模块(TLV5638),通过D/A转换,从示波器上就能看到波形输出。
2.总体设计框图
(图一:
系统设计框图)
3.分块设计
本设计共使用了六个模块,分别解释如下:
a)分频模块:
本模块主要功能是输出两个分频时钟clk_m和clk_p,前者用于波形的每一点的并行值输出频率,后者是前者的32倍频,用于并串转换(16bit并行输入转串行输出,并且要输出一个二分频时钟)。
经过多方考虑(受制于DA芯片的最高工作频率),选择波形分辨率为64点(即一个周期取样64次)。
这里输出的1KHz到2KHz的频率(步进100Hz)都是近似的。
b)三角波产生模块:
本模块输出三角波波形。
每次clk_m上升沿输出一个8bit的数据。
周期分辨率为64点。
c)方波产生模块:
本模块输出占空比可调的方波。
默认占空比为50%。
周期分辨率为64点。
按键调节占空比,步进增/减幅度为12.5%。
d)选波模块:
本模块根据用户操作拨码开关来选择输出的波形。
默认输出低电平。
e)正弦波产生模块:
本模块输出周期分辨率为64点的正弦波。
用Excel或者Matlab算出二进制8bit的正弦波的取样值,然后采用在程序里查表的方式输出数据。
这要比用程序直接计算正弦波的值快捷和简便得多,虽然损失一定精度,但换回的是程序执行的时间和空间资源。
f)并串转换模块:
本模块将上级输入的8bit并行数据信号转换为串行输出,以供TLV5638进行DA转换。
每次系统重置后(reset按键被按下),系统经过两次状态转换。
state0是一个等待状态,系统等待4个并行周期之后进
入state1,这个状态主要用来写TLV5638的控制寄存器。
这里我们将它的参考电平设为2.048V。
接着,系统将把TLV5638的触发信号置成有效电平。
接着系统进入state2,这个状态是系统真正进行并串转换的状态。
在TLV5638自身允许输入的状态下,此进程将设置TLV5638,使其依次使用DAC_A和DAC_B输出数据。
在它自身禁止输入的状态下,进程将TLV5638的触发信号置成无效电平,并不输出。
本模块使用例化TLV5638这一器件,具体并串转换的过程将在TLV5638.vhd中实现。
具体流程如下:
每次外部复位信号(reset_i)或者内部复位信号(reset_int)有效时,系统进行各信号清零复位的工作。
cs_o信号作用是对TLV5638的片选,cs_o的下降沿触发TLV5638的数据写入,cs_o上升沿时TLV5638停止数据写入(数据锁存)。
系统默认状态为IDLE(空闲),不进行任何操作。
当DA工作触发信号(start_i)有效时,系统被触发,进入BUSY(工作)状态。
系统状态为BUSY时,进行一次16bit输入数据的并串转换,使用输入并行数据频率的32倍频,将其二分频后输出给TLV5638作为时钟信号。
输出16bit数据后,系统将cs_o复位(停止数据写入芯片),并且将eoc置位(进行一次各信号清零复位的工作)。
系统输出串行数据时首先输出并行输入数据的高位。
四、程序框图
(图二:
系统操作流程图)
五、总体电路图及管脚信息
(图三:
系统电路图)
(图四:
管脚连接信息)
六、源程序
adjust.vhd:
choose_wave.vhd:
dlt_gen.vhd:
frq:
sin_gen.vhd:
sqr_gen.vhd:
tlv5638.vhd:
七、功能说明及操作步骤
1、功能
该工程实现一个简易函数信号发生器的功能。
系统上电后,默认输出低电平(无波形),默认初始频率为1KHz。
波形输出频率可由开发板上的拨码开关SW0~SW3调节,可调范围为1KHz到2KHz,步进量为0.1KHz。
波形由开发板上的DAC_A口输出。
共有方波和三角波,正弦波三种波形可供选择,用户只需将开发板上的拨码开关SW6~SW7置成不同取值组合,就可以输出不同波形。
其中方波的占空比可以用开发板上的按键开关BTN0~BTN1调节。
系统重置按键为开发板上的按键开关BT7。
用户可以在示波器上看到波形输出。
2、操作步骤
上电后用户首先选择波形,使用SW6~SW7选择,具体对应关系如下:
SW7SW6
输出波形
00
无波形(低电平)
01
占空比可调的方波
10
三角波
11
正弦波
波形选择好后,将示波器探头接入开发板的DAC_A与GND之间,即可在示波器上看到相应的波形。
用户可以通过改变SW0~SW3来改变输出波形的频率其中,特别的,在输出方波波形时,用户可以按下BT0/BT1来增/减方波的占空比。
系统重置按键为BTN7。
(图五:
实际波形图以及系统连接示意图)
八、仿真波形
1.三角波输出仿真情况(状态不全)
2.方波输出仿真情况
3.正弦波输出仿真情况(状态不全)
4.选波模块输出仿真情况
5.并串转换输出仿真情况
6.分频输出仿真情况(以输出方波为例)
九、元件清单
1.计算机;
2.示波器;
3.直流稳压电源;
4.万用表;
5.EDA开发板及相应元器件。
十、实验结论及总结
经历了两周的数电综合试验实验,我觉得自己学到了很多东西,在大二下的时候我们做过简单的数电实验,但是那时候自己对具体原理并不完全了解,到现在学习完了数字电路基础的理论教学再来做实验的我感觉轻松很多,也说明在一定程度上我掌握了相关的理论知识。
我们选择“简易函数发生器”这个实验题。
选好之后,在和别班同学的交流过程中,发现大家对这个实验都敬而远之,甚至老师也不推荐。
得知之后我更有斗志要把这个实验做好,真正学习到技术技巧。
对于这次的数电实验我的记忆特别深刻,因为在实验过程中我克服了很多困难,虽然出现了很多问题,但只要不放弃,就一定会有收获。
总之,我觉得这次的实验给我的启示很大,对于我们这些学了很多理论知识的学生来说很有帮助,它使得我们看到了自己的差距和经验的不足,以后需要勤奋的学习的同时多注重实际的运用,这样才应该是全面实际的应用型人才!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 211111 26 号周颖 简易 函数 发生器