数电实验(六)—— 信号发生器

本次实验不再做详细的基本步骤演示
关于一些基本步骤的演示,请参考我的Blog:
数电实验(四)——四位乘法器
数电实验(五)——ROM设计

实验六的任务:
1.配置宽度为8位的ROM,并在ROM中存储256个地址的正弦波数
2.用PLL生成100M时钟作为计数器计数脉冲,计数器输出作为地址读取ROM内容
3.将正弦波信号通过DA模块(AD9708)转换为模拟信号,通过示波器显示波形
附加题:利用控制开关控制波形切换,比如当拨动开关设置为0时,输出正弦波,当拨动开关置为1时,输入三角波。提示:可以用VHDL语言写一个数据选择器

实验六的任务是建立在实验五的基础上的,所以,继续用实验五的工程文件,详细请参照 数电实验(五)——ROM设计

打开工程文件,可以看到如图所示:
数电实验(六)—— 信号发生器_第1张图片
实验六所做的就是在这基础上进行修改
首先任务1,在实验五中已经配置好了,所以FINISHED
任务2 是要做一个倍频器,将系统时钟的50MHz放大为100MHz
咱们不需要分频器了,所以将分频器从bdf文件中删除
创建倍频器的一般步骤:
1.数电实验(六)—— 信号发生器_第2张图片
数电实验(六)—— 信号发生器_第3张图片
点next进行下一步
数电实验(六)—— 信号发生器_第4张图片
按照如图配置,同样的,给输出文件命名,直接在后面追加就好。
点next
数电实验(六)—— 信号发生器_第5张图片
按图示配置
一路next,都默认参数
数电实验(六)—— 信号发生器_第6张图片
数电实验(六)—— 信号发生器_第7张图片
数电实验(六)—— 信号发生器_第8张图片
数电实验(六)—— 信号发生器_第9张图片
到这里,点next
数电实验(六)—— 信号发生器_第10张图片
需要进行配置
数电实验(六)—— 信号发生器_第11张图片
使用clk c0,并输出100MHz,也就是放大两倍,因为用不到clk c1,clk c2,clk c3,clk c4所以接下来一直next,直到最后的Finish;

数电实验(六)—— 信号发生器_第12张图片
数电实验(六)—— 信号发生器_第13张图片
数电实验(六)—— 信号发生器_第14张图片
点Yes;就完成了倍频器的配置
如图
数电实验(六)—— 信号发生器_第15张图片
说明已经完成了,进入到beipin.v里面进行元器件的创建
然后将元器件放置到bdf文件中
数电实验(六)—— 信号发生器_第16张图片按如图接线,编译成功后,进行引脚的锁定,再编译,之后在烧录到开发板中
注意:
1.如果遇到引脚锁定时,没有看到需要的引脚,就进行编译,如果编译后还没有,就是顶层文件设置错,将bdf设置为顶层文件,再进行编译
2.T16脚是连对应的AD模块的时钟引脚的

关于连线
只要将你的output脚输出的7个值输入到GPIO脚上就好
数电实验(六)—— 信号发生器_第17张图片
数电实验(六)—— 信号发生器_第18张图片
比方说,博主选择的就是GPIO1_D0到GPIO1_D7共8个引脚,然后用杜邦线连接上DA模块,注意需要连接的是DA,不是AD,D1与D1相连,D2与D2相连,以此类推
数电实验(六)—— 信号发生器_第19张图片
再连接上示波器就可以显示波形了,示波器的用法不多赘述,auto键懂的都懂
最后就是拓展任务了~
看到这还不一键三连??

直接放数据选择器的源码与原理图连接图
数电实验(六)—— 信号发生器_第20张图片
创建一个VHDL空文件,编写程序,然后生成元器件
放置到bdf文件中,按照原理图接线
数电实验(六)—— 信号发生器_第21张图片
如图所示,还需要配置一个三角波的ROM,方法在数电实验(五)——ROM设计里面有。这样连接,然后,随便选择一个拨码开关的引脚进行锁定就好
数电实验(六)—— 信号发生器_第22张图片
比方说,选择J6
数电实验(六)—— 信号发生器_第23张图片
完成,剩下的就是接线了~
不多赘述
欢迎评论区交流~

你可能感兴趣的:(数字电路实验,嵌入式)