matlab系统仿真 (1)

  • 格式:doc
  • 大小:127.83 KB
  • 文档页数:13

《MATLAB仿真技术》课程论文 题 目 移位寄存器电路设计与仿真 姓 名 班 级 0934131 学 号 指导教师

2016年5月23日 目录 摘要..................................................................................................................................................................1 1 Matlab简介...................................................................................................................................................1 2移位寄存器的设计 ...................................................................................................................................... 1 2.1 D触发器功能介绍 .......................................................................................................................... 2 2.2移位寄存器仿真 .............................................................................................................................. 2 3双向移位寄存器的设计 .............................................................................................................................. 4 3.1带清零端的RS触发器设计 ............................................................................................................ 5 3.2 四位双向移位寄存器子系统的设计和封装 ................................................................................. 5 3.3双向移位寄存器仿真 ...................................................................................................................... 7 4设计心得 ...................................................................................................................................................... 9 5参考文献......................................................................................................................................................10河南城建学院《MATLAB仿真技术》课程论文

1 摘要 MATLAB具有强大的图形处理功能、符号运算功能和数值计算功能。MATLAB工具几乎涵盖了整个科学技术运算领域。其中系统的仿真(Simulink)工具箱是从底层开发的一个完整的仿真环境和图形界面。在这个环境中,用户可以完成面向框图系统仿真的全部过程,并且更加直观和准确地达到仿真的目标。此次,以数字电路中的时序逻辑电路为线索来学习Simulink,了解了许多数字电路中常用模块的使用方法.时序电路中除具有逻辑运算功能的组合电路外,还必须有能够记忆电路状态的存储单元或延迟单元,这些存储或延迟单元主要由本次设计所用到的触发器来实现。D触发器、RS触发器、JK触发器等这些时序逻辑电路中常用的器件在Simulink中都有相应的仿真模块,除此之外,用户还可以自行设计封装模块来一步一步完成更大的电路系统,实现更强大的逻辑功能。 关键词:MATLAB、Simulink、时序电路 1 Matlab内容简介 MATLAB拥有了更丰富的数据类型和结构,更好的面向对象的快速精美的图形界面,更多的数学和数据分析资源,MATLAB工具几乎涵盖了整个科学技术运算领域。在大部分大学里,应用代数、数理统计、自动控制、数字信号处理、模拟与数字通信、时间序列分析、动态系统仿真等课程的教材都把MATLAB作为必不可少的内容。在国际学术界,MATLAB被确认为最准确可靠的科学计算标准软件,在许多国际一流的学术刊物上都可以看到MATLAB在各个领域里的应用。

2移位寄存器的设计 所谓移位寄存器,就是只能接收一个输入源的寄存器,它将这个输入依次通过寄存器堆进行缓存,就像是数据在沿寄存器平移一样。 在移位寄存器中,前一个触发器的输出端接到下一个触发器的输入端,由第一个触发器的输入端接收输入信号,每个触发器都采用同一个时钟源。那么信号每经过一个触发器,就被缓存一次。由于在实际中,信号通过每个触发器是需要一定时间的,所以当时钟源的第一次上升沿到来时,信号就被第一个触发器读入并送到输出端,但第二个触发器并不能将这个信号读入,因为等这个信号到达第河南城建学院《MATLAB仿真技术》课程论文 2 一个触发器的输出端时,时钟的上升沿已经过去了。只有等到下一个上升沿到来的时候,第二个触发器才能读入这个信号,同时第一个触发器从输入端又读入了一个新信号。这样,每个信号都在每个触发器的输出端保持一个时钟周期,而且每个触发器的输出端信号依次延时一个周期,就像信号在进行移位一样。 值得注意的是,在simulink中仿真时,由于这些模块都是理想的,所以信号通过任何一个模块都是没有所谓的“延时”的。而设计移位寄存器的关键就是利用了触发器的延时特性,所以在这里不能按照逻辑电路直接设计这个寄存器。必须在两级触发器之间插入一个延时单元,人为地实现触发器的延时功能。

