2013-2014-1数字系统设计实验指导书(beta)_第1页
2013-2014-1数字系统设计实验指导书(beta)_第2页
2013-2014-1数字系统设计实验指导书(beta)_第3页
2013-2014-1数字系统设计实验指导书(beta)_第4页
2013-2014-1数字系统设计实验指导书(beta)_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数字系统设计实验指导书课程名称:数字系统设计实验性质:设计性、验证性指导教师:李明面向对象:2011级电子信息工程所有学生机电学院教学实验中心电子信息综合实验室实验一 bcd2seg译码器设计【实验目的】掌握cpld/fpga的开发软件quartus ii的使用流程;熟悉de2-115开发板的结构,并会使用板上的拨码开关和七段数码管。【实验仪器】pc机1台quartus-ii 软件1套de2-115开发板 1套,板载usb-blaster下载线。【实验原理】使用altera公司的quartus ii软件可以在其公司的fpga上实现各种任意数字逻辑的设计。altera公司的quartusii是a

2、ltera公司的第四代eda集成开发环境,它操作方便、功能强大,提供了原理图输入和hdl语言输入功能,在环境中可以完成编译、查错、设计驱动信号、逻辑功能模拟、时序功能模拟、对fpgacpld芯片编程以及sopc的设计开发等功能。【实验内容】在de2开发板上实现4位的二进制输入七段数码管显示的译码功能模块。【实验步骤】 本实验中利用veriloghdl在fpga里面设计一个与门,请同学们按照以下步骤操作:1. 在e盘新建一个目录e:fpgaexperiment1,(如果此目录已经存在,则删除experiment1目录)用于存放本次实验中的设计文件。2. 按下图操作打开quartusii 10.0

3、软件3. 弹出界面如下图所示,按下图选择选项,点击ok,如果没有弹出下面界面,跳至步骤5.4. 弹出窗口如下图,点击ok5. 弹出界面如下图,点击欢迎界面左上角的x关闭欢迎界面6. 点击菜单filenew出现如下图,7. 选择verilog hdl file,然后点击ok按钮在空白处敲入代码,如下图所示。点击save按钮,将此文件保存到e:fpgaexperiment1目录下,并且命名为bcd2seg.v(注意:这里的文件名必须和module的模块名一致,不包括扩展名!)图1-38. 在出现的对话框中按下图设置:点击yes9. 出现创建项目向导,见下图,点击next10. 出现下面窗口,阅读一

4、下说明,了解其含义,不要修改内容,点击next11. 添加文件窗口,系统默认把刚才创建的文件加入到项目中了。12. 选择器件窗口,family选择 cyclone iv,器件选择ep4ce115f29c7,和de2-115开发板上的fpga型号必须一致。见下图,然后点击next13. eda工具选择界面,默认都选择none14. 创建项目的最后页面,没有需要填写的内容,点击finish即可。15. 在quartus-ii中,执行菜单processing-start compilation进行代码编译(快捷键ctrl+l),如下图16. 若没有语法错误,会弹出full compilation w

5、as successful,如下图,若有错误,会在quartus的下面的message栏中给出错误的信息,请根据提示,修改代码至正确为止。17. 编译正确后,需要对芯片进行引脚锁定。操作方式见下图:18. 在此窗口中给出了设计中的端口,见下图要想验证本设计是否正确,就需要在本设计的四个输入端口d3,d2,d1和d0输入高低电平的逻辑,而开发板上,可以提供高低电平输入的外设有switch。de2-115上提供了18个switch,可以任意使用其中的4个,这里使用sw0sw3,根据de2-115的用户手册得知,这4个switch分别连接到了fpga的4个特定的引脚上,因此,将本设计的4个输入锁定到

6、这4个特定的引脚,就可以使用这4个引脚上的switch了。这四个引脚分别是(见图),其余的switch所连接的引脚参见de2-115_user_manual 的page36表4-1。19. 在location中对应的位置三击,找到这些引脚并输入,见下图。同理设定7段数码管的所连接的引脚。参照de2-115_user_manual 的page37表4-4,这里使用hex0的连接的引脚,选择相应的引脚20. 关闭引脚锁定界面,在quartus-ii中,执行processing-start compilation进行代码编译(快捷键ctrl+l),在这次编译中,会把引脚锁定的信息编译到生成的下载文件

7、中。见下图21. 编译结束后,会弹出对话框,点击ok。接下来进行程序下载操作。将开发板供电,然后将usb下载线d型头插入板子左上角的blaster插座中,另一端插入电脑任意一个usb口上。按下开发板红色按钮,给开发板供电。打开quartus-ii的下载界面,命令见下图:22. 弹出如下窗口,若在此窗口的左上角显示 no hardware,则按下图操作,确保开发板已经供电并且下载线已经正确连接至电脑,点击hardware setup按钮,弹出设置对话框,点击current selected hardware旁边的下拉箭头,选择usb-blasterusb-0,然后点击close按钮。若显示为us

