数字系统设计实践.ppt

上传人:小飞机 文档编号:6294914 上传时间:2023-10-14 格式:PPT 页数:71 大小:555.50KB
返回 下载 相关 举报
数字系统设计实践.ppt_第1页
第1页 / 共71页
数字系统设计实践.ppt_第2页
第2页 / 共71页
数字系统设计实践.ppt_第3页
第3页 / 共71页
数字系统设计实践.ppt_第4页
第4页 / 共71页
数字系统设计实践.ppt_第5页
第5页 / 共71页
点击查看更多>>
资源描述

《数字系统设计实践.ppt》由会员分享,可在线阅读,更多相关《数字系统设计实践.ppt(71页珍藏版)》请在三一办公上搜索。

1、第六章 数字系统设计实践,第六章 数字系统设计实践,任务分析根据常识,“秒”、“分”和“小时”之间存在各自独立又互相联系的计数和进位关系,“秒”和“分”的计数模式相同,每计数满60个时钟清零并重新开始计数,相当于一个六十进制的计数器。“小时”的计数模式是每计数满24个时钟就进行清零并重新开始计数,相当于一个二十四进制的计数器。所以,六十进制和二十四进制的计数器模块设计是本任务的核心模块。,任务19 简易数字钟设计,第六章 数字系统设计实践,计数信号来自于开发板提供的时钟信号,这里采用的开发板系统示例中,晶振频率为50MHz,而秒的计数周期是1秒,所以需要对该时钟信号进行分频,因此,分频器模块是

2、本任务中另一个重要模块。“秒”、“分”和“小时”的计时过程都需要通过LED显示器进行显示,所以还需要设计显示控制模块。,任务19 简易数字钟设计,第六章 数字系统设计实践,根据以上分析,本任务需要设计的模块如下:)分、秒和小时的计数器模块;)分频器模块;)显示控制模块。,任务19 简易数字钟设计,第六章 数字系统设计实践,系统设计系统结构框图,任务19 简易数字钟设计,第六章 数字系统设计实践,系统设计系统2)系统接口信号描述,任务19 简易数字钟设计,第六章 数字系统设计实践,系统设计系统结构框图,任务19 简易数字钟设计,第六章 数字系统设计实践,系统设计系统结构框图,任务19 简易数字钟

3、设计,第六章 数字系统设计实践,模块设计,任务19 简易数字钟设计,1)分频器模块设计,/clk_div.v/Verilog 代码段19-1module clk_div(clk,/输入时钟clk_1/输出时钟);input clk;output clk_1;reg24:0 counter;/定义计数器来计数时钟,计数25000000,需要用25位计数器reg clk_1;always(posedge clk)if(counter=25h17D7840)/如果等于25000000begincounter=25b1;/把counter恢复成1clk_1=clk_1;/把clk_1翻转endelse

4、/如果不等于25000000 counter=counter+1b1;/counter 继续计数endmodule,第六章 数字系统设计实践,模块设计,任务19 简易数字钟设计,2)计数模块设计,第六章 数字系统设计实践,模块设计,任务19 简易数字钟设计,2)计数模块设计,第六章 数字系统设计实践,模块设计,任务19 简易数字钟设计,3)显示模块设计,第六章 数字系统设计实践,顶层模块设计,任务19 简易数字钟设计,第六章 数字系统设计实践,任务小结,任务19 简易数字钟设计,本任务设计了一个简易数字钟,能实现小时、分钟和秒的计时及显示,其中控制小时、分钟和秒计时的计数模块是本次设计的核心。

5、计数模块的关键在于能够理解三个计时单位之间的联系,即秒计数满60产生一个向分钟的进位,分钟计数满60产生一个向小时的进位,这两个进位信号将小时、分和秒联系起来,是理解本设计的关键点。为时钟设计一个初值设置控制信号,按下设置信号时能利用开发板上的拨码开关或按键对时间进行校对设置。,第六章 数字系统设计实践,任务分析,任务20可编程多彩霓虹灯设计,任务要求利用开发系统板,设计一个简易的霓虹灯控制芯片。利用开发板上的8个发光二极管来模拟霓虹灯的灯泡,按键来控制霓虹灯的显示模式。设计一个可编程的多彩霓虹灯,实现霓虹灯的可编程多种图案的交替显示。,第六章 数字系统设计实践,系统设计,任务20可编程多彩霓

