CN106597912B - 一种异步定时/计数器之间的协同工作方法 - Google Patents
一种异步定时/计数器之间的协同工作方法 Download PDFInfo
- Publication number
- CN106597912B CN106597912B CN201510678811.1A CN201510678811A CN106597912B CN 106597912 B CN106597912 B CN 106597912B CN 201510678811 A CN201510678811 A CN 201510678811A CN 106597912 B CN106597912 B CN 106597912B
- Authority
- CN
- China
- Prior art keywords
- counter
- timer
- main
- asynchronous
- synchronous circuit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0423—Input/output
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25474—Synchronize microprocessor with process or I-O
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Microcomputers (AREA)
Abstract
本发明涉及定时/计数器控制技术领域,尤其涉及一种异步定时/计数器之间的协同工作方法。在本发明中,所述异步定时/计数器之间的协同工作方法包括:将控制定时/计数器配置为主定时/计数器,将受控定时/计数器配置为从定时/计数器,所述主定时/计数器的输出端输出一控制信号经一同步电路至所述从定时/计数器的输入端以实现主定时/计数器对从定时/计数器的控制。在本发明中,所述主定时/计数器对所述从定时/计数器的控制是通过硬件电路触发的,而不需要复杂的软件指令,提高了算法的运行速度且降低了软件指令的复杂性。
Description
技术领域
本发明涉及定时/计数器控制技术领域,尤其涉及一种异步定时/计数器之间的协同工作方法。
背景技术
一般单片机中央处理器(MCU)均集成有独立的外设定时/计数器,所述定时/计数器是可编程的,即所述定时/计数器的工作方式、定时时间、量程、启动方式等均可由单片机指令来控制和改变。
但这种传统的定时/计数器控制方式需要大量的软件程序去配合定时/计数器进行工作,多路定时器在复杂精细的运算过程中,需要使用标志位(即软件指令)的方法实现一个定时/计数器对另一个定时/计数器的控制,这种控制方法不仅降低了算法的运行速度,还增加了软件指令的复杂性。
发明内容
本发明的目的在于提供一种异步定时/计数器之间的协同工作方法,旨在解决传统的定时/计数器控制需要通过软件指令控制,导致算法运行速度低,且增加软件指令复杂性的问题。
本发明是这样实现的,一种异步定时/计数器之间的协同工作方法,所述异步定时/计数器之间设有同步电路,所述异步定时/计数器之间的协同工作方法包括:
将控制定时/计数器配置为主定时/计数器,将受控定时/计数器配置为从定时/计数器;
所述主定时/计数器和所述从定时/计数器均开启使能工作模式;
所述主定时/计数器的输出端输出一控制信号至所述同步电路,所述同步电路将所述控制信号从主定时/计数器的时钟域转换到所述从定时/计数器的时钟域后输出至所述从定时/计数器的输入端,所述从定时/计数器根据接收到的所述控制信号执行相应的控制操作。
在本发明中,所述异步定时/计数器之间的协同工作方法包括:将一个定时/计数器配置为主定时/计数器,另一个定时/计数器配置为从定时/计数器,所述主定时/计数器的输出端输出一控制信号经一同步电路至所述从定时/计数器的输入端实现对所述从定时/计数器的控制。在本发明中,所述主定时/计数器对所述从定时/计数器的控制是通过硬件电路触发的,而不需要复杂的软件指令,提高了算法的运行速度且降低了软件指令的复杂性。
附图说明
图1是本发明实施例提供的异步定时/计数器之间的协同工作方法的硬件结构图;
图2是本发明实施例提供的异步定时/计数器之间的协同工作方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1示出了本发明实施例提供的异步定时/计数器之间的协同工作方法的硬件结构图。为了便于说明,仅示出了与本发明实施例相关的部分。
如图1所示,包括定时/计数器1和定时/计数器2,在定时/计数器1和定时/计数器2之间设有一同步电路3。
图2示出了本发明实施例提供的异步定时/计数器之间的协同工作方法的流程图。为了便于说明,仅示出了与本发明实施例相关的部分。
一种异步定时/计数器之间的协同工作方法,包括如下步骤:
S1:将控制定时/计数器配置为主定时/计数器,将受控定时/计数器配置为从定时/计数器;
具体的,将图1中的定时/计数器1配置为主定时/计数器,定时/计数器2配置为从定时/计数器。
S2:所述主定时/计数器1和所述从定时/计数器2均开启使能工作模式;
定时/计数器有多种工作模式,当定时/计数器均处于使能工作模式时,可实现一个定时/计数器对另一个定时/计数器的控制。
S3:所述主定时/计数器1的输出端输出一控制信号m_out至所述同步电路3,所述同步电路3将所述控制信号m_out从主定时/计数器1的时钟域转换到所述从定时/计数器2的时钟域后输出至所述从定时/计数器的输入端,所述从定时/计数器根据接收到的信号s_in执行相应的控制操作;
其中,所述主定时/计数器1输出的控制信号m_out的来源(即可触发主定时/计数器输出控制信号的事件)有:
(1)主定时/计数器1内部的写寄存器tim_eve 11的up_data位,该寄存器是硬件自动清零,所以可产生一个周期的高电平信号;
(2)当主定时/计数器1内部的计数器寄存器cnt112计数到溢出值tover1时,则产生一个更新(复位)信号uev;
(3)主定时/计数器1的计数器13的使能信号cnt_en;
(4)在一次比较或者一次捕获中断的产生;
(5)PWM(Pulse Width Modulation,脉冲宽度调制)比较输出波形信号。
以上事件均可触发主定时/计数器1输出一控制信号至从定时/计数器2,实现主定时/计数器1对从定时/计数器2的控制,触发信号是由硬件电路实现的。具体的,提供了以下三种模式的异步定时/计数器之间的协同工作方法:
第一实施例
本发明第一实施例提供了一种将从定时/计数器2配置为复位模式的异步定时/计数器之间的协同工作方法。
作为本发明的一实施例,步骤S3具体为:
当所述主定时/计数器1内部的计数器寄存器12计数到溢出值时,所述主定时/计数器1的输出端输出一个周期的高电平信号经所述同步电路3至所述从定时/计数器2的输入端,所述从定时/计数器2内部的选择器21将所述高电平信号译成一复位信号,将所述从定时/计数器2内部的计数器寄存器22和分频计数器23重新初始化。
主定时/计数器1的溢出值、占空比和死区也将被更新,从而完成复位过程。
第二实施例
本发明第二实施例提供了一种将从定时/计数器2配置为门控模式的异步定时/计数器之间的协同工作方法。
作为本发明的第二实施例,步骤S3具体为:
当所述主定时/计数器1接收到PWM比较输出波形信号且所述主定时/计数器1内部的计数器寄存器12计数到所述PWM比较输出波形信号的占空比时,所述主定时/计数器1的输出端输出一高电平信号经所述同步电路3至所述从定时/计数器2的输入端,所述从定时/计数器2内部的定时器25开始计数。
作为本发明的一实施例,在上述步骤之后,步骤S3还包括:当所述主定时/计数器1内部的计数器寄存器12计数到溢出值时,所述主定时/计数器1的输出端输出一低电平信号经所述同步电路3至所述从定时/计数器2的输入端,所述从定时/计数器2内部的定时器25暂停计数。
作为本发明的一实施例,在步骤S3中,当所述从定时/计数器2的输入端信号为低电平时,所述从定时/计数器2内部的计数器寄存器22保持初始化的值。
第三实施例
本发明第三实施例提供了一种将从定时/计数器2配置为触发模式的异步定时/计数器之间的协同工作方法。
作为本发明的第三施例,步骤S3具体为:
当所述主定时/计数器1的输出信号由低电平变为高电平时,产生一触发信号经所述同步电路3至所述从定时/计数器2的输入端,所述从定时/计数器2内部的计数器24开始计数。
作为本发明的一实施例,步骤S3中,在所述从定时/计数器2的输入端信号为高电平之前,所述从定时/计数器2内部的计数器寄存器22保持初始化的值。
在本发明中,所述异步定时/计数器之间的协同工作方法包括:将一个定时/计数器配置为主定时/计数器,另一个定时/计数器配置为从定时/计数器,所述主定时/计数器的输出端输出一控制信号经一同步电路至所述从定时/计数器的输入端实现对所述从定时/计数器的控制。在本发明中,所述主定时/计数器对所述从定时/计数器的控制是通过硬件电路触发的,而不需要复杂的软件指令,提高了算法的运行速度且降低了软件指令的复杂性。
本领域普通技术人员可以理解:实现上述方法实施例的步骤或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤,而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种异步定时/计数器之间的协同工作方法,所述异步定时/计数器之间设有同步电路,其特征在于,所述异步定时/计数器之间的协同工作方法包括:
将控制定时/计数器配置为主定时/计数器,将受控定时/计数器配置为从定时/计数器;
所述主定时/计数器和所述从定时/计数器均开启使能工作模式;
通过硬件电路实现触发信号,触发所述主定时/计数器的输出端输出一控制信号至所述同步电路,所述同步电路将所述控制信号从主定时/计数器的时钟域转换到所述从定时/计数器的时钟域后输出至所述从定时/计数器的输入端,所述从定时/计数器根据接收到的所述控制信号执行相应的控制操作。
2.如权利要求1所述的异步定时/计数器之间的协同工作方法,其特征在于,所述主定时/计数器的输出端输出一控制信号至所述同步电路,所述同步电路将所述控制信号从主定时/计数器的时钟域转换到所述从定时/计数器的时钟域后输出至所述从定时/计数器的输入端,所述从定时/计数器根据接收到的所述控制信号执行相应的控制操作具体为:
当所述主定时/计数器内部的计数器寄存器计数到溢出值时,所述主定时/计数器的输出端输出一个周期的高电平信号经所述同步电路至所述从定时/计数器的输入端,所述从定时/计数器内部的选择器将所述高电平信号译成一复位信号,将所述从定时/计数器内部的计数器寄存器和分频计数器重新初始化。
3.如权利要求1所述的异步定时/计数器之间的协同工作方法,其特征在于,所述主定时/计数器的输出端输出一控制信号至所述同步电路,所述同步电路将所述控制信号从主定时/计数器的时钟域转换到所述从定时/计数器的时钟域后输出至所述从定时/计数器的输入端,所述从定时/计数器根据接收到的所述控制信号执行相应的控制操作具体为:
当所述主定时/计数器接收到PWM比较输出波形信号且所述主定时/计数器内部的计数器寄存器计数到所述PWM比较输出波形信号的占空比时,所述主定时/计数器的输出端输出一高电平信号经所述同步电路至所述从定时/计数器的输入端,所述从定时/计数器内部的定时器开始计数。
4.如权利要求1所述的异步定时/计数器之间的协同工作方法,其特征在于,所述主定时/计数器的输出端输出一控制信号至所述同步电路,所述同步电路将所述控制信号从主定时/计数器的时钟域转换到所述从定时/计数器的时钟域后输出至所述从定时/计数器的输入端,所述从定时/计数器根据接收到的所述控制信号执行相应的控制操作具体为:
当所述主定时/计数器的输出信号由低电平变为高电平时,产生一触发信号经同步电路至所述从定时/计数器的输入端,所述从定时/计数器内部的计数器开始计数。
5.如权利要求3所述的异步定时/计数器之间的协同工作方法,其特征在于,当所述主定时/计数器接收到PWM比较输出波形信号且所述主定时/计数器内部的计数器寄存器计数到所述PWM比较输出波形信号的占空比时,所述主定时/计数器的输出端输出一高电平信号经所述同步电路至所述从定时/计数器的输入端,所述从定时/计数器内部的定时器开始计数之后,所述异步定时/计数器之间的协同工作方法还包括:
当所述主定时/计数器内部的计数器寄存器计数到溢出值时,所述主定时/计数器的输出端输出一低电平信号经所述同步电路至所述从定时/计数器的输入端,所述从定时/计数器内部的定时器暂停计数。
6.如权利要求5所述的异步定时/计数器之间的协同工作方法,其特征在于,当所述从定时/计数器的输入端信号为低电平时,所述从定时/计数器内部的计数器寄存器保持初始化的值。
7.如权利要求4所述的异步定时/计数器之间的协同工作方法,其特征在于,在所述从定时/计数器的输入端信号为高电平之前,所述从定时/计数器内部的计数器寄存器保持初始化的值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510678811.1A CN106597912B (zh) | 2015-10-19 | 2015-10-19 | 一种异步定时/计数器之间的协同工作方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510678811.1A CN106597912B (zh) | 2015-10-19 | 2015-10-19 | 一种异步定时/计数器之间的协同工作方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106597912A CN106597912A (zh) | 2017-04-26 |
CN106597912B true CN106597912B (zh) | 2019-03-12 |
Family
ID=58554355
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510678811.1A Active CN106597912B (zh) | 2015-10-19 | 2015-10-19 | 一种异步定时/计数器之间的协同工作方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106597912B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105446417B (zh) * | 2014-08-21 | 2018-07-27 | Tcl集团股份有限公司 | 一种获取高精度定时信号的方法和系统 |
-
2015
- 2015-10-19 CN CN201510678811.1A patent/CN106597912B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN106597912A (zh) | 2017-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9454212B1 (en) | Wakeup detector | |
JP2012147426A5 (ja) | デジタル位相周波数検出器 | |
CN102957403A (zh) | 集成电路装置、同步模块、电子装置及相关方法 | |
CN201690355U (zh) | 一种开关电源的外部时钟同步装置 | |
CN106597912B (zh) | 一种异步定时/计数器之间的协同工作方法 | |
WO2018089121A3 (en) | Frequency divider with selectable frequency and duty cycle | |
CN103675373A (zh) | 一种在fpga内实现的数字信号产生方法 | |
CN105811971B (zh) | 基于计数器的可变频时钟源和fpga器件 | |
JP6759329B2 (ja) | デジタル領域でのエンベロープ比較を使用したfsk復号化 | |
CN104679475A (zh) | 真随机数产生电路 | |
EP2817885A2 (en) | High resolution pulse width modulator | |
CN106571813A (zh) | 全新设计的边沿式高阻型数字鉴相器 | |
CN107703819A (zh) | 一种单片机 | |
CN105530004A (zh) | 脉冲宽度调制pwm控制延时时间的获取方法和装置 | |
CN102231627B (zh) | 一种短时脉冲信号的实现方法 | |
CN109256998A (zh) | 控制电机电流高精度采样的方法及系统和伺服电机 | |
CN107592099B (zh) | D触发器 | |
CN204168276U (zh) | 延迟锁相环和占空比矫正电路结构 | |
CN106100637A (zh) | 一种计数器直接控制相位切换的多模可编程分频器结构 | |
CN104917517A (zh) | 用于实现低功耗、宽测量范围时间数字转换器的节能电路 | |
CN102467097B (zh) | 一种外设控制器和外设控制电路 | |
CN109660231A (zh) | 一种高精度低功耗时钟产生方法 | |
CN104320132A (zh) | 延迟锁相环和占空比矫正电路 | |
CN104660226B (zh) | 一种具有门控猝发功能的信号发生器 | |
CN110166045A (zh) | 一种提取信号变化沿的快照电路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 518051 Shenzhen Nanshan District, Guangdong Province, Guangdong Province, Yuehai Street High-tech Zone Community Science and Technology South Road 18 Shenzhen Bay Science and Technology Eco-Park 12 Skirt Building 732 Patentee after: Shenzhen Bojuxing Microelectronics Technology Co., Ltd. Address before: 518000 4th Floor, Building D, New Material Port, No. 2 Changyuan, Zhongxin Road, Nanshan District, Shenzhen City, Guangdong Province Patentee before: Shenzhen Bojuxing Industrial Development Co., Ltd. |
|
CP03 | Change of name, title or address |