• 回答数

    6

  • 浏览数

    289

crystal85k
首页 > 期刊论文 > 电路设计毕业论文

6个回答 默认排序
  • 默认排序
  • 按时间排序

小馋猫儿richard

已采纳

2005年全国大学生电子设计竞赛题

302 评论

美眉要加油

基于VHDL语言的汽车尾灯控制电路的设计摘要:本课题主要是基于可编程逻辑器件,使用硬件描述语言VHDL,采用“自顶向下”的设计方法编写程序实现汽车尾灯的控制,并对控制器进行编程下载,它的体积小,功耗低,成本低,安全可靠,能实现控制器的在系统编程,其升级与改进极为方便。关键词: VHDL 汽车尾灯控制 时钟信号1. 尾灯控制电路总框图,根据电路总框图的描述,我们大概可以了解到整个汽车控制尾灯的工作原理,从中我们可以发现当左右转信号同时有效时,6盏灯的闪烁是通过一个与非门实现的。并且可以获知本次设计的汽车尾灯控制电路主要分为三个模块,即控制模块,左转LFTA模块和右转RITA模块。了解到这几点,就可以对本次设计作较为详尽的解释。2.模块KONG。模块KONG如图所示,此为整个程序的控制模块。程序如下:Library ieee;Use ieee.std_logic_1164.all;Entity kong isPort(left,right:in std_logic;Lft,rit,lr:out std_logic);End kong;Architecture kong_logic of kong isBeginProcess(left,right)Variable a:std_logic_vector(1 downto 0);BeginA:=left & right;Case a isWhen”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<=’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的端口方式是输入,lft, rit, lr 是输出,他们的端口类型都是std_logic的数据类型。实体说明部分结束以后,就是结构体的说明部分。结构体是整个VHDL语言中至关重要的一个组成部分,这个部分给出模块的具体说明,指定输入与输出之间的行为。结构体对实体的输入输出关系可以用三种关进行描述,即行为描述,寄存器传输描述和结构描述。只不过结构体的框架是完全一样的。本结构体中包含有一个进程语句,进程语句中又包含有两个敏感量process(left ,right),从begin开始到end process结束是一组顺序执行语句,ieee标准数据类型“std_logic_vector”定义了两位位矢量1downto 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 ieee.std_logic_1164.all;Entity lfta isPort(en,clk,lr:in std_logic;L2,l1,l0:out std_logic);End lfta;Architecture lft_arc of lfta isBeginProcess(clk,en,lr)Variable tmp:std_logic_vector(2 downto 0);BeginIf lr=’1’ thenTmp:=”111”;Elsif en=’0’ thenTmp:=”000”;Elsif clk’event and clk=’1’ thenIf tmp=”000” thenTmp:=”001”;ElseTmp:=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_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,结束程序和结构体。这就是在实现左转弯的时候执行的程序的全过程。通过对左转的理解,右转弯就很容易了,其执行的过程和左转弯的时候非常相似的 。我们也可发现LFTA模块的功能是当左转时控制左边的三盏灯,当左右转信号都有效时,输出为全’1’。下面来看一下右转弯控制模块。4.模块RITA源程序:Library ieee;Use ieee.std_logic_1164.all;Entity rita isPort(en,clk,lr:in std_logic;R2,r1,r0:out std_logic);End rita;Architecture rit_arc of rita isBeginProcess(clk,en,lr)Variable tmp:std_logic_vector(2 downto 0);BeginIf lr=’1’ thenTmp:=”111”;Elsif en=’0’ thenTmp:=”000”;Elsif clk’event and clk=’1’ thenIf tmp=”000” thenTmp:=”100”;ElseTmp:=’0’ & tmp(2 downto 1);End if;End if ;R2<=tmp(2);R1<=tmp(1);R0<=tmp(0);End 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=’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实现了对汽车尾灯的控制,总结整个设计程序我们可以发现一些问题;设计中的优点:基本实现了汽车在运行时候尾灯点亮方式的各种情况。设计中的不足:由于在行车的时候都是用开关控制的,所以每一个开关应该有一个消除机械振动的装置,可以利用基本RS触发器来实现,所以在条件允许的情况下可以对整个设计进行进一步的改进。6.参考资料:王振红 《VHDL数字电路设计与应用实践教程》 机械工业出版社 2006年1月彭容修 《数字电子技术基础》 武汉理工大学出版社 2005年9月潘松 黄继业 《EDA技术与VHDL》 清华大学出版社 2006年11月2009.12.27library ieee;use ieee.std_logic_1164.all;entity ZHUKONG isPort(left,right:in std_logic;Lft,rit,lr:out std_logic);end;architecture kong_arc of ZHUKONG isbeginProcess(left,right)Variable a:std_logic_vector(1 downto 0);BeginA:=left & right;Case a isWhen"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=>rit<='1';lft<='1';lr<='1';end case;end process;end kong_arc;library ieee;use ieee.std_logic_1164.all;entity LFTA isPort(en,clk,lr:in std_logic;L2,l1,l0:out std_logic);end;architecture lft_arc of LFTA isbeginProcess(clk,en,lr)Variable tmp:std_logic_vector(2 downto 0);BeginIf lr='1' thenTmp:="111";Elsif en='0' thenTmp:="000";Elsif clk'event and clk='1' thenIf tmp="000" thenTmp:="001";ElseTmp:=tmp(1 downto 0) & '0';End if;End if;L2<=tmp(2);L1<=tmp(1);L0<=tmp(0);End process;end lft_arc;library ieee;use ieee.std_logic_1164.all;entity RITA isPort(en,clk,lr:in std_logic;R2,r1,r0:out std_logic);end;architecture rit_arc of RITA isbeginProcess(clk,en,lr)Variable tmp:std_logic_vector(2 downto 0);BeginIf lr='1' thenTmp:="111";Elsif en='0' thenTmp:="000";Elsif clk'event and clk='1' thenIf tmp="000" thenTmp:="100";ElseTmp:='0' & tmp(2 downto 1);End if;End if ;R2<=tmp(2);R1<=tmp(1);R0<=tmp(0);End process;end rit_arc;

