数电综合实验实验报告.docx
- 文档编号:26453030
- 上传时间:2023-06-19
- 格式:DOCX
- 页数:15
- 大小:813.75KB
数电综合实验实验报告.docx
《数电综合实验实验报告.docx》由会员分享,可在线阅读,更多相关《数电综合实验实验报告.docx(15页珍藏版)》请在冰豆网上搜索。
数电综合实验实验报告
数电综合实验—简易函数发生器
实验报告
一、
实验目的
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)都是近似的。
frq.vhd文件还包含了数码管输出的功能。
采用高频时钟(50M)扫描cat,输出当前的频率值。
这里不再分析。
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,步进量为100Hz。
波形由开发板上的DAC_A口输出。
共有方波和三角波,正弦波三种波形可供选择,用户只需将开发板上的拨码开关SW6~SW7置成不同取值组合,就可以输出不同波形。
其中方波的占空比可以用开发板上的按键开关BTN0~BTN1调节。
系统重置按键为开发板上的按键开关BT7。
另外,实验验收后我继续加入了锯齿波输出的功能。
用户可以在示波器上看到波形输出。
2.操作步骤
上电后用户首先选择波形,使用SW6~SW7选择,具体对应关系如下:
SW7SW6
输出波形
00
无波形(低电平)
01
占空比可调的方波
10
三角波
11
正弦波
波形选择好后,将示波器探头接入开发板的DAC_A与GND之间,即可在示波器上看到相应的波形。
用户可以通过改变SW0~SW3来改变输出波形的频率,具体对应关系如下:
SW3..SW0
输出频率
0000
1.0KHz
0001
1.1KHz
0010
1.2KHz
……
依次递增
1010
2.0KHz
1011
1.0KHz
1100
1.0KHz
……
不变
1111
1.0KHz
其中,特别的,在输出方波波形时,用户可以按下BT0/BT1来增/减方波的占空比。
系统重置按键为BTN7。
(图五:
实际波形图以及系统连接示意图)
八、资源利用率
(图六:
宏单元占用情况)
(图七:
系统资源利用情况)
九、仿真波形
1.三角波输出仿真情况(状态不全)
2.方波输出仿真情况
3.正弦波输出仿真情况(状态不全)
4.选波模块输出仿真情况
5.并串转换输出仿真情况
6.分频输出仿真情况(以输出方波为例)
一十、元件清单
1.计算机;
2.示波器;
3.直流稳压电源;
4.万用表;
5.EDA开发板及相应元器件。
一十一、关键技术、遇到的问题及解决方案的详述
1.正弦波输出问题
解决方案:
采用查数据表的模式,既保证了一定数据的精度,同时也替系统节约了大量资源。
这样输出时不必花费时间计算每点不同的sinx值,只需读取ROM里的数据,节省时间,可以达到实时输出。
2.DA转换问题
解决方案:
加入并串转换模块,该模块使用产生并行数据的时钟频率的32倍频,将每一clk_m周期输入的8bit并行数据经32个clk_p时钟周期输出,一共串行输出16bit数据(包括控制位),同时产生16个clko的脉冲供DA芯片使用。
一十二、实验结论及总结
今天写这个结题报告的时候回想起来,自己在最开始学习这门课程时,对VHDL语言的理解就完全错误了。
仅仅认为这是一门计算机语言,而忽视了VHDL的定义:
硬件描述语言。
它讲求的是描述某个硬件功能的准确性和规范性,而我却认为只要程序写出来以后逻辑正确就OK了。
譬如,若是纯粹从逻辑上理解,一个触发器完全可以由一个取值有限的信号循环自加来实现。
但是触发器是一个时序逻辑电路,这样描述的器件只是一个累加器。
要在其外部加入触发条件(clk’eventandclk=’1’),累加器才能够行使触发器的功能。
终于认识到这一点,我对VHDL的许多其他误解也消除了。
在仅仅考虑逻辑的前提下,我很迷惑为什么编程过程中有时会出现这样的情况:
一句语句放在进程前面或者进程后面会有完全不同的效果;两个进程合并成一个也会使功能改变等等。
这些错误都是由于对硬件电路不敏感、不理解状态机概念造成的。
我也更加赞同那句话:
“不学好模拟电路,无法在数字电路领域有深的理解”。
今后的VHDL编程过程中,我将更加注重描述准确这一要点,要时时留意语句实现的硬件电路的性质,编程时多多结合RTL电路,分析排错。
另外一个很深的感触就是VHDL语言编写实时控制程序很有用。
简易函数发生器这个工程触及到时序控制的地方就是并串转换模块。
比较遗憾的是,自己并没有独立的完成这部分的编程工作。
不过,老实说,学习、借鉴其他人写的并串转换程序,是完成这次实验过程中个人感觉收获最大的一个阶段。
自己在VHDL编程的一些“素养”方面确实不足,通过学习网上的一些资料和论文,我反倒学到了很多时序逻辑电路编程方面的知识。
总之,这次综合实验加深了我对VHDL的理解。
我明白仅仅一学期的数电理论学习是远远不够的,甚至连数字电路设计的门槛都不能踏入,所以日后我还要多学习,多了解,多实践,加深对这一领域的认识。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 综合 实验 报告