EDA交通灯控制器+函数信号发生器+乐曲演奏电路

合集下载

EDA课程设计——音乐发生器

EDA课程设计——音乐发生器

PLD与数字系统实训设计题目:音乐发生器系别:班级:指导老师:姓名:学号:完成时间:年月日课程设计题目、内容、要求目录1、课程设计题目、内容、要求………………………………1.1 设计目的 (1)1.2 设计要求 (1)2、设计思路 (1)2.1 音名与频率的关系 (2)2.2 音长的控制 (3)2.3 演奏时音名的动态显示 (3)3、VHDL代码 (3)4、仿真结果 (10)5、硬件下载验证 (11)6、心得体会(总结) (11)7、附录 (12)8、附图1 (14)9、附图2 (15)题目:音乐发生器1.1 设计目的:利用可编程逻辑器件和一个小扬声器设计一个音乐发生器。

1.2 设计要求:利用PLD器件设计一个音乐发生器,可演奏“梁祝”片段,可重复演奏。

2. 设计思路:组成乐曲的每个音符的发音频率值及其持续的时间是乐曲能连续演奏所需的两个基本要素,问题是如何来获取这两个要素所对应的数值以及通过可编程逻辑器件的手段来利用这些数值所希望乐曲的演奏效果。

扬声器数码管音乐产生器原理框图2.1 音名与频率的关系音乐的十二平均率规定:每两个八音度(如简谱中的中音1与高音1)之间的频率相差一倍。

在两个八音度之间,又可分为十二个半音,每两个半音的频率比为2的12方根。

另外,音名(简谱中的低音6)的频率为440Hz,音名B到C之间、E到F之间为半音,其余为全音。

由此可以计算出简谱中从低音1到高音1之间每个音名的频率如下表所示。

各音阶频率对应的分频值由于最大的分频系数诶6067,故采用13位二进制计数器已能满足分频要求。

在上表中,除给出了分频比以外,还给出了对应于各个音阶频率时计数器不同的初始值。

对于不同的分频系数,只要加载不同的初始值即可。

采用加载初始值而不是将分频输出译码反馈,可以有效地减少本设计占用可编程逻辑器件的资源,这也是同步计数器的一个常用设计技巧。

对于乐曲中的休止符,只要将分频系数设为0,即初始值为213-1=8191即可,此时扬声器将不会发声。

《EDA技术》实验报告

《EDA技术》实验报告

《EDA技术》课程实验报告姓名:学号:班级:同组者:指导教师:信息科学与工程学院2013-2014学年第二学期《EDA技术》课程实验报告学生姓名:所在班级:电信1101班指导教师:老师记分及评价:一、实验名称实验1-3:简单数字电子钟的设计(原理图输入设计方法)二、任务及要求【基本部分】1、在QuartusII平台上,采用原理图输入设计方法,调用两片74160十进制计数器,采用反馈置数法,完成一个24进制同步计数器的设计,并进行时序仿真。

要求具备使能功能和异步清零功能,设计完成后封装成一个元件。

2、同1,采用原理图输入设计方法,调用两片74160十进制计数器,采用反馈置数法,完成一个60进制同步计数器的设计,并进行时序仿真。

要求具备使能功能和异步清零功能,设计完成后封装成一个元件。

3、利用1和2所设计的60进制计数器和24进制计数器元件,采用同步的方式设计一个简单的数字电子钟并进行时序仿真,要求具有时分秒功能显示功能、使能功能和异步清零功能。

【发挥部分】1、思考:采用反馈清零法设计的计数器与反馈置数法有何不同?请用实例进行仿真。

2、如何实现电子钟时分秒连续可调的功能?三、原理图1、如图3.1为24进制计数器原理图,2、如图3.2为60进制计数器的原理图,该图在24进制的基础上进行改进3、如图3.3为电子时钟原理图,4、图3.4a、3.4b分别为24、60进制原理图的封装元件1、g[3..0]OUTPUT s[3..0]OUTPUT图3.1 24进制计数器原理图2、g[3..0]OUTPUT s[3..0]OUTPUT图3.2 60进制原理图3、图3.3 数字电子时钟4、24jinzhi insten clr clk 24co co g[3..0]s[3..0]24jinzhi2insten clr clk 60co co g[3..0]s[3..0]3.4a 24进制原理图封装图 3.4b 60进制原理图封装四、仿真及结果分析1、图4.1 24进制时序仿真图2、图4.2 60进制时序仿真图3、图4.3 电子时钟时序仿真图五、小结在实验中需要注意的是创建的文件名需要和工程名字保持一致,若不一致,在进行功能仿真和时序仿真时会出现错误。

基于EDA的交通信号灯电路的设计与仿真

基于EDA的交通信号灯电路的设计与仿真

基于EDA的交通信号灯电路的设计与仿真传统的交通信号灯控制电路的设计是基于中、小规模集成电路,电路元件多、焊接复杂、故障率高、可靠性低,而且控制系统的功能扩展及调试都需要硬件电路的支持,为日常维护和管理增加了难度。

目前很多城市的交通信号灯还是应用传统的电路设计,一旦交通信号灯出现故障,不能及时维修和处理,势必会造成道路的交通混乱。

通过技术的改进,采用基于EDA技术的交通信号灯控制电路弥补了传统设计中的缺点,通过VHDL语言编写系统控制程序,利用软件控制整个系统的硬件电路,还可以利用EDA集成开发环境对交通信号灯的设计进行仿真,验证设计结果是否实现。

改进后的交通信号灯电路组成元器件少,可靠性高,操作简单,实现可扩展功能。

1 交通信号灯控制电路1.1 交通信号灯工作原理基于FPGA的交通信号灯控制电路主要用于甲乙两条车道汇合点形成的十字交叉路口,甲乙两车道各有一组红、黄、绿灯和倒计时显示器,用以指挥车辆和行人有序的通行。

两组红绿灯分别对两个方向上的交通运行状态进行管理,红灯亮表示该道路禁止通行,黄灯表示停车,绿灯表示可以通行;倒计时显示器是用来显示允许通行或禁止通行的时间,以倒计时方式显示交通灯闪亮持续时间。

为每个灯的闪亮状态设置一个初始值,指示灯状态改变后,开始按照初始值倒计时,倒计时归零后,灯的状态将会改变至下一个状态。

交通灯两车道的指示灯闪亮状态是相关的,每个方向的灯闪亮状态影响着另一个方向的指示灯闪亮状态,这样才能够协调两个方向的车流。

甲乙两车道交通灯工作状态如表1所示,其中“1”代表点亮,“0”代表熄灭。

当甲车道绿灯亮时,乙车道对应红灯亮,由绿灯转换红灯的过渡阶段黄灯亮。

同理,乙车道绿灯亮时,甲车道的交通灯也遵循此规则。

当出现特殊情况时,各方向均亮红灯,倒计时停止,特殊运行状态结束后,控制器恢复原来状态,继续运行。

