一种定时器的处理方法及装置与流程
未命名
08-03
阅读:124
评论:0
1.本发明涉及看门狗技术领域,特别涉及一种定时器的处理方法及装置。
背景技术:
2.看门狗是一种定时器电路,用于在单片机中对软硬件的执行流程进行监控,单片机每隔一段时间会输出一个喂狗信号到看门狗的喂狗端进行喂狗。看门狗通过自身的定时器进行计时,如果在规定的时间内未接收到喂狗信号,说明单片机中软硬件的执行出现异常,未能按时输出喂狗信号至看门狗,此时,看门狗会输出复位信号,使单片机复位,防止单片机死机。看门狗的作用就是在程序出现异常时,自动重启单片机,无需人工操作。
3.现有的看门狗的定时器功能比较单一,需要为看门狗设计一种定时器的处理方法,实现定时器的时钟源选择及分频处理。
技术实现要素:
4.本发明的目的,就是针对现有技术的不足,提供一种定时器的处理方法及装置,通过时钟选择器接收多路时钟源,并根据控制寄存器中设置的时钟编号选择一路作为预分频时钟源输入预分频器;预分频器根据控制寄存器中设置的预分频系数对预分频时钟源进行分频并输出分频时钟源;然后通过时钟门控将分频时钟源作为定时器时钟源输出至定时器,并通过时钟门控及控制寄存器中设置的时钟使能控制位控制定时器时钟源的输出;最后通过定时器根据定时器时钟源的频率进行计数。本发明通过时钟选择器及预分频器实现定时器的多路时钟源的选择及分频处理。
5.为实现上述目的,本发明实施例第一方面提供了一种定时器的处理方法,所述方法包括:
6.通过时钟选择器接收多路时钟源;
7.通过所述时钟选择器读取控制寄存器中设置的时钟编号,并根据所述时钟编号选择所述多路时钟源中的一路作为预分频时钟源输入预分频器;
8.通过所述预分频器读取所述控制寄存器中设置的预分频系数,并根据所述预分频系数对所述预分频时钟源进行分频操作输出分频时钟源;
9.通过时钟门控接收所述分频时钟源并作为定时器时钟源输出至所述定时器;
10.通过所述时钟门控读取所述控制寄存器中设置的时钟使能控制位,并通过所述时钟使能控制位控制所述时钟门控是否输出所述定时器时钟源;
11.通过所述定时器以所述定时器时钟源的频率进行计数。
12.优选的,所述通过所述定时器以所述定时器时钟源的频率进行计数,具体包括:
13.通过所述定时器接收启动信号;
14.当所述定时器接收到所述启动信号时,通过所述定时器以所述定时器时钟源的频率进行计数。
15.优选的,所述方法之前,还包括:
16.设置所述控制寄存器中的时钟编号、预分频系数和时钟使能控制位。
17.优选的,所述方法还包括:
18.通过所述定时器接收信号捕捉器发送的捕捉成功信号;
19.当所述定时器接收到所述捕捉成功信号时,将所述定时器的当前计数值作为捕捉计数值存储至捕捉寄存器。
20.优选的,所述方法还包括:
21.将所述定时器的计数值存储至自由计数值寄存器。
22.优选的,所述方法还包括:
23.通过所述定时器接收控制器发送的停止计数信号和计数清零信号;
24.当所述定时器接收到所述停止计数信号时,停止所述定时器的计数;
25.当所述定时器接收到所述计数清零信号时,清零所述定时器的当前计数值。
26.优选的,所述方法还包括:
27.通过所述定时器输出比较使能信号至比较器。
28.本发明实施例第二方面提供了一种定时器的处理装置,所述装置包括:
29.时钟选择模块,用于通过时钟选择器接收多路时钟源;
30.时钟分频模块,用于通过所述时钟选择器读取控制寄存器中设置的时钟编号,并根据所述时钟编号选择所述多路时钟源中的一路作为预分频时钟源输入预分频器;所述时钟分频模块还用于通过所述预分频器读取所述控制寄存器中设置的预分频系数,并根据所述预分频系数对所述预分频时钟源进行分频操作输出分频时钟源;
31.时钟控制模块,用于通过时钟门控接收所述分频时钟源并作为定时器时钟源输出至所述定时器;所述时钟控制模块还用于通过所述时钟门控读取所述控制寄存器中设置的时钟使能控制位,并通过所述时钟使能控制位控制所述时钟门控是否输出所述定时器时钟源;
32.计时模块,用于通过所述定时器以所述定时器时钟源的频率进行计数。
33.本发明实施例提供的一种定时器的处理方法及装置,通过时钟选择器接收多路时钟源,并根据控制寄存器中设置的时钟编号选择一路作为预分频时钟源输入预分频器;预分频器根据控制寄存器中设置的预分频系数对预分频时钟源进行分频并输出分频时钟源;然后通过时钟门控将分频时钟源作为定时器时钟源输出至定时器,并通过时钟门控及控制寄存器中设置的时钟使能控制位控制定时器时钟源的输出;最后通过定时器根据定时器时钟源的频率进行计数。本发明通过对时钟源进行选择、分频以及使能控制等处理,提升看门狗使用的灵活性。
附图说明
34.图1为本发明实施例一提供的一种定时器的处理方法的流程示意图;
35.图2为本发明实施例二提供的一种定时器的处理装置的模块结构图。
具体实施方式
36.为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施
例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
37.本发明实施例一提供了一种定时器的处理方法,应用于看门狗中,执行主体为看门狗的定时计数模块,定时计数模块包括时钟选择器、预分频器、时钟门控和定时器,用于为看门狗选择时钟源并进行分频处理及计数操作。图1为本发明实施例一提供的一种定时器的处理方法的流程示意图,如图1所示,本方法主要包括如下步骤:
38.步骤101,通过时钟选择器接收多路时钟源。
39.具体的,看门狗的定时器使用独立的时钟源,通过时钟选择器进行多路时钟源的接收。其中,时钟选择器用于接收多路时钟源并选择其中一路输出,多路时钟源包括:系统时钟、慢速时钟以及另外两路预留的时钟源。
40.步骤102,通过时钟选择器读取控制寄存器中设置的时钟编号,并根据时钟编号选择多路时钟源中的一路作为预分频时钟源输入预分频器。
41.具体的,在为看门狗选择时钟源时,可通过时钟选择器进行选择,多路时钟源分别接入时钟选择器的输入端,时钟选择器根据配置好的时钟编号进行选择。其中,时钟编号预先设置在看门狗的控制寄存器中,控制寄存器中设置有用于存储时钟编号的字段,通过设置该字段实现时钟源的选择,即在本方法开始之前将需要使用的时钟源的时钟编号设置到控制寄存器中的时钟编号字段内。多路时钟源的每一路时钟源具有一个唯一的时钟编号,想要使用某一路时钟源时,需要将该路时钟源的时钟编号设置到控制寄存器中时钟编号对应的字段中,时钟选择器读取控制寄存器中设置的时钟编号,然后根据时钟编号选择多路时钟源中跟该时钟编号相对应的一路时钟源,并作为预分频时钟源输入看门狗的预分频器。
42.步骤103,通过预分频器读取控制寄存器中设置的预分频系数,并根据预分频系数对预分频时钟源进行分频操作输出分频时钟源。
43.具体的,时钟源只能提供单一频率,为了满足看门狗对多种时钟频率的要求,需要对定时器使用的时钟源进行分频操作。预分频器可以对输入时钟进行分频操作,实现看门狗的不同时钟频率的需求。预分频器对时钟源进行分频操作时,需要指定具体要分频的预分频系数,预分频系数设置在控制寄存器中,控制寄存器中具有用于设置预分频系数的字段,该字段用于存储对时钟源进行分频的预分频系数。预分频器读取控制寄存器中设置的预分频系数,然后根据预分频系数对输入的预分频时钟源进行分频操作并输出分频后的分频时钟源。
44.步骤104,通过时钟门控接收分频时钟源并作为定时器时钟源输出至定时器。
45.具体的,在对预分频时钟源进行分频操作得到分频时钟源后,通过时钟门控接收分频时钟源并作为定时器时钟源输出至定时器,其中,时钟门控用于控制定时器时钟源的输出开关。
46.步骤105,通过时钟门控读取控制寄存器中设置的时钟使能控制位,并通过时钟使能控制位控制时钟门控是否输出定时器时钟源。
47.具体的,通过时钟使能控制位实现定时器时钟源的关断与否,时钟使能控制位是设置在控制寄存器中的字段,用于控制时钟门控是否输出定时器时钟源。时钟门控接收分频时钟源并输出为定时器时钟源的同时,还读取控制寄存器中设置的时钟使能控制位,如
果时钟使能控制位的数值为1,则输出定时器时钟源,如果时钟使能控制位的数值为0,则不输出定时器时钟源,因此,可以通过配置控制寄存器中的时钟使能控制位来控制时钟门控是否输出定时器时钟源。
48.步骤106,通过定时器以定时器时钟源的频率进行计数。
49.具体的,通过定时器实现看门狗的计数,通过定时器根据接收到定时器时钟源的频率进行计数,实现看门狗的监控功能,在到达预定的计数值时,如果看门狗没有接收到喂狗信号,则说明看门狗监控的程序出现异常,此时,看门狗输出复位信号对系统进行复位。
50.进一步的,当看门狗开始对程序流程进行监控时,会发送启动信号至定时器,定时器接收到启动信号时,以指定的定时器时钟源的频率进行计数。
51.进一步的,通过定时器接收信号捕捉器发送的捕捉成功信号,具体的,看门狗在监控程序执行流程时,会通过信号捕捉器来捕捉喂狗信号,当信号捕捉器捕捉到喂狗信号时,会生成捕捉成功信号,并将捕捉成功信号发送至定时器,当定时器接收到信号捕捉器发送的捕捉成功信号时,将定时器的当前计数值作为捕捉计数值存储至捕捉寄存器。看门狗的比较器会读取捕捉寄存器中的捕捉计数值,来与事先设置的该喂狗信号对应的监控时间进行比较,来判定该喂狗信号是否在规定的时间内正常出现,以此来判定看门狗所监控的程序的执行流程是否正常。
52.进一步的,本方法还包括:
53.将定时器的计数值存储至自由计数值寄存器中,用于看门狗的比较器比较当前监控的时长是否达到预定的监控时长,如果达到,说明本次的监控已完成。
54.进一步的,本方法还包括:
55.通过定时器输出比较使能信号至比较器,用于比较器根据定时器输出的比较使能信号进行后续的比较操作。
56.进一步的,本方法还包括:
57.当看门狗的比较器判定某一喂狗信号监控完成时,如果捕捉到了喂狗信号,说明程序执行无异常,此时,看门狗发送停止计数信号和计数清零信号至定时器,当定时器接收到停止计时信号时,停止计数;当定时器接收到计数清零信号时,清零定时器的当前计数值。
58.本发明实施例二提供了一种定时器的处理装置,图2为本发明实施例二提供的一种定时器的处理装置的模块结构图,如图2所示,该装置包括:
59.时钟选择模块201,用于通过时钟选择器接收多路时钟源;
60.时钟分频模块202,用于通过时钟选择器读取控制寄存器中设置的时钟编号,并根据时钟编号选择多路时钟源中的一路作为预分频时钟源输入预分频器;时钟分频模块202还用于通过预分频器读取控制寄存器中设置的预分频系数,并根据预分频系数对预分频时钟源进行分频操作输出分频时钟源;
61.时钟控制模块203,用于通过时钟门控接收分频时钟源并作为定时器时钟源输出至定时器;时钟控制模块203还用于通过时钟门控读取控制寄存器中设置的时钟使能控制位,并通过时钟使能控制位控制时钟门控是否输出定时器时钟源;
62.计时模块204,用于通过定时器以定时器时钟源的频率进行计数。
63.本发明实施例二提供的一种定时器的处理装置,用以执行本发明实施例一提供的
方法的步骤,其实现原理和技术效果类似,在此不再赘述。
64.需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,获取模块可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上获取模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所描述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,本发明实施例提供的方法的各步骤或本发明实施例提供的装置的各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
65.例如,本发明实施例提供的装置的模块可以是被配置成本发明实施例提供的方法的一个或多个集成电路,例如:一个或多个特定集成电路(application specific integrated circuit,asic),或,一个或多个数字信号处理器(digital signal processor,dsp),或,一个或者多个现场可编程门阵列(field programmable gate array,fpga)等。再如,当本发明实施例提供的装置的某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(central processing unit,cpu)或其它可以调用程序代码的处理器。再如,本发明实施例提供的装置的这些模块可以集成在一起,以片上系统(system on chip,soc)的形式实现。
66.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本发明实施例提供的方法所描述的流程或功能。上述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。上述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,上述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线路((digital subscriber line,dsl))或无线(例如红外、无线、蓝牙、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。上述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。上述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,高密度数字视频光盘(digital video disc,dvd))、或者半导体介质(例如固态硬盘(solid state disk,ssd))等。
67.本发明实施例提供的一种定时器的处理方法及装置,通过时钟选择器接收多路时钟源,并根据控制寄存器中设置的时钟编号选择一路作为预分频时钟源输入预分频器;预分频器根据控制寄存器中设置的预分频系数对预分频时钟源进行分频并输出分频时钟源;然后通过时钟门控将分频时钟源作为定时器时钟源输出至定时器,并通过时钟门控及控制寄存器中设置的时钟使能控制位控制定时器时钟源的输出;最后通过定时器根据定时器时钟源的频率进行计数。本发明通过时钟选择器及预分频器实现定时器的多路时钟源的选择及分频处理。
68.专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
69.结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
70.以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
技术特征:
1.一种定时器的处理方法,其特征在于,所述方法包括:通过时钟选择器接收多路时钟源;通过所述时钟选择器读取控制寄存器中设置的时钟编号,并根据所述时钟编号选择所述多路时钟源中的一路作为预分频时钟源输入预分频器;通过所述预分频器读取所述控制寄存器中设置的预分频系数,并根据所述预分频系数对所述预分频时钟源进行分频操作输出分频时钟源;通过时钟门控接收所述分频时钟源并作为定时器时钟源输出至所述定时器;通过所述时钟门控读取所述控制寄存器中设置的时钟使能控制位,并通过所述时钟使能控制位控制所述时钟门控是否输出所述定时器时钟源;通过所述定时器以所述定时器时钟源的频率进行计数。2.根据权利要求1所述的定时器的处理方法,其特征在于,所述通过所述定时器以所述定时器时钟源的频率进行计数,具体包括:通过所述定时器接收启动信号;当所述定时器接收到所述启动信号时,通过所述定时器以所述定时器时钟源的频率进行计数。3.根据权利要求1所述的定时器的处理方法,其特征在于,所述方法之前,还包括:设置所述控制寄存器中的时钟编号、预分频系数和时钟使能控制位。4.根据权利要求1所述的定时器的处理方法,其特征在于,所述方法还包括:通过所述定时器接收信号捕捉器发送的捕捉成功信号;当所述定时器接收到所述捕捉成功信号时,将所述定时器的当前计数值作为捕捉计数值存储至捕捉寄存器。5.根据权利要求1所述的定时器的处理方法,其特征在于,所述方法还包括:将所述定时器的计数值存储至自由计数值寄存器。6.根据权利要求1所述的定时器的处理方法,其特征在于,所述方法还包括:通过所述定时器接收控制器发送的停止计数信号和计数清零信号;当所述定时器接收到所述停止计数信号时,停止所述定时器的计数;当所述定时器接收到所述计数清零信号时,清零所述定时器的当前计数值。7.根据权利要求1所述的定时器的处理方法,其特征在于,所述方法还包括:通过所述定时器输出比较使能信号至比较器。8.一种定时器的处理装置,其特征在于,所述装置包括:时钟选择模块,用于通过时钟选择器接收多路时钟源;时钟分频模块,用于通过所述时钟选择器读取控制寄存器中设置的时钟编号,并根据所述时钟编号选择所述多路时钟源中的一路作为预分频时钟源输入预分频器;所述时钟分频模块还用于通过所述预分频器读取所述控制寄存器中设置的预分频系数,并根据所述预分频系数对所述预分频时钟源进行分频操作输出分频时钟源;时钟控制模块,用于通过时钟门控接收所述分频时钟源并作为定时器时钟源输出至所述定时器;所述时钟控制模块还用于通过所述时钟门控读取所述控制寄存器中设置的时钟使能控制位,并通过所述时钟使能控制位控制所述时钟门控是否输出所述定时器时钟源;计时模块,用于通过所述定时器以所述定时器时钟源的频率进行计数。
技术总结
本发明实施例涉及一种定时器的处理方法及装置,方法包括:通过时钟选择器接收多路时钟源并读取控制寄存器中的时钟编号,根据时钟编号选择多路时钟源中的一路作为预分频时钟源输入预分频器;预分频器根据控制寄存器中的预分频系数对预分频时钟源进行分频操作得到分频时钟源并通过时钟门控将分频时钟源作为定时器时钟源输入定时器;时钟门控通过读取控制寄存器中的时钟使能控制位控制是否输出定时器时钟源。定时器根据时钟门控输出的定时器时钟源的频率进行计数。本发明通过时钟选择器及预分频器实现定时器的多路时钟源选择及分频处理。频处理。频处理。
技术研发人员:曾小光 蒋荟林 胡坚珉 肖龙光 吴家富 张立明 梁海丽
受保护的技术使用者:忆月启函(上海)科技有限公司
技术研发日:2023.05.18
技术公布日:2023/8/2
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