203 评论

niuzhirong

说实话,为了几百分花这个精力,不值。。。同学,你还是自己写吧

185 评论

小小乖肉球

兄弟,求人不如求已,网上下载的论文,参考参考。改动改动就行了。你不知道天下文章一大抄嘛

225 评论

蔡一诺1989

兄弟那还不简单,现在网上有许多网站有代写论文功能,你试试有个叫鱼跃期刊的网站价格还可以接受。

82 评论

夏日风清凉

电子式多功能电能表的设计与实现 本文阐述了电子式多功能电能表的设计方法、硬件设计的技术关键和软件设计流程。并以NEC的uPD78F0338单片机为例,实现了一款具有四种费率、六条负荷曲线和两套费率结构的三相四线电子式多功能电能表 电子式多功能电能表主要针对国内市场三相用电的工业用户。随着电力行业改革深入,工业三相用电对多功能电能表的需求大量增加。目前国内多功能表种类少、价格较高、功能不完善,往往仅是针对某些地区的特定要求开发,缺乏通用性,某些产品未能完全达到国标的要求。本文介绍的电子式多功能电能表正是为了适应这种市场需求而设计的。 这是一款智能型高科技电能计量产品,该表可以同时计量正/反向有功电能、正/反向无功电能、四象限无功电能,还具有多费率控制,负荷曲线记录,各相失压、过压、频率超限记录,数据LCD显示等多种功能。主站可以通过RS-485总线或手持红外抄表器对该电表进行查表、设表、抄表等操作。 软件代码全部采用C/C++语言编写,编码效率高,可维护性好,便于实现模块化设计,可根据用户的需求方便地对功能模块进行裁剪。而且代码经过优化,其生成的目标代码大小和执行效率已与汇编代码相差无几。该产品的技术指标全面符合GB/T 17215-1998《1级和2级静止式交流有功电度表》、DL/T614-1997《多功能电能表》和DL/T645—1997《多功能电能表通信规约》的要求。 多功能电能表的总体结构和硬件设计 多功能表总体结构 电子式多功能电能表硬件的核心MCU主控制器,它负责按键输入扫描、工作状态检测,计量数据的读入、计算和存储、电表参数的现场配置以及与外界的通信控制等。其主要功能单元包括MCU主控制器单元、电量计量模块、红外和RS—485通信模块、校表模块、EEPROM存储阵列等;其他辅助模块主要有:时钟日历电路、工作异常报警电路、按键输入电路、复位和看门狗电路、开关电源模块和后备电池电路、大屏幕液晶显示模块和LED显示模块。多功能表总体结构框图如图1所示。 高性能主控制器单元 主控制器采用NEC公司8位单片机中的高档产品uPD78P0338。该款单片机为120脚QFP封装,单片集成有60KBFlash、一个异步通信串行口、40x4段LCD驱动器、高达10MHz的总线时钟和10路10位精度的ADC,并可通过简单的接口进行在系统编程,极大地方便在线调试和软件升级。并且支持高级语言,较好地满足了多功能表任务繁多、数据量庞大、算法较复杂的功能要求。 串口复用通信单元 通信电路模块主要包括TSOPl838红外接收头、红外发射二极管、载波电路、MAX487专用485收发电路、驱动/开关二极管和其他元件。 本电能表为便于用户抄表,设计有红外本地抄表和RS-485集中抄表两种串行抄表方式,因为uPD78F0338仅有一个串口,故通信电路设计时采用串口复用技术。由9012、9014和若干电阻等器件组成互补开关,由MCU的一个I/O口来控制红外和RS-485通信方式的切换,如图2所示。 高精度电量计量模块 计量模块由高精度专用电能计量芯片SA9904,电流互感器和其他外围电路元件组成。SA9904是Sames公司生产的一款三相双向功率/电能计量芯片,可以计量有功/无功功率、电压、频率、相序异常等,可以单独计量每一相的用电信息,符合IEC521/1036标准,可达到1级交流电能表的精度要求,各数据寄存器具有24位精度,可通过三线SPI接口与CPU交换数据。从而可以较好地适应多功能表需要计量多种电量数据的要求。SA9904引脚及其外围电路图如图3所示。 其中,CLK、DO、DI构成与MCU控制器的接口,用于传输控制命令和测得的电量数据,IIps、IIPt、IIPr用来对电流取样,IVPl、IVP2、IVP3用来对电压取样。 时钟日历模块 时钟电路采用EPSON生产的RTC-4553实时时钟芯片。内部集成了32.768kHz的石英晶体振荡器,简化外围电路,并可以根据需要进行自由设置以得到较高的频率;同时集成有时钟和日历计数器,可选择24或12小时显示模式,时钟可通过软件方式进行间隔30秒的调整,并提供0.1Hz或1024Hz的定时脉冲输出,以便于在电能表的外部对时钟精度进行定期检查。RTC-4553引脚及其外围电路图如图4所示。其中,SCK、Sin、Sout与主处理器接口,用于发送控制指令或者传输日期时间数据,本系统日历时钟模块采用电池作后备电源,以确保在停电状态下,日期时间的准确无误。 多功能电能表的软件设计 数据结构设计 多功能电能表涉及的数据类型种类繁多。按字节分包括单字节、双字节、三字节、四字节和六字节等,按表征的意义分有时间、时刻、电压、电流、有功功率、无功功率、有功电能、无功电能、次数、功率因数、门限、状态字、系数、表号等。复杂的数据类型对数据结构的设计提出了较高的要求,本实现方案通过采用多种数据寻址方式和多种类型存储器较好地解决了这一问题。 数据结构设计要点 系统的数据存放方式有:内部ROM、RAM和外挂EEPROM。 内部ROM用来存放大量的常数表格,RAM用于存放临时变量和堆栈,本方案需要2.5KB左右的RAM,串行EEPROM则存储各种用户电量数据和设表参数,通过12C总线与CPU交换数据,电能表按设计需求的最大要求大约需要250KB的EEPROM,本方案采用8片256位EEPROM通过级联来实现。 数据寻址方式 EEPROM数据访问采用两种方式;直接地址访问,通过数据的EEPROM地址直接读写数据;数据ID寻址,通过数据的编码读写数据。 通信口复用功能设计 红外通信和RS-485共用一个串行口(RxD/TxD)通信,由于串行口通信开始都有一低电平位(0),因此将红外接收端(与485接收端用一三极管隔开)引到一中断引脚INTP1,通过其引发的中断可判断串行口数据是否来自红外。发送时按时应方式发送,使其不互相干扰。由于红外通信和遥控接收用同一接收管,因此在判断红外来源的中断中启动定时器INTTM4检测红外接收端,如果检测到脉冲宽度为9ms或0.56ms,则判断为红外遥控,并根据定时检测遥控编码;否则判断为红外产生的串行口接收中断,并将定时检测关闭。 红外38.4kHz调制信号由CPU内部分频输出(P05/PCL)。f=fx/27=4.9152/128=38.4kHz。 因红外发送字节之间可选有15~20ms的延时,而485通信则不需要延时。数据发送在发送中断中进行,红外通信在发送操作后立即关闭发送中断允许,待延时时间到后再允许发送中断。 多功能表程序流程图 多功能表主程序流程主要包括初始化、数据校验、负荷曲线修补和事务处理等,其流程图如图5所示。 日常事务处理流程集中体现了多功能表的大部分主要功能,包括费率处理、计量数据采集及处理、自动抄表、电能脉冲输出、校表模块和掉电检测及处理模块等,其流程图如图6所示。