6、虹灯设计,1)系统结构框图,第六章 数字系统设计实践,系统设计,任务20可编程多彩霓虹灯设计,2)系统原理分析,可编程多彩霓虹灯分为5个模块,包括两个分频器模块、RAM存储器模块、显示模块和按键控制模块。两个分频器都是用来对系统时钟进行分频。由于显示部分需要每1秒中显示一帧图像,所以需要由系统高频时钟分频得到一个1秒的时钟用于控制显示模块。另外一个分频器输出0.1秒的时钟,主要用于按键去抖动,并且能够得到合理速度的按键控制信号,同时这个时钟也用于构建RAM的工作时钟。显示模块的主要作用是从RAM中读出显示数据,并把这个数据显示到LED上。显示控制模块需要每一秒钟从RAM中读数一次,每次读出数据

7、为8bits。键盘、拨码控制模块的主要作用是检测外部的按键信号,如果按键信号有效,就把拨码开关的数据输入到目前地址指针所指的RAM地址中。数据存储RAM模块是最复杂的核心模块,负责数据的存储和读出,该RAM需要处理来自键盘、拨码的数据写入信号,也要处理LED显示控制模块的读数据请求信号,以及二者的冲突仲裁处理。,第六章 数字系统设计实践,系统设计,任务20可编程多彩霓虹灯设计,系统接口信号描述,第六章 数字系统设计实践,模块设计,任务20可编程多彩霓虹灯设计,1.分频器1模块设计,第六章 数字系统设计实践,模块设计,任务20可编程多彩霓虹灯设计,2.分频器2模块设计,第六章 数字系统设计实践,

8、模块设计,任务20可编程多彩霓虹灯设计,3.显示器模块设计,第六章 数字系统设计实践,模块设计,任务20可编程多彩霓虹灯设计,4.按键模块设计,第六章 数字系统设计实践,模块设计,任务20可编程多彩霓虹灯设计,4.按键模块设计,第六章 数字系统设计实践,模块设计,任务20可编程多彩霓虹灯设计,4.按键模块设计,第六章 数字系统设计实践,模块设计,任务20可编程多彩霓虹灯设计,5)RAM模块设计,第六章 数字系统设计实践,模块设计,任务20可编程多彩霓虹灯设计,5)RAM模块设计,第六章 数字系统设计实践,模块设计,任务20可编程多彩霓虹灯设计,6)顶层连接模块设计,第六章 数字系统设计实践,任

9、务分析,任务21多功能数字钟设计,本设计任务是设计一个多功能数字钟,其基本功能应该包括:(1)小时、分钟和秒计时和显示;(2)能够对数字钟的小时和分钟进行校对设置;(3)具有闹钟功能。,第六章 数字系统设计实践,系统设计,任务21多功能数字钟设计,1)系统结构,第六章 数字系统设计实践,系统设计,任务21多功能数字钟设计,2)系统原理分析,多功能数字钟系统共包括3个模块,即分频器模块,计数器模块(包括计数、时间设置和闹钟功能)和显示译码模块。多功能数字钟的功能可以从总体上分为三类,分别是正常计时、时钟校对和闹钟设置,所以考虑在系统中设置一个模式控制信号mode。模式控制信号对应一个按键,每按一

10、次按键相当于工作模式进行一次变换,多次按下则数字钟将在正常计时、时间校对和闹钟设置三种工作模式下依次循环变换。在设计中,时钟校对和闹钟设置工作模式都需要对时间进行设置,通常是对小时和分钟进行设置,所以需要在系统中设置一个时间设置信号set,对应一个按键,每次按键相当于在小时设置和分钟设置之间进行转换。时间设置时,分钟和小时计时单位之间互相独立,不存在进位关系。,第六章 数字系统设计实践,系统设计,任务21多功能数字钟设计,3)系统接口信号描述,第六章 数字系统设计实践,模块设计,任务21多功能数字钟设计,1)分频器设计,module clk_div(clk,/输入时钟clk_1/输出时钟);i

11、nput clk;output clk_1;reg24:0 counter;/定义计数器来计数时钟,计数25000000,需要用25位计数器reg clk_1;always(posedge clk)if(counter=25h17D7840)/如果等于25000000begincounter=25b1;/把counter恢复成1clk_1=clk_1;/把clk_1翻转endelse/如果不等于25000000 counter=counter+1b1;/counter 继续计数endmodule,第六章 数字系统设计实践,模块设计,任务21多功能数字钟设计,2)计数器设计,第六章 数字系统设计

12、实践,模块设计,任务21多功能数字钟设计,2)计数器设计,第六章 数字系统设计实践,模块设计,任务21多功能数字钟设计,3)显示模块设计,第六章 数字系统设计实践,模块设计,任务21多功能数字钟设计,3)显示模块设计,第六章 数字系统设计实践,模块设计,任务21多功能数字钟设计,3)顶层模块设计,第六章 数字系统设计实践,任务小结,任务21多功能数字钟设计,(1)计时功能、时间校对功能和闹钟功能各自独立,即时钟在任何时刻只能处于三种功能中的一种。(2)闹钟设置的时间值对计时结果不会产生任何影响,并且在进行闹钟设置的时候正常计时,而此刻数字钟显示的是所设置的小时和分钟的数值。(3)在进行时间校对

