CN112904090A - 一种信号持续时间采集方法 - Google Patents
一种信号持续时间采集方法 Download PDFInfo
- Publication number
- CN112904090A CN112904090A CN202110093107.5A CN202110093107A CN112904090A CN 112904090 A CN112904090 A CN 112904090A CN 202110093107 A CN202110093107 A CN 202110093107A CN 112904090 A CN112904090 A CN 112904090A
- Authority
- CN
- China
- Prior art keywords
- signal
- level
- value
- external
- interruption
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 230000000630 rising effect Effects 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 4
- 238000005070 sampling Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R29/00—Arrangements for measuring or indicating electric quantities not covered by groups G01R19/00 - G01R27/00
- G01R29/02—Measuring characteristics of individual pulses, e.g. deviation from pulse flatness, rise time or duration
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R19/00—Arrangements for measuring currents or voltages or for indicating presence or sign thereof
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
一种信号持续时间采集方法,包括如下步骤:将单片机配置定时器功能,设定时钟频率F,设定定时时间间隔t;当待采集信号发生首次电平变化时,触发并进入外部中断,对外部中断次数值Nc作加1处理,读取此时定时器计数寄存器值Ta,并将中断计时标志位置为真;当电平持续期间程序进入定时中断时,若计时标志位为真,对定时中断次数值Ts作加1处理;当待采集信号发生电平变化触发进入外部中断次数值Nc到达预设值时,读取此时定时器计数寄存器值Tb;计算得出信号持续时间Tc_value=t*Ts+(Tb‑Ta)*(1/F)。本发明的一种信号持续时间采集方法成本低,对芯片资源要求少,能精确采集到需采集的信号时间,程序通用性好,移植性和一致性好。
Description
技术领域
本发明属于通信电子领域,尤其涉及一种信号持续时间采集方法。
背景技术
当在单片机应用时检测外部相关电平信号的时间时,通常使用单片机自身的捕获功能,才准确的捕捉到此电平信号时间。但通常捕获功能是于定时器共用寄存器,当使用定时器功能时,占用此定时器寄存器,此时无法使用单片机的捕获功能来捕获电平时间。在一些较为低端或低成本单片机的芯片资源中没有此捕获功能,无法准确的捕获到需采集的电平时间,从而影响其他相关功能实现。
通常可利用单片机的定时器,使其设置固定的计时时间,以定时触发定时中断,可在定时中断(固定时间,即固定的采样间隔)中对此电平状态进行判断计时,但此种方式采集判断到的电平时间最大会有两个检测判断间隔时间误差,导致无法准确的采集到此电平时间。
例如电机进行闭环控制时,电机反馈的转速信号为一个占空比为50%的PWM信号,其周期与电机转速有一定关系,故需准确采集电机转速才可更加准确的进行电机转速控制。若当采集误差较大时,电机转速就会无法很好达到预定转速,导致控制效果差。
发明内容
为解决上述现有技术中的问题,本发明提供了一种信号持续时间采集方法,该发明提供了一种对数字信号(波形或电平)持续时间的精准采集方案,使用定时器、外部中断等单片机基本功能即可实现信号时间准确采集,解决了在单片机外设功能缺失或资源紧张情况下,利用常规方式无法对波形或电平时间进行精确采集的问题,从而低成本的实现信号时间的精准采集。
为实现上述目的,本发明的一种信号持续时间采集方法的具体技术方案如下:
一种信号持续时间采集方法,包括如下步骤:
将单片机配置定时器功能,设定时钟频率F,设定定时时间间隔t;
当待采集信号发生首次电平变化时,触发并进入外部中断,对外部中断次数值Nc作加1处理,读取此时定时器计数寄存器值Ta,并将中断计时标志位置为真;
当电平持续期间程序进入定时中断时,若计时标志位为真,对定时中断次数值Ts作加1处理;
当待采集信号发生电平变化触发进入外部中断次数值Nc到达预设值时,读取此时定时器计数寄存器值Tb;
计算得出信号持续时间Tc_value=t*Ts+(Tb-Ta)*(1/F)。
进一步,所述方法具体包括:
当外部中断次数Nc=2时,完成一次电平持续时间采集。
进一步,所述方法具体包括:
当外部中断次数Nc≥2时,完成一次波形持续时间采集。
进一步,所述方法具体包括:
若判定外部中断电平为高电平,将上升沿时标志位置为真,则先检测一个上升沿,再检测到一个下降沿,采集两个边沿之间的高电平持续时间。
进一步,所述方法具体包括:
若判定外部中断电平为低电平,将下降沿时标志位置为真,则先检测一个下降沿,再检测到一个上升沿,采集两个边沿之间的低电平持续时间。
进一步,所述方法具体包括:
设定定时器计数寄存器初始值T,设定定时器计数寄存器最大值Tmax,则t=Tmax-T。
进一步,所述方法具体包括:
设置外部中断为单边沿触发或双边沿触发。
进一步,所述方法具体包括:
设置外部中断优先级大于等于定时中断优先级,并允许外部中断嵌套在定时中断中。
进一步,所述方法具体包括:
在将单片机配置定时器功能之前,将外部信号采集口设置在单片机的外部中断端口。
本发明的一种信号持续时间采集方法具有以下优点:成本低,对芯片资源要求少,能精确采集到需采集的信号时间,程序通用性好,移植性和一致性好。
附图说明
图1为本发明的单片机和外部信号设置示意图;
图2为本发明的信号采集流程示意图;
图3为本发明的采集一次高电平流程示意图;
图4为本发明的信号采集中断设置流程示意图;
图5为本发明的时间计算数据流程示意图。
具体实施方式
为了更好地了解本发明的目的、结构及功能,下面结合附图,对本发明一种信号持续时间采集方法做进一步详细的描述。
本发明的信号持续时间采集方法将外部信号采集口设置在单片机的外部中断端口,通过单片机配置定时器功能,设置定时中断,将外部中断的优先级设置较高且大于等于其他中断的优先级,以保证采集数据更加准确,并且允许外部中断可以嵌套在其他中断中,以避免程序在其他中断中运行时间较长,导致不能及时进入外部中断,影响采样时间准确度。
设定定时器时钟频率F、定时时间间隔t、计数初始值T,定时器的计数寄存器从定时计数初值T开始向上累加,当计数寄存器值超过寄存器最大计数值时Tmax,定时计数值寄存器发生溢出时并触发定时中断,具体的,定时器的计数值从T到Tmax为一个定时周期t,即t=Tmax-T。
具体的,可采集信号电平持续时间:设置外部中断功能为双边沿触发,当待采集信号首次发生电平变化时,触发并进入外部中断,读取并保存此时定时器计数寄存器值Ta,并将中断计时标志位Flag置为真;
当电平持续期间程序进入定时中断,在定时中断中若此计时标志位Flag为真时,则对检测期间定时中断次数值Ts进行加1处理;
当电平再次发生变化时,触发外部中断,读取并保存此时定时器的计数寄存器值Tb,一次电平持续时间采集完成;
当Ts=0时,即说明两次触发的外部中断时间不大于最小的定时间隔t,则此电平持续时间Tc_value=[(Tmax-Ta)+(Ta-T)+t*(Ts-1)]*(1/F),即Tc_value=(Tb-Ta)*(1/F);
当Ts>0时,则此电平持续时间Tc_value=[(Tmax-Ta)+(Ta-T)+t*(Ts-1)]*(1/F),即Tc_value=t*Ts+(Tb-Ta)*(1/F)。
进一步,判断外部中断电平,若外部中断的电平为高电平,将IO_UP_Flag置为真,则可采集一次高电平持续时间:先检测一个上升沿,再检测到一个下降沿,两个边沿之间的时间即为高电平持续时间,若为低电平则不去处理,等待下次外部中断触发;
若外部中断的电平为低电平,将IO_DOWN_Flag置为真,则可采集一次低电平持续时间:先检测一个下降沿,再检测到一个上升沿,两个边沿之间的时间即为低电平持续时间,若为高电平则不去处理,等待下次外部中断触发。
具体的,还可采集信号波形持续时间:设置外部中断为单边沿触发(上升沿或下降沿)或双边沿触发(上升沿、下降沿均可触发),待采集信号发生信号电平变化时,触发并进入外部中断,读取并保存此时定时器计数寄存器值Ta,并将中断计时标志位Flag置为真,并将触发进入外部中断次数值Nc进行加1处理;
在此电平采集期间,当程序进入定时中断中时,在定时中断中判断若此计时标志位Flag为真时,则对定时中断次数值Ts进行加1处理;
当程序再次进入外部中断中时,对外部中断次数值Nc进行加1处理,当Nc次数值到达预设的次数时,读取此时定时器的计数寄存器值Tb,一次波形持续时间采集完成;
当Ts=0时,即说明两次触发的外部中断时间不大于最小的定时间隔t,则此电平持续时间Tc_value=[(Tmax-Ta)+(Ta-T)+t*(Ts-1)]*(1/F),即Tc_value=(Tb-Ta)*(1/F);
当Ts>0时,则此电平持续时间Tc_value=[(Tmax-Ta)+(Ta-T)+t*(Ts-1)]*(1/F),即Tc_value=t*Ts+(Tb-Ta)*(1/F)。
本发明的一种信号持续时间采集方法成本低,对芯片资源要求少,能精确采集到需采集的信号时间,程序通用性好,移植性和一致性好。
可以理解,本发明是通过一些实施例进行描述的,本领域技术人员知悉的,在不脱离本发明的精神和范围的情况下,可以对这些特征和实施例进行各种改变或等效替换。另外,在本发明的教导下,可以对这些特征和实施例进行修改以适应具体的情况及材料而不会脱离本发明的精神和范围。因此,本发明不受此处所公开的具体实施例的限制,所有落入本申请的权利要求范围内的实施例都属于本发明所保护的范围内。
Claims (9)
1.一种信号持续时间采集方法,其特征在于,包括如下步骤:
将单片机配置定时器功能,设定时钟频率F,设定定时时间间隔t;
当待采集信号发生首次电平变化时,触发并进入外部中断,对外部中断次数值Nc作加1处理,读取此时定时器计数寄存器值Ta,并将中断计时标志位置为真;
当电平持续期间程序进入定时中断时,若计时标志位为真,对定时中断次数值Ts作加1处理;
当待采集信号发生电平变化触发进入外部中断次数值Nc到达预设值时,读取此时定时器计数寄存器值Tb;
计算得出信号持续时间Tc_value=t*Ts+(Tb-Ta)*(1/F)。
2.根据权利要求1所述的信号持续时间采集方法,其特征在于,所述方法具体包括:
当外部中断次数Nc=2时,完成一次电平持续时间采集。
3.根据权利要求1所述的信号持续时间采集方法,其特征在于,所述方法具体包括:
当外部中断次数Nc≥2时,完成一次波形持续时间采集。
4.根据权利要求2或3所述的信号持续时间采集方法,其特征在于,所述方法具体包括:
若判定外部中断电平为高电平,将上升沿时标志位置为真,则先检测一个上升沿,再检测到一个下降沿,采集两个边沿之间的高电平持续时间。
5.根据权利要求2或3所述的信号持续时间采集方法,其特征在于,所述方法具体包括:
若判定外部中断电平为低电平,将下降沿时标志位置为真,则先检测一个下降沿,再检测到一个上升沿,采集两个边沿之间的低电平持续时间。
6.根据权利要求1所述的信号持续时间采集方法,其特征在于,所述方法具体包括:
设定定时器计数寄存器初始值T,设定定时器计数寄存器最大值Tmax,则t=Tmax-T。
7.根据权利要求1所述的信号持续时间采集方法,其特征在于,所述方法具体包括:
设置外部中断为单边沿触发或双边沿触发。
8.根据权利要求1所述的信号持续时间采集方法,其特征在于,所述方法具体包括:
设置外部中断优先级大于等于定时中断优先级,并允许外部中断嵌套在定时中断中。
9.根据权利要求1所述的信号持续时间采集方法,其特征在于,所述方法具体包括:
在将单片机配置定时器功能之前,将外部信号采集口设置在单片机的外部中断端口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110093107.5A CN112904090A (zh) | 2021-01-25 | 2021-01-25 | 一种信号持续时间采集方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110093107.5A CN112904090A (zh) | 2021-01-25 | 2021-01-25 | 一种信号持续时间采集方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112904090A true CN112904090A (zh) | 2021-06-04 |
Family
ID=76118653
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110093107.5A Pending CN112904090A (zh) | 2021-01-25 | 2021-01-25 | 一种信号持续时间采集方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112904090A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114218139A (zh) * | 2021-12-15 | 2022-03-22 | 北京航天控制仪器研究所 | 一种基于实时操作系统和fpga的仿真转台高速同步采集方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102710258A (zh) * | 2012-06-05 | 2012-10-03 | 上海辛克试验机有限公司 | 一种基于单片机的低频信号的数字倍频方法 |
CN104698286A (zh) * | 2014-07-24 | 2015-06-10 | 北京航空航天大学 | 一种基于定时器的pwm波采集方法 |
CN111220843A (zh) * | 2020-01-18 | 2020-06-02 | 惠州华阳通用电子有限公司 | 一种信号电平持续时间测量方法及装置 |
CN210693808U (zh) * | 2019-10-30 | 2020-06-05 | 南京元晨微电子科技有限公司 | 一种pwm信号电平持续时间检测电路 |
CN111429711A (zh) * | 2020-04-01 | 2020-07-17 | 深圳盈特创智能科技有限公司 | 一种红外接收方法及装置 |
-
2021
- 2021-01-25 CN CN202110093107.5A patent/CN112904090A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102710258A (zh) * | 2012-06-05 | 2012-10-03 | 上海辛克试验机有限公司 | 一种基于单片机的低频信号的数字倍频方法 |
CN104698286A (zh) * | 2014-07-24 | 2015-06-10 | 北京航空航天大学 | 一种基于定时器的pwm波采集方法 |
CN210693808U (zh) * | 2019-10-30 | 2020-06-05 | 南京元晨微电子科技有限公司 | 一种pwm信号电平持续时间检测电路 |
CN111220843A (zh) * | 2020-01-18 | 2020-06-02 | 惠州华阳通用电子有限公司 | 一种信号电平持续时间测量方法及装置 |
CN111429711A (zh) * | 2020-04-01 | 2020-07-17 | 深圳盈特创智能科技有限公司 | 一种红外接收方法及装置 |
Non-Patent Citations (1)
Title |
---|
赵翠玉: "基于AT89C52 脉冲宽度测量仪的设计与实现", 《数字技术与应用》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114218139A (zh) * | 2021-12-15 | 2022-03-22 | 北京航天控制仪器研究所 | 一种基于实时操作系统和fpga的仿真转台高速同步采集方法 |
CN114218139B (zh) * | 2021-12-15 | 2024-05-31 | 北京航天控制仪器研究所 | 一种基于实时操作系统和fpga的仿真转台高速同步采集方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1105477C (zh) | 无线电通信设备的接收部分 | |
CA1195780A (en) | Microcomputer retriggerable interval counter | |
CN103995766A (zh) | 一种检测控制处理器温度的方法 | |
CN110910629B (zh) | 基于单片机的红外遥控信号解码方法、系统及计量装置 | |
CN112904090A (zh) | 一种信号持续时间采集方法 | |
JPH0249599B2 (zh) | ||
CN104063223B (zh) | 一种fpga实现软件编程器件可控看门狗功能的方法 | |
CN109543811B (zh) | 一种计数电路、计数方法及芯片 | |
CN113038445B (zh) | 一种蓝牙休眠时钟的校准方法 | |
CN110262920A (zh) | Linux系统外置看门狗间接喂狗方法、看门狗喂狗代理驱动模块、看门狗系统 | |
CN209231361U (zh) | 基于pwm信号的速度检测器、处理电路及芯片 | |
CN107168902B (zh) | 一种利用dma实现高速can波特率的自动识别方法 | |
CN114518782B (zh) | 微控制单元、电机转速测量方法及系统、存储介质 | |
EP2612205A2 (en) | Low energy sensor interface | |
CN103516288A (zh) | 一种自适应的编码器测速装置和方法 | |
CN111175573A (zh) | 交流电压频率的检测方法、装置、设备及介质 | |
CN107831696B (zh) | 一种irig-b直流码解码方法 | |
CN112615609A (zh) | 一种具有自动切换看门狗周期的复位电路 | |
CN206258515U (zh) | 一种减小功率计算误差的装置 | |
CN112858715A (zh) | 一种直流变频电机转速取样时受高频信号干扰的解决方法 | |
CN203859711U (zh) | 一种发动机转速采样及控制电路 | |
CN215744153U (zh) | 一种离心机的转速检测和转头识别装置 | |
CN115166284A (zh) | 频率信号采集系统及频率信号采集方法 | |
AU2020414826B2 (en) | Hair dryer control method and apparatus, and storage medium | |
CN115001325B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210604 |
|
RJ01 | Rejection of invention patent application after publication |