1.2 交通信号灯电路结构根据交叉路口交通灯工作原理,图1为交通信号灯控制电路的原理图。

EDA课程设计(交通灯控制器)

EDA课程设计(交通灯控制器)

课程设计年月日大课程设计任务书课程EDA技术课程设计题目交通灯控制器专业姓名学号主要内容、基本要求、主要参考资料等主要内容:设计一个交通信号灯控制器,由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。

基本要求:1、红、绿、黄发光二极管作信号灯,用传感器或逻辑开关作检测车辆是否到来的信号,实验电路用逻辑开关代替。

2、主干道处于常允许通行的状态,支干道有车来时才允许通行。

主干道亮绿灯时,支干道亮红灯;支干道亮绿灯时,主干道亮红灯。

3、主、支干道均有车时,两者交替允许通行,主干道每次放行45秒,支干道每次放行25秒,设立45秒、25秒计时、显示电路,选择1HZ时钟脉冲作为系统时钟。

4、在每次由绿灯亮到红灯亮的转换过程中,要亮5秒黄灯作为过渡,使行驶中的车辆有时间停到禁行线外,设立5秒计时、显示电路。

主要参考资料:[1] 潘松著.EDA技术实用教程(第二版). 北京:科学出版社,2005.[2] 康华光主编.电子技术基础模拟部分. 北京:高教出版社,2006.[3] 阎石主编.数字电子技术基础. 北京:高教出版社,2003.完成期限2010.3.12指导教师专业负责人2010年3月8日一、总体设计思想1.基本原理计数模块、置数模块、主控制器模块和译码器模块。

置数模块将交通灯的点亮时间预置到置数电路中,计数模块以秒为单位倒计时,当计数值减为零时,主控电路改变输出状态,电路进入下一个状态的倒计时。

其中,核心部分是主控2.设计框图图一.交通灯控制系统的原理框图图二.交通灯控制器的流程图脉冲发生器 控制器 译码器甲车信号灯乙车信号灯定时器1.设计思路:在某一十字路口交叉地带,可设计东西走向的道路为甲车道,南北走向的道路为乙车道。

甲乙车道的交通灯需按交通法则来依次交替运行。

则可设计一个状态循环的逻辑电路。

2.分析系统的逻辑功能:交通灯控制系统的原理框图如图一所示。

eda课程设计交通信号灯

eda课程设计交通信号灯

课程设计说明书课程设计名称:EDA交通信号灯题目:学生姓名:专业:学号:指导教师:日期:年月日目录1 前言 (1)2 总体方案设计 (2)2.1 方案分析与选择 (2)2.2 实现方案 (3)3 单元模块设计 (6)3.1 晶体振荡器 (6)3.2 供电电路 (7)3.3 LED灯输出 (8)3.4数码管输出电路 (8)4特殊器件的介绍 (10)4 .1CPLD器件介绍 (10)4.2 FPGA器件介绍 (10)4.3 EPF10K系列器件介绍 (10)5 软件仿真与调试 (11)5.1源代码及说明 (11)5.2 仿真结果 (15)5.3 调试 (17)6 总结 (18)6.1设计收获 (18)6.2 设计改进 (18)参考文献 (19)附录一:电路原理图 (20)1前言随着电子技术的发展,人们的生活水平和质量不断提高,生活设备的智能化程度也越来越高,这些都离不开电子产品的进步。

现代电子产品在性能提高、复杂度增大的同时,价格却一直呈下降趋势,而且产品更新换代的步伐也越来越快,实现这种进步的主要因素是生产制造技术和电子设计技术的发展。

前者以微细加工技术为代表,目前已进展到深亚微米阶段,可以在几平方厘米的芯片上集成数千万个晶体管。

后者的核心就是EDA技术,EDA是指以计算机为工作平台,融合应用电子技术、计算机技术、智能化技术最新成果而研制成的电子CAD通用软件包。

特别是近年来科技的飞速发展,EDA技术的应用不断深入,不仅带动传统控制检测技术日益更新,更在电子信息,通信,自动,控制及计算机应用等领域越显重要。

没有EDA技术的支持,想要完成上述超大规模集成电路的设计制造是不可想象的,反过来,生产制造技术的不断进步又必将对EDA技术提出新的要求。

随着电子技术的发展和人们对电子设计开发的难度及周期要求,EDA技术必将广发应用于电子设计的各个领域,因此本设计也采用了EDA的设计方法,其设计的优越性明显高于传统的设计方法。

EDA_交通信号灯控制电路设计

EDA_交通信号灯控制电路设计

北华航天工业学院《EDA技术综合设计》课程设计报告报告题目:交通信号灯控制电路设计作者所在系部:电子工程系作者所在专业:通信工程作者所在班级:B10231作者姓名:指导教师姓名:陈刚、褚越强完成时间:2012.11.29内容摘要EDA技术是现代电子信息工程领域的一门新技术,它是在先进的计算机平台上开发出来的一整套电子系统设计的软硬件工具,并提供了先进电子系统设计方法。

当今的技术,开发人员完全可以通过自己的电子系统设计来制定芯片内部的电路功能,使之成为设计者自己的专用集成电路芯片。

这种技术中常用软件有maxplusII和quartusII,而程序的编辑是用VHDL语言实现逻辑功能的。

本实验试验系统中可用可编程逻辑器件为FPGA,本实验的交通信号灯的设计:首先在quartusII软件当中编辑程序,编译完成之后仿真,当仿真结果正确时下载到试验箱的系统中。

最终的目的要在实验板上用红路灯表示出来,并且同时要用数码管显示出人们的等待时间,交通灯的状态变化和显示时间同步……关键词: EDA、VHDL、交通灯、控制电路目录一、设计任务 (5)二、设计结构 (5)1、clk时钟秒脉冲发生电路或分频器 (6)2、六十进制计数器 (6)3、次态发生器 (6)4、状态寄存器及等待时间输出 (6)5、时间显示电路 (6)6、时钟扫描电路 (6)三、原理图 (6)四、程序 (7)五、心得体会 (10)课程设计任务书交通信号控制器的VHDL 的设计一、设计任务模拟十字路口交通信号灯的工作过程,利用实验板上的两组红、黄、绿LED 作为交通信号灯,用数码管显示等待时间。

设计一个交通信号灯控制器。

能达到的要求: (1) 交通灯从绿变红时,有5秒黄灯亮的间隔时间; (2) 交通灯红变绿是直接进行的,没有间隔时间;(3) 主干道上的绿灯时间为30秒,支干道的绿灯时间为20秒; (4) 在任意时间,显示等待时间。

表1 交通信号灯的4种状态二、设计结构学习EDA 开发软件和Quartu s II 的使用方法,熟悉可编程逻辑器件的使用。

eda课程设计交通灯控制器的设计

eda课程设计交通灯控制器的设计