13、时,时钟暂停计时,并且当结束时间设置功能转换到其他功能后,分钟和小时均以所设置的时间作为计时的起始时刻,秒钟以时钟暂停时刻作为重新计时的起始值。(4)时钟闹铃需要同时满足两个条件,一个条件是时钟处于闹铃模式下,另一个条件是时钟的小时和分钟达到闹钟设置的值。,第六章 数字系统设计实践,任务分析,任务22交通灯控制器设计,第六章 数字系统设计实践,任务分析,任务22交通灯控制器设计,交通灯的工作过程如下:设十字路口的交通干道为南北和东西两个方向。初始状态为南北和东西干道上的灯全部为红灯,然后南北干道的绿灯亮,允许车辆行驶;东西干道的红灯亮,不允许车辆行驶,同时2个路口的数码显示器开始倒计时,南北干

14、道绿灯亮57秒后,绿灯熄灭,黄灯开始亮3秒钟;之后南北干道转为红灯,禁止车辆行驶,同时东西干道转为绿灯,允许东西方向车辆行驶,两个干道的数码显示器重新开始倒计时,57秒后东西方向的绿灯熄灭,黄灯开始亮,3秒钟之后转为红灯亮,禁止东西方向车辆行驶,同时南北方向由红灯转为绿灯,允许车辆行驶,第六章 数字系统设计实践,2系统设计,任务22交通灯控制器设计,1)系统结构框图,第六章 数字系统设计实践,2系统设计,任务22交通灯控制器设计,1)系统接口信号描述,第六章 数字系统设计实践,3模块设计,任务22交通灯控制器设计,分频器模块设计,(1)模块原理分析本设计中,分频器实现了由50Mhz时钟产生1h

15、z时钟的功能。原始的时钟频率是50Mhz,周期是T=210-8秒,分频后的时钟频率是1hz,周期是t=1秒,代入前面所介绍的分频计算公式,,得到n=50000000,也就是每次计数25000000个时钟周期以后就把输出的分频时钟信号翻转一次。,第六章 数字系统设计实践,3模块设计,任务22交通灯控制器设计,3)控制器模块设计,第六章 数字系统设计实践,3模块设计,任务22交通灯控制器设计,4)显示译码模块设,第六章 数字系统设计实践,3模块设计,任务22交通灯控制器设计,4)顶层连接模块设计,第六章 数字系统设计实践,任务小结,任务22交通灯控制器设计,本任务设计了一个交通灯控制系统,用来控制

16、一个南北和东西方向交叉的十字路口的信号灯。主要设计思路如下:通过任务分析我们将交通灯控制系统分为四个模块:分频模块、计时模块、控制模块和显示译码模块。信号灯在计数器的计数信号的控制下各个工作状态之间的转换非常明确,所以我们利用状态机来对控制模块进行设计。计数器采用倒计时的方式,所以我们在设计计时模块时,要注意计时起点为60。由于我们使用七段数码显示器来模拟时间显示,所以我们需要将计时模块的输出信号转化为数码显示器的驱动信号,中间由涉及到十进制和二进制数之间的转换。,第六章 数字系统设计实践,任务分析,任务23多功能密码锁设计,第六章 数字系统设计实践,任务分析,任务23多功能密码锁设计,第六章

17、 数字系统设计实践,系统设计,任务23多功能密码锁设计,1 系统结构框图,第六章 数字系统设计实践,系统设计,任务23多功能密码锁设计,2系统原理分析,多功能密码锁分为三个模块:分频器模块、核心状态控制模块和按键与七段数码管控制模块。其中,分频器模块主要是产生供按键、七段数码管扫描的时钟,周期大约在之间。同时,分频时钟也可以用于核心控制模块的基本控制,由于扫描时钟要和按键、七段数码管控制电路构成一个同步电路,因此,必须使用同一个分频时钟。,第六章 数字系统设计实践,系统设计,任务23多功能密码锁设计,3系统接口信号描述,第六章 数字系统设计实践,模块设计,任务23多功能密码锁设计,1分频器设计

18、,分频器完成由50Mhz时钟产生时钟的功能,原始的未分频时钟是50Mhz,根据计算公式:n=T/2t,令n=5000,也就是每次计数5000个原始时钟周期以后就把输出的分频时钟信号翻转一次。,第六章 数字系统设计实践,模块设计,任务23多功能密码锁设计,2核心控制器设计,核心控制模块控制五个状态,如图6.2所示,分别是“初始状态”、“设定密码状态”、“锁定状态”、“开锁状态”和“报警状态”。上述5个状态,分别对应5种LED灯的输出状态,利用LED灯的状态存储器,作为核心控制模块的5种状态寄存器,这样可以减少代码数量,但是会增加一些额外的寄存器资源。,第六章 数字系统设计实践,模块设计,任务23

