[go: up one dir, main page]

CN102457268B - 32位捕获寄存器的实现方法 - Google Patents

32位捕获寄存器的实现方法 Download PDF

Info

Publication number
CN102457268B
CN102457268B CN201010515766.5A CN201010515766A CN102457268B CN 102457268 B CN102457268 B CN 102457268B CN 201010515766 A CN201010515766 A CN 201010515766A CN 102457268 B CN102457268 B CN 102457268B
Authority
CN
China
Prior art keywords
timer
counter
bit
mouth
frequency
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
Application number
CN201010515766.5A
Other languages
English (en)
Other versions
CN102457268A (zh
Inventor
翟富昌
赵长兵
李慧勇
张鉴
李增利
王敬仁
刘国营
欧阳强
常红旗
高龙集
陈磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing DeWitt electric Polytron Technologies Inc
Original Assignee
BEIJING DEVOTE RELAY PROTECTION TECHNOLOGY Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by BEIJING DEVOTE RELAY PROTECTION TECHNOLOGY Co Ltd filed Critical BEIJING DEVOTE RELAY PROTECTION TECHNOLOGY Co Ltd
Priority to CN201010515766.5A priority Critical patent/CN102457268B/zh
Publication of CN102457268A publication Critical patent/CN102457268A/zh
Application granted granted Critical
Publication of CN102457268B publication Critical patent/CN102457268B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Measuring Frequencies, Analyzing Spectra (AREA)

Abstract

本发明提供了一种32位捕获寄存器的实现方法,包括以下步骤:选定所用微处理器的一I/O口,将I/O口定义为捕获口,并将所述的I/O口的中断触发方式设置为上升沿或下降沿中断触发,该I/O口用于检测带有频率信息的方波信号;选定所用微处理器的一16位定时器,通过调用TIMER_CONFIGURE函数将该16位定时器的一第一定时/计数器和一第二定时/计数器配置为32位周期计数器。通过电力系统频率测量程序的设置,实现32位捕获寄存器的频率捕获功能。本发明实现方法简单,且能保证电力系统频率测量的精度。

Description

32位捕获寄存器的实现方法
技术领域
本发明涉及微处理器32位寄存器的实现方法,特别涉及用于电力系统频率测量的32位捕获寄存器的实现方法。
背景技术
电力系统中需要精确测量其电气频率,但目前市场上运用较多的微控制器中部分产品只有16位捕获寄存器,该16位捕获寄存器最大计数值为65536,计时间隔为1.31072ms,而一般微处理器的工频周期为20ms,在这种情况下,利用16位频率捕获寄出器测量电气频率时,需要计数满15个最大周期值才能达到一个工频时间间隔,即便能计数满工频周期间隔,其频率测量的分辨率也会较低,不能保证电气频率测量计算的精度。在这种情况下,多数保护装置采用固定采样频率进行采样,或者采用插点方式进行数据补偿,但是,上述采样方式当测量系统由于故障导致频率变化时,就无法保证采样频率的精确度。
发明内容
本发明的目的在于提供了一种32位捕获寄存器的实现方法,能够克服了现有技术中的不足,保证电力系统频率测量的精度。
为达到上述目的,本发明的技术方案是:本发明的32位捕获寄存器的实现方法包括以下步骤:
步骤1:选定所用微处理器的一I/O口(input/output,输入输出端口),将所述的I/O口定义为捕获口,并将所述的I/O口的中断触发方式设置为上升沿或下降沿中断触发,该I/O口用于检测带有频率信息的方波信号;
步骤2:选定所述的微处理器的一16位定时器(timer),通过调用TIMER_CONFIGURE函数将所述的16位定时器的一第一定时/计数器(timerA)和一第二定时/计数器(timerB)配置为32位周期计数器,使该16位定时器具有32位计数功能。
较佳地,所述的I/O口具有较高的中断优先级,或者具有捕获功能。
较佳地,所述的I/O口的中断优先级设置为2。
较佳地,所述的第一定时/计数器和第二定时/计数器均为16位。
较佳地,所述的第一定时/计数器的装载值作为32位周期计数器的初始值,所述的第二定时/计数器的当前计数值即为所述的32位周期计数器的当前值。
较佳地,在32位模式下,当第一定时/计数器和第二定时/计数器被配置为一个完整的32位周期计数器时,对第一定时/计数器和第二定时/计数器的各项操作,如装载初始值、运行控制、中断控制等,都是将对第一定时/计数器的各项操作作为总体上的32位周期计数器的控制,而对第二定时/计数器的操作对总体上的32位周期计数器无任何效果。
本发明的32位捕获寄存器用于测量电力系统的电气频率,实现简单,且能保证电力系统频率测量的精度。
附图说明
图1为本发明32位捕获寄存器的实现方法的总体流程图;
图2为本发明32位捕获寄存器的实现方法的一实施例的流程图。
具体实施方式
为使本发明的特征和优点能够更加明显易懂,下面结合附图和具体实施例对本发明作进一步详细的说明。
请参阅图1,本发明32位捕获寄存器的实现方法包括以下步骤:
步骤1:选定所用微处理器的一I/O口(input/output,输入输出端口),将所述的I/O口定义为捕获口,并将所述的I/O口的中断触发方式设置为上升沿或下降沿中断触发,该I/O口用于检测带有频率信息的方波信号;
步骤2:选定所述的微处理器的一16位定时器(timer),通过调用TIMER_CONFIGURE函数将所述的16位定时器的一第一定时/计数器(timerA)和一第二定时/计数器(timerB)配置为32位周期计数器,使该16位定时器具有32位计数功能。
较佳地,所述的I/O口具有较高的中断优先级,或者具有捕获功能。
较佳地,所述的I/O口的中断优先级设置为2。
较佳地,所述的第一定时/计数器和第二定时/计数器均为16位。
较佳地,所述的第一定时/计数器的装载值作为32位周期计数器的初始值,所述的第二定时/计数器的当前计数值即为所述的32位周期计数器的当前值。
较佳地,所述TIMER_CONFIGURE函数包含两个参数值,分别是定时器参数及位数参数,本实施例是将处理器的定时器2设置为32位周期计数器,将TIMER_CONFIGURE函数中的定时器参数设置为定时器2,将位数参数设置为32,则可将定时器2的第一定时/计数器和第二定时/计数器配置为32位周期计数器。
较佳地,在32位模式下,当第一定时/计数器和第二定时/计数器被配置为一个完整的32位周期计数器时,对第一定时/计数器和第二定时/计数器的各项操作,如装载初始值、运行控制、中断控制等,都是将对第一定时/计数器的各项操作作为总体上的32位周期计数器的控制,而对第二定时/计数器的操作对总体上的32位周期计数器无任何效果。
请参阅图2,本发明实施时包括以下步骤:
S101:选择电气频率测量系统所用微处理器的一I/O口(input/output,输入输出端口),设置该I/O口边沿触发中断方式,用于检测带有频率信息的方波信号;以及
选择所用微处理器的一16位定时器(本实施例选择所用微处理器的定时器2),其用于实现32位周期计数器功能;
S102:关闭所用微处理器的外部中断;
S103:关闭所用微处理器的外设模块,该外设模块包括I/O口模块、定时器模块、A/D采样模块及看门狗模块等;
S104:设置测量系统时钟;即使能PLL(Phase Locked Loop,锁相回路或锁相环)并连接到微处理器作为系统时钟,设置PLL输出频率为200MHz,将测量系统输出分频器的分频值设置为4,则系统进行四分频后的输出频率为50MHz;
S105:使能I/O口中断;
S106:初始化I/O口,将选定的I/O口定义为捕获口,将该捕获口设置为输入端口,并设置该捕获口上升沿或下降沿触发方式;
S107:初始化第一定时/计数器和第二定时/计数器,将第二定时/计数器设置为具有捕获功能的计数器;
S108:使能第一定时/计数器和第二定时/计数器;
S109:调用TIMER_CONFIGURE函数将第一定时/计数器和第二定时/计数器配置为32位周期计数器;在32位单次触发和周期定时器模式中,第一定时/计数器和第二定时/计数器连在一起被配置为32位递减计数器,并根据写入GPTM第一定时/计数器模式(GPTMTAMR,通用定时器第一定时/计数器模式)的TAMR位域的值可确定将其选择为周期模式,此时不需要写GPTM第二定时/计数器模式(GPTMTBMR,通用定时器第二定时/计数器模式);
S110:设置第一定时/计数器的装载值a(本实施例中,所用微处理器工作频率为50MHz,则设置a值为1999999),作为32位周期计数器的初始值,第二定时/计数器的当前计数值b设置为32位周期计数器的当前值;
S111:禁止第一定时/计数器和第二定时/计数器的输出触发功能;
S112:设置第一定时/计数器和第二定时/计数器的溢出中断;
S113:使能第一定时/计数器和第二定时/计数器开始计数。
实施时,当该32位捕获寄存器开始频率测量工作时,首先,电力系统的频率测量程序进入I/O口中断服务程序,该电力系统频率测量程序每次进入I/O口中断后都立即取出32位周期计数器的当前值b,并且立即将32位周期计数器的初始值设置为a(因为频率测量系统上电后,1秒内的数据信息将会被丢弃)。频率测量程序运行1秒之后,当该频率测量程序再次进入I/O口中断服务程序时,取出该32位周期计数器的当前值b,用其初始值a减去当前值b得到一差值,该差值即是一个工频周期的计时数值,将该差值的数据类型定义为浮点数(float型),计算公式如下:
f = 50000000.00 float ( a - b )
其中,f为所需测量的电气频率值,该公式的分子部分为所用微处理器的工作频率。
试验结果表明:如果采用16位捕获寄存器测量电力系统的电气频率,由于16位捕获寄存器的最大计数值为0xffff,计时间隔为1.31072ms,而一个工频周期为20ms,所以,在这种情况下,16位捕获寄出器需计数满15个最大周期值才能达到一个工频时间间隔,但是程序无法处理这种情况,也无法保证电力系统频率测量精度;如果采用本发明的32位捕获寄存器用于测量电力系统的电气频率,实现简单,且能保证电力系统频率测量的精度≤0.01Hz。
显然,上述实施例仅为本发明技术方案的说明并非限制,对本发明的技术方案进行的各种改动和等同替换而不脱离本发明的精神和范围,均应涵盖在本发明的权利要求范围之内。

Claims (4)

1.一种32位捕获寄存器的实现方法,其特征在于,包括以下步骤:
步骤1:选定所用微处理器的一I/O口,将所述的I/O口的中断触发方式设置为上升沿或下降沿中断触发,该I/O口用于检测带有频率信息的方波信号;
步骤2:选定所述的微处理器的一16位定时器,通过调用TIMER_CONFIGURE函数将所述的16位定时器的一第一定时/计数器和一第二定时/计数器配置为32位周期计数器;
步骤3:设置所述第一定时/计数器的装载值a作为所述32位周期计数器的初始值,将所述第二定时/计数器的当前计数值b设置为所述32位周期计数器的当前值;
步骤4:禁止所述第一定时/计数器和所述第二定时/计数器的输出触发功能;
步骤5:设置所述第一定时/计数器和所述第二定时/计数器的溢出中断;
步骤6:使能所述第一定时/计数器和所述第二定时/计数器开始计数;
步骤7,当电气频率测量程序再次进入所述I/O口的中断服务程序时,取出所述该32位周期计数器的所述当前计数值b,并采用所述初始值a减去所述当前计数值b得到一差值,所述差值为一个工频周期内的计时数值;
其中,所述TIMER_CONFIGURE函数包含两个参数值,分别是定时器参数及位数参数,将所述TIMER_CONFIGURE函数中的定时器参数设置为所述16位定时器,将位数参数设置为32。
2.根据权利要求1所述的32位捕获寄存器的实现方法,其特征在于,所述的I/O口的中断优先级设置为2。
3.根据权利要求1所述的32位捕获寄存器的实现方法,其特征在于,所述的第一定时/计数器和第二定时/计数器均为16位定时/计数器。
4.根据权利要求3所述的32位捕获寄存器的实现方法,其特征在于,所述的第一定时/计数器的装载值设置为所述的32位周期计数器的初始值,所述的第二定时/计数器的当前计数值设置为所述的32位周期计数器的当前值。
CN201010515766.5A 2010-10-15 2010-10-15 32位捕获寄存器的实现方法 Active CN102457268B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010515766.5A CN102457268B (zh) 2010-10-15 2010-10-15 32位捕获寄存器的实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010515766.5A CN102457268B (zh) 2010-10-15 2010-10-15 32位捕获寄存器的实现方法

Publications (2)

Publication Number Publication Date
CN102457268A CN102457268A (zh) 2012-05-16
CN102457268B true CN102457268B (zh) 2014-10-22

Family

ID=46040022

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010515766.5A Active CN102457268B (zh) 2010-10-15 2010-10-15 32位捕获寄存器的实现方法

Country Status (1)

Country Link
CN (1) CN102457268B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102938197A (zh) * 2012-10-26 2013-02-20 合肥移瑞通信技术有限公司 输入捕获中断方式解码红外遥控的方法
CN105302226B (zh) * 2015-10-30 2018-01-16 北京时代民芯科技有限公司 一种基于apb总线的多功能模式定时器电路
CN105807843B (zh) * 2016-03-17 2019-07-23 东莞华芯世纪微电子有限公司 一种实现定时/计数器的方法及使用这种方法的装置
CN112650119A (zh) * 2020-12-22 2021-04-13 深圳市禾望电气股份有限公司 基于mcu的事件发生时刻测量范围的扩展方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1553336A (zh) * 2003-05-30 2004-12-08 中兴通讯股份有限公司 一种测试用软件计时方法
US20090184742A1 (en) * 2008-01-23 2009-07-23 Microchip Technology Incorporated Externally Synchronizing Multiphase Pulse Width Modulation Signals
CN101495959A (zh) * 2006-08-02 2009-07-29 高通股份有限公司 组合微处理器内的多个寄存器单元的方法和系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1553336A (zh) * 2003-05-30 2004-12-08 中兴通讯股份有限公司 一种测试用软件计时方法
CN101495959A (zh) * 2006-08-02 2009-07-29 高通股份有限公司 组合微处理器内的多个寄存器单元的方法和系统
US20090184742A1 (en) * 2008-01-23 2009-07-23 Microchip Technology Incorporated Externally Synchronizing Multiphase Pulse Width Modulation Signals

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
党力明等.基于89C55WD单片机的32位高精度计时器.《测绘科学技术学报》.2007,第24卷(第5期),第346页右栏第1段,第347页左栏第1-7段,第348页左栏第2段及图1、3、4.
基于89C55WD单片机的32位高精度计时器;党力明等;《测绘科学技术学报》;20071031;第24卷(第5期);第346页右栏第1段,第347页左栏第1-7段,第348页左栏第2段及图1、3、4 *

Also Published As

Publication number Publication date
CN102457268A (zh) 2012-05-16

Similar Documents

Publication Publication Date Title
CN102035455B (zh) 一种变频器m/t测速方法
CN106569032B (zh) 一种基于嵌入式微控制器的信号频率和占空比的检测方法
CN102457268B (zh) 32位捕获寄存器的实现方法
CN102315983B (zh) 一种多路串行通讯接口波特率自动检测电路及方法
CN101763028B (zh) 时间校准的方法和装置
CN103176042B (zh) 一种频率测量方法、装置和频率计
CN103487649B (zh) 一种兼容连续波和脉冲调制载波频率测量的方法及装置
CN106597096A (zh) 一种时钟频率监测方法
CN101865951B (zh) 一种抗干扰的频率测量方法
CN105318918A (zh) 一种无磁流量计量装置及其计量方法
CN116559528A (zh) 芯片频率测量方法、电路、装置、存储介质及计算机设备
CN108809299A (zh) 信号频率测量系统
US20140153623A1 (en) Device for auto baud rate detection
US5357490A (en) Measuring timer system
CN202393904U (zh) 一种用于电能计量装置的误差检验装置
CN113063992B (zh) 用于测量两路脉冲信号间时间差的计时电路及计时方法
JP5077815B2 (ja) パルス入力装置
CN114236455A (zh) 一种处理漏脉冲的电能表检定用误差计算装置和方法
KR102298952B1 (ko) 액티브 리드센서를 이용한 무선원격 검침시스템 및 검침에러 제어방법
CN202694547U (zh) 一种宽频编码信号检测电路及其无线遥控信号解码电路
US9502956B1 (en) Configuration of semiconductor device supply voltage
CN107817034B (zh) 计量表温度修正方法及装置
JP5760100B2 (ja) 放射線測定装置
CN100502262C (zh) 可检测周期信号紊乱的方法
CN206235863U (zh) 计量表具及其基于低功耗传感器接口的计量模块

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: BEIJING DEVOTE RELAY PROTECTION TECHNOLOGY CO., LT

Free format text: FORMER OWNER: DEWEITE ELECTRIC POWER SYSTEM AUTOMATIC CO., LTD., BEIJING

Effective date: 20120726

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100082 HAIDIAN, BEIJING TO: 101318 SHUNYI, BEIJING

TA01 Transfer of patent application right

Effective date of registration: 20120726

Address after: 101318 Anqing, Shunyi District Tianzhu Airport Industrial Zone B street, No. 1, Beijing

Applicant after: Beijing Devote Relay Protection Technology Co., Ltd.

Address before: 100082 No. two, No. 5, North Zhongguancun, Beijing, Haidian District

Applicant before: Deweite Electric Power System Automatic Co., Ltd., Beijing

C53 Correction of patent for invention or patent application
CB03 Change of inventor or designer information

Inventor after: Di Fuchang

Inventor after: Gao Longji

Inventor after: Chen Lei

Inventor after: Zhao Changbing

Inventor after: Li Huiyong

Inventor after: Zhang Jian

Inventor after: Li Zengli

Inventor after: Wang Jingren

Inventor after: Liu Guoying

Inventor after: Ou Yangqiang

Inventor after: Chang Hongqi

Inventor before: Di Fuchang

Inventor before: Zhao Changbing

Inventor before: Xiao Yonghua

Inventor before: Li Zengli

Inventor before: Wang Jingren

Inventor before: Liu Guoying

Inventor before: Ou Yangqiang

Inventor before: Chang Hongqi

Inventor before: Chen Lei

COR Change of bibliographic data

Free format text: CORRECT: INVENTOR; FROM: ZHAI FUCHANG ZHAO CHANGBING XIAO YONGHUA LI ZENGLI WANG JINGREN LIU GUOYING OU YANGQIANG CHANG HONGQI CHEN LEI TO: ZHAI FUCHANG ZHAO CHANGBING LI HUIYONG ZHANG JIAN LI ZENGLI WANG JINGREN LIU GUOYING OU YANGQIANG CHANG HONGQI GAO LONGJI CHEN LEI

C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address

Address after: 101300 1, 1 yuan 17, Juyuan Road, Mapo Town, Shunyi District, Beijing.

Patentee after: Beijing DeWitt electric Polytron Technologies Inc

Address before: 101318 Beijing Shunyi District Tianzhu Airport Industrial Area B area Anqing avenue a 9

Patentee before: Beijing Devote Relay Protection Technology Co., Ltd.

CP03 Change of name, title or address