8、b-blasterusb-0,则跳过下图23. 这时候下载界面变化为如下图注意这里,和上面的nohardware不一样24. 检查开发板子上的sw19,确保在run一边。点击start按钮,进行下载,注意progress进度25. 当progress显示为100%后,下载完成。拨动sw0sw3四个开关,查看不同的输入数码管上显示的值,并做记录。sw3sw2sw1sw0显示数字sw3sw2sw1sw0显示数字0000101000011101001001101000010010010011【思考与分析】关闭此实验的quartus ii工程和软件,关闭开发板电源,独立完成此项目,并将本代码修改使其能

9、用16进制的方式显示0f。修改引脚锁定,使用hex5数码管显示,sw13sw16作为二进制的输入端。重复此设计。【报告要求】字迹工整,每项均要填写。实验二 数字跑表(本实验为设计性实验)【实验目的】掌握分频器的工作原理和设计方法;掌握秒表的hdl描述方法;了解项目设计的构思及实现过程;掌握de2-115开发板上有源晶振的作用和使用方法。【实验仪器】pc机1台quartus-ii 软件1套de2-115开发板 1套,板载usb-blaster下载线。【实验原理】将板载的50m有源晶振分频出100hz时钟信号,在100hz的时钟作用下,百分之一秒所在的计数器开始加1,当计数到9时,自身清0,同时产

10、生一个进位(此时进位位的频率为10hz),利用此进位位作为十分之一秒的计数时钟,计数范围从0到9,并且也产生一个进位(频率为1hz),此进位再作为秒位的计数时钟依次递推下去,便会产生一个秒表,计数器的显示可以采用实验一的bcd2seg转化为数码管显示。用原理图表示如下图:50mfpgade2-115开发板分频器100hz模10计数模10计数模10计数模6计数bcd2segbcd2segbcd2segbcd2seg模10计数bcd2seg百分之一秒位十分之一秒位秒位十秒位分钟位分钟十位.小时位小时十位.【实验内容】在de2开发板上实现一个8位数显示的秒表。【实验步骤】 1. 在e盘新建一个目录e

11、:fpgaexperiment2,(如果此目录已经存在,则删除它)用于存放本次实验中的设计文件。2. 新建一个verilog文件并创建项目,verilog文件命名为e:fpgaexperiment2watch.v。端口和功能如下:clk50mpsl6.0psh6.0sl6.0sh6.0ml6.0mh6.0hl6.0hh6.0watch.vclk50m为50mhz的有源晶振输入,经分频后得到100hz的时钟, psl6.0显示对应秒表的百分之一秒,psh6.0对应显示秒表的十分之一秒,sl6.0对应显示秒表的秒,sh 6.0对应显示秒表的“十”秒位,ml6.0对应显示秒表的分钟,mh6.0对应显

12、示秒表的“十”分钟位,hl6.0对应显示秒表的小时个位,hh6.0对应显示秒表的小时“十”位。3. 按照原理中的思想编写相应的代码。4. 按照de2-115_user_manual提供的有源晶振输入引脚和数码管的连接引脚分别锁定图中的clk50m端口和相应的秒表显示端口(数码管使用自定义)。5. 重新编译整个工程并下载到de2-115上进行验证。【思考与分析】为秒表增加2个控制端,clr:“清零/启动”键,pause:“暂停/继续”键。当clr输入为高电平时启动秒表,当clr端输入低电平时,输出显示全为0,即00 00 0000;当pause输入端为高电平时,秒表正常计数,当pause输入端为

13、低电平时,秒表暂停计数。分别将clr端口和pause端口用任意2个switch控制。并在开发板上验证。clk50mpsl6.0psh6.0sl6.0sh6.0ml6.0mh6.0hl6.0hh6.0watch.vclrpause【报告要求】字迹工整。在实验过程遇到的各类问题需要做记录,以及解决办法和解决过程都要写到数据分析栏目中,并给出自己的体会。实验三“双时钟”模10计数器【实验目的】掌握按键去抖动原理;掌握输入信号的边沿检测方法;掌握任意模计数器设计方法。【实验仪器】pc机1台quartus-ii 软件1套de2-115开发板 1套,板载usb-blaster下载线。【实验原理】利用系统时