eda课程设计交通灯控制器的设计EDA课程设计报告题目交通灯控制器的设计摘要交通灯信号控制器一般要实现自动控制和手动控制其红绿灯的变化, 基于FPGA设计的交通灯信号控制器电路简单、可靠性好。

本设计可控制2个路口的红、黄、绿三盏灯.让其按特定的规律进行变化。

利用QuartusⅡ对设计结果进行仿真, 发现系统工作性能良好。

据此设计而成的硬件电路, 也实现了控制要求。

关键词: 交通灯自动控制手动控制目录摘要 ............................................................................... 错误!未定义书签。

1.概述 .............................................................................. 错误!未定义书签。

1.1课程设计目的............................................................ 错误!未定义书签。

1.2 课程设计题目及要求 ............................................... 错误!未定义书签。

1.3 实验环境 ................................................................... 错误!未定义书签。

2. 系统总体设计 ............................................................. 错误!未定义书签。

2.2系统组成.................................................................... 错误!未定义书签。

3. 系统层次化设计与软件仿真 ..................................... 错误!未定义书签。

EDA实验报告:基于VHDL语言的交通灯控制系统设计与实现

EDA实验报告:基于VHDL语言的交通灯控制系统设计与实现
(k1=0)
图为k1=0时的输出状态s1,输出恒为011110。即亮灯为R1,y2。保持时间1S。
(k2=0)
上图为k2=0时的输出状态s2,输出恒为101011。即亮灯为G1,R2。保持时间2S。
(k3=0)
上图为k3=0时的输出状态s3,输出恒为110011。即亮灯为R1,G2。保持时间1S。
四、小结及心得体会
else
if counter<5 then
next_state<=s3;
else
next_state<=s0;
end if;
end if;
end if;
end if;
end if;
end case;
end process;
ouput:process(current_state)
begin ——显示程序
begin
u1: jiaotongdeng port map(
clk=>clki,
k0=>k0,
k1=>k1,
k2=>k2,
k3=>k3,
r1=>r1,r2=>r2,g1=>g1,g2=>g2,y1=>y1,y2=>y2
);
u2: div port map(clk=>clk1,clk_out=>clki);
end if;
end if;
end if;
when s3=>
if k0='0' then
next_state<=s0;
else
if k1='0' then
next_state<=s1;

EDA课程设计-交通灯-图文

EDA课程设计-交通灯-图文

EDA课程设计-交通灯-图文交通信号灯控制电路设计一、概述城市道路交叉口是城市道路网络的基本节点,也是网络交通流的瓶颈。

目前,大部分无控制交叉口都存在高峰小时车流混乱、车速缓慢、延误情况严重、事故多发、通行能力和服务水平低下等问题。

特别是随着城市车流量的快速增长,城市无控制道路交叉口的交通压力越来越大。

因此,做好基于EDA技术平台的交叉口信号控制设计是缓解交通阻塞、提高城市道路交叉口车辆通行效率的有效方法。

交通信号控制的目的是为城市道路交叉口(或交通网络)提供安全可靠和有效的交通流,通常最为常用的原则是车辆在交叉口的通过量最大或车辆在交叉口的延误最小。

交通信号灯控制电路是显示主干道和支干道交替放行时间并用试验箱左上角的彩灯来红黄绿支红代替信号灯的一种实际电路。

设计一个基于FPGA的红绿灯交通信号控制器。

假设某个十干黄绿道字路口是由一条主干道和一条次干道汇合而成,在每个方向设置红绿黄三种信号灯,红灯亮禁止通行,绿灯亮允许通行。

黄灯亮允许行驶中车辆有时间停靠到禁止线以外。

第-1-页共18页二、方案设计与论证在硬件时钟电路的基础上,采用分频器,输出一个1S的时钟信号,在时钟信号的控制下,实现主干道和支干道红绿灯交替显示。

红绿灯交通灯控制器层次设计:EDA技术的基本设计方法有电路级设计方法和系统级设计方法。

电路级设计方法已经不能适应新的形势,本系统采用的是系统级层次设计方法,对整个系统进行方案设计和功能划分,系统的关键电路用一片FPGA芯片实现,首先用VHDL语言编写各个功能模块程序,最后通过综合器和适配器生成最终的目标器件,然后用顶层原理图将各功能模块连接起来。

下面给出各模块的VHDL设计过程和仿真结果。

1、系统时序发生电路clk_gen的VHDL设计在红绿灯交通信号控制系统中,大多数的情况是通过自动控制的方式指挥交通的。

因此,为了避免意外事件的发生,电路必须给一个稳定的时钟(clock)才能让系统正常运作。

EDA交通灯控制器+函数信号发生器+乐曲演奏电路

EDA交通灯控制器+函数信号发生器+乐曲演奏电路

EDA交通灯控制器+函数信号发生器+乐曲演奏电路部门: xxx时间: xxx制作人:xxx整理范文,仅供参考,可下载自行修改EDA课程设计题目一:交通灯控制器VHDL的设计题目二:智能函数发生器题目三:乐曲硬件演奏电路的VHDL设计专业:通信工程班级:通信084班一、设计题目:交通灯控制器VHDL的设计二、设计目标1、设计一个交通信号灯控制器,由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。

b5E2RGbCAP2、红、绿、黄发光二极管作信号灯,。

3、主干道处于常允许通行的状态,支干道有车来时才允许通行。

主干道亮绿灯时,支干道亮红灯;支干道亮绿灯时,主干道亮红灯。

p1EanqFDPw4、主、支干道均有车时,两者交替允许通行,主干道每次放行45秒,支干道每次放行25秒,设立45秒、25秒计时、显示电路。

DXDiTa9E3d5、在每次由绿灯亮到红灯亮的转换过程中,要亮5秒黄灯作为过渡,使行驶中的车辆有时间停到禁行线外,设立5秒计时、显示电路。

RTCrpUDGiT三、设计原理主系统由三个模块组成,jtd.vhd为顶层文件,其内部包含三个功能模块模块:信号灯主控模块<moore.vhd)、减法计数器模块<jishu.vhd)、译码器模块<led7s.vhd)。

5PCzVD7HxA1、选择1HZ时钟脉冲作为系统时钟。

2、 45秒、25秒、5秒定时信号用倒计时,计时起始信号由主控电路给出,每当计满所需时间,即向主控电路输出“时间到”信号,转换信号灯状态,由主控电路启、闭三色信号灯jLBHrnAILg显示结果:十字路口的交通灯控制信号由主控电路给出,能显示十字路口东西、南北两个方向的红、黄、绿灯的指示状态。

用两组红、黄、绿三种颜色的灯分别作为东西、南北两个方向的红、黄、绿灯,变化规律为:东西绿灯亮,南北红灯亮→东西黄灯亮,南北红灯亮→东西红灯亮、南北绿灯亮→东西红灯亮,南北黄灯亮→东西绿灯亮,南北红灯亮….,这样依次循环。

