ImageVerifierCode 换一换
格式:DOC , 页数:9 ,大小:73KB ,
资源ID:8896674      下载积分:10 金币
验证码下载
登录下载
邮箱/手机:
图形码:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/8896674.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请。


权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4009-655-100;投诉/维权电话:18658249818。

注意事项

本文(CBFAC800F培训手册.doc)为本站上传会员【s4****5z】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

CBFAC800F培训手册.doc

1、基于VHDL语言的汽车尾灯控制电路的设计 摘要:本课题主要是基于可编程逻辑器件,使用硬件描述语言VHDL,采用“自顶向下”的设计方法编写程序实现汽车尾灯的控制,并对控制器进行编程下载,它的体积小,功耗低,成本低,安全可靠,能实现控制器的在系统编程,其升级与改进极为方便。 关键词: VHDL 汽车尾灯控制 时钟信号 1. 尾灯控制电路总框图, 根据电路总框图的描述,我们大概可以了解到整个汽车控制尾灯的工作原理,从中我们可以发现当左右转信号同时有效时,6盏灯的闪烁是通过一个与非门实现的。并且可以获知本次设计的汽车尾灯控制电路主要分为三个模

2、块,即控制模块,左转LFTA模块和右转RITA模块。了解到这几点,就可以对本次设计作较为详尽的解释。 2.模块KONG。 模块KONG如图所示,此为整个程序的控制模块。程序如下: Library ieee; Use ieee.std_logic_1164.all; Entity kong is Port(left,right:in std_logic; Lft,rit,lr:out std_logic); End kong; Architecture kong_logic of kong is Begin Process(lef

3、t,right) Variable a:std_logic_vector(1 downto 0); Begin A:=left & right; Case a is When”00”=>lft<=’0’; Rit<=’0’; Lr <=’0’; When”10”=>lft<=’1’; Rit<=’0’; Lr <=’0’; When”01”=>rit<=’1’; Lft<=’0’; Lr <=’0’; When other=>rit<=’1’; lft<=

4、’1’; lr<=’1’; end case; end process; end kong_arc; 控制模块首先使用了库说明语句:library ieee; Use ieee.std_logic_1164.all 使用ieee库中的std_logic_1164程序包的全部资源。此控制模块定义的实体名为kong。在程序中要求实体名与存储的文件名一致。实体名为kong,则存储的文件名为kong.vhd。且此段程序包有5个端口,其名称分别为left. Right. Lft. Rit. Lr 。left 和right的端口

5、方式是输入,lft, rit, lr 是输出,他们的端口类型都是std_logic的数据类型。实体说明部分结束以后,就是结构体的说明部分。结构体是整个VHDL语言中至关重要的一个组成部分,这个部分给出模块的具体说明,指定输入与输出之间的行为。结构体对实体的输入输出关系可以用三种关进行描述,即行为描述,寄存器传输描述和结构描述。只不过结构体的框架是完全一样的。本结构体中包含有一个进程语句,进程语句中又包含有两个敏感量process(left ,right),从begin开始到end process结束是一组顺序执行语句,ieee标准数据类型“std_logic_vector”定义了两位位矢量1d

6、ownto 0,变量为a。程序往下把left和right的与赋值给a,下面便执行case语句了 ,case语句是无序的,所以所有条件表达式的值都是并行处理的。当条件表达式的值为”00”时则把lft ,rit ,lr,都变为0,所有信号都无效。当条件表达式为”10”时,左转信号lft有效,其它信号都无效,当条件表达式的值为”01”时右转信号rit有效,其余的无效。若条件表达式为其它的情况的话,那么就将rit ,lft ,lr 全部置1,即全部有效。最后结束case语句 end case .结束进程和结构体语句。 3. 模块LFTA 源程序: Library ieee; Use ie

7、ee.std_logic_1164.all; Entity lfta is Port(en,clk,lr:in std_logic; L2,l1,l0:out std_logic); End lfta; Architecture lft_arc of lfta is Begin Process(clk,en,lr) Variable tmp:std_logic_vector(2 downto 0); Begin If lr=’1’ then Tmp:=”111”; Elsif en=’0’ then Tmp:=”000”; Elsif clk’event and

8、 clk=’1’ then If tmp=”000” then Tmp:=”001”; Else Tmp:=tmp(1 downto 0) & ‘0’; End if ; End if; L2<=tmp(2); L1<=tmp(1); L0<=tmp(0); End process; End lft_arc; 模块LFTA同样使用了ieee库语句,定义的实体名为lfta,其共分为六个端口即en,clk,lr,l2,l1,l0,其中en,clk,lr为输入,l2,l1,l0的端口方式为输出,而它的端口类型同样也为std_logic数据类型。LFTA程序中结构体名为lft_

9、arc,实体名为lfta 。结构体中包含有一个进程,共定义了三个敏感量clk,en,lr,设变量名tmp为2 downto 0 的三位位矢量。当左右开关同时接通时lr有效,即lr=1,此时tmp:=”111”右边的三盏灯全亮起来,当tr=1时但en=0则左边三盏灯全灭不亮。而如果这两种情况都不是的话,那么lr=’0’时当时钟上升沿脉冲到来时,如果tmp=”000”则左边第一盏灯亮,否则就将tmp(1 downto 0)和’0’的与赋值给tmp,那么依次左边的三盏灯就能实现从左到右按次序亮灭了。最后将tmp(2)送到l2,tmp(1)送到l1,tmp(0)送到lo,结束程序和结构体。这就是在实现