14、钟对两个按键进行滤波去抖动处理后,分别使用边沿检测电路,当检测到一个键的边沿时,对计数器进行加1操作;当检测到另一个键的边沿时,对计数器进行减1操作;计数的的模值为10。50mfpgade2-115开发板去抖动电路bcd2seg去抖动电路边沿检测边沿检测模10计数器【实验内容】在de2开发板上实现一个模10计数器,一个按键输入计数器增加,另一个按键输入时,计数器减少。【实验步骤】 1. 在e盘新建一个目录e:fpgaexperiment3,(如果此目录已经存在,则删除它)用于存放本次实验中的设计文件。2. 新建一个verilog文件并创建项目,verilog文件命名为e:fpgaexperim

15、ent3cntr10.v。端口和功能如下:clk50mcntrdisp6.0cntr10.vupdown3. 按照原理中的思想编写相应的代码。4. 按照de2-115_user_manual提供的有源晶振输入引脚和数码管的连接引脚分别锁定图中的clk50m端口和相应显示端口(数码管使用hex0hex7中任意一个即可)。up和down 两个端口必须要使用琴键按钮作为输入。5. 重新编译整个工程并下载到de2-115上进行验证。【思考与分析】怎样能节省滤波(即去抖动)所使用的寄存器数量?通过实验验证,并根据编译报告的提示进行证明。【报告要求】字迹工整。在实验过程遇到的各类问题需要做记录,以及解决办

16、法和解决过程都要写到数据分析栏目中,并给出自己的体会。实验四vga图像显示控制器(彩条)【实验目的】了解vga工作原理和工作时序了解adv7123芯片的使用掌握基于fpga器件实现vga图像显示的原理与方法会根据时序图写程序【实验仪器】pc机1台quartus-ii 软件1套de2-115开发板 1套,板载usb-blaster下载线。【实验原理】vga彩条显示原理vga显示的原理vga(video graphics array)是ibm在1987年随ps/2机一起推出的一种视频传输标准,具有分辨率高、显示速率快、颜色丰富等优点,在彩色显示器领域得到了广泛的应用。vga的图形模式分为三类:cg

17、a,ega兼容的图形模式;标准vga图形模式;vga扩展图形模式,后两种图形模式统称为vga图形模式。工业标准的vga显示模式为:6404801660。常见的彩色显示器一般由阴极射线管(crt)构成,彩色由grb(green red blue)基色组成。显示采用逐行扫描的方式解决,阴极射线枪发出电子束打在涂有荧光粉的荧光屏上,产生grb基色,合成一个彩色像素。扫描从屏幕的左上方开始,从左到右,从上到下,逐行扫描,每扫完一行,电子束回到屏幕的左边下一行的起始位置,在这期间,crt、对电子束进行消隐,每行结束时,用行同步信号进行行同步;扫描完所有行,用场同步信号进行场同步,并使扫描回到屏幕的左上方

18、,同时进行场消隐,并预备进行下一次的扫描。vga显示的时序图如下:vga行时序图vga场时序图本次实验采用的是vga60hz的。vga使用扫描方式进行显示的,在内部时钟的作用下,vga显示器从屏幕的左上角开始扫描,先水平扫完一行(800个像素点)到左右边,再回到最左边(期间crt对电子束进行行消隐)换下一行,继续扫描,直到扫描到屏幕的最右下角(共525行),这样就扫描完一帧图像。然后,再回到屏幕左上角(期间crt对电子束进行场消隐),开始下一帧图像的扫描。在标准vga模式(640*48060hz)下,实际的显示区域只有640像素*480行,每秒必须扫描60帧,每一个像素点的扫描周期大约为40n

19、s。时序表如下:上图中的标准时钟频率为:25.175mhz(像素输出的频率),而在开发板上只有50mhz的晶振输入,故可以对它做2分频得到25mhz时钟近似替代25.175mhz。dac芯片-adv7123的主要控制端:l blank:是复合消隐信号,当其为低电平的时候,模拟端输出消隐电平,此时,从r9r2, g9g2,b9b2,输入的数据被忽略。l sync:复合同步信号,adv7123只在绿色输出通道有同步信号出现,即绿同步。l clock:时钟信号,在clock时钟的上升沿,从r9r2,g9g2,b9b2输入的数据锁存至数据寄存器;blank和sync信号也是在clock的上升沿被锁存的

20、。adv7123和fpga芯片的连接电路图如下:其管脚配置为:【实验内容】使用de2-115开发板驱动板载vga接口,通过连接到显示器显示出多种颜色的彩条。【实验步骤】 1. 在e盘新建一个目录e:fpgaexperiment2,(如果此目录已经存在,则删除它)用于存放本次实验中的设计文件。2. 新建一个verilog文件并创建项目,verilog文件命名为e:fpgaexperiment4vga.v。端口和功能请根据题目需求自己定义。3. 将写好的代码进行编译,分配引脚,再编译然后下载至fpga芯片中验证。【思考和分析】 实验五 用状态机实现lcd1602显示控制【实验目的】掌握cfah16

