CN111830816B - 自适应定时方法、装置 - Google Patents
自适应定时方法、装置 Download PDFInfo
- Publication number
- CN111830816B CN111830816B CN202010595042.XA CN202010595042A CN111830816B CN 111830816 B CN111830816 B CN 111830816B CN 202010595042 A CN202010595042 A CN 202010595042A CN 111830816 B CN111830816 B CN 111830816B
- Authority
- CN
- China
- Prior art keywords
- time
- pulse
- counter
- initial value
- time node
- 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
- 238000000034 method Methods 0.000 title claims abstract description 19
- 230000003044 adaptive effect Effects 0.000 claims description 12
- 101150047304 TMOD1 gene Proteins 0.000 claims description 6
- 230000001960 triggered effect Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G04—HOROLOGY
- G04F—TIME-INTERVAL MEASURING
- G04F10/00—Apparatus for measuring unknown time intervals by electric means
- G04F10/04—Apparatus for measuring unknown time intervals by electric means by counting pulses or half-cycles of an ac
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K7/00—Modulating pulses with a continuously-variable modulating signal
- H03K7/08—Duration or width modulation ; Duty cycle modulation
Landscapes
- Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Pulse Circuits (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明公开了一种自适应定时方法、装置,所述方法包括:设定脉冲的时间序列,和定时器发生中断的时间宽度;所述时间序列包括时间节点、脉冲宽度;控制计数器开始计数,在设置的计数器初值达到时间节点时,控制触发脉冲动作;所述计数器初值依据发生中断的次数而相应增长。采用上述技术方案,定时脉冲相对0时刻可正、可负;降低时序的存储开销。
Description
技术领域
本发明涉及单片机定时控制领域,尤其涉及一种自适应定时方法、装置。
背景技术
单片机定时器通常用于控制脉冲的输出,在现有技术中采用的定时器控制脉冲方案中,定时器只能相对于0时刻设置正的时间序列,不适用于需要设置负的时间序列,其次,定时器的时间序列都是相对于0时刻而言的,当时序较多时会占用大量的存储空间,从而降低了定时器的性能。
发明内容
发明目的:本发明旨在提供一种自适应定时方法、装置,通过计数器初值与时间序列之间的设置关系,实现定时脉冲相对0时刻可正、可负,其次,通过设置时间节点和脉冲宽度,每个定时脉冲的相对时序关系可任意配置,可以降低时序的存储开销。
技术方案:本发明提供一种自适应定时方法,包括:设定脉冲的时间序列,和定时器发生中断的时间宽度;所述时间序列包括时间节点、脉冲宽度;控制计数器开始计数,在设置的计数器初值达到时间节点时,控制触发脉冲动作;所述计数器初值依据发生中断的次数而相应增长。
具体的,所述定时器工作方式为TMOD=1。
具体的,所述定时器初始化和中断时设置TH0=(65536-50000)/256,TL0=(65536-50000)&0xff。
具体的,所述时间序列为t0,Δt0,t1,Δt1,…,tn-1,Δtn-1,其中t0,t1,…,tn-1为时间节点,Δt0,Δt1,…,Δtn-1为与各个时间节点对应的脉冲宽度,时间节点占计数器12位,脉冲宽度占计数器4位。
具体的,当计数器初值等于ti-t0时,控制触发开始脉冲;当计数器初值等于ti-t0+Δti时,控制触发结束脉冲;ti为第i个时间节点。
本发明还提供一种自适应定时装置,包括:设定单元和计数单元,其中:
所述设定单元,用于设定脉冲的时间序列,和定时器发生中断的时间宽度;所述时间序列包括时间节点、脉冲宽度;
所述计数单元,用于控制计数器开始计数,在设置的计数器初值达到时间节点时,控制触发脉冲动作;所述计数器初值依据发生中断的次数而相应增长。
具体的,所述定时器工作方式为TMOD=1。
具体的,所述定时器初始化和中断时设置TH0=(65536-50000)/256,TL0=(65536-50000)&0xff。
具体的,所述时间序列为t0,Δt0,t1,Δt1,…,tn-1,Δtn-1,其中t0,t1,…,tn-1为时间节点,Δt0,Δt1,…,Δtn-1为与各个时间节点对应的脉冲宽度,时间节点占计数器12位,脉冲宽度占计数器4位。
具体的,所述计数单元,用于当计数器初值等于ti-t0时,控制触发开始脉冲;当计数器初值等于ti-t0+Δti时,控制触发结束脉冲;ti为第i个时间节点。
有益效果:与现有技术相比,本发明具有如下显著优点:定时脉冲相对0时刻可正、可负;降低时序的存储开销。
附图说明
图1为本发明提供的自适应定时方法的流程示意图。
具体实施方式
下面结合附图对本发明的技术方案作进一步说明。
参阅图1,其为本发明提供的自适应定时方法的流程示意图。
步骤1,设定脉冲的时间序列,和定时器发生中断的时间宽度。
本发明实施例中,所述时间序列包括时间节点、脉冲宽度。
本发明实施例中,所述时间序列为t0,Δt0,t1,Δt1,…,tn-1,Δtn-1,其中t0,t1,…,tn-1为时间节点,Δt0,Δt1,…,Δtn-1为与各个时间节点对应的脉冲宽度。
在具体实施中,时间节点是控制脉冲开始的时刻,脉冲宽度是控制脉冲持续发生的时间,其中脉冲宽度Δt0对应的是时间节点t0开始的脉冲,Δt1对应的是t1,其他同理,不同时间节点对应的脉冲宽度可以设置的不一致,也即每个定时脉冲的相对时序关系可任意配置。
在具体实施中,时间序列中时间节点的设置相对于0时刻可正、可负,通过时间序列控制的定时脉冲可以用于控制外部器件。
本发明实施例中,定时器工作方式为TMOD=1。
本发明实施例中,定时器初始化和中断时设置TH0=(65536-50000)/256,TL0=(65536-50000)&0xff。
在具体实施中,在单片机中(例如8031单片机),有两个计数器(TH0和TL0),设置定时器的工作模式为TM0D=1,即16位定时器,最大的计数量为65535;对于一个12M的晶体振荡器,供给计数器的脉冲时间间隔为1微秒。在初始化和中断时设置TH0=(65536-50000)/256,TL0=(65536-50000)&0xff,即当发生50000次振荡后,T0溢出,产生一次中断,中断每50ms发生一次(中断的时间宽度),因此50ms可以作为定时器的时间序列单位,根据实际应用场景,中断的时间宽度也可以相应的进行调整。
本发明实施例中,时间节点占计数器12位,脉冲宽度占计数器4位。
在具体实施中,时间序列占用的存储空间为(12+4)*n/8=2n字节,可控制n个矩形脉冲的产生,最大脉冲延迟为2047*50=102350ms=102.35s,最大脉冲宽度为15*50=750ms=0.75s。通过设置时间节点和脉冲宽度,以及时间节点和脉冲宽度的计数器位数分配,每个定时脉冲的相对时序关系可任意配置,可以降低时序的存储开销。
步骤2,控制计数器开始计数,在设置的计数器初值达到时间节点时,控制触发脉冲动作;所述计数器初值依据发生中断的次数而相应增长。
本发明实施例中,当计数器初值等于ti-t0时,控制触发开始脉冲;当计数器初值等于ti-t0+Δti时,控制触发结束脉冲;ti为第i个时间节点。
在具体实施中,可以设置计数器初值num=0,每次触发中断时num加1,则当num等于零时,触发第一个脉冲事件,对于其余时间序列t0,t1,…,tn-1,当num等于ti-t0时触发开始脉冲事件,当num等于ti-t0+Δti时触发结束脉冲事件。
在具体实施中,通过计数器初值与时间节点之间的设置关系,实现定时脉冲相对0时刻可正、可负,在通过单片机定时器实际控制外部器件时,可以据此校正时间误差。
在具体实施中,ti可以为t0,t1,…,tn-1中任意一个时间节点,若需要重新设置脉冲的产生时间和脉冲宽度,重新设置时间序列t0,Δt0,t1,Δt1,…,tn-1,Δtn-1即可。
本发明还提供一种自适应定时装置,包括:设定单元和计数单元,其中:
所述设定单元,用于设定脉冲的时间序列,和定时器发生中断的时间宽度;所述时间序列包括时间节点、脉冲宽度;
所述计数单元,用于控制计数器开始计数,在设置的计数器初值达到时间节点时,控制触发脉冲动作;所述计数器初值依据发生中断的次数而相应增长。
本发明实施例中,所述定时器工作方式为TMOD=1。
本发明实施例中,所述定时器初始化和中断时设置TH0=(65536-50000)/256,TL0=(65536-50000)&0xff。
本发明实施例中,所述时间序列为t0,Δt0,t1,Δt1,…,tn-1,Δtn-1,其中t0,t1,…,tn-1为时间节点,Δt0,Δt1,…,Δtn-1为与各个时间节点对应的脉冲宽度,时间节点占计数器12位,脉冲宽度占计数器4位。
本发明实施例中,所述计数单元,用于当计数器初值等于ti-t0时,控制触发开始脉冲;当计数器初值等于ti-t0+Δti时,控制触发结束脉冲;ti为第i个时间节点。
Claims (8)
1.一种自适应定时方法,其特征在于,包括:
设定脉冲的时间序列,和定时器发生中断的时间宽度;所述时间序列包括时间节点、脉冲宽度;所述时间序列为t0,Δt0,t1,Δt1,…,tn-1,Δtn-1,其中t0,t1,…,tn-1为时间节点,Δt0,Δt1,…,Δtn-1为与各个时间节点对应的脉冲宽度;
控制计数器开始计数,在设置的计数器初值达到时间节点时,控制触发脉冲动作;当计数器初值等于ti-t0时,控制触发开始脉冲;当计数器初值等于ti-t0+Δti时,控制触发结束脉冲;ti为第i个时间节点;所述计数器初值依据发生中断的次数而相应增长。
2.根据权利要求1所述的自适应定时方法,其特征在于,所述定时器工作方式为TMOD=1。
3.根据权利要求2所述的自适应定时方法,其特征在于,所述定时器初始化和中断时设置TH0=(65536-50000)/256,TL0=(65536-50000)&0xff。
4.根据权利要求3所述的自适应定时方法,其特征在于,时间节点占计数器12位,脉冲宽度占计数器4位。
5.一种自适应定时装置,其特征在于,包括:设定单元和计数单元,其中:
所述设定单元,用于设定脉冲的时间序列,和定时器发生中断的时间宽度;所述时间序列包括时间节点、脉冲宽度;所述时间序列为t0,Δt0,t1,Δt1,…tn-1,Δtn-1,其中t0,t1,…,tn-1为时间节点,Δt0,Δt1,…,Δtn-1为与各个时间节点对应的脉冲宽度;
所述计数单元,用于控制计数器开始计数,在设置的计数器初值达到时间节点时,控制触发脉冲动作;当计数器初值等于ti-t0时,控制触发开始脉冲;当计数器初值等于ti-t0+Δti时,控制触发结束脉冲;ti为第i个时间节点;所述计数器初值依据发生中断的次数而相应增长。
6.根据权利要求5所述的自适应定时装置,其特征在于,所述定时器工作方式为TMOD=1。
7.根据权利要求6所述的自适应定时装置,其特征在于,所述定时器初始化和中断时设置TH0=(65536-50000)/256,TL0=(65536-50000)&0xff。
8.根据权利要求7所述的自适应定时装置,其特征在于,时间节点占计数器12位,脉冲宽度占计数器4位。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010595042.XA CN111830816B (zh) | 2020-06-28 | 2020-06-28 | 自适应定时方法、装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010595042.XA CN111830816B (zh) | 2020-06-28 | 2020-06-28 | 自适应定时方法、装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111830816A CN111830816A (zh) | 2020-10-27 |
CN111830816B true CN111830816B (zh) | 2023-05-12 |
Family
ID=72898290
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010595042.XA Active CN111830816B (zh) | 2020-06-28 | 2020-06-28 | 自适应定时方法、装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111830816B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63160411A (ja) * | 1986-12-24 | 1988-07-04 | Toshiba Corp | パルス幅変調回路 |
US4996474A (en) * | 1989-07-31 | 1991-02-26 | Hewlett-Packard Company | Digital gate generation for a signal measurement instrument |
CN1099324A (zh) * | 1994-06-10 | 1995-03-01 | 险峰机床厂 | 磨床智能进给控制系统 |
CN1723620A (zh) * | 2002-12-10 | 2006-01-18 | 皇家飞利浦电子股份有限公司 | 使用标准微处理器具有增强特性的pwm的硬件/软件实现 |
CN101604815A (zh) * | 2009-06-26 | 2009-12-16 | 哈尔滨工业大学(威海) | 一种控制脉冲激光建立时间的激光稳频方法 |
CN201623692U (zh) * | 2010-01-18 | 2010-11-03 | 刘达亿 | 数字式脉冲宽度调制装置 |
RU2420776C1 (ru) * | 2009-11-03 | 2011-06-10 | Государственное образовательное учреждение высшего профессионального образования "Ульяновский государственный технический университет" | Устройство для управления станком |
CN103178814A (zh) * | 2011-12-21 | 2013-06-26 | 北京普源精电科技有限公司 | 一种函数信号发生装置及方法 |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SU983643A1 (ru) * | 1981-04-06 | 1982-12-23 | Предприятие П/Я А-1736 | Измеритель временных интервалов |
JPS5981576A (ja) * | 1982-11-02 | 1984-05-11 | Sumitomo Heavy Ind Ltd | 自動板切れ検出装置 |
CN1005231B (zh) * | 1985-06-26 | 1989-09-20 | 东芝机械株式会社 | 产生与被驱动体角位移有关的脉冲串的脉冲发生器 |
EP1150470A3 (en) * | 2000-04-27 | 2004-06-23 | Alps Electric Co., Ltd. | OFDM receiving device |
CN1117268C (zh) * | 2000-09-27 | 2003-08-06 | 潘伟潮 | 电子式人体健康秤 |
CN1138284C (zh) * | 2000-10-23 | 2004-02-11 | 中国科学院长春光学精密机械与物理研究所 | 片式电阻刻蚀的激光脉宽可调控制方法 |
DE10302379B4 (de) * | 2003-01-22 | 2005-06-09 | Minebea Co., Ltd. | Pulsweitenmodulatorschaltung und Verfahren zur Ansteuerung einer Pulsweitenmo- dulatorschaltung |
CN2736821Y (zh) * | 2004-05-18 | 2005-10-26 | 西安电子科技大学 | 基于可编程逻辑器件的短时间间隔测量器 |
JP4368787B2 (ja) * | 2004-12-15 | 2009-11-18 | Smk株式会社 | パルス幅変調信号生成装置及びパルス幅変調信号の生成方法 |
JP4878127B2 (ja) * | 2005-06-10 | 2012-02-15 | 株式会社トプコン | 時間差測定装置および距離測定装置並びに距離測定方法 |
US7412337B2 (en) * | 2005-10-13 | 2008-08-12 | Endress + Hauser Gmbh + Co. Kg | Method for determining fill level on the basis of travel time of a high-frequency measuring signal |
CN101515156B (zh) * | 2009-04-09 | 2011-05-18 | 北京航空航天大学 | 时间精密测量方法 |
US7986591B2 (en) * | 2009-08-14 | 2011-07-26 | Taiwan Semiconductor Manufacturing Company, Ltd. | Ultra high resolution timing measurement |
JP5743144B2 (ja) * | 2011-05-02 | 2015-07-01 | 株式会社ユニバーサルエンターテインメント | Rfidタグを備えた複数のチップからデータを読み取るシステム及び方法 |
CN102684606B (zh) * | 2012-06-13 | 2014-08-06 | 太原理工大学 | 新型噪声信号发生器 |
CN102740572B (zh) * | 2012-07-18 | 2015-09-30 | 广州凯盛电子科技有限公司 | 驱动电源控制电路 |
CN203101851U (zh) * | 2013-01-29 | 2013-07-31 | 中国人民解放军92941部队 | 脉冲间隔测量系统的输入电路 |
CN103954959A (zh) * | 2014-03-19 | 2014-07-30 | 南京航空航天大学 | 一种基于混沌信号源的步进频率雷达系统及通道构建方法 |
CN104777461B (zh) * | 2015-04-29 | 2017-05-17 | 中国科学院空间科学与应用研究中心 | 一种载频随机跳变的宽带混沌雷达信号产生方法及系统 |
CN105204319B (zh) * | 2015-10-12 | 2018-08-21 | 沈阳东软医疗系统有限公司 | 一种pet单事件发生时间的测量方法和装置 |
CN105301947B (zh) * | 2015-11-17 | 2017-09-26 | 中国联合网络通信集团有限公司 | 一种计时方法及计时装置 |
CN105718257B (zh) * | 2016-01-13 | 2018-12-25 | 上海理工大学 | 基于嵌入式系统的定时器装置及定时方法 |
CN106102245B (zh) * | 2016-07-20 | 2019-02-12 | 杭州士兰微电子股份有限公司 | Led调光器、led调光方法及led驱动装置 |
CN106851085B (zh) * | 2016-11-22 | 2019-07-12 | 北京空间机电研究所 | 一种基于面阵ccd的可变谱段多光谱相机的信号处理系统 |
CN107222189B (zh) * | 2017-05-03 | 2020-10-23 | 中科众志信通(大连)科技有限公司 | 一种数字脉冲宽度调制器 |
CN107017780B (zh) * | 2017-05-31 | 2019-05-10 | 青岛大学 | 一种带上拉有源钳位支路的隔离型dc-dc升压变换器及其控制方法 |
EP3427638A1 (en) * | 2017-07-10 | 2019-01-16 | Helmholtz Zentrum München - Deutsches Forschungszentrum für Gesundheit und Umwelt (GmbH) | Device and method for optoacoustic sensing |
CN109799384B (zh) * | 2017-11-16 | 2020-11-20 | 佛山市顺德区美的电热电器制造有限公司 | 电压过零检测方法、装置及烹饪电器 |
CN109581283A (zh) * | 2018-11-13 | 2019-04-05 | 中国直升机设计研究所 | 一种预警机与无人机协同目标定位方法 |
CN109752591A (zh) * | 2018-11-29 | 2019-05-14 | 北京北广科技股份有限公司 | 一种脉冲测量系统 |
CN110391804B (zh) * | 2019-07-23 | 2023-03-14 | 深圳市海派特光伏科技有限公司 | 电子烟自动调频方法、装置、设备及存储介质 |
-
2020
- 2020-06-28 CN CN202010595042.XA patent/CN111830816B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63160411A (ja) * | 1986-12-24 | 1988-07-04 | Toshiba Corp | パルス幅変調回路 |
US4996474A (en) * | 1989-07-31 | 1991-02-26 | Hewlett-Packard Company | Digital gate generation for a signal measurement instrument |
CN1099324A (zh) * | 1994-06-10 | 1995-03-01 | 险峰机床厂 | 磨床智能进给控制系统 |
CN1723620A (zh) * | 2002-12-10 | 2006-01-18 | 皇家飞利浦电子股份有限公司 | 使用标准微处理器具有增强特性的pwm的硬件/软件实现 |
CN101604815A (zh) * | 2009-06-26 | 2009-12-16 | 哈尔滨工业大学(威海) | 一种控制脉冲激光建立时间的激光稳频方法 |
RU2420776C1 (ru) * | 2009-11-03 | 2011-06-10 | Государственное образовательное учреждение высшего профессионального образования "Ульяновский государственный технический университет" | Устройство для управления станком |
CN201623692U (zh) * | 2010-01-18 | 2010-11-03 | 刘达亿 | 数字式脉冲宽度调制装置 |
CN103178814A (zh) * | 2011-12-21 | 2013-06-26 | 北京普源精电科技有限公司 | 一种函数信号发生装置及方法 |
Non-Patent Citations (2)
Title |
---|
杨宏丽、王静霞.单片机应用技术.西安电子科技大学出版社,2018,第103、110-112页. * |
陈景波、王伟等.51单片机实战指南.西安电子科技大学出版社,2019,第106-109页. * |
Also Published As
Publication number | Publication date |
---|---|
CN111830816A (zh) | 2020-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7078952B2 (en) | Device for calibrating a clock signal | |
CN111830816B (zh) | 自适应定时方法、装置 | |
CN115202496A (zh) | 导航系统及其时钟校准方法 | |
JPH0262196B2 (zh) | ||
JP2019133206A (ja) | モータ駆動システム、モータ制御システムおよび自走ロボット | |
US4144447A (en) | Interval timer | |
CN213717955U (zh) | 自唤醒定时器及电子设备 | |
CN111600581B (zh) | 一种数字控制的单稳态触发器及其控制方法 | |
JPS63301627A (ja) | 受信装置のパワ−セ−ブ方法 | |
US4890048A (en) | Low torque ripple stepping motor controller circuit | |
CA1231478A (en) | Constant-percent break pulse corrector | |
US2879332A (en) | Code converter | |
US3100850A (en) | Broken ring counter circuit with internal pulse reset means | |
US4164712A (en) | Continuous counting system | |
JPS5824000B2 (ja) | 1つの中央局と複数の下位局とを有する遠隔制御装置 | |
RU2674878C1 (ru) | Устройство синхронизации микроконтроллеров | |
SU641435A1 (ru) | Устройство дл управлени операци ми ввода-вывода данных | |
EP3076720B1 (en) | Method and device for controlling concurrent data transmission, and terminal | |
RU1817098C (ru) | Устройство дл управлени обменом информацией | |
RU1803969C (ru) | Устройство дл выделени импульсов из последовательности | |
SU444327A1 (ru) | Устройство управлени коммутатором | |
JPH08278943A (ja) | 共有バス制御方式 | |
RU1827714C (ru) | Формирователь импульсной последовательности | |
JPS637918Y2 (zh) | ||
US2956232A (en) | Electronic energy storage circuits |
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 |