




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Simulink逻辑电路仿真一交通灯设计2014 春季 Matlab 系统仿真分析作业完成日期 2014.04.29目录设计说明 1设计思路 1具体设计步骤 2计数器的设计 2计数器的仿真 10交通灯电路设计。 15交通灯仿真 17设计说明本文设计了一个简易的交通灯时序逻辑电路, 该电路通过对输入时钟信号的分频, 控制 红黄绿三种交通灯的按顺序亮灭并循环,其中绿灯持续25s,黄灯持续5s,红灯持续35s。主要用到的器件为 jk 触发器,与门,与非门,或门,或非门。为了实现交通灯控制电路,首 先设计并封装了 4 位计数器, 在此基础上进一步搭建逻辑电路, 实现交通灯的控制, 并分别 对这些模块进
2、行了仿真。设计思路主要的设计思路是利用 jk 触发器串联的方式对输入的时钟进行分频,然后在相应的时刻产生控制脉冲信号, 通过这个信号对信号灯的状态进行翻转。Jk触发器是一种边沿敏感器件,有对上升沿和下降沿敏感的两类,他们的符号如下:CP上升沿触发CP下降沿触发J KCPQ n+l说明0 01On保持0 1101 011置11 11翻转4 404Qn其真值表如下:K控制端的功能,丨 丄, QQnd SififtGhnk are fegtstered 廿&de常萌农 cf The MathViMr !nc. See wwwn 曲話iwbkcorn/U&demiidcs for hfl of add
3、itonal Vademarksi Other product or brand names may be tscfe-arks or reg京沁d tradem&fks cf their respsfive hcJdn.4 i MathWforks*启动之后点击这里启动 simuli nkA0 R2CH4Saso歸ffiT1 n?竿送連i云显如Jri洛相打开riHttfc导人-打”SI -戒棗工徉区岳洁自工柞1Z二 1SimylinR.涛歸令LZJ朴口 Pnlld 丁as卒* _3 込 JI Ci i Users Administrator Documents MATLABfF專工-Is皐令
4、行国口(V不沁 MATLAB?.査酝逊荀駅艺曲gxA |打开之后界面如下:FileNewModel点击Edit View 旦韵 plink Library BrowsNewOpenCloseCtH + OCtrl+WihR|LComrnonly Uses S IncusPreferences.,打开界面如下:DiscreteLcigic and Bit OperationsLookup TablesDisccntinuitieia占 untitledFile Edit一个jk触发器可以对时钟 2分频,2个串联可以4分频,这里6个才能满足需求,但是为了便于扩展应用,这里将 4个jk触发器作为一组
5、串联起来。untiled文档中已经有一个,鼠标右键拖动这个jk触发器即可复制。调整四个jk触发器的位置,如图:imti tied|*unti tied100%ode45Ready下面的步骤为寻找仿真模型或原件,并摆放在上面的untiled文档中。首先将窗口切换到Simulink Library Browser 窗口,展开 Simulink ExtrasFlip Flops,左侧就会出现常用的触发器模 型,其中就有jk触发器,用鼠标左键选中 J-K Flip-Flop并拖到untiled文档中Edit View Helpimulink Library BrowserEnter search te
6、rmLibraries匕 Simulink Design Verifier “ s Simulink ExtrasAdditiorifil Discrete Additional Linear Additional SinksLin arization TransformatiansSimulink Real-TimeSimulink Verification and VtStated?/System Identification Ibob Vehicle Ketv.Drii ToolboxnrStiowng: Simulink Extras/Flip FlopsLibrary: Simuli
7、nk Extralip FlopsJUlD LatchS-R Flip-FlocSearch Results: tnone j D Flip-FlopK Aip-Plcp该窗口左上角标题右侧的*表示该文档有改动并且未保存。该窗口中按下鼠标滚轮键鼠标会 变成手状,这时可以拖动整个视图,滚动鼠标滚轮可以放大缩小视图,左键选中模型按del键可以删除模型。模型中端口上的箭头表示信号流动方向,连线的时候必须按照箭头的方向进行,不能使信号流动方向和箭头方向相反,否则仿真时可能会报错。连线时为了在一条线上引出分支,可以用鼠标右键点击分支处即可引出。两个线相交的地方有黑点表示电气相连,没有黑点表示相交但不相连
8、。在前面的分析中提到这里要将jk出发器的jk端置1,这需要常量和数据类型转换模块,因为在matlab中大部分模型的输出是数值型的,比如为float或者double型的,这样如果输出了 1,它可能是double或者int类型的,而逻辑电路中的1是一种逻辑电平,这两者的含义是不同的,因此如果要给触发器输入1,需要将一个常量1转换为逻辑1,这就是Data TypeCon version的作用,常量 1的输出通过 Con sta nt实现,他们在 Commo nly Used Blocks中,女口 图,分别拖放两个模型到untiled文档中。百二 Simulink Librrrow$eJFile Ed
9、it View Help瓯.3Enter search iermLibrariesJ JTj SimulinkLibrary- Sifnulink/Cornrnonly U汨0 BlocksSearch Results: (noi 卜Commonly U昶d EoeksContinuousDiscontinuities=Discr&teLogic and Bit OperationsLookup Tables Math Operations Model Verification Model-Wide Utilities Ports & Subsystems Signal Attributes
10、Signal Routing SinksSources Us&r-Defined Functions Additional Math & Discrete i-Aerospace Blockseti I rJ . ;BT 鼻;r BS f l| a BKfm卜0 as.Bu; CrErStfXCanstBiniDl 9yDisr-ete-Time Ht&gr&tsrGpur口Ifit&gratcxBus Selector &ywgf: Dflta Type Cenivs.iDnDemuxSLo0icalOpwaiofStiowing: Simulink/CommonJy Used Stocks
11、现在untitled文档中的模型如下:双击Data Type Conversion1可以打开它的属性对话框,我们需要关心的是转换的类型,这个可以通过 Output data type后面的下拉框来设置,其中就有boolean这种类型。默认为Inherit:Inherit via back propagation方式输出,意思为从输出端反向继承数据类型,也就是说输出端 连接的端口需要什么类型就转化为相应的类型。这里需要改为boolean就可以实现给触发器输入高电平。调整他们的位置并按下面的样子完成连线:然后按ctrl+s保存文档,如下:kn1SkjubfeIniConvert0 aubleDal
12、a Type 吃口rweraoniJ-K Fip-RopdvuOlkh_ CLKF面对这个模块进行封装,按下ctrl+A选中所有模型,再通过下面的方式进行封装(快捷键Ctrl+G)baubledoubleCp彌叶Cpw3Out3dudleSubsystem双击进入该模块内部,可以看见自动为输入和输出添加了连接点并编号,如下:上面这幅图片中出现了很多double,这是由于 Data Type Conversion输出没有改成 boolean而又进行了仿真造成的,如果不改也能仿真,但是数据类型不是逻辑电平,如果修改了就不会出现上面的那些字符。 这里面部分端口不使用,摆放位置也比较乱,可以选中之后进
13、行修改,修改之后如下:doubleCdnStaflllFip-fiop3J-KHipTlopS封装之后变成这个样子% Save X4 St的文档tmadab2014mst!sb2014w-ij蹄如*名称樓改E朋AnsoftBluetooth3谿与瘵漳IH匹配的项”bugReportCSDjA FetionBoMMATLABmatlab2014My Books *审f 1in1S;(N): myjcounterslx保杨理CO: Simulink Models (*幻”亠央輻取消S Mresh elocks匚trl+K| 圾 亦辽Subsystem & Model ReferencebCreat
14、e Subsystem from SelectionCtrl + Gformat*Exo s nd Su bsvstrnt+GDiagram | Simulation Analysis Code Tools HelpjaCLKD!Qhits;J-K Fb|Rcp1Rile Edit View Display Diagram Simulation Analysis Code Ta巳 my oo u nter/ubsystrnSulisysln Subsrystera03IL(foub*e此时圭寸装的模块变成了下面的样子:Q1 Q4 clK Q2 Q3 Subsystem因为这个模块可以进行015
15、的循环计数,这里将我们可以双击模块下面的名称来改变它,名称改成counter 16。如下:counter 16Q3计数器的仿真现在一个4位计数器已经实现了, 下面做一个简单的仿真来检测这个计数器是否能工作。切换到 Simulink Library Browser 窗口,在 SimulinkSinks 中获取示波器 Scope,在 Simulink ExtrasFlipFlops中获取时钟模块 Clock,并将它们拖放到 my_counter文档中,如图my_counter *file Edit View Display Diagram Sirriiulation Analysis Code I
16、bols HelpQ- 10 0JITLClockelkQ1Q4Q2Q3Scope my_counttr counter_16然后双击Scope打开示波器,然后点击菜单栏的齿轮图标打开示波器属性对话框,设置示波器的输入通道为5,勾选Lege nds,这样就能同时观测 5个信号,并显示信号名称。点击Apply, OK.niS3 IffJI00lime offset (此时示波器有了 5个通道,示波器的符号也发生了变化,如图:0246810Time offset: DScope这样不便于连线,鼠标放在该图但是此时示波器的符号有点小,以至于输入端口出现交叠,鼠标移到某一个方块上时可以调整图标大小,重
17、新调整标上是图标四周会出现四个小方块, 大小使其方便连线,如下:ScopeScope然后双击Clock打开时钟属性对话框,将时钟的周期设置为1呈 Source Block Parameters ClockDigit al clock (iiask) (link)Digit al clacks.Output is set to 1 for the first half of the period.JULClockPar:ametersPeriod:FApply然后按照下面的方式完成连线。Q1jin.Q2Clk Q3ClockQ4counter_16Scope在下面的工具栏中设置仿真时间长度,前面
18、设置了时钟周期为1,下面设置仿真时间长度为10,那么就会有10个完整的时钟。点击下图左边第一个带齿轮的后退图标可以设置仿真时 前进和后退的相关参数,点击之后我们可以看见有是否允许后退,前进按钮按下时前进幅度,暂停时刻等设置。绿色的运行按钮按下时会进行指定时长的仿真。前进按钮按下时会执行指定步长的仿真,此时前进按钮右边的停止按钮会被激活,只有按下该停止按钮才能推出单步仿真模式。现在将仿真时长设置为 40,然后按下绿色的运行按钮。仿真40个时间长度后会自动停止,然后双击示波器,如下图:邑區f空| EH第需 R %counter_16/1匚 lock05j I I I L05101520253035
19、40Tme offset: 0打开时波形可能不是这样的,需要一些调整,首先鼠标放在任何一个通道上右键,选择Autoscale,这样波形将充满整个屏幕,并根据屏幕大小调整。我们可以发现各个通道纵轴坐 标范围都是-5到5,而我们这里是对逻辑电路进行仿真,电平值只有0和1两个,这里可以右键,选择 Axes properties,设置纵轴的范围为 0到2然后可以拖拽右侧的信号名称到合适位置,调整好如下图:由图我们可以看到四个输出端分别对时钟进行了2,4,8,16分频,增加输出端的状态就能够实现计数功能。交通灯电路设计交通灯设计的关键思路就是根据不同时刻对不同的灯进行开关操作。这里为了简单没有为计数器设
20、计清零端,由于一个计数器只能计时16个时间单位,这里我们将两个计数器串联起来,从而实现256个时间单位的计数, 但是红绿灯的一次完整切换并不需要这么多时间,我们选择低6位作为计数端,6位能实现64个时间单位的计数,我们将时间进行一个划分, 绿灯持续25s,黄灯持续5s,红灯持续35s,这样就需要在25,30,63这三个时刻输入控制信号。 这里我们输出一个脉冲信号,然后利用这个脉冲信号对红绿灯状态进行翻转。25超过了一位计数器的计数范围,它可以拆分为16+9,,也就是低位计数器计数为9,高位计数器计数为1,这样用二进制表示就为0001_1001,而我们一共采用了低 6位,所以对应的计数器输出状态为01_1001,这样我们将其中的3个1输入到三输入与门,3个0输入到三输入或非门, 然后将它们的结果通过二输入与门输出。对于30,63时刻做同样处理。在simulink中直接能得到与门模型,上面我们用到了或非门,以及3输入与门等模型,这个需要对与门进行设置,双击一个与门模型,弹出属性对话框,在operator中可以选择改 门的类型,比如与门,与非门,反相器,或门等,下面的Number of in put ports可以设置这个门的输入数目。Fuftction Block PariiTieters:412上Logical OperatorLogical operators
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工程地质预测法
- 2025年数控钻床项目立项申请报告
- 人教版(2019)必修第一册Unit 2 Travelling around Reading for writing 课件
- 第13课 辽宋夏金元时期的对外交流 课件 统编版七年级历史下册
- 浙江省杭州市拱墅区2023-2024学年四年级下学期数学期末试卷(含答案)
- Brand KPIs for health insurance:Tata AIG in India-英文培训课件2025.4
- 李店镇 常津果品有限责任公司特色果品服务平台建设资金申请报告
- 协会工作人员管理制度
- 商贸公司归谁管理制度
- 从化企业策划活动方案
- 《保密制度培训》课件
- 2024年江苏省淮安市中考历史试卷(附答案)
- 医护人员出国(境)与参加学术会议管理制度
- 慢病随访管理
- 美容美发行业数字化门店营销策略
- 2024年专利代理人专利法律知识考试试卷及参考答案
- 高级会计师评审专业技术工作业绩报告
- 国开形成性考核00474《工程经济与管理》形考任务(1-12)试题及答案
- 风险分级管控与隐患排查治理管理制度
- 脓毒血症患者的护理查房
- 静脉输血规范课件
评论
0/150
提交评论