EDA实验报告实验四_交通灯控制器设计说明

EDA实验报告实验四_交通灯控制器设计说明

实验四交通灯控制器设计一、实验目的1、学习与日常生活相关且较复杂数字系统设计;2、进一步熟悉EDA实验装置和Quartus U软件的使用方法;3、学习二进制码到BCD码的转换;4、学习有限状态机的设计应用。

二、设计要求完成设计、仿真、调试、下载、硬件测试等环节,在型EDA实验装置上实现一个由一条主干道和一条乡间公路的汇合点形成的十字交叉路口的交通灯控制器功能,具体要求如下:1、有MR(主红)、MY(主黄)、MG(主绿)、CR(乡红)、CY(乡黄)、CG(乡绿)六盏交通灯需要控制;2、交通灯由绿转红前有4秒亮黄灯的间隔时间,由红转绿没有间隔时间;3、乡间公路右侧各埋有一个串连传感器,当有车辆准备通过乡间公路时,发出请求信号S=1,其余时间S=0;4、平时系统停留在主干道通行(MGCR状态,一旦S信号有效,经主道黄灯4秒(MYC R状态后转入乡间公路通行(MRC)状态,但要保证主干道通行大于一分钟后才能转换;5、一旦S信号消失,系统脱离MRC状态,即经乡道黄灯4秒(MRC)伏态进入MGCR状态,即使S信号一直有效,MRC状态也不得长于20秒钟;6、控制对象除红绿灯之外,还包括分别在主干道和乡间公路各有一个两位十进制倒计时数码管显示。

三、主要仪器设备1 、微机 1 台2、Q uartusII 集成开发软件 1 套3、EDA实验装置1套四、实验思路1、设计一个状态寄存器,控制六盏灯的亮与灭2、设计一个计时器,控制各状态的持续时间,计时器应满足以下要求:1 )当S=1,且计数器已完成60计数时,计数器进入模4计数,随后进入模20 计数,再进入模4计数,再回到模60计数2 )当计数器进行摸20计数时,一旦S变为0,计数器立马进入模4计数,再进入模60 计数3 )完成模20计数后,不论S为0或1,计数器进入模4计数,再进入模60计数4 )若计数器未完成模60计数,不论S如何变话,计数器将继续进行模60 计数3、设计一个译码显示电路,将计时器的八位BCD码转化为数码管可以显示的段位码通过动态扫描电路实现。

EDA课程设计报告-- 交通灯控制器

EDA课程设计报告--  交通灯控制器

郑州航空工业管理学院电子通信工程系EDA技术及应用课程设计报告题目:交通灯控制器姓名:学号:同组成员:指导老师:年月日目录一、设计任务书二、硬件系统设计1、电路原理图1.1 CPLD核心电路1.2 数码管显示电路1.3电源电路1.4 LED指示灯电路2、管脚分配3、设计方案三、Verilog HDL 代码设计四、系统调试1、逻辑功能模块RTL级描述2、仿真图五、总结1、对本次课程设计的总结六、参考文献一、设计任务书设计要求(1)主干道通行(绿灯):支干道有车24秒;支路红灯,数码管实时显示倒计时的秒,秒计时的频率为1Hz 。

(2)主干道缓冲(黄灯):6秒,(不显示计数),秒计时的频率为1Hz 。

(3)支路通行(绿灯):20秒,主干道红灯,数码管实时显示倒计时的秒,秒计时的频率为1Hz 。

(4)支路缓冲(黄灯):6秒,不显示,秒计时的频率为1Hz 。

数码管采用动态显示。

其他要求:(1)晶振为12 MHz(2)采用CPLD 器件,为ALTERA 的EPM7064SL-44(3)采用数码管显示二、硬件系统设计1、电路原理图:1.1 CPLD核心电路1.2 数码管显示电路1.3电源电路1.4 LED指示灯电路2、管脚分配管脚分配:CPLD型号: FAMILY:MAX7000AEDEVICE:EPM7064AELC44-10sys_clk : pin 43 // 12Mhz4个LED灯: led0 ~ led3 : pin 14 16 17 188个数码管:8个位线:com0~com3(dig0~dig3):pin 34, 33,31, 29, com4~com7 (dig4~dig7):pin 28 , 27,26 , 258个数据线:seg0~seg 3: pin 36, 37 ,39, 40seg4~seg 7: pin 41, 4 , 5, 64个按键:sw0~sw3: pin 19, 20, 21, 243、设计方案三、Verilog HDL 代码设计module ds(clk,led,dig,seg);//输入input clk;//输出output[3:0] dig;output[7:0] seg;output[4:0] led;//定义变量reg[24:0] count;reg[15:0] miao;reg[4:0] leden;reg[7:0] seg_r; reg[3:0] dig_r;reg[3:0] disp_dat;reg sec;reg num;reg[1:0] flag; //计数变量reg[1:0]f2; //计数变量assign dig=dig_r;assign seg=seg_r;assign led=leden;//秒产生信号always@(posedge clk)begincount=count+1'b1;if(count==25'd2*******)begincount=25'b0;sec=~sec;endend//数码管动态扫描always@(posedge clk)begincase(count[16:15])0:disp_dat=miao[3:0];1:disp_dat=miao[7:4];2:disp_dat=miao[11:8];3:disp_dat=miao[15:12];endcasecase(count[16:15]) //选择数码管显示位0:dig_r=4'b1110;1:dig_r=4'b1101;2:dig_r=4'b1011;3:dig_r=4'b0111;endcaseendalways@(posedge clk)begincase(disp_dat)4'h0:seg_r=8'hc0;4'h1:seg_r=8'hf9;4'h2:seg_r=8'ha4;4'h3:seg_r=8'hb0;4'h4:seg_r=8'h99;4'h5:seg_r=8'h92;4'h6:seg_r=8'h82;4'h7:seg_r=8'hf8;4'h8:seg_r=8'h80;4'h9:seg_r=8'h90;default:seg_r=8'hff;endcaseendalways@(negedge sec) //数码管倒计时及指示灯显示倒计时模块beginif(flag==0)beginmiao[3:0]=miao[3:0]-1;if(miao[3:0]==4'hf)beginmiao[7:0]=8'h18; 主干道绿灯倒计时leden=5'b01101; 主绿支红flag[1:0]=4'h1; 计数转向第二步endendelse if(flag[1:0]==4'h1)beginmiao[3:0]=miao[3:0]-1'b1;if(miao[3:0]==4'hf)beginmiao[7:4]=miao[7:4]-1'b1;if(miao[7:4]==4'hf)beginleden[4:2]=3'b110; 主干道黄灯flag[1:0]=4'h2;miao[7:0]=8'h06; 黄灯倒计时endelse miao[3:0]=4'h9;endendelse if(flag[1:0]==4'h2)beginmiao[3:0]=miao[3:0]-1'b1;if(miao[3:0]==4'hf)beginmiao[7:4]=miao[7:4]-1'b1;if(miao[7:4]==4'hf)beginleden[4:2]=3'b101; 主干道红灯flag[1:0]=4'h3;miao[7:0]=8'h20;endelse miao[3:0]=4'h9;endendelse if(flag[1:0]==4'h3)beginmiao[3:0]=miao[3:0]-1'b1;if(miao[3:0]==4'hf)beginmiao[7:4]=miao[7:4]-1'b1;if(miao[7:4]==4'hf)beginleden[4:2]=3'b011; 主干道绿灯返回flag==1flag[1:0]=4'h1;miao[7:0]=8'h18;endelse miao[3:0]=4'h9;endendelse flag[1:0]=4'h0;if(f2==0)beginmiao[11:8]=miao[11:8]-1;if(miao[11:8]==4'hf)beginmiao[15:8]=8'h24;//leden=6'b011110;f2[1:0]=4'h1;endendelse if(f2[1:0]==4'h1)beginmiao[11:8]=miao[11:8]-1'b1;if(miao[11:8]==4'hf)beginmiao[15:12]=miao[15:12]-1'b1;if(miao[15:12]==4'hf)beginleden[2:0]=3'b110;f2[1:0]=4'h2;miao[15:8]=8'h14;endelse miao[11:8]=4'h9;endendelse if(f2[1:0]==4'h2)beginmiao[11:8]=miao[11:8]-1'b1;if(miao[11:8]==4'hf)beginmiao[15:12]=miao[15:12]-1'b1;if(miao[15:12]==4'hf)beginleden[2:0]=3'b011;f2[1:0]=4'h3;miao[15:8]=8'h06;endelse miao[11:8]=4'h9;endendelse if(f2[1:0]==4'h3)beginmiao[11:8]=miao[11:8]-1'b1;if(miao[11:8]==4'hf)beginmiao[15:12]=miao[15:12]-1'b1;if(miao[15:12]==4'hf)beginleden[2:0]=3'b101;f2[1:0]=4'h1;miao[15:8]=8'h24;endelse miao[11:8]=4'h9;endendelse f2[1:0]=4'h0;endendmodule四、系统调试1、逻辑功能模块RTL级描述VCC clk INPUT dig[3..0]OUTPUT seg[7..0]OUTPUT led[4..0]OUTPUT clk dig[3..0]seg[7..0]led[4..0]dsinst仿真图五、总结在做本课程设计的过程中,从程序编写到硬件实现,我们遇到了许多问题。

