可编程延时电路的设计.docx
- 文档编号:30150203
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:10
- 大小:22.58KB
可编程延时电路的设计.docx
《可编程延时电路的设计.docx》由会员分享,可在线阅读,更多相关《可编程延时电路的设计.docx(10页珍藏版)》请在冰豆网上搜索。
可编程延时电路的设计
可编程延时电路的设计
摘要:
本文设计了一个基于ATmega8515L单片机的可编程延时电路,实现了延时启动电路的功能。
主要论述了可编程延时电路的原理及其软硬件设计,设计工作分别为:
理论探讨,原理分析,设计出总体方案;具体硬件电路与软件设计以实现延时;调试程序,检查硬件电路。
利用VisualBasic6.0设计一个人机界面,该界面实现了延时时问数据下载、读取、确定功能。
整个单片机程序的仿真是在AVRStudio4的环境下进行。
通信口选择的是SPI(PeripheralSerialInterface)。
本设计主要的优点是功耗低,电路简单,可移植。
本设计完成了任务书中的要求,实现了可编程延时电路的设计。
关键词:
可编程延时,ATmega8515L,单片机,SPI
ProgrammableDelayCircuitDesign
Abstract:
ThisdissertationdescribesaprogrammabledelaycircuitbasedonATmega8515LofAtmel'smicrocontroller,whichcandelaythecircuitsstart.Thispaperanalysestheprincipleofprogrammabledelaycircuitandconceivesthehardwareandthesoftware'sdesign.Thisarticlehavethreeparts:
firstly,itsdiscussingtheoryanddemonstratingprincipies,,herewebringforwardtheoveralldesignofprogrammabledelaycircuit;secondly,thedelaycanbeachievedbydesigningthehardwarecircuitandsoftware;atlast,itprovedecisivetothewholeworkthattheprogramisdebuggedandthatthehardwarecircuitischecked.
TappedtheVisualBasic6.0,theprojectincludesaman-machineinterface,whichbrings outfunctionsofaPCthatistocontrolthedelaydata.TheprogramofMicrocontrollerisdebuggedintheenvironmentofAVRStudio4.ThePCcommunicatethedatawithmicrocontrollerviatheSPI(PeripheralSerialInterface).Themainadvantageofthisdesignisverylowpowerconsumptionandthecircuitissosimplethatitcanbetransplantedtoothercircuit.Therequirementsofthetaskiscompletedandthedesignisverytheprogrammabledelaycircuitwhichweneed.
Keywords:
programmabledelay,ATmega8515LofAtmel'smicrocontroller,SPI
1绪论
1.1引言
在自动控制中,有时为了使被控对象在规定的某段时间里工作或者使下一个操作指令在适当的时候发出,往往需要使用延时电路。
传统的延时电路一般有以下这些:
继电器延时电路;555组成的延时电路;晶体管组成的延时电路,RC延时电……由于现在可编程器件的兴起,延时电路也可以用可编程器件构成,本文的设计就是利用了ATmega8515L单片机内的看门狗定时器、中断、电源管理等模块及VB编程来综合实现可编程延时电路文献1。
1.2可编程延时电路的研究现状
目前市场上有各种可编程延时电路的设计,在设计之前先了解了现有的可编程延时电路,并与传统的延时电路做了对比。
如数字可编程延时器AD9500和AD9501,它们就是为自动测试设备中的数字数据线的抗扭斜而设计的。
数字可编程延时器就是把数字信号的上升沿或下降沿延时输出,延时的多少由编程来决定文献2。
对于传统的延时电路延时的多少一般是固定的,如RC延时电路(如图1.1),当电容电阻固定之后,延时的时间就固定了。
另外还有数字控制可编程延时电路单元,由于经典型延时单元的控制信号为模拟信号,无法用数字向量控制其延时,有的用数字向量控制,但其延时时间与控制向量之间难以实现单调性,故提出数字控制可编程延时单元结构,满足数字VLSI(现代超大规模集成)电路设计需求文献3。
并且延时单元广泛应用于VLSI电路的设计中,如延时锁定环(DLLs)、相位锁定环(PLLs)和数字控制振荡器(DC}S)等电路文献45。
而传统的延时电路不易集成且本身的体积就很大,如555延时电路(如图1.2),其中的时基芯片555就与ATmega8515相差不大,故整体电路的体积就更大。
通过以上分析可以看出可编程延时电路要比传统的延时电路有更多的优势,而且随着集成电路的发展与应用的扩大,要求延时电路必须可嵌入超大规模的集成电路的设计中,而不是单单的由分离器件构成[文献6-9]。
但是可以看出传统延时电路的设计更为简单。
所以就需要一个既可嵌入大规模集成电路中又要设计非常简单的延时电路,本设计就是基于这一构想而设计的。
为了达到本设计的要求与预期想法,就需要采用嵌入式单片机,而ATmega8系列单片机就是ATMEL公司的高档AVR单片机,且是一款嵌入式高性能8位单片机。
在这类单片机中,除片内MCU均采用ARISC结构以外,片内所含其他功能模块的种类较多,功能也较强文献10。
和传统概念上的单片机应用相比,采用像ATmega8系列一类的嵌入式单片机无疑可以进一步缩小硬件应用系统的体积和重量、降低生产成本、增加系统可靠性和缩短新产品的开发周期。
所以ATmega系列单片机正是本设计所需要的理想硬件。
并且AVR系列单片机也为软件的实现提供了可能。
因为AVR系列的单片机不仅具有良好的集成性能,而且都具备在线编程接口,其中的ATmega8系列还具备JTAG仿真和下载功能;含有片内看门狗电路、片内程序Flash、同步串行接口SPI、AVR单片机的I/O接口具有很强的驱动能力,灌入电流可直接驱动继电器、LED等元件,从而省去驱动电路,节约系统成本文献11
1.3ATmega8515L器件简介
ATmega8515L有如下特点:
8KB字节的系统内可编程Flash(具有同时读写的能力,即RWW),512字节EEPROM,512字节SRAM,一个外部存储器接口,35个通用I/O口线,32个通用工作寄存器,两个具有比较模式的灵活的定时器/计数器(T/C),片内/外中断,可编程串行USART,具有片内振荡器的可编程看门狗定时器,一个SPI串行端口,以及三个可以通过软件进行选择的省电模式。
工作于空闲模式时CPU停止工作,而SRAM,T/C,SPI端口以及中断系统继续工作;掉电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位之外都停止工作;Standby模式下只有晶体或谐振振荡器运行,其余功能模块处于休眠状态,使得器件只消耗极少的电流,同时具有快速启动能力文献12
本课题研究的是如何设计基于ATmega8515L的延时电路以及运用VB软件设
计相应的程序。
本文对可编程延时电路中ATmega8515L单片机的正确合理的使用、延时的精度以及外设接口进行的研究。
2可编程延时电路的功能与设计方案
2.1设计方案的确定
本文的设计是基于ATmega8515L实现的可编程延时电路,延时电路的上位机是由VB程序构成。
本设计可以从以下几个方面来确定可编程延时电路的设计方案。
1.微处理器
采用ATMEL公司的ATmega8515L主要原因有以下几点:
(1)采用精简指令集CPU,可高速执行指令;
(2)性价比高,货源充足;
(3)PDIP40的封装,体积小,使得产品更小型化;
(4)为EZPROM程序存储介质,1000次以上擦/写周期,便于编程调试;
(5)低功耗。
AVR单片机具有6种休眠功能,能从低功耗模式迅速唤醒;
(6)工作电压范围宽:
2.7一S.SV,便于交直流供电。
2.可编程延时电路的上位机
就延时时间的设定而言,通常可以用硬件实现或软件实现。
本设计采用了软件来实现延时时间的设定与对延时时间的修订。
在Windows下运用VB,VC等软件很容易编制人机界面友好、控制管理较强的控制软件。
在本文中,数据通信的上位机软件利用VisualBasic6.0提供的通信控件MSComm及其编程方法,通过串行接口实现上位机与下位单片机之间的数据通信。
3.可编程延时电路的SPI(PeripheralSerialInterface)
SPI(PeripheralSerialInterface——串行外设接口)总线系统是一种同步串行外设接口,允许MEU与各种外围设备以串行方式进行通信、数据交换。
它具有电路简单、速度快、通信可靠等优点,近年来应用非常广泛文献13
SPI接口一般包括4条线:
串行时钟(SCK)、主机输人/从机输出数据线(MOSI)、从机输入/主机输出数据线(MISO)和低电平有效的从机选择线((SS),有的SPI接口没有从机选择线,通过数据线传递地址信息的方式进行寻址。
在从机选择线SS使能的前提下,从机的SCK脉冲将在数据线上传输主/从机的串行数据。
SPI控制寄存器SPCR,检查SPI状态寄存器SPSR,我们可以很方便的实现AVR单片机与其他SPI外设或AVR单片机之间的SPI通信。
SPCR是八位的寄存器,它的位定义如表2.1所示。
根据SPCR寄存器的位定义,可以对该寄存器进行设置。
在进行SPI的任何操作时,SPE位都必须置位。
当AVR单片机运行于主机模式时MSTR位应该被置位。
如果MSTR为“1”时,SS端口被设置为输入,且被外部拉低,那么MSTR就会被清除,SPSR状态寄存器中的SPIF位被置位,AVR单片机被迫进入从机模式。
此时需要用户重新设置MSTR,再次将SPI设置为主机模式。
而SPI串行通信的传输速率选择由主机SPI状态寄存器中的SPR1,SPRO组合控制。
SPR1,SPRO对从机模式没有影响文献15
所以根据以上叙述,本设计的方案可以确定为硬件电路的部分由ATmega8515单片机构成,而上位机的功能由VB6.0实现,上位机与下位机之间的通信由SPI接口实现。
2.2功能与设计要求
2.2.1可编程延时电路的实现形式
根据现在的可编程延时电路可以看出,可编程延时电路既可以通过纯硬件实现,也可以通过软硬件结合实现。
根据可编程延时电路的核心部件即延时时间产生的原理,一般有以下三种形式。
(1)采用可编程逻辑器件的实现形式
在现代电子设计中,可编程逻辑器件扮演了一个非常重要的角色。
由于可编程逻辑器件的出现,使得很多设计的可编程得以实现。
而可编程延时电路毫无疑问的可以采用这种实现形式。
现在最常用的可编程逻辑器件是CPLD和FPGA,用他们可以很方便的实现可编程延时电路。
(2)采用专门的可编程延时器件的实现形式
AD9500和AD9501可编程延时器件是一种通用器件,他们可以用于多种领域。
数字可编程延时器就是把数字信号的上升沿或下降沿延时输出,延时的多少由编程来决定。
图2.1显示了可编程延时器的基本功能,通过这种器件产生的延时是由N位的二进制数来控制的。
这就是所谓的可编程延时,触发脉冲在输入端出现后,经过固有的传输延时(tpD)以及编程延时以后,脉冲信号的边沿才会出现在输出端文献16
(3)采用基于单片机的实现形式
利用某些微处理器的可编程性能,可以方便的实现可编程延时电路的设计。
并且微处理器均具有振荡系统,利用系统时钟再由微处理器的定时器/计数器可实现可编程延时电路中比较时间的产生。
而且用单片机实现的可编程延时电路还可以实现智能化。
2.2.2功能与设计要求
就本文的设计而言,具有以下基本功能要求:
(1)能够随意的设定小于168小时的延时时间。
对于可编程延时电路,能够
随意设定延时时间是基本的要求。
(2)能够对其进行编程。
(3)能够对延时的时间进行修订。
由于本设计对发出的延时时间会收回来,
就可以确定发出的时间是否正确。
(4)另外本设计对时钟要求很严格。
本设计是在时间的延迟之后才进行预定
的操作,如果时间要求不严格的话,会使得原本预定的任务无法完成。
3硬件系统设计
3.1硬件系统框架
可编程延时电路的系统框架图如图3.1所示。
上位机的功能由VB编程实现,也就是由VB发出延时时间给单片机。
当单片
机接收到数据后,再发回给上位机,上位机确定延时时间正确后,给单片机一个确定执行的指令,单片机开始执行延时,最后指示灯亮,延时结束。
在本设计中上位机的功能由软件实现。
所以整个设计的硬件电路设计主要是单片机外围电路的设计。
而对于本设计,一共有五个状态,如图3.2所示。
这五个状态是电路所完成延时所经历的整个过程。
系统初始化完成之后,系统会进入sleep,此时若没有接收到数据,系统会一直处于这个状态,以降低功耗。
当SPI被使能,就会进入到数据接收的状态。
到接受好数据之后,会马上把数据发回给上位机。
再次接受到数据,确认最后一位是否是确认信号,若是进入延时阶段。
进入延时阶段后,系统要通过定时来完成时间的走时,这时是定时状态。
完成之后,就会进入低功耗,等待下次数据的传输。
3.2硬件电路设计
可编程延时电路的主机电路指的是图3.1中的单片机部分。
主机电路的设计具体的说有:
(1)系统时钟;
(2)系统复位电路的设计;(3)系统的电源电路的设计;(4)显示电路设计。
3.2.1系统时钟
由于本设计对数据的运行速度要求不是特别严格,所以在此前提下,为了减小整体设计的体积,同时也是为了降低功耗,本设计采用了AVRATmega8515L内部提供的时钟。
AVRATmega8515L内集成了可校准的内部RC振荡器,它可以提供固定的1.OMHz,2.OMHz,4.OMHz或8.OMHz时钟信号作为系统时钟源文献17。
因此选择了1.OMHz来作为单片机的时钟源。
另外当使用内部RC振荡器作为时钟源时,看门狗仍然使用自己的看门狗定时器作为溢出复位的依据。
要选择1.OMHz的时钟频率,CKSEL3~0应该为0001。
当单片机上电后,首先按下reset键,使系统复位,此时1.OMHz的标定数据会自动加载到振荡器校准寄存器—OSCCL。
3.2.2系统复位电路设计
智能系统一般应有手动或上电复位电路。
复位电路通常有两种方式:
专用尸监控电路和RC复位电路。
前者又被称为电源监视电路,具有上电时可靠产生复位信号和电源电压跌落到“门槛值,,时可靠产生复位信号等功能【is}。
在ATmega8中有上电复位、看门狗复位和电源电压检测BOD三种专用尸监控电路。
但是这种复位的可靠性相对较低。
而另一种复位电路—RC复位电路的可靠性就要高些,并且是高可靠重复复位。
本设计就是采用RC复位方式。
RC复位电路的实质是一阶充放电路电路。
该
复位电路有两个作用:
(1)清除所有引脚已有的状态(XTAL除外),清零所有I/O口的寄存器,并且使
编程计数器清零。
(2)进入编程模式。
另外,它有可能进入一个高电压或者平行编程的模式通过形
成reset引脚“非常高”的电压,这里的高电压是指11.5-12.5V}19}o
在本设计中采用的是debu}WIRE(单线仿真)编程,所以电阻采用10kS2。
而为了消除reset引脚的噪声,在地与reset引脚之间加了一个10逆的电容。
加入这
个电容是非常必要的,因为在ATmega8515单片机中没有直接的低通滤波器来消除
尖峰和噪声可能导致的不是我们所要的重置。
在电源与reset引脚之间加上IN4148
是为了更加方便的知道;eset已经进行。
图3.3是本设计的复位电路。
3.2.3系统的电源电路
如果仅仅是看该单片机的参数,会想当然的认为电源不是很关键,因为该单片
机有很宽的工作电压范围并且只产生几个毫安的电流。
但是与所有的数字电源一
样,电源电流是一个平均值。
电流会在时钟边缘产生小毛刺。
如果u0口切换,毛
刺会变大。
所以在连接电源时,加入电容电感是必须的。
图3.4就是一个不正确的连接,如果只是如图所接,那么电容过于远离器件,
那么就在VCC与地之间建立了一个大型高电流回路。
这样的话会使噪音更容易传
到电路板上的其它器件上而且会有更多的辐射[}za}。
为了解决该问题,可以在电容与
电源之间再串联一个电感,该电感的值应该尽量小以保证直流电压不会有大的下
降,图3.5是改进后的电源图。
有了电路图之后,就是要决定用何种方式提供电源。
由于该单片机有较宽的工
作电源范围,但是为了降低功耗,可以选择一个较低的工作电压。
根据该单片机的
工作电压范围与上述原因,本设计选择的是3.7V的工作电压。
根据设计的思想,
选择聚合物铿电池作为电源。
该锉电池的参数如表3.1所示。
如此,本设计的电源电路就设计出来了,图3.6便是本设计的电源电路C
3.2.4显示电路设计
该显示电路完成的显示功能是:
当系统上电后,一切都初始化好了,系统处于
待机状态时,亮灯提醒,当开始工作后,灯灭;而当延时完成时,再闪烁亮灯,提
示延时完成。
图3.7是本设计的显示电路。
3.3硬件电路原理图
当上述电路的设计都完成以后,那么可编程延时电路就完成了,在
PROTEL99SE可以画出原理图,为PCB板的制作而做好准备。
具体的原理图见附
录A。
本设计画电路图使用的软件是PROTEL99SE,在该软件中没有现成的
ATmega8515L芯片,所以需要自己动手自作,图3.8就是该芯片,但是由于本设计
使用的引脚非常少,只是画出了部分引脚,完整的引脚说明见附录B。
由引脚图可
知该芯片共有三种封装形式,本设计选择地是PLCC封装,共有44个引脚。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 可编程 延时 电路 设计