- 6
- 0
- 约 67页
- 2017-05-22 发布于广东
- 举报
基于VHDL的应用电路的设计
专题四.基于VHDL的应用电路的设计 两个应用电路的设计 1. 交通灯控制器 2. 音乐发生器 设计思想 先设计出整体框架,再拆分成各个子功能模块,由这些小模块整合成最终的系统。 采用VHDL硬件描述语言和原理图相结合的方式。其中底层电路(即模块电路)采用VHDL语言方式实现,并生成模块符号。顶层电路采用原理图方式实现,在原理图中调用模块符号,进行相应的连接完成顶层的设计。 设计过程 先理解设计要求; 然后根据要求给出设计方案; 接着用VHDL语言进行系统各功能模块电路的设计,并生成模块符号; 最后采用原理图描述方式把系统的各部分模块连接起来,实现顶层电路的设计; 对设计结果进行仿真。 实例1. 交通灯控制器 设计要求 设计方案 各模块电路设计及程序 顶层原理图电路设计 仿真结果 设计要求 1. 在十字路口的两个方向上各设一组红、绿和黄灯。显示顺序为南北方向是绿灯、黄灯、红灯;东西方向是红灯、绿灯、黄灯。 2. 两个方向上各设一组数码管,以倒计时的方式显示允许通行或禁止通行的时间。其中绿灯、黄灯、红灯的持续时间分别为20s、5s和25s。 3. 当出现特殊情况时,如消防车、救护车需要优先通过,两个方向上均是红灯亮,倒计时停止,且显示数字闪烁。当特殊状况结束后,控制器恢复原来状态,继续正常运行。 设计方案 交通控制灯各模块电路的设计 1. 控制模块ctrl 2. 时钟分频模块 3. 分位电路模块 4. 数码管动态扫描显示模块 1. 控制模块ctrl 2.时钟分频模块 3. 分位电路模块 程序 4. 数码管动态扫描显示模块 交通控制灯倒计时数码管显示电路 程序(display) 顶层电路的设计 将各功能模块整合在一起。 交通灯控制器--端口说明 QuartusII仿真结果 实例2. 音乐发生器 设计要求 蜂鸣器简介 音频工作原理 设计方案 顶层原理图电路设计 音乐发生器各模块电路的设计 仿真结果 设计要求 1. 设计一个音乐发生器,声音由蜂鸣器发出。 2. 该音乐发生器可以播放一首或多首曲子。 蜂鸣器简介 蜂鸣器按其是否带有信号源可分为有源和无源两种类型。 有源蜂鸣器因为内含有信号源,因此只需要在其供电端(正极)加上额定直流电压就可以发出固定频率的声音。当给蜂鸣器加上频率不断变化的方波信号时,也可以发出其它不同频率的声音。 无源蜂鸣器因为本身不带信号源,因此,只是通上电源,是不能发出声音的,必须要不断的重复“通电-断电”,才能使其发出声音,即需要方波信号驱动才能发声。根据方波信号频率的不同,无源蜂鸣器可以发出不同频率的声音。 有源蜂鸣器驱动电路 无源蜂鸣器驱动电路 实验箱中使用的是有源蜂鸣器 音频工作原理 控制蜂鸣器演奏曲子,只需搞清楚两个概念即可,也就是“音调”和“节拍”。 音调表示一个音符该唱的频率。 节拍表示一个音符该唱多长时间。 1) 音调与频率的关系 2)音调频率的获得 音调频率的获得:可以对系统时钟信号经过分频和音频整形,从而获得该频率的对称方波信号。 具体的讲,可以先获得音频信号的倍频,再对倍频信号进行二分频,就可以得到占空比为50%的对称方波信号,最后输出到蜂鸣器。 例如,系统时钟为50MHz,要获得低音3(频率329Hz)的音频信号,分频系数应该为: K = 50M /(329×2)= 75987 即将50M基准频率进行75987分频得到的是低音3频率的倍频信号658Hz。 再将658Hz进行2分频得到的就是329Hz的低音3对称方波信号。 低音3频率获得波形示意图 3)节拍控制器 节拍就是控制一个音符发音要发多长时间。 如上图为例,乐谱为3/4拍,即以四分音符为一拍,每小结有三拍。 其中1 、2 为一拍,3、4、5为一拍,6为一拍共三拍。 1 、2的时长为四分音符的一半,即为八分音符长。 3、4的时长为八分音符的一半,即为十六分音符长。 5的时长为四分音符的一半,即为八分音符长。 6的时长为四分音符长。 那么一拍到底该唱多长呢? 一般以一首曲子的最小节拍为基准节拍。基准节拍可通过分频电路获得。 本例中,最小节拍是3、4,十六分音符长。可以设定十六分音符长0.25秒,这样八分音符长为0.5秒,四份音符长1秒。以此类推,可以确定一首曲子的所有音符的演奏时间。 生日快乐歌 设计方案 顶层原理图电路设计 端口说明 音乐发生器各模块电路的设计 1. 分频模块 2. 乐谱模块 3. 音符译码模块 4. 对称方波产生模块 1. 分频模块 2. 乐谱模块(song) 输出音符值与乐谱音符的对应关系 程序 3. 音符译码模块(tonefeq) 程序 4. 对称方波产生模块(speaker) 程序 对倍频信号进行二分频,得到对称的方波信号。 编译结果 程序修改 编译结果 仿真结果 高、
原创力文档

文档评论(0)