EDA_交通信号灯控制电路设计解读

EDA_交通信号灯控制电路设计解读

北华航天工业学院《EDA技术综合设计》课程设计报告报告题目:交通信号灯控制电路设计作者所在系部:电子工程系作者所在专业:通信工程作者所在班级:B10231作者姓名:指导教师姓名:陈刚、褚越强完成时间:2012.11.29内容摘要EDA技术是现代电子信息工程领域的一门新技术,它是在先进的计算机平台上开发出来的一整套电子系统设计的软硬件工具,并提供了先进电子系统设计方法。

当今的技术,开发人员完全可以通过自己的电子系统设计来制定芯片内部的电路功能,使之成为设计者自己的专用集成电路芯片。

这种技术中常用软件有maxplusII和quartusII,而程序的编辑是用VHDL语言实现逻辑功能的。

本实验试验系统中可用可编程逻辑器件为FPGA,本实验的交通信号灯的设计:首先在quartusII软件当中编辑程序,编译完成之后仿真,当仿真结果正确时下载到试验箱的系统中。

最终的目的要在实验板上用红路灯表示出来,并且同时要用数码管显示出人们的等待时间,交通灯的状态变化和显示时间同步……关键词: EDA、VHDL、交通灯、控制电路目录一、设计任务 (5)二、设计结构 (5)1、clk时钟秒脉冲发生电路或分频器 (6)2、六十进制计数器 (6)3、次态发生器 (6)4、状态寄存器及等待时间输出 (6)5、时间显示电路 (6)6、时钟扫描电路 (6)三、原理图 (6)四、程序 (7)五、心得体会 (10)课程设计任务书交通信号控制器的VHDL 的设计一、设计任务模拟十字路口交通信号灯的工作过程,利用实验板上的两组红、黄、绿LED 作为交通信号灯,用数码管显示等待时间。

设计一个交通信号灯控制器。

能达到的要求: (1) 交通灯从绿变红时,有5秒黄灯亮的间隔时间; (2) 交通灯红变绿是直接进行的,没有间隔时间;(3) 主干道上的绿灯时间为30秒,支干道的绿灯时间为20秒; (4) 在任意时间,显示等待时间。

表1 交通信号灯的4种状态二、设计结构学习EDA 开发软件和Quartu s II 的使用方法,熟悉可编程逻辑器件的使用。

交通信号灯控制器EDA设计

交通信号灯控制器EDA设计

交通信号灯控制器1 设计任务及要求交通灯是城市交通中不可缺少的重要工具,是城市交通秩序的重要保障。

十字道口的红绿灯是交通法规的无声命令,是司机和行人的行为准则。

十字道口的交通红绿灯控制是保证交通安全和道路畅通的关键。

一个十字路口的交通一般分为两个方向,每个方向具有红灯、绿灯和黄灯3种,另外每个方向还具有左转灯,因此每个方向具有4个灯。

这个交通灯还为每一个灯的状态设计了倒计时数码管显示功能。

可以为每一个灯的状态设置一个初始值,灯状态改变后,开始按照这个初始值倒计时。

倒计时归零后,灯的状态将会改变至下一个状态。

实际上不同时刻的车辆流通状况是十分复杂的,是高度非线性的、随机的,还经常受认为因素的影响。

采用定时控制经常造成道路有效应用时间的浪费,出现绿灯方向车辆较少,红灯方向车辆积压。

它不顾当前道路上交通车辆数的实际情况变化,其最大的缺陷就在于当路况发生变化时,不能满足司机与路人的实际需要,轻者造成时间上的浪费,重者直接导致交通堵塞,导致城市交通效率的下降。

设计任务:(1)交通灯从绿变红时,有5秒黄灯亮的间隔时间;(2)交通灯红变绿是直接进行的,没有间隔时间;(3)主干道上的绿灯时间为45秒,支干道的绿灯时间为25秒;(4)在任意时间,显示每个状态到该状态结束所需的时间。

设计要求:采用VHDL语言编写程序,并在QUARTUSII工具平台中进行仿真,下载到EDA实验箱进行验证。

2设计原理及总体框图交通灯控制器原理框图如下图所示,包括置数模块、计数模块、主控制器模块和译码器模块。

置数模块将交通灯的点亮时间预置到置数电路中,计数模块以秒为单位倒计时,当计数值减为零时,主控电路改变输出状态,电路进入下一个状态的倒计时。

其中,核心部分是主控制模块。

