当前位置: 机电产品 >> 机电产品市场 >> 控件的应用与控制定时器控件
控件的应用与控制——定时器控件
定时器(用于定时的机械或电子装置)
年,英国外科医生索加取得一项定时装置的专利,用来控制煤气街灯的开关。它利用机械钟带动开关来控制煤气阀门。起初每周上一次发条,年使用电钟计时后,就不用上发条了。随着生活水平的提高,定时器的用途也越来越广泛。比如对开水机、热水器的定时控制,有了大功率定时器,定时开机、定时关机,实现节能、安全、健康的使用。
概述
人类最早使用的定时工具是沙漏或水漏,但在钟表诞生发展成熟之后,人们开始尝试使用这种全新的计时工具来改进定时器,达到准确控制时间的目的。定时器确实是一项了不起的发明,使相当多需要人控制时间的工作变得简单了许多。人们甚至将定时器用在了军事方面,制成了定时炸弹,定时雷管。不少家用电器都安装了定时器来控制开关或工作时间。
电子
在电子科学技术方面,在电子电路,电子计算机,人工智能领域,定时器的身影更是无处不在。计算机电子应用系统是由各种电子脉冲信号建立,发生并维持其运行的。
定时器是计算机CPU系统结构中的组成部分,主要分为硬件定时器和软件定时器两种。硬件定时器由CPU的硬件电子电路所组成,基础时钟的计时脉冲信号源为CPU的内部振荡器、外部振荡器,或者由外部输入脉冲信号源。基础脉冲信号源是频率、周期稳定,能够持续不断的发生的一组脉冲信号。通过对该脉冲信号的频率及周期的计数,实现对时间的定时,计时功能。
基础脉冲信号源的频率非常高,硬件定时器在对基础脉冲信号源进行一定的分频处理后,再对新的脉冲信号源进行记录,定时。硬件定时器具有计时准确,稳定,误差小等特点。
另一种是软件定时器,它是根据计算机语言中的语句指令功能来完成时间的设定,计时和开启功能。振荡源信号周期经过分频处理后,形成时钟周期信号。若干个时钟周期信号构成一个机器周期信号,几个机器周期信号组成一个指令周期信号。所以,软件定时器的基础还是来源于硬件定时器的计时功能。同时,在经过了这么多周期信号的转换、计算后,使用计算机语句指令来设置的定时器功能,显然要比硬件定时器功能要逊色很多。计算机的主要处理系统用来进行软件计算功能,还会影响CPU的其它功能和使用,占用CPU的任务处理时间、顺序。除非对CPU工作的每一步都进行严格的计算,否则很难保障软件定时器功能的完全准确。
应用
定时器是一个由CPU芯片控制的可以设置在特定的时间段开启、关闭某项功能。完成对时间的记录功能,在设定的时间范围内,按设定的程序进行循环往复工作。
定时器的时间范围不等,从纳秒级到时,分,秒,月,日,年都可以进行设置。它不仅是在程序的设计应用方面,在很多的项目设计实践中,利用定时器,可以实现项目产品中的相关计时功能。
适用范围
1、在实行峰谷电价差的地区,可使用大功率电器在低电价阶段自动运行。
2、用于控制需定时开与关的家用电器。如:饮水机、热水器、空调、电饭煲、广告照明等。
、用于控制通电时间长短。如:电动自行车电池、手机电池、蓄电池的充电。
4、需频繁通断的用电场合。如花圃、草坪的间歇喷灌、鱼缸的周期性增氧过滤、喷泉等。
5、家庭防盗系统的自动控制。
在人机界面系统中,定时器的功能是以定时器控件的形式呈现并实现。与触摸捕捉控件一样,定时器控件并没有具体的外观形象,不具备屏幕界面的手动操作功能。它以特殊控件的形式出现在特殊功能控件窗口中,以控件来定义、分类它的功能和作用。定时器控件中的属性变量用来控制定时器的各项使用功能,如开关或时长。同时,属性变量单元是一个可读写的存储器单元,意味着在程序运行过程中,可以对属性变量信息进行读取和修改,从而调整定时器的各项设置信息。
通过前面对定时器的基本概念描述,可以了解定时器的本质是脉冲计数器的累加功能形成的,也就是说一个时间长度是由多少个脉冲信号组成的。这样就可通在计算机中定义一个时间单元。如1毫秒,1秒,分,时,日,月,年等,所以定时器控件的作用首先是计时,时间功能。除时间记录外,在程序设计中,对于电子信号的产生,传送,排序过程也都需要有定时器功能的配合来完成。
HMI系统的定时器功能以定时器控件的形式在特殊控件栏中呈现,定时器控件的功能只在当前页面中发挥作用,也就是说,定时器功能在当前页面下,开启、关闭和运行。当前页面下无法执行、判断其它页面中的定时器控件内容。如果页面中的定时器控件属性为全局型时,也只能是对该定时器控件中的属性变量进行读取和修改,无法实现运行。只有在当前页面下的定时器控件才能进行运行计时操作。
定时器控件的主要功能就是触发定时器事件的执行。事件中的内容为代码形式编写的的各种功能指令集合。一个页面中最多不能超过12个定时器控件。每一次对定时器控件属性变量的修改都会导致定时器的重新计时过程,包括页面跳转和刷新也同样会使其中的定时器控件重新归0,开始新的一次计时过程。
硬件定时器的数量是由系统中的硬件定时器个数决定的。存在于CPU系统中,一般具备1到2个硬件定时器足以。而软件定时器是变量单元对系统中的机器周期信号进行累加,计数,换算出来的时间数据信息。所以理论上软件定时器的数量是不受限制的。在不影响系统正常运行的情况下,系统可以分配的定时器资源决定了定时器的数量。
HMI系统中,定时器控件在每个页面至多可以设计12个定时器控件,该部分的定时器控件设计采用的是软件定时器应用方式。软件定时器的定时、判定采用的是查询识别方式,而非硬件定时器的中断转移方式,所以在计时方面的实时性上会弱一些。另外,软件定时器比硬件定时器设计占用更多的CPU系统资源和运行周期。这些原因都会导制软件定时器在计时方面的误差、偏差。作为在程序运行中的一般性延时应用是完全没有问题的。但是如果想利用定时器作为计时时间系统的单元计时标准(如毫秒或秒)是远远不够精确的。另外,HMI系统有自身独立的系统时钟单元,在时间计时方面,只需调用系统变量中的对应时间信息可以了。所以,HMI系统中的定时器主要用于程序中的功能设计方面。如画面定时,信号时序的排序,跳转,延时等时间延时设计。并非是非常精确的时间延时应用。
定时器的定时时间以毫秒为单位,最小可以设置为50ms,常用间隔为300ms为最佳时间间隔时长。即保持了显示的连贯性,又不会察觉出中间的显示停顿变化。同时不会占用太多性能,因为间隔时间越短,系统就会越频繁的跳转进入定时器事件代码程序中运行。这会导致系统CPU占用更多的单片机资源,占用更多的系统运行时间,最终导制系统运行速度、效率等各方面性能发生不同程度的下降。
属性事件说明:
type-控件类型编号,固定值,可读取不可写入。
id-当前页面中的ID编号。
objname-控件名称。
vscope-内存占用。0为私有,1为全局。
tim-定时时间。定时器控件启动时的定时时间,以毫秒计,最小取值为50毫秒,取值范围为50~65534之间。
en-使能开关。定时器控件的使能控制单元。为0时,代表定时器控件功能关闭,为1时,代表定时器控件功能开启。这样的设计可以使定时器控件灵活的应用于程序设计当中,只在有需要时,才开启定时器功能。
功能事件说明:
1、定时器事件的时钟记时设计
定时器控件采用的是系统中的软件定时器设计方法。所以当它用在记录时间方面会使精度稍差一些。而且是随着时间记录的延长,这种误差距离会不断的被放大。定时器控件也不是完全不可用,它可以产生最小50ms的时间间隔。50ms的计时与真实的50ms时间长度之间的误差可以说是微乎其微。所以定时器控件在短时间记录应用方面是没有问题的。如果需要再精确一点的话,也可以通过校准,验证的方式来调整时间的累计数据。也就是说,找一段标准的固定时间长度与定时器控件产生同样的时间长度并进行比较,对比差距,利用调整累计数的方法向标准的时间长度值靠近。误差主要来自于累计的脉冲周期差距,所以不论记录多少时间,误差始终都存在,只是在一定的短时记录过程中不易显现出来,即误差在允许的可控范围内。
以50ms为基础单元,则50msx20=1000毫秒=1秒,1秒x60=1分钟等。所以在记录时间方面,定时器控件的应用还可以是定时器,秒表,倒计时器等用途。这些方面的应用往往控制在分,秒,毫秒级别的时间记录应用上,不会产生大的误差差距。只有在以天,星期,月,年这样的长时间记录应用方面,才会导致误差的不断,连续放大,以至达到不可使用的程度。
2、定时器控件的简单电子信号时序设计
在计算机系统中,如果想要人为输出一组数字逻辑电子信号,就要设计它的输出时序。所谓时序,就是指电子信号产生的时间顺序过程,如什么时间产生高电平,持续多长时间,什么时间产生低电平,维持多久等内容。信号的变换是瞬时间完成的。但是,信号的状态保持过程就需要用到定时器来作为程序的延时设计部分。
在电子电路中,电子信号的状态保持时长通常是纳秒、毫秒级的设计。在HMI人机界面系统中,因为最小定时时长为50ms,所以只能进行以50ms为最小单位的电子信号延时设计。简单的电子信号设计可用于数字电路间信号数据的产生,发送和接收。复杂的电子信号设计则可以形成线路接口间的各种通讯协议设计,如串口通讯,并口通讯,异步串行通讯,I2C通讯,SP2,1wire等等。这些通讯形式也都是基于这样的电子信号产生形式设计的。利用这样的原理,还可以设计自行定义的各种通讯类型和形式。
、定时器控件与RTC(实时时钟芯片)
根本上的一点区别在于定时器控件是基于HMI系统中的软件定时器设计原理形成的,而RTC(实时时钟芯片)是专门用于记录各种时间信息的具有调整和校准功能的专业的硬件时钟集成电路产品,属于硬件计时器设计。
RTC
实时时钟的缩写是RTC(Real_TimeClock)。RTC是集成电路,通常称为时钟芯片。
实时时钟芯片是日常生活中应用最为广泛的消费类电子产品之一。它为人们提供精确的实时时间,或者为电子系统提供精确的时间基准,实时时钟芯片大多采用精度较高的晶体振荡器作为时钟源。有些时钟芯片为了在主电源掉电时,还可以工作,需要外加电池供电。
发展历史
1).早期RTC产品
早期RTC产品实质是一个带有计算机通讯口的分频器。它通过对晶振所产生的振荡频率分频和累加,得到年、月、日、时、分、秒等时间信息并通过计算机通讯口送入处理器处理。
这一时期RTC的特征如下:在控制口线上为并行口;功耗较大;采用普通CMOS工艺;封装为双列直插式;芯片普遍没有现代RTC所具有的万年历及闰年月自动切换功能,也无法处理年问题。现在已经被淘汰。
2).中期RTC产品
在20世纪90年代中期出现了新一代RTC,它采用特殊CMOS工艺;功耗大为降低,典型值约0.5μA以下;供电电压仅为1.4V以下;和计算机通讯口也变为串行方式,出现了诸如三线SIO/四线SPI,部分产品采用2线I2C总线;包封上采用SOP/SSOP封装,体积大为缩小;
功能上:片内智能化程度大幅提高、具有万年历功能,输出控制也变得灵活多样。其中日本RICOH推出的RTC甚至已经出现时基软件调校功能(TTF)及振荡器停振自动检测功能而且芯片的价格极为低廉。目前,这些芯片已被客户大量使用中。
).最新一代RTC产品
最新一代RTC产品中,除了包含第二代产品所具有的全部功能,更加入了复合功能,如低电压检测,主备用电池切换功能,抗印制板漏电功能,且本身封装更小(高度0.85mm,面积仅为2mm*2mm)。
硬件结构
晶振
晶振一般叫做晶体谐振器,是一种机电器件,晶振是石英振荡器的简称,英文名为Crystal是用电损耗很小的石英晶体经精密切割磨削并镀上电极焊上引线做成。
晶振的作用:提供基准频率。
RTC的晶振:
任何实时时钟的核心都是晶振,晶振频率为Hz。它为分频计数器提供精确的与低功耗的实基信号。它可以用于产生秒、分、时、日等信息。为了确保时钟长期的准确性,晶振必须正常工作,不能够受到干扰。RTC的晶振又分为:外部晶振和内置晶振。
RTC的晶振频率为什么是Hz?
①RTC时间是以振荡频率来计算的。故它不是一个时间器而是一个计数器。而一般的计数器都是16位的。又因为时间的准确性很重要,故震荡次数越低,时间的准确性越低。所以必定是个高次数。2^15=。
②Hz=2^15即分频15次后为1Hz,周期=1s。
③经过工程师的经验总结Hz,时钟最准确。
④规范和统一。
日历时钟结构框图
总线接口
常用的时钟芯片分为并行接口和串行接口两大类(并行时钟芯片数据传送速率较快,连线多,不利于缩小产品体积,且占用较多的CPU端口资源。串行时钟芯片只需占用CPU的2-条I/O口线,可大大减小产品体积线接口。
时钟误差
实时时钟芯片的时间误差主要来源于时钟芯片中晶振的频率误差,而晶振的频率误差主要是由于温度变化引起的.所以,把温度对晶振谐振频率所产生的误差进行有效的补偿,是提高时钟精度的关键.石英晶体谐振频率误差补偿方法,是在晶振谐振频率随着温度的变化存在误差已知的基础上,对产生1Hz频率的分频计数器进行精确补偿的方法。
RTC最重要的功能是提供到年内的日历功能,对于时间来说,无论快慢都是误差,而匹配电容在RTC的外围器件上起到非常重要的作用,它可以适当修正晶体与RTC之间匹配问题。
HMI系统中,关于时间的系统变量数据信息也是由系统中的RTC部分提供的,使用RTC不仅时间记录准确,在系统的读取、调用、修改等程序设计与操作方面也大大提高了控制运行的的时间和效率。还提供了非易失数据保存和断电持续运行功能。这些都得意于独立的RTC实时时钟芯片的设计,在时间方面有其运行的独立性。
定时器控件的应用在前面的2点应用中,我们已经有过详细的描述,在这里不再赘述。主要说明一下关于RTC的应用和特点。
RTC(实时时钟芯片)作为计算机系统中的硬件组成单元而存在。是系统中的一项配置内容。有的系统有,有的系统也可以没有。在具备时间记录功能的系统中,一定存在有RTC的设计部分。另外,RTC也可以被设计成一些独立的时钟硬件模块,通过一些标准接口实现与其它计算机系统的通讯,连接,调用,修改过程。如,DS1302模块等。现在的RTC时钟芯片可谓是多而广,各种类型,各种型号,各种应用都有。并且结合设计需求、环境因素等多方面要素,在时钟记录功能的基础上,不断的向精度,温度,存储,补偿,充电,监测等多方面,多方向进行拓展发展。