301 评论

相关问答

  • 集成电路彩灯设计毕业论文

    (一)设计要求包括:1、八路彩灯分别用8个发光二极管模拟,编号依次为0,1,…7,8个数码管依次显示;数字0、1、2……8不断循环,相应的8路彩灯能够自动循环点

    九尾天使 3人参与回答 2023-12-10
  • 智能负载电路设计毕业论文

    以下均可参考,满意给我加分,1. 基于FX2N-48MRPLC的交通灯控制 2. 西门子PLC控制的四层电梯毕业设计论文3. PLC电梯控制毕业论

    不服沙拉 5人参与回答 2023-12-07
  • 集成电路的设计本科毕业论文

    电子信息科学与技术专业本科毕业设计(论文)选题指南 一、电子信息科学与技术专业的学科领域 电子信息科学与技术专业属于电子信息科学类专业。电子信息科学类专业还包括

    爱照相的猫酱 2人参与回答 2023-12-12
  • 关于电路设计的毕业论文

    随着科学技术的快速发展,作为一门新兴的技术,电气工程及其自动化已被广泛应用到各个行业。下面是我为大家整理的电气工程及其自动化设计 毕业 论文,供大家参考。

    識食過人 5人参与回答 2023-12-07
  • 硬件电路设计毕业论文模板

    随着计算机技术的普及以及大众对计算机进行商务、学习、工作等需求的增长,计算机已经成为人们工作和学习不可缺少的高科技产品之一。现在,计算机已经进入实用阶段,越来越

    WTF=WheresTheFood 5人参与回答 2023-12-11