图2.1原理框图图2.2 实验电路3 程序设计 VHDL是一种标准的硬件电路设计语言,目前已成为广大电路设计人员设计主控制器清零红 绿 黄特殊状态红 绿 黄定时计数器置数器译码器显示器数字系统首选的开发工具。

EDA课程设计 十字路口交通灯控制器

EDA课程设计 十字路口交通灯控制器

目录1.设计原理 (1)1.1设计任务 (1)1.2方案构思 (1)1.2.1该交通灯控制器应具备的功能 (1)1.2.2实现方案 (1)2.程序设计 (3)3. 编译/仿真 (4)3.1编译过程 (4)3.1.1 建立顶层设计文件夹TRAFFIC_CTROL (4)3.1.2 TRAFFIC_CTROL.VHD模块设计 (4)3.1.3 TRAFFIC_CTROL.SCf波形文件设计 (4)3.2仿真结果 (4)4.心得体会 (6)参考文献 (7)附录A VHDL源程序代码 (8)附录B 仿真时序波形图 (10)交通灯控制器设计1.设计原理1.1设计任务设计一个十字路口的交通灯控制系统,用实验平台上的LED发光二极管显示车辆通过的方向(东西和南北各一组),用数码管显示该方向的剩余时间。

1.2方案构思1.2.1该交通灯控制器应具备的功能设东西和南北方向的车流量大致相同,因此红、黄、绿灯的时长也相同,定为红灯35sec,黄灯5sec,绿灯30sec,同时用数码管指示当前状态(红、黄、绿)剩余时间。

另外,设计一个紧急状态,当紧急状态出现时,两个方向都禁止通行,指示红灯。

紧急状态解除后,重新计数并指示时间。

1.2.2实现方案交通灯控制器是状态机的一个典型应用,除了计数器是状态机外,还有东西、南北方向的不同状态组合(红绿、红黄、绿红、黄红4个状态),如表1.1所示。

表1.1 交通灯的4种可能亮灯状态向的计数值,可以检测红、黄、绿灯组合的跳变。

这样使一个较复杂的状态机设计变成一个较简单的计数器设计。

本例假设东西方向和南北方向的黄灯时间均为5sec,在设计交通灯控制器时,可在简单计数器的基础上增加一些状态检测,即可通过检测两个方向的计数值判断交通灯应处于4种状态中的哪个状态。

本交通灯控制器外部接口如图1.1所示。

在表1.2中列出了需检测的状态跳变点,从中可以看出,有两种情况出现了东西和南北方向计数值均为1的情况,因此在检查跳变点时还应同时判断当前是处于状态2还是状态4,这样就可以决定次状态是状态3还是状态1。

EDA课程设计(交通灯控制器)

EDA课程设计(交通灯控制器)
EDA课程设计(交通灯控制器)
«KEDA技*锦程祓针
<8丈通爭投制希
ft t
专"铁
修生就名
豊认号
北导農轉交通灯控制器专业姓学号主要内容、基本要求、主要参考资料等 主要内容:
设计一个交通信号灯控制器,由一条主干道和一条
支干道汇合成十字路口,在每个入口处设置红、绿、黄 三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯 亮则给行驶中的车辆有时间停在禁行线外。
ST:表示定时器到了规定的时间后,由控制器发出状态转换信号。由它控 制定时器开始下个工作状态的定时。
(1)图甲车道绿灯亮,乙车道红灯亮。表示甲车道上的车辆允许通行,乙 车道禁止通行。绿灯亮足规定的时间隔TL时,控制器发出状态信号ST,转到 下一工作状态。
(2)甲车道黄灯亮,乙车道红灯亮。表示甲车道上未过停车线的车辆停止 通行,已过停车线的车辆继续通行,乙车道禁止通行。黄灯亮足规定时间间隔TY时,控制器发出状态转换信号ST,转到下一工作状态。
基本要求:
1、红、绿、黄发光二极管作信号灯,用传感器或逻 辑开关作检测车辆是否到来的信号,实验电路用逻辑开 关代替。
2、主干道处于常允许通行的状态,支干道有车来时 才允许通行。主干道亮绿灯时,支干道亮红灯;支干道 亮绿灯时,主干道亮红灯。
3、主、支干道均有车时,两者交替允许通行,主干 道每次放行45秒,支干道每次放行25秒,设立45秒、25
交通灯以上4种工作状态的转换是由控制器进行控制的。设控制器的四种 状态编码为00、01、11、10,并分别用SO、S1、S3、S2表示,则控制器的工 作状态及功能如图二所示,控制器应送出甲、乙车道红、黄、绿灯的控制信号。 为简便起见,把灯的代号和灯的驱动信号合二为一,并作如下规定:

EDA 课程设计——乐曲演奏电路

EDA 课程设计——乐曲演奏电路

出题教师:李天倩乐曲演奏电路一、 设计简要说明:用FPGA 器件驱动蜂鸣器演奏“梁祝”片段。

一首乐曲包含三个要素:乐曲声音频率,发音时间的长短,停顿的时间。

按照图1乐谱,设计相应电路控制speaker 信号的方波频率,某一频率持续时间长短,各频率间间隔大小,就可以推动蜂鸣器演奏乐曲。

图1 “梁祝”片段乐谱电路功能模块为:1、用分频电路产生不同频率方波;2、利用计数器实现speaker 信号频率选择,某一频率持续时间长短,各频率间间隔大小。

详细内容见教材《数字系统设计与Verilog HDL 》(第三版)P208相关内容。

二、 源代码及说明(参考)//"梁祝"乐曲演奏电路 //信号定义与说明: //clk_4Hz : 用于控制音长(节拍)的时钟频率; //clk_6MHz : 用于产生各种音阶频率的基准频率; //speaker : 用于激励扬声器的输出信号,本例中为方波信号;//high,med,low : 分别用于显示高音、中音和低音音符,各驱动一个数码管来显示。