2.1 D触发器功能介绍 !CLR CLK D Q 0 * * 0 1 上升沿 0 0 1 上升沿 1 1 表2 D触发器真值表 其逻辑表达式为 1QnD 通过以上介绍可知,D触发器的输入输出是完全一样的,但它并不是简单的传输门,要注意到D触发器只有在输入时钟源的上升沿时才将输入端读到输出端,在其他时间里,输出值一直保持不变。D触发器有3个输入端,2个输出端。它的真值表如表所示。

2.2移位寄存器仿真 第一步:添加模块 这个电路用到了6种模块,它们分别是:D触发器(D Flop Flops);时钟源(Clock);单位延时单元(Unit Delay);常数源(Constant);离散脉冲源(Discrete Pulse Generator);示波器(Scope)。 第二步:设置模块参数 延时单元的延迟时间都设为0.1秒; 河南城建学院《MATLAB仿真技术》课程论文 3 脉冲源的参数设置如下:幅度为1,周期为3,脉宽为1,相位延迟为0,采样时间为0.3。然后将这个脉冲源命名为INPUT。 常数源的值设置为1。 最后将示波器的输入端设置为6个。 第三步:连线及仿真 将各模块摆放整齐,按图4连线。将仿真时间设为20秒,单击工具栏上的“运行”图标,开始仿真。然后双击示波器观察输出波形,如图4所示。

图3 4位移位寄存器仿真电路图

图4 移位寄存器输出波形 河南城建学院《MATLAB仿真技术》课程论文

4 由以上输出波形可看出,只有在时钟信号的上升沿到来时,各个触发器的输出端才会发生变化。而且四个触发器的输出依次延时一个周期,这和前面的分析是吻合的。

3双向移位寄存器的设计 以基本RS触发器为基础,一步步实现一个比较大的系统——四位双向移位寄存器Dmreg。最后实现的系统顶层图如图5所示。集成电路Dmreg就是一个寄存器芯片,它能够提供串行寄存器和移位寄存器两种功能。其内部使用的是边沿触发的RS触发器从上图可知,Dmreg有10个输入端口,4个输出端口。 在10个输入端口中,3个是控制信号(),一个是时钟信号(),还有2个串行输入端口(),4个并行输入端口()。其中3个控制信号对Dmreg工作状态的控制如下表所示。 表3 Dmreg工作状态表 Rd S1 S0 工作状态 0 * * 清零 1 0 0 保持 1 0 1 右移 1 1 0 左移 1 1 1 并行输入

图5 双向移位寄存器顶层图 河南城建学院《MATLAB仿真技术》课程论文

5 3.1带清零端的RS触发器设计 Simulink提供的RS触发器是电平触发的,而且没有置位端和复位端。而Dmreg中需要的是下降沿触发,带有置位端和复位端的触发器。所以首先要对基本的RS触发器进行改造,以加强其功能。最后得到的下降沿触发的带置位复位端的RS触发器如图6所示。

图6 带置位端的下降沿触发的RS触发器 首先启动Simulink,然后将一个子系统模块(Subsystem)添加到一个新建模块中。接着双击打开这一个子系统,将基本RS触发器添加到其中。然后加入两个逻辑运算模块,将其修改为二输入的与门。如图6所示,Rd和Rs就是添加的复位端和置位端。为了将触发器变成边沿触发的,需要引入新模块Trigger。其功能是向子系统中添加触发端,在这里将其设为下降沿触发。以上就完成了对基本RS触发器的改进。

3.2 四位双向移位寄存器子系统的设计和封装 第一步:Dmreg电路设计 前面将这个模型的基本单元——下降沿触发的RS触发器做好了。下面用它来构造四位双向移位寄存器(Dmreg)子系统。最后实现的Dmreg的内部电路如图7所示。