21、02btmcjp的使用方法熟练掌握状态机的使用可以根据资料写程序【实验仪器】pc机1台;quartus ii 10.0软件1套de2-115开发板1个,板载usb-blaster下载线1条;【实验原理】通过状态机对lcd1602的命令和数据输入的控制,可以使lcd显示相应的字符。cfah1602btmcjp的端口和接口电路如下图,cfah1602btmcjp(以下简称lcd)是一种用5*7点阵图形来显示字符的液晶屏,其显示容量为2行*16个字符。其电路图如下:lcd_data7lcd_data0为8位数据线。lcd_en:lcd使能。lcd_rw:lcd读/写选择,0为写,1为读。lcd_rs

22、:lcd指令/数据选择,0为指令,1为数据。lcd_blon:lcd背光,0为关闭,1为开启。lcd_on:电源开和断当lcd_rs和lcd_rw同为低电平时可以写入指令或者显示地址,当lcd_rs为低电平而lcd_rw为高电平时可以读忙限号,当lcd_rs为高电平而lcd_rw为低电平时可以写入数据。当lcd_en出现下跳沿时,液晶模块执行命令。1. 管脚连接为:3.lcd液晶控制的指令。4.lcd内部显示地址5.cgrom中的字符与代码【实验内容】利用de2-115开发板在1602的lcd上面一行显示字符“hello world!”。下面一行显示自己的学号。【实验步骤】1. 先对lcd进行

23、初始化2. 读忙信号3. 写数据4. 读数据5. 显示。开始6. 流程图如下。在上电后等待15ms设置显示模式在上电后等待5ms关显示清屏光标和显示模式设置显示开关控制设置显示地址读忙、写数据 实验六 uart设计【实验目的】学习用verilog hdl进行有限状态机编程;掌握uart通讯协议的原理和规则;练习de2115开发板上面串口的使用。【实验仪器】pc机1台;quartus ii 软件1套de2-115开发板1个,板载usb-blaster下载线1条。【实验原理】一、 uart协议通用异步收发传输器(universal asynchronous receiver/transmitter

24、),通常称作uart,是一种异步收发传输器,是电脑硬件的一部分。将资料由串行通信与并行通信间作传输转换,作为并行输入成为串行输出的芯片,通常集成于其他通讯接口的连结上,作为短距离传书最常用的通讯协议。基本的uart通讯只需要两条信号线:rxd和txd,txd是发送端,rxd是接收端,接收与发送全双工工作。uart作为异步串口通信协议的一种,工作原理是将传输数据的每个字符一位接一位地传输。其中各位的意义如下:起始位:先发出一个逻辑”0”的信号,表示传输字符的开始。资料位:紧接着起始位之后。资料位的个数可以是4、5、6、7、8等,构成一个字符。通常采用ascii码。从最低位开始传送,靠时钟定位。奇

25、偶校验位:资料位加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验),以此来校验资料传送的正确性。停止位:它是一个字符数据的结束标志。可以是1位、1.5位、2位的高电平。 由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。3空闲位:处于逻辑“1”状态,表示当前线路上没有资料传送。波特率:是衡量资料传送速率的指标。表示每秒钟传送的二进制位数。串口常用的波特率为9600b/s,14400b/

26、s,19200b/s,38400b/s等,在本节的实例中,选择的是115200b/s二、 数据接收:数据的发送实际上就是按照上面的格式将寄存器中的并行数据转换为串行数据,为其加上起始位和停止位,以一定的传输速率进行传输。传输速率可以有很多种选择,即波特率。三、 数据接收:接收的首要任务是能够正确检测到数据的起始位,起始位是一位0,它作为同步信号附加进发送信息,因为空闲位都是高电平,所以当接收信号突然变为低电平时,告诉接收端将有数据传送。一个字符接收完毕后,对数据进行校验(如果有校验位的话),最后检测停止位,以确认数据接收完毕。四、 数据采样:数据传输开始后,接收端不断检测传输线,看是否有起始位到来。当收到一系列的1之后,检测到一个下降沿,说明起始位出现。但是,由于传输中有可能会出现毛刺,接收端有可能将毛刺误认为是起始位,所以要对检测到的下降沿进行判别。一般采用如下方法:取接收端的时钟频率是发送频率的16倍频,当检测到一个下降沿后,在接下来的16个周期内,检测数据线上0的个数,若0的个数超过一定个数,若0的个数超过一定个数(比如8个或10个,根据实际情况设置),则认为是起始位到来;佛则认为起始位没有到来,继续检测传输线,等待起始位。在检测到起始位后,还要确定起始位的中间点的位置,由于检测起始位采取16倍频,因此计数器计到8的时刻即是起始位的中间点位置,在随后的数据位

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论