module song(clk_6MHz,clk_4Hz,speaker ,high,med,low); input clk_6MHz,clk_4Hz; output speaker;output[3:0] high,med,low; reg speaker;reg[3:0] high,med,low; reg[7:0] counter;reg[13:0] divider ,origin; wire carry;assign carry=(divider==16383); always @(posedge clk_6MHz) begin if(carry) divider<=origin; else divider<=divider+1; endalways @(posedge carry)begin speaker<=~speaker;end //2分频产生方波信号356215521 6 1 3 56 52365132651 6 16 57always @(posedge clk_4Hz)begin case({high,med,low}) //分频比预置'b000000000011: origin<=7281;'b000000000101: origin<=8730;'b000000000110: origin<=9565;'b000000000111: origin<=10310;'b000000010000: origin<=10647;'b000000100000: origin<=11272;'b000000110000: origin<=11831;'b000001010000: origin<=12556;'b000001100000: origin<=12974;'b000100000000: origin<=13516;'b000000000000: origin<=16383;endcaseendalways @(posedge clk_4Hz)beginif(counter==63) counter<=0; //计时,以实现循环演奏else counter<=counter+1;case(counter) //记谱0: {high,med,low}<='b000000000011; //低音"3"1: {high,med,low}<='b000000000011; //持续4个时钟节拍2: {high,med,low}<='b000000000011;3: {high,med,low}<='b000000000011;4: {high,med,low}<='b000000000101; //低音"5"5: {high,med,low}<='b000000000101; //发3个时钟节拍6: {high,med,low}<='b000000000101;7: {high,med,low}<='b000000000110; //低音"6"8: {high,med,low}<='b000000010000; //中音"1"9: {high,med,low}<='b000000010000; //发3个时钟节拍10: {high,med,low}<='b000000010000;11: {high,med,low}<='b000000100000; //中音"2"12: {high,med,low}<='b000000000110; //低音"6"13: {high,med,low}<='b000000010000;14: {high,med,low}<='b000000000101;15: {high,med,low}<='b000000000101;16: {high,med,low}<='b000001010000; //中音"5"17: {high,med,low}<='b000001010000; //发3个时钟节拍18: {high,med,low}<='b000001010000;19: {high,med,low}<='b000100000000; //高音"1"20: {high,med,low}<='b000001100000;21: {high,med,low}<='b000001010000;22: {high,med,low}<='b000000110000;23: {high,med,low}<='b000001010000;24: {high,med,low}<='b000000100000; //中音"2"25: {high,med,low}<='b000000100000; //持续11个时钟节拍26: {high,med,low}<='b000000100000;27: {high,med,low}<='b000000100000;28: {high,med,low}<='b000000100000;29: {high,med,low}<='b000000100000;30: {high,med,low}<='b000000100000;31: {high,med,low}<='b000000100000;32: {high,med,low}<='b000000100000;33: {high,med,low}<='b000000100000;34: {high,med,low}<='b000000100000;35: {high,med,low}<='b000000110000; //中音"3"36: {high,med,low}<='b000000000111; //低音"7"37: {high,med,low}<='b000000000111;38: {high,med,low}<='b000000000110; //低音"6"39: {high,med,low}<='b000000000110;40: {high,med,low}<='b000000000101; //低音"5"41: {high,med,low}<='b000000000101;42: {high,med,low}<='b000000000101;43: {high,med,low}<='b000000000110; //低音"6"44: {high,med,low}<='b000000010000; //中音"1"45: {high,med,low}<='b000000010000;46: {high,med,low}<='b000000100000; //中音"2"47: {high,med,low}<='b000000100000;48: {high,med,low}<='b000000000011; //低音"3"49: {high,med,low}<='b000000000011;50: {high,med,low}<='b000000010000; //中音"1"51: {high,med,low}<='b000000010000;52: {high,med,low}<='b000000000110;53: {high,med,low}<='b000000000101; //低音"5"54: {high,med,low}<='b000000000110;55: {high,med,low}<='b000000010000; //中音"1"56: {high,med,low}<='b000000000101; //低音"5"57: {high,med,low}<='b000000000101; //持续8个时钟节拍58: {high,med,low}<='b000000000101;59: {high,med,low}<='b000000000101;60: {high,med,low}<='b000000000101;61: {high,med,low}<='b000000000101;62: {high,med,low}<='b000000000101;63: {high,med,low}<='b000000000101;endcaseendendmodule三、仿真结果四、硬件测试实验开发板(教改项目完成后可以提供相应平台)乐曲需要现场听五、思考题(指导教师根据学生完成思考题情况酌情加分)1、补完整个乐曲。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

EDA课程设计题目一:交通灯控制器VHDL的设计题目二:智能函数发生器题目三:乐曲硬件演奏电路的VHDL设计专业:通信工程班级:通信084班一、设计题目:交通灯控制器VHDL的设计二、设计目标1、设计一个交通信号灯控制器,由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。

2、红、绿、黄发光二极管作信号灯,。

3、主干道处于常允许通行的状态,支干道有车来时才允许通行。

主干道亮绿灯时,支干道亮红灯;支干道亮绿灯时,主干道亮红灯。

4、主、支干道均有车时,两者交替允许通行,主干道每次放行45秒,支干道每次放行25秒,设立45秒、25秒计时、显示电路。

5、在每次由绿灯亮到红灯亮的转换过程中,要亮5秒黄灯作为过渡,使行驶中的车辆有时间停到禁行线外,设立5秒计时、显示电路。

三、设计原理主系统由三个模块组成,jtd.vhd为顶层文件,其内部包含三个功能模块模块:信号灯主控模块(moore.vhd)、减法计数器模块(jishu.vhd)、译码器模块(led7s.vhd)。

1、选择1HZ时钟脉冲作为系统时钟。

2、45秒、25秒、5秒定时信号用倒计时,计时起始信号由主控电路给出,每当计满所需时间,即向主控电路输出“时间到”信号,转换信号灯状态,由主控电路启、闭三色信号灯显示结果:十字路口的交通灯控制信号由主控电路给出,能显示十字路口东西、南北两个方向的红、黄、绿灯的指示状态。

用两组红、黄、绿三种颜色的灯分别作为东西、南北两个方向的红、黄、绿灯,变化规律为:东西绿灯亮,南北红灯亮→东西黄灯亮,南北红灯亮→东西红灯亮、南北绿灯亮→东西红灯亮,南北黄灯亮→东西绿灯亮,南北红灯亮….,这样依次循环。

东西方向是主干道车道,南北方向是支干道车道,要求两条交叉道路上的车辆交替运行,主干道每次通行时间都设为45秒,支干道每次通行时间都设为25秒。

在绿灯转为红灯时,要求黄灯先亮5秒钟,才能变换运行车道。

要求交通灯控制器有复位功能,在复位信号使能的情况下能够实现交通灯的自动复位,并且要求所有交通灯的状态变化,包括复位信号引起的均发生时钟脉冲的上升沿处。

clk jishu:u2:c1rstc_st.s2dinh0[2]green_east1green_north1ld0red_east1red_north1y ellow_east1y ellow_north1clkmoore:u1:c_st.s2moore:u1:dinh0[2]moore:u1:ld0c1qa[0..3]qb[0..3]jishu:u2:qb[0..3]Mux 0~0Mux 1~0Mux 2~0Mux 3~0Mux 4~0Mux 5~0Mux 6~0jishu:u2:qa[0..3]Mux 0~0Mux 1~0Mux 2~0Mux 3~0Mux 4~0Mux 5~0Mux 6~0jishu:u2led7s:u3clkgreen_east green_north red_east red_north rstyellow_east yellow_northone_east[0..6]one_north[0..6]ten_east[0..6]ten_north[0..6]led7s:u4moore:u1四、设计内容1.信号灯主控模块moore.vhd设计一个Morre 型状态机,是一个4状态的状态机,输出ld0控制减法计数器,在减法计数器减计数到6或1时,计数器输出1,将计数器的输出输入到Moore 型状态机c0中来实现状态机的输入控制,再通过状态机的输出来控制计数器的计数值。