19、多功能密码锁设计,2核心控制器设计,第六章 数字系统设计实践,模块设计,任务23多功能密码锁设计,3按键七段数码管控制模块设计,第六章 数字系统设计实践,模块设计,任务23多功能密码锁设计,3按键七段数码管控制模块设计,第六章 数字系统设计实践,模块设计,任务23多功能密码锁设计,4顶层连接模块设计,前面设计了三个电路模块,包括分频器、核心控制模块和按键、数码管扫描控制模块。顶层模块需要按照连接关系把这三个模块之间,以及三个模块与端口之间建立起连接关系,参考代码,第六章 数字系统设计实践,系统仿真,任务23多功能密码锁设计,第六章 数字系统设计实践,任务小结,任务23多功能密码锁设计,任务要求

20、利用开发系统板,设计一个自动售货机控制芯片。自动售货机平时处于待机状态,当有钱投入之后开始工作。利用三个按键作为投币信号,分别代表投币5元、10元、20元,投入钱币以后,采用七段数码管显示投入的金额;利用另外4个按键代表4种货物,可以在售货机上选择购买的货物,假设四种货物的售价分别为3元、6元、10元、17元。选择了货物之后,七段数码管显示购物之后的找币余额,并且用LED数码管指示灯显示是否有足够的金额购买,如果投币不够,报警指示灯亮起,并且显示余额为零。选择了购买物品之后,可以按键(最后一个按键)出货或者余额不足退币。,第六章 数字系统设计实践,系统设计,任务24自动售货机设计,本任务设计了

21、一个多功能密码锁的制系统,该系统结构比较复杂,设计到了很多常见外围硬件电路,包括分频器、矩阵键盘、发光二极管和七段LED动态显示等。系统首先建立了一个分频器电路,构建扫描时系统内部处理的时钟。密码锁具有设定密码,开锁,报警等多个功能,而这些功能必须由一个状态控制器来控制。核心控制模块是一个典型的状态机电路。为了配合以上功能,还用到了拨码开关、LED显示、动态按键、动态七段数码管等外围电路,因而还需要设计相应的驱动电路。,第六章 数字系统设计实践,任务分析,任务24自动售货机设计,自动售货机控制芯片系统结构框图如图6.47所示,包括三个模块:分频器模块、核心控制模块和按键与七段数码管控制模块。其

22、中,分频器模块主要是产生供按键、七段数码管扫描的时钟,这个扫描时钟的周期应该大约为。同时,这个分频时钟也可以用于核心控制模块的基本控制,由于扫描时钟要和按键、七段数码管控制电路构成一个同步电路,因此,必须使用同一个分频时钟。,第六章 数字系统设计实践,任务分析,任务24自动售货机设计,第六章 数字系统设计实践,系统分析,任务24自动售货机设计,第六章 数字系统设计实践,模块设计,任务24自动售货机设计,核心控制模块设计,第六章 数字系统设计实践,模块设计,任务24自动售货机设计,核心控制模块设计,根据前面已经设计好的状态转换图,对所有的状态进行编码设计。由于系统包括三个状态,因此可以设计两位寄

23、存器来对所有的状态进行编码。,第六章 数字系统设计实践,模块设计,任务24自动售货机设计,核心控制模块设计,下面按照三个状态逐一分析状态之间的转换关系,以及输出如何。按照系统要求,有8个按键输入,首先定义每个按键的具体含义,如表6.34所示。,第六章 数字系统设计实践,模块设计,任务24自动售货机设计,核心控制模块设计,核心控制模块接口定义如表6.35所示。,第六章 数字系统设计实践,系统仿真,任务24自动售货机设计,自动售货机的仿真平台结构如图6.52所示,仿真平台主要提供测试模块需要的所有输入信号,以及对输出信号的检查比对功能。由于本设计比较简单,输出比对主要采用观察波形的方法。,第六章 数字系统设计实践,任务小结,任务24自动售货机设计,本任务设计了一个自动售货机的控制芯片,系统结构比较复杂,涉及到了所有常见的外围硬件电路,以及电路控制基本原理。首先需要建立一个分频器电路,构建扫描时系统内部处理的时钟。核心控制模块是一个典型的状态机电路。状态机包括三个状态,控制收货机投币、选货、出货或退币等过程。为了配合售货过程,需要七段数码管、LED指示灯来显示状态以及报警信息。处理这些动态输入输出设备,还需要设计相应的驱动电路。,任务20 多功能秒表设计,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号