要求:1.已完成前面5个设计实验,并要求得优秀的同学;2.三个实验选可做一个;3.必须自己编写代码;实验六出租车计费器的设计一、实验目的1、了解出租车计费器的工作原理。
2、学会用v erilog HDL 语言编写正确的七段码管显示程序。
3、数量掌握用v erilog HDL 编写复杂功能模块。
4、进一步数量状态积在系统设计中的应用。
二、实验原理出租车计费器一般都是按公里计费,通常是起步价 xx元(xx元可以行走x公里),然后再是 xx元/公里。
所以要完成一个出租车计费器,就要有两个计数单位,一个用来计公里,另外一个用来计费用。
通常在出租车的轮子上都有传感器,用来记录车轮转动的圈数,而车轮子的周长是固定的,所以知道了圈数自然也就知道了里程。
在这个实验中,就要模拟出租车计费器的工作过程,用步进电机模拟出租车轮子,通过传感器,可以得到电机每转一周输出一个脉冲波形。
结果的显示用8个七段码管,前四个显示里程,后四个显示费用。
在设计verilog HDL程序时,首先在复位信号的作用下将所有用到的寄存器进行清零,然后开始设定到起步价记录状态,在此状态时,在起步价规定的里程里都一直显示起步价,直到路程超过起步价规定的里程时,系统转移到每公里计费状态,此时每增加一公里,计费器增加相应的费用。
另外讲一讲编写过程中的的一些小技巧。
为了便于显示,在编写过程中的数据用BCD码来显示,这样就不存在数据格式转换的问题。
比如表示一个三位数,那么就分别用四位二进制码来表示,当个位数字累加大于9时,将其清零,同时十位数字加1,依此类推。
三、实验内容本实验要完成的任务就是设计一个简单的出租车计费器,要求是起步价3元,准行1公里,以后1元/公里。
显示部分的七段码管扫描时钟选择时钟模块的1KHz,电机模块的跳线选择“开”端,这样通过旋钮电机模块的电位器,即可达到控制电机转速的目的。
另外用按键模块的S1来作为整个系统的复位按钮,每复位一次,计费器从头开始计费。
步进电机用来模拟出租车的车轮子,没转动一圈认为是行走1米,所以每旋转1000 圈,认为车子前进1公里。
系统设计是需要检测电机的转动情况,每转一周,计米计数器增加 1。
七段码管显示要求为前 4个显示里程,后3个显示费用。
实验箱中用到的数字时钟模块、按键开关、步进电机模块、数码管与FPGA的接口电路,以及数字时钟源、按键开关、LED、数码管与F PGA 的管脚连接在以前的实验中都做了详细说明,这里不在赘述。
四、实验步骤1、打开Q UARTUSII 软件,新建一个工程。
2、建完工程之后,再新建一个v erilog HDL File,打开v erilog HDL 编辑器对话框。
3、按照实验原理和自己的想法,在 verilog HDL编辑窗口编写 verilog HDL程序,用户可参照光盘中提供的示例程序。
4、编写完v erilog HDL 程序后,保存起来。
方法同实验一。
5、对自己编写的v erilog HDL 程序进行编译并仿真,对程序的错误进行修改。
6、编译仿真无误后,依照拨动开关、LED 与F PGA 的管脚连接表或参照附录进行管脚分配。
表22-1是示例程序的管脚分配表。
分配完成后,再进行全编译一次,以使管脚分配生效。
7、用下载电缆通过JTAG口将对应的s of 文件加载到F PGA 中。
观察实验结果是否与自己的编程思想一致。
五、实验结果与现象以设计的参考示例为例,当设计文件加载到目标器件后,按动“模式”按键使单8字数码管显示“0”(参考实验四),将数字信号源模块的时钟选择为1KHz,七段码管前 4个显示里程,后3个显示费用。
六、实验报告1、绘出仿真波形,并作说明。
2、将实验原理、设计过程、编译仿真波形和分析结果、硬件测试结果记录下来。
实验六VGA 彩条信号发生器的设计一、实验目的1.了解普通显示器正确显示的时序。
2.了解v erilog HDL 产生V GA 显示时序的方法。
3.进一步加强对F PGA 的认识。
二、实验原理尽管显示器的新品层出不穷,但C RT(Cathode Ray Tube,阴极射线管)的基本工作原理一直沿用了几十年,直到今天也没有太大的变化。
显示器是一种复杂的设备,其扩展性和可靠性也十分惊人,在这一方面,电子控制起了很大的作用,任何机械都会有磨损,唯有用电子才能延长寿命,甚至能适应数千小时的工作。
电子枪是显示像管的核心,安发出的电子束击中光敏材料(荧光屏),刺激荧光粉就能产生图像。
实际上,电子枪和大体积的、功率强劲的二极管没有什么区别,其原理也适用于电视机和示波器。
CRT 分为几个部分:Deflection Coil(偏转线圈)用于电子枪发射器的定位,它能够产生一个强磁场,通过改变强度来移动电子枪。
线圈偏转的角度有限,当电子束传播到一个平坦的表面时,能量会轻微的偏移目标,仅有部分荧光粉被击中,四边的图像会产生弯曲现象。
为了解决这个问题,显示器生产厂把显像管做成球形,让荧光粉充分地接受能量,缺点是屏幕将变得弯曲,电子束射击由左至右,由上至下的过程称为刷新,不断重复的刷新能保持图像的持续性。
显示器屏幕的色彩是由RGB(红、绿、蓝)三色光所合成的,我们可通过调整这三个基色调出其它的颜色,在许多图像处理软件里都有提供色彩调配功能,你可输入三基色的数值来调配颜色,也可直接根据软件提供的调色板来选择颜色。
在这一部分的功能上实验系统采用专用的编解码芯片来完成。
其具体实现、原理我们将在以后的实验中做详细的说明。
在本实验中只用到了RGB 三基色来组成八种颜色构成彩条信号。
VGA 显示器在显示过程中主要由五个信号来控制,分别是 R、G、B、HS 和VS。
其中R、G、B 分别用来驱动显示器三个基色的显示,即红、绿和篮,HS是行同步信号,VS 是场同步信号。
在做本实验时,由于没有任何显示器驱动,所以显示器工作在默认状态,分辨率:640×480,刷新率:60Hz。
在此状态下,当VS和H S都为低电平时,VGA 显示器显示亮的状态,其正向扫描过程约为26us。
当一行扫描结束后,行同步信号 HS置高电平,持续约 6us 后,变成低电平,在HS为高电平期间,显示器产生消隐信号,这就是显示器回扫的过程。
当扫描完一场后,也就是扫描完 480行以后,场同步信号 VS置高电平,产生场同步,此同步信号可以使扫描线回到显示器的第一行第一列位置。
显示器显示的时序图如下图2-22 所示:图2-22 CRT 显示器时序上图中T1为同步消隐信号,约为6us脉宽,T2为行显示过程,约为26us,T3为行同步信号,宽度为两个行同步周期,T4为显示时间,约为480 行周期。
三、实验内容本实验要完成的任务就是通过FPGA在显示器上显示一些条纹或图案,要求CRT显示器上能够显示横条纹、竖条纹以及棋盘格子图案。
实验中系统时钟选择时钟模块的12MHz,用一个按键模块的S1来控制显示模式,每按下一次,屏幕上的图案改变一次,依次为横条纹、竖条纹以及棋盘格子图案。
实验的输出就直接输出到 VGA 接口,通过 CRT 显示器显示出来。
将南昌大学校门的图像存储到ROM中,实现当按键S2按下时,显示器显示南昌大学校门图像。
实验箱中用到的数字时钟模块、按键开关与F PGA 的接口电路,以及数字时钟源、按键开关与F PGA 的管脚连接在以前的实验中都做了详细说明,这里不在赘述。
VGA接口在实验系统的视频输入输出模块。
我们可以通模块上的一个三位的跳线来选择 VGA 的三基色信号是通过编解码芯片输出还是直接从FPGA 输出。
其电路图如下图23-1 所示:图23-1 VGA 与F PGA 的电路连接图表23-1是V GA 直接与F PGA连接后的管脚连接表。
表23-1 VGA 接口与F PGA 直接连接后的管脚连接表四、实验步骤1、打开Q UARTUSII 软件,新建一个工程。
2、建完工程之后,再新建一个v erilog HDL File,打开v erilog HDL编辑器对话框。
3、按照实验原理和自己的想法,在 verilog HDL 编辑窗口编写 verilog HDL程序,用户可参照光盘中提供的示例程序。
4、编写完v erilog HDL 程序后,保存起来。
方法同实验一。
5、对自己编写的v erilog HDL 程序进行编译并仿真,对程序的错误进行修改。
6、编译仿真无误后,依照数字信号源模块、VGA模块、按键开关模块与FPGA的管脚连接表或参照附录进行管脚分配。
表 23-2 是示例程序的管脚分配表。
分配完成后,再进行全编译一次,以使管脚分配生效。
表23-2 端口管脚分配表7、用下载电缆通过JTAG口将对应的s of 文件加载到F PGA中。
观察实验结果是否与自己的编程思想一致。
五、实验结果与现象以设计的参考示例为例,当设计文件加载到目标器件后,将显示器与实验系统视频输入输出模块的VGA接口连接起来,将其模块上的三位跳线全部选择FPGA(跳至下端),数字信号源的时钟选择为 12MHz。
此时连接的 VGA 显示屏上将会出现纵向的彩条信号。
按下按键开关模块的 S1 键将会改变为横彩条和方格彩条。
开关按S2 显示一幅南昌大学校门图像。
六、实验报告1、绘出仿真波形,并作说明。
2、将实验原理、设计过程、编译仿真波形和分析结果、硬件测试结果记录下来。
3、试编写其它图形的V GA 显示的程序。
实验六LPM信号发生器具体要求参见“LPM信号发生器实验.PPT”。