即原理相同于S0为东西方向的绿灯控制及南北方向的红灯控制,计数时间为45秒;S1为东西方向黄灯控制及南北方向的红灯控制,计数时间为5秒;S2为南北方向的绿灯控制及东西方向的红灯控制,计数时间为25秒;S3为南北方向的黄灯及东西方向的红灯控制,计数时间为5秒。

状态图如下:clk0rst0c0ld0red_east1green_east1y ellow_east1red_north1green_north1y ellow_north1dinl0[3..0]dinh0[3..0]mooreinst2.减法计数器的设计jishu.vhd减法计数器设计,用dinh1和dinl1来设置所需要的计数数值,ld1为初始化计数数值,当减法计数器减到设置的6或1时,C1输出为1,其他时间均为0。

Qh1和ql1为计数器的计数输出。

clk1ld1dinl1[3..0]dinh1[3..0]ql1[3..0]qh1[3..0]c1jishuinst13.译码器的设计led7s.vhd译码器是一个简单的LED的显示的译码,为4—7译码器。

a[3..0]led7s[6..0]led7sinst2五、仿真结果clk0:1Hz时钟输入rst0:复位端c0:状态机输入控制信号ld0输出计数控制信号dinh0,dinl0:输出高低位计数值red_east1等:红黄绿灯控制信号clk1:1Hz时钟输入ld1:计数控制信号dinh1,dinl1:输入高低位计数值qh1,ql1:输出高低位计数值c1:输出状态机控制信号a:译码输入信号led7s:译码输出信号一、设计题目:智能函数发生器二、设计目标设计一个智能函数发生器,能够以稳定的频率发生递增斜波、递减斜波、三角波、梯形波,正弦波和方波。

设置一个波形选择输入信号,通过此改变该信号可以选择以上各种不同种类的输出函数波形,系统具有复位功能。

三、设计原理主系统由7个模块组成,singt.vhd为顶层设计文件,其内部有七个功能模块:波形选择模块(wavsel.vhd)、递增斜波模块(zengxie.vhd)、递减斜波模块(jianxie.vhd)、三角波模块(rect.vhd)、梯形模块(trap.vhd)、方波模块(reta.vhd)、正弦波模块(sindata.vhd)。

智能函数发生器原理图四、设计内容1.递减模块的设计jianxie.vhd递减模块的设计,递减模块是用VHDL程序描述的递增函数,它的实体部分部分说明三个端口,其中两个输入端口时钟信号clk3、复位信号rst3和一个输出端口jout3。

结构体部分定义一个8位二进制变量,然后使用进程语句,设定敏感信号clk3和rst3,通过设计一个中间变量从00000101到00000000的递减赋值给输出信号jout3,编译无误后,即额可以创建递减元件符号。

2.递增模块的设计zengxie.vhd递增模块的设计与递减模块相似,其中两个输入端口时钟信号clk2、复位信号rst2和一个输出端口zout2。

结构体部分定义一个8位二进制变量,然后使用进程语句,设定敏感信号clk2和rst2,通过设计一个中间变量从00000000到00000101的递增赋值给输出信号zout2,编译无误后,即额可以创建递增元件符号。

3.三角波模块的设计rect.vhd三角波模的设计完成功能异步复位和三角波的形成,程序定义两个中间变量,一个中间变量即为输出赋值,另一个完成三角波分段,当p为0时,完成三角波的前段从00000000到00000101递增;当p为1时,完成后段的从00000101到00000000的递减,形成一个完整的三角波。

4.梯形波模块的设计trap.vhd梯形波模块的设计通过运用case语句,设计三个状态,使信号在“00”状态时从00000000到00000101递增,在“01”状态时保持00000101,在“10”状态时从00000101到00000000递减,形成一个完整的梯形波。

5.方波模块的设计reta.vhd方波模块即是完成方波输出地设计,以及有异步复位的功能,该程序采用了两个进程语句,第一个进程是完成在时钟上升沿同步时,r<6时输出rout1=00000110,否则输出rout1=00000000。

在第二个进程中,完成在时钟上升沿的时候,r从00000000递增到00001011,创建的元件符号同样是三个端口,即时钟信号clk1和复位信号rst1,以及一个8位二进制的输出端口rout1。

6.正弦波模块的设计sindata.vhd正弦波的设计是通过建立正弦波形数据、定制LPM ROM来实现的。

7.选择模块的设计wavsel.vhd选择模块的设计通过运用case语句,设计六个状态,通过控制输入信号key 11、key22、key33,选择输出波形。

“000”输出递增斜波,“001”输出递减斜波,“010输出”方波,“011”输出梯形波,“100”输出三角波,“101”输出正弦波。

五、仿真结果1.递增斜波2.递减斜波3.方波4.梯形波5.三角波6.正弦波一、设计题目:乐曲硬件演奏电路的VHDL设计二、设计目标能够播放“梁祝”乐曲。

(2)能够通过LED显示音阶。

(3)具有“播放/停止”功能,并在此基础上实现“按键演奏”的电子琴功能。

三、设计原理主系统由三个模块组成,songer.vhd为顶层设计文件,其内部有三个功能模块:tonetaba.vhd、notetabs.vhd和speakera.vhd。

我们知道,组成乐曲的每个音符的发音频率值及其持续时间是乐曲能连续演奏所需的两个基本要素,问题是如何来获取了这两个要素所对应的数值以及通过纯硬件的手段来利用这些数值事先所希望乐曲的演奏效果。

原理图中,模块U1类似于探亲人的手指;U2类似于琴键;U3类似于琴弦或音调发生器。

四、设计类容1.数控分频器模块Speakera.vhd这是一个数控分频器,有其clk端输入已具有较高频率(这里是12MHz)的信号,通过Speakera分频后又SPKOUT输出。

Speakera对clk输入信号的分频比由11位预置数Tone[10..0]决定。

2.按键模块ToneTaba.vhd模块ToneTaba的功能首先是为Speakera提供决定所发音符的分频预置数,而此数在Speakera输入口停留的时间即为此音符的节拍值。

模块ToneTaba是乐曲简谱码对应得分频预置数查表电路,其中预置了“梁祝”乐曲全部音符所对应的分频预置数,共13个,这13个值的输出有对应于ToneTaba的4位输入值Index[3..0]确定。

3.输入控制模块NoteTabs.vhd在NoteTabs中设置了一个8位二进制计数器,作为音符数据ROM的地址发生器。

这个计数器的计数频率选为4Hz,即每一计数值得停留时间为0.25秒,恰为当全音符设为1秒时,四四拍的4分音符持续时间。

rst0具有“播放停止”功能。

当kz=‘1’时,shuru1、shuru2、shuru2、shuru3实现“按键演奏”功能。

相关文档
最新文档