欧冠投注平台|一种高效定时器模块的设计与实现

欧冠投注平台

欧冠投注官方网

欧冠投注官方网:章节  在嵌入式系统的设计中,时间特性在很多应用于中都是一个很最重要的参数,很多掌控逻辑和协议的构建,必须中用计时、超时和统计资料功能,时间长短的计时及精度、周期定点和超时的原作沦为某些掌控逻辑和协议的关键条件。笔者在为某车型设计其车身中央控制器时,输出条件的判断、输入逻辑的掌控和LIN协议的构建都包括一些时间特性涉及的功能[1],为此笔者设计了一个高效的定时器模块。下面就从设计原理、结构设计、定时器管理及应用于上描写下该定时器模块的设计与构建。

  设计原理  在车身控制器(以下以BCM来代称)的设计中,其定点功能可以分成两类,一个是TIMEOUT超时,一个是COUNTER计时,前者超时时间未知,超时则启动时涉及操作者,后者是计时催促,在一种状态发生变化时统计资料新的状态的保持时间。通过对BCM定点功能及特性展开分析,找到其定点应用于的特点为:  1、定点精度拒绝不低,但定点数量较为多;  2、TIMEOUT超时中,有循环定点,也有单次定点和多次定点。  由于硬件资源受限,不有可能为每一个定点应用于分开分配一个硬件定时器,所以使用单个硬件定时器仿真多个软件定时器的方法,来符合应用于中的定点必须[2]。

欧冠投注官方网

欧冠投注官方网

首先根据定点应用于的特点和分类,设计软件定时器的数据结构,以结构体数组的形式将这些软件定时器组织起来,数组成员乃是各个软件定时器节点;然后在驱动程序的设计中设计较好的API模块,该API模块充足明晰,获取统一的调用模块,可以涵括定时器所有功能,这样之后在一个硬件定时器上构建了多个软件定时器。下面之后概述一下定时器结构和驱动程序设计。

  定时器结构设计  由于软件定时器数量多样,根据定点应用于的构建方式及特征设计一个较好的数据结构是十分适当的[3]。在其结构体设计中,其成员变量可以叙述所有的定点特征并且获取较好的可读取模块。其定义如下右图:  typedefstruct{  TimerStatetimer_state;  ulongtimeout;  ulongduration;  unsignedcycle:1;  unsignedoverow_ag:1;  unsignedcnt_times:8;  TimerIdtimer_id;  }Timer;  timer_state有STALL和RUNNING两种给定,回应该定时器否正处于运转状态;timeout是超时应用于的超强时值,duration回应定时器启动以来的计时时间长度;cycle回应该定点是周期定点还是单次定点;cnt_times是对多次定点(既非周期也非单次)的统计资料,当定点次数抵达后,则暂停该定时器;overow_ag标识否再次发生超时阻塞;所有的软件定时器节点构成Timer数组,其数据成员由timer_id枚举,其枚举类型TimerId定义如下右图:  typedefenum{  FEEDWATCHDOG_300MS,  INPUT_DETECT_MS,  LIN_TIMESLOT_MS,  SPEED_PULSE_ACCUMU_200MS,  ALLDR_LOCK_200MS,  ALARM_30S,  IGNITION_OFF_60S,  。

..  。..  MAX_TIMER_NUM  }TimerId;  这样,定义数组TimerTIMER[MAX_TIMER_NUM],在初始化中,TIMER[i].timer_id=i;之后通过TIMER[timer_id]才可枚举某软件定时器节点。 达到当天最大量API KEY 超过次数限制-欧冠投注官方网。

本文来源:欧冠投注官方网-www.irreligiouscanuck.com

相关文章