10、左转弯的时候执行的程序的全过程。通过对左转的理解,右转弯就很容易了,其执行的过程和左转弯的时候非常相似的 。我们也可发现LFTA模块的功能是当左转时控制左边的三盏灯,当左右转信号都有效时,输出为全’1’。下面来看一下右转弯控制模块。 4.模块RITA 源程序: Library ieee; Use ieee.std_logic_1164.all; Entity rita is Port(en,clk,lr:in std_logic; R2,r1,r0:out std_logic); End rita; Architecture rit_arc of rita is Be

11、gin Process(clk,en,lr) Variable tmp:std_logic_vector(2 downto 0); Begin If lr=’1’ then Tmp:=”111”; Elsif en=’0’ then Tmp:=”000”; Elsif clk’event and clk=’1’ then If tmp=”000” then Tmp:=”100”; Else Tmp:=’0’ & tmp(2 downto 1); End if; End if ; R2<=tmp(2); R1<=tmp(1); R0<=tmp(0); End

12、process; End rit_arc; 和左转弯时候的相同,右转弯时再次使用了ieee的库说明,这样我们可以很清楚的理解了右转弯的原理,此时库定义的实体名为rita,对于实体名前面已经讲过了不再重复了,同样的程序包中还是使用了6个端口en ,clk,lr,r2,r1,r0. en ,clk, lr的端口方式是输入,r2,r1,r0的端口方式是输出。结构体中和左转时相同引入一个进程同时和三个敏感量:clk,en,lr。变量tmp为2downto 0的三位位矢量。当左右开关同时接通时lr=’1’,那么此时变量tmp=’111’,即右面的三盏灯都有信号,三盏灯全亮。否则lr=’0’,当en=

13、’0’时,tmp=’000’,即三盏灯全灭掉。Elsif clk’event and clk=‘1’即当时钟脉冲上升沿到来时,en=’1’,如果tmp=”000”,就把”100”送到tmp 此时右边的第一盏灯亮。否则就把’0’和tmp(2 downto 1)的与送到tmp,则依次为右边第一盏灯,第二盏,第三盏亮。然后结束if语句。这个之后就和左转的程序是一样的了,将tmp(2)中的数值送到r2,将tmp(1)中的数值送到r1,将tmp(0)中的数据送到r0,然后结束进程语句和整个结构体语句。那么到这里整个汽车尾灯的VHDL程序控制就结束了。 5.结论: 本次设计用到了硬件描述语言VHDL实

14、现了对汽车尾灯的控制,总结整个设计程序我们可以发现一些问题; 设计中的优点:基本实现了汽车在运行时候尾灯点亮方式的各种情况。 设计中的不足:由于在行车的时候都是用开关控制的,所以每一个开关应该有一个消除机械振动的装置,可以利用基本RS触发器来实现,所以在条件允许的情况下可以对整个设计进行进一步的改进。 6.参考资料: 王振红 《VHDL数字电路设计与应用实践教程》 机械工业出版社 2006年1月 彭容修 《数字电子技术基础》 武汉理工大学出版社 2005年9月 潘松 黄继业 《EDA技术与VHDL》

15、清华大学出版社 2006年11月 2009.12.27 library ieee; use ieee.std_logic_1164.all; entity ZHUKONG is Port(left,right:in std_logic; Lft,rit,lr:out std_logic); end; architecture kong_arc of ZHUKONG is begin

16、Process(left,right) Variable a:std_logic_vector(1 downto 0); Begin A:=left & right; Case a is When"00"=>lft<='0'; Rit<='0'; Lr <='0'; When"10"=>lft<='1'; Rit<='0'; Lr <='0'; When"01"=>rit<='1'; Lft<='0'; Lr <='0'; When others=>r

17、it<='1'; lft<='1'; lr<='1'; end case; end process; end kong_arc; library ieee; use ieee.std_logic_1164.all; entity LFTA is Port(en,clk,lr:in std_logic; L2,l1,l0:out std_logic); end; architecture lft_arc of LFTA is begin Process(clk,en,lr) Variable tmp:std_log

18、ic_vector(2 downto 0); Begin If lr='1' then Tmp:="111"; Elsif en='0' then Tmp:="000"; Elsif clk'event and clk='1' then If tmp="000" then Tmp:="001"; Else Tmp:=tmp(1 downto 0) & '0'; End if; End if; L2<=tmp(2); L1<=tmp(1); L0<=tmp(0); End process; end lft_arc;

19、library ieee; use ieee.std_logic_1164.all; entity RITA is Port(en,clk,lr:in std_logic; R2,r1,r0:out std_logic); end; architecture rit_arc of RITA is begin Process(clk,en,lr) Variable tmp:std_logic_vector(2 downto 0); Begin If lr='1' then Tmp:="111"; Elsif en='0' then Tmp:="000"; Elsif clk'event and clk='1' then If tmp="000" then Tmp:="100"; Else Tmp:='0' & tmp(2 downto 1); End if; End if ; R2<=tmp(2); R1<=tmp(1); R0<=tmp(0); End process; end rit_arc; 参考资料

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服