CN110673822A - 一种电能计量微处理器及其内核、能量累加电路和方法 - Google Patents
一种电能计量微处理器及其内核、能量累加电路和方法 Download PDFInfo
- Publication number
- CN110673822A CN110673822A CN201910931207.3A CN201910931207A CN110673822A CN 110673822 A CN110673822 A CN 110673822A CN 201910931207 A CN201910931207 A CN 201910931207A CN 110673822 A CN110673822 A CN 110673822A
- Authority
- CN
- China
- Prior art keywords
- value
- multiplexer
- energy
- instruction
- register
- 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
- 238000009825 accumulation Methods 0.000 title claims abstract description 66
- 238000000034 method Methods 0.000 title claims abstract description 33
- 230000005611 electricity Effects 0.000 claims abstract description 17
- 230000008569 process Effects 0.000 abstract description 13
- 230000008901 benefit Effects 0.000 abstract description 9
- 238000013461 design Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011010 flushing procedure Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/06—Energy or water supply
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/491—Computations with decimal numbers radix 12 or 20.
- G06F7/498—Computations with decimal numbers radix 12 or 20. using counter-type accumulators
- G06F7/4981—Adding; Subtracting
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R22/00—Arrangements for measuring time integral of electric power or current, e.g. electricity meters
- G01R22/06—Arrangements for measuring time integral of electric power or current, e.g. electricity meters by electronic methods
- G01R22/10—Arrangements for measuring time integral of electric power or current, e.g. electricity meters by electronic methods using digital techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/491—Computations with decimal numbers radix 12 or 20.
- G06F7/498—Computations with decimal numbers radix 12 or 20. using counter-type accumulators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/30156—Special purpose encoding of instructions, e.g. Gray coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/321—Program or instruction counter, e.g. incrementing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R22/00—Arrangements for measuring time integral of electric power or current, e.g. electricity meters
- G01R22/06—Arrangements for measuring time integral of electric power or current, e.g. electricity meters by electronic methods
- G01R22/061—Details of electronic electricity meters
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computing Systems (AREA)
- Economics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Public Health (AREA)
- Water Supply & Treatment (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Power Engineering (AREA)
- Power Sources (AREA)
- Microcomputers (AREA)
Abstract
本申请公开了一种电能计量微处理器及其内核、能量累加电路和能量累加方法,该能量累加电路包括相连的计算比较电路和计数器电路;计算比较电路用于计算用电数据中的功率值与当前能量值的累加值、累加值与预设阈值的差值,输出表征差值正负的标志位至计数器电路,并在差值不小于零时将当前能量值更新为差值,在差值小于零时将当前能量值更新为累加值;计数器电路用于在差值不小于零时输出能量计量脉冲。本申请利用计算比较电路对用电数据中的功率值进行累加计算,并与预设阈值进行大小比较,从而在累加值大于预设阈值时输出电能计量脉冲,针对性地实现电能计量中的计算过程,因而可有效提供电能计量的效率和产品经济效益。
Description
技术领域
本申请涉及电能计量技术领域,特别涉及一种电能计量微处理器及其内核、能量累加电路和能量累加方法。
背景技术
智能电表中通常有两个芯片,一个是能量计量模拟前端,用于处理有功和无功功率数据;另一个是微处理器内核(micro control unit,MCU),主要用于读取功率并进行累加计算等。当前,现有的电表中的微处理器内核多采用通用微处理器内核,如ARM CortexM0等,这类商用的通用MCU多采用Cortex-m系列的ARM内核,在各种控制领域均有良好的控制效果,但在计算方面,特别是在电能计量中的计算过程中,通用微处理器内核的计算效率等性能并不突出。
鉴于此,提供一种解决上述技术问题的方案,已经是本领域技术人员所亟需关注的。
发明内容
本申请的目的在于提供一种电能计量微处理器及其内核、能量累加电路和能量累加方法,以便利用对电能计量中计算过程的针对性设计,有效提高微处理器内核的电能计量效率和产品经济效益。
为解决上述技术问题,第一方面,本申请公开了一种用于电能计量的能量累加电路,包括相连的计算比较电路和计数器电路;
所述计算比较电路用于计算用电数据中的功率值与当前能量值的累加值、所述累加值与预设阈值的差值,输出表征所述差值正负的标志位至所述计数器电路,并在所述差值不小于零时将所述当前能量值更新为所述差值,在所述差值小于零时将所述当前能量值更新为所述累加值;
所述计数器电路用于在所述差值不小于零时输出能量计量脉冲。
可选地,所述计算比较电路包括用于刷新写入用电数据中的所述功率值的功率寄存器、用于存储所述当前能量值的能量寄存器、用于存储所述预设阈值的阈值寄存器、加法器、减法器和第一多路复用器;
所述加法器的输入端分别与所述功率寄存器和所述能量寄存器连接,用于进行累加计算以生成所述累加值;所述加法器的输出端与所述第一多路复用器的第一输入端连接;所述第一多路复用器的输出端与所述能量寄存器连接;
所述减法器的输入端分别与所述加法器与所述阈值寄存器连接,用于计算所述累加值与所述预设阈值的所述差值,并生成所述标志位;所述减法器的差值输出端与所述第一多路复用器的第二输入端连接,所述减法器的标志位输出端分别与所述第一多路复用器的选择控制端和所述计数器电路连接;
当所述差值为正时,所述第一多路复用器用于将所述差值输出并写入所述能量寄存器;当所述差值为负时,所述第一多路复用器用于将所述累加值输出并写入所述能量寄存器。
第二方面,本申请还公开了一种电能计量微处理器内核,具有三级流水线结构,包括取指令模块、译码模块和执行模块,所述执行模块包括如上所述的能量累加电路。
可选地,所述取指令模块包括:
程序计数生成器,用于确定待取指令地址;
与所述程序计数生成器连接的压缩指令译码器,用于根据所述待取指令地址从指令存储器中取出目标指令。
可选地,所述压缩指令译码器还用于:将所述目标指令由16位指令转换为32位指令。
可选地,所述译码模块包括指令寄存器、控制器、译码器、通用寄存器、第二多路复用器和第三多路复用器;
所述指令寄存器与所述压缩指令译码器连接,用于进行指令流转控制;所述译码器与所述指令寄存器连接,用于对所述目标指令进行译码,并分别输出至所述第二多路复用器和所述第三多路复用器;所述控制器的输出端与所述第二多路复用器的选择控制端连接;所述通用寄存器的输入端与所述译码器连接,所述通用寄存器的第一输出端与所述第二多路复用器连接,所述通用寄存器的第二输出端和第三输出端均与所述第三多路复用器连接。
可选地,所述执行模块包括数据寄存器、乘法/除法器、算术逻辑单元、第四多路复用器、加载/存储单元、转发单元和所述能量累加电路;
所述数据寄存器的输入端分别与所述第二多路复用器的输出端和所述第三多路复用器的输出端连接,所述数据寄存器的输出端分别与所述乘法/除法器、所述算术逻辑单元、所述能量累加电路连接,用于进行数据流转控制;
所述乘法/除法器的输出端与所述第四多路复用器连接;所述算术逻辑单元的输出端分别与所述第四多路复用器和所述加载/存储单元的地址输入端连接;所述能量累加电路的输出端与所述第四多路复用器连接;所述加载/存储单元的数据输入端与所述数据寄存器连接,用于对数据存储器执行读/写操作,所述加载/存储单元的回写端口与所述第四多路复用器连接;
所述转发单元的输入端与所述第四多路复用器的输出端连接,所述转发单元的输出端与所述第二多路复用器连接,用于进行数据转发。
可选地,所述电能计量微处理器内核为RISC-V微处理器内核。
第三方面,本申请还公开了一种用于电能计量的能量累加方法,应用于如上所述的任一种电能计量微处理器内核,包括:
获取用电数据中的功率值;
执行预封装的能量累加指令以便根据所述功率值进行电能计量;
其中,所述能量累加指令在被所述电能计量微处理器内核的执行模块执行时,具体用于实现如下步骤:
计算所述功率值与当前能量值的累加值,并计算所述累加值与预设阈值的差值;若所述差值不小于零,则输出能量计量脉冲并将所述当前能量值更新为所述差值;若所述差值小于零,则将所述当前能量值更新为所述累加值。
第四方面,本申请还公开了一种电能计量微处理器,包括如上所述的任一种电能计量微处理器内核。
本申请所提供的用于电能计量的能量累加电路,包括相连的计算比较电路和计数器电路;所述计算比较电路用于计算用电数据中的功率值与当前能量值的累加值、所述累加值与预设阈值的差值,输出表征所述差值正负的标志位至所述计数器电路,并在所述差值不小于零时将所述当前能量值更新为所述差值,在所述差值小于零时将所述当前能量值更新为所述累加值;所述计数器电路用于在所述差值不小于零时输出能量计量脉冲。
可见,本申请利用计算比较电路对用电数据中的功率值进行累加计算,并与预设阈值进行大小比较,从而在累加值大于预设阈值时输出电能计量脉冲,针对性地实现电能计量中的计算过程,因而可有效提供电能计量的效率和产品经济效益。本申请所提供的电能计量微处理器及其内核、能量累加方法同样具有上述有益效果。
附图说明
为了更清楚地说明现有技术和本申请实施例中的技术方案,下面将对现有技术和本申请实施例描述中需要使用的附图作简要的介绍。当然,下面有关本申请实施例的附图描述的仅仅是本申请中的一部分实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图,所获得的其他附图也属于本申请的保护范围。
图1为本申请实施例公开的一种用于电能计量的能量累加电路的结构框图;
图2为本申请实施例公开的一种具体的用于电能计量的能量累加电路的电路结构图;
图3为本申请实施例公开的一种电能计量微处理器内核的结构架构图;
图4为本申请实施例公开的一种用于电能计量的能量累加方法的流程图。
具体实施方式
本申请的核心在于提供一种电能计量微处理器及其内核、能量累加电路和能量累加方法,以便利用对电能计量中计算过程的针对性设计,有效提高微处理器内核的电能计量效率和产品经济效益。
为了对本申请实施例中的技术方案进行更加清楚、完整地描述,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行介绍。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
当前,现有的电表中的微处理器内核多采用通用微处理器内核,如ARMCortex M0等,这类商用的通用MCU多采用Cortex-m系列的ARM内核,在各种控制领域均有良好的控制效果,但在计算方面,特别是在电能计量中的计算过程中,通用微处理器内核的计算效率等性能并不突出。鉴于此,本申请提供了一种能量累加电路,可有效解决上述技术问题。
参见图1所示,本申请实施例公开了一种用于电能计量的能量累加电路,包括相连的计算比较电路100和计数器电路200;
计算比较电路100用于计算用电数据中的功率值p与当前能量值e的累加值、累加值与预设阈值th的差值,输出表征差值正负的标志位至计数器电路200,并在差值不小于零时将当前能量值e更新为差值,在差值小于零时将当前能量值e更新为累加值;
计数器电路200用于在差值不小于零时输出能量计量脉冲。
具体地,能量累加电路是电能计量中的重要电路。而鉴于现有技术中多利用通用微处理器内核进行电能计量导致计算效率低下,因此,本申请实施例提供了一种专用于进行电能计量的能量累加电路。
本申请实施例所提供的能量累加电路具体包括有计算比较电路100和计数器电路200。容易理解的是,电能的计量实际上就是用电功率的累加。对用电数据中的功率值p以一定频率进行累加,即可获取电能的能量值,功率值p的当前累加结果即为当前能量值e。以一定频率刷新获取用电数据中的功率值p,并与当前能量值e进行加法运算,根据累加处理结果对当前能量值e进行更新。
电能计量领域中,多用脉冲信号来计量电能的多少,该脉冲因此被称为电能计量脉冲(Energy Pulse)。电能计量脉冲相当于电能计量的单位,每当线路中消耗了一定预设阈值th的电能后,便输出一个电能计量脉冲。
由于该预设阈值th是固定的,因此电能计量脉冲的个数就反映了总消耗电能的多少,若电能计量脉冲的个数达到了一定数量后,则说明线路中已经消耗了对应数量的总电能。本领域中就设置有对应的常数参数来表征1kW·h的电能所对应的电能计量脉冲的个数。
由此,本申请实施例中,计算比较电路100在计算出功率值p的累加值即新电能值p+e后,还会将其与预设阈值th进行比较。若累加值大于或等于预设阈值th,则此时可由计数器电路200生成一个电能计量脉冲,同时将当前能量值e更新为该累加值相对于预设阈值th的差值p+e-th,以便后续继续进行电能计量;若累加值小于预设阈值th,则此时的电能消耗值不足以输出电能计量脉冲,只需将当前能量值e更新为累加计算得到的新电能值p+e即可。
其中,计数器电路200中设置的计数数值可用于调节所输出电能计量脉冲的脉冲宽度。
本申请实施例所公开的用于电能计量的能量累加电路,包括相连的计算比较电路100和计数器电路200;计算比较电路100用于计算用电数据中的功率值与当前能量值的累加值、累加值与预设阈值的差值,输出表征差值正负的标志位至计数器电路200,并在差值不小于零时将当前能量值更新为差值,在差值小于零时将当前能量值更新为累加值;计数器电路200用于在差值不小于零时输出能量计量脉冲。
可见,本申请利用计算比较电路对用电数据中的功率值进行累加计算,并与预设阈值进行大小比较,从而在累加值大于预设阈值时输出电能计量脉冲,针对性地实现电能计量中的计算过程,因而可有效提供电能计量的效率和产品经济效益。
参见图2所示,本申请实施例公开了一种具体的用于电能计量的能量累加电路。
在上述内容的基础上,作为一种具体实施例,本申请实施例所公开的用于电能计量的能量累加电路中,计算比较电路100包括用于刷新写入用电数据中的功率值p的功率寄存器P、用于存储当前能量值e的能量寄存器E、用于存储预设阈值th的阈值寄存器TH、加法器、减法器和第一多路复用器X1;
加法器的输入端分别与功率寄存器P和能量寄存器E连接,用于进行累加计算以生成累加值;加法器的输出端与第一多路复用器X1的第一输入端连接;第一多路复用器X1的输出端与能量寄存器E连接;
减法器的输入端分别与加法器与阈值寄存器TH连接,用于计算累加值与预设阈值th的差值,并生成标志位;减法器的差值输出端与第一多路复用器X1的第二输入端连接,减法器的标志位输出端分别与第一多路复用器X1的选择控制端和计数器电路200连接;
当差值为正时,第一多路复用器X1用于将差值输出并写入能量寄存器E;当差值为负时,第一多路复用器X1用于将累加值输出并写入能量寄存器E。
其中,多路复用器用于选择操作数的来源,它能从多个模拟或数字输入信号中选择某个信号并将其转发,从而可在不同的选择控制信号下将不同的被选信号输出到同一个输出线路中。
具体地,本申请实施例中针对电能计量设计并使用了相关的专用寄存器,包括功率寄存器P、能量寄存器E、阈值寄存器TH。功率值p、当前能量值e和预设阈值th的字长均具体可以为48位,相应地,三个专用寄存器以及加法器、减法器也具体为48位。其中,功率值p的累加频率具体可选择为204.8kHz。
专用寄存器的使用,减小了压栈出栈的开销,可显著地提升处理效率。并且,其他相关器件,如加法器、第一多路复用器X1等之间的连接关系等也是根据电能计量的需要而针对性设计的,极大地节省了信号流转开销。
参见图3所示,本申请实施例公开了一种电能计量微处理器内核,具有三级流水线结构,包括取指令(Fetch)模块、译码(Decode)模块和执行(Execute)模块,执行模块包括如上所述的能量累加电路。
可见,本申请实施例公开的电能计量微处理器内核利用计算比较电路对用电数据中的功率值进行累加计算,并与预设阈值进行大小比较,从而在累加值大于预设阈值时输出电能计量脉冲,针对性地实现电能计量中的计算过程,因而可有效提供电能计量的效率和产品经济效益。
在上述内容的基础上,作为一种具体实施例,本申请实施例所公开的电能计量微处理器内核中,取指令模块包括:
程序计数生成器(program counter generator,PC generator),用于确定待取指令地址;
与程序计数生成器连接的压缩指令译码器(compressed-instruction decoder),用于根据待取指令地址从指令存储器(instruction memory)中取出目标指令。
其中,压缩指令译码器还用于:将目标指令由16位指令转换为32位指令。
在上述内容的基础上,作为一种具体实施例,本申请实施例所公开的电能计量微处理器内核中,译码模块包括指令寄存器(if/id)、控制器(controller)、译码器(decoder)、通用寄存器(general purpose registers,GPR)、第二多路复用器X2和第三多路复用器X3;
指令寄存器与压缩指令译码器连接,用于进行指令流转控制;译码器与指令寄存器连接,用于对目标指令进行译码,并分别输出至第二多路复用器X2和第三多路复用器X3;控制器的输出端与第二多路复用器X2的选择控制端连接;通用寄存器的输入端与译码器连接,通用寄存器的第一输出端与第二多路复用器X2连接,通用寄存器的第二输出端和第三输出端均与第三多路复用器X3连接。控制器用于生成冲刷和停止管道的信号。
在上述内容的基础上,作为一种具体实施例,本申请实施例所公开的电能计量微处理器内核中,执行模块包括数据寄存器(id/ex)、乘法/除法器(multdiv)、算术逻辑单元(arithmetic logic unit,ALU)、第四多路复用器X4、加载/存储单元(load/store unit,LSU)、转发单元(forwarding unit)和能量累加电路(Energy Accumulator);
数据寄存器的输入端分别与第二多路复用器X2的输出端和第三多路复用器X3的输出端连接,数据寄存器的输出端分别与乘法/除法器、算术逻辑单元、能量累加电路连接,用于进行数据流转控制;
乘法/除法器的输出端与第四多路复用器X4连接;算术逻辑单元的输出端分别与第四多路复用器X4和加载/存储单元的地址输入端连接;能量累加电路的输出端与第四多路复用器X4连接;加载/存储单元的数据输入端与数据寄存器连接,用于对数据存储器(data memory)执行读/写操作,加载/存储单元的回写端口与第四多路复用器X4连接;
转发单元的输入端与第四多路复用器X4的输出端连接,转发单元的输出端与第二多路复用器X2连接,用于进行数据转发。
在上述内容的基础上,作为一种具体实施例,电能计量微处理器内核为RISC-V微处理器内核。RISC-V微处理器内核采用RISC-V指令集架构,而RISC-V是由BerkeleyArchitecture Group设计的一个新的开源指令集架构,便于对电能计量运算进行针对性结构设计和指令开发,并可以减少对单个IP提供商的依赖,降低成本。
参见图4所示,本申请实施例公开了一种用于电能计量的能量累加方法,应用于如上所述的任一种电能计量微处理器内核,包括:
S11:获取用电数据中的功率值p。
S12:执行预封装的能量累加指令以便根据功率值p进行电能计量;
其中,能量累加指令在被电能计量微处理器内核的执行模块执行时,具体用于实现如下步骤:
计算功率值p与当前能量值e的累加值,并计算累加值与预设阈值th的差值;若差值不小于零,则输出能量计量脉冲并将当前能量值e更新为差值;若差值小于零,则将当前能量值e更新为累加值。
可见,本申请实施例公开的电能计量微处理方法利用计算比较电路对用电数据中的功率值进行累加计算,并与预设阈值进行大小比较,从而在累加值大于预设阈值时输出电能计量脉冲,针对性地实现电能计量中的计算过程,因而可有效提供电能计量的效率和产品经济效益。
具体地,本申请实施例所提供的能量累加方法,应用于如上所述的任一种电能计量微处理器内核,具体地,该电能计量微处理器内核可为RISC-V微处理器内核。利用RISC-V微处理器内核的开源特性,本申请实施例基于RISC-V指令集架构而封装设计了一个针对于电能计量的能量累加指令,使得该微处理器内核仅仅通过读取并执行该能量累加指令即可进行能量累加,将汇编代码的数目减少至一条,从而显著地提升了处理效率。
具体可参见表1,表1中示出了现有技术中和本实施例中进行能量累加计算时对应的汇编程序。从表1中可以看出,在预封装设计了能量累加指令后,本申请实施例仅需使用能量累加指令这一行汇编程序,代码体积明显减小。并且,结合前述内容中关于专用寄存器的存在,减小了压栈出栈的开销。
表1
其中,本申请实施例中所设计的能量累加指令即为:acc e,p,th,e;其对应的伪代码具体是:
if(e+p is larger than th)
{e=e+p–th;
Flag=1;}
Else
{e=e+p;
Flag=0;}
RISC-V的指令由四个基本指令集和五个扩展指令集组成。具体可参见表2,表2列出了相关指令集的相关内容。其中,基本指令集包括RV32I、RV32E、RV64I、RV128I,扩展指令集包括M、A、F、D、C。
表2
作为一个具体实施例,可选择基本指令集RV32E与扩展指令集RVM、RVC,构成本实施例的指令集RV32EMC,包括16个通用寄存器、整数乘除指令、16位的压缩指令和32位的基本整数指令。
能量累加指令具体可依据标准的R型指令格式来定义。R型指令的具体格式可参见表3,表3给出了32位指令中各个数据位所对应的操作码。
表3
进一步地,本申请还公开了一种电能计量微处理器,包括如上所述的任一种电能计量微处理器内核。
可见,本申请实施例公开的电能计量微处理器,利用计算比较电路100对用电数据中的功率值p进行累加计算,并与预设阈值th进行大小比较,从而在累加值大于预设阈值th时输出电能计量脉冲,针对性地实现电能计量中的计算过程,因而可有效提供电能计量的效率和产品经济效益。
关于上述电能计量微处理器的具体内容,可参考前述关于电能计量微处理器内核的详细介绍,这里就不再赘述。
本申请中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的设备而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需说明的是,在本申请文件中,诸如“第一”和“第二”之类的关系术语,仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或者操作之间存在任何这种实际的关系或者顺序。此外,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的技术方案进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请的保护范围内。
Claims (10)
1.一种用于电能计量的能量累加电路,其特征在于,包括相连的计算比较电路和计数器电路;
所述计算比较电路用于计算用电数据中的功率值与当前能量值的累加值、所述累加值与预设阈值的差值,输出表征所述差值正负的标志位至所述计数器电路,并在所述差值不小于零时将所述当前能量值更新为所述差值,在所述差值小于零时将所述当前能量值更新为所述累加值;
所述计数器电路用于在所述差值不小于零时输出能量计量脉冲。
2.根据权利要求1所述的能量累加电路,其特征在于,所述计算比较电路包括用于刷新写入用电数据中的所述功率值的功率寄存器、用于存储所述当前能量值的能量寄存器、用于存储所述预设阈值的阈值寄存器、加法器、减法器和第一多路复用器;
所述加法器的输入端分别与所述功率寄存器和所述能量寄存器连接,用于进行累加计算以生成所述累加值;所述加法器的输出端与所述第一多路复用器的第一输入端连接;所述第一多路复用器的输出端与所述能量寄存器连接;
所述减法器的输入端分别与所述加法器与所述阈值寄存器连接,用于计算所述累加值与所述预设阈值的所述差值,并生成所述标志位;所述减法器的差值输出端与所述第一多路复用器的第二输入端连接,所述减法器的标志位输出端分别与所述第一多路复用器的选择控制端和所述计数器电路连接;
当所述差值为正时,所述第一多路复用器用于将所述差值输出并写入所述能量寄存器;当所述差值为负时,所述第一多路复用器用于将所述累加值输出并写入所述能量寄存器。
3.一种电能计量微处理器内核,其特征在于,具有三级流水线结构,包括取指令模块、译码模块和执行模块,所述执行模块包括如权利要求1所述的能量累加电路。
4.根据权利要求3所述的电能计量微处理器内核,其特征在于,所述取指令模块包括:
程序计数生成器,用于确定待取指令地址;
与所述程序计数生成器连接的压缩指令译码器,用于根据所述待取指令地址从指令存储器中取出目标指令。
5.根据权利要求4所述的电能计量微处理器内核,其特征在于,所述压缩指令译码器还用于:将所述目标指令由16位指令转换为32位指令。
6.根据权利要求5所述的电能计量微处理器内核,其特征在于,所述译码模块包括指令寄存器、控制器、译码器、通用寄存器、第二多路复用器和第三多路复用器;
所述指令寄存器与所述压缩指令译码器连接,用于进行指令流转控制;所述译码器与所述指令寄存器连接,用于对所述目标指令进行译码,并分别输出至所述第二多路复用器和所述第三多路复用器;所述控制器的输出端与所述第二多路复用器的选择控制端连接;所述通用寄存器的输入端与所述译码器连接,所述通用寄存器的第一输出端与所述第二多路复用器连接,所述通用寄存器的第二输出端和第三输出端均与所述第三多路复用器连接。
7.根据权利要求6所述的电能计量微处理器内核,其特征在于,所述执行模块包括数据寄存器、乘法/除法器、算术逻辑单元、第四多路复用器、加载/存储单元、转发单元和所述能量累加电路;
所述数据寄存器的输入端分别与所述第二多路复用器的输出端和所述第三多路复用器的输出端连接,所述数据寄存器的输出端分别与所述乘法/除法器、所述算术逻辑单元、所述能量累加电路连接,用于进行数据流转控制;
所述乘法/除法器的输出端与所述第四多路复用器连接;所述算术逻辑单元的输出端分别与所述第四多路复用器和所述加载/存储单元的地址输入端连接;所述能量累加电路的输出端与所述第四多路复用器连接;所述加载/存储单元的数据输入端与所述数据寄存器连接,用于对数据存储器执行读/写操作,所述加载/存储单元的回写端口与所述第四多路复用器连接;
所述转发单元的输入端与所述第四多路复用器的输出端连接,所述转发单元的输出端与所述第二多路复用器连接,用于进行数据转发。
8.根据权利要求3至7任一项所述的电能计量微处理器内核,其特征在于,所述电能计量微处理器内核为RISC-V微处理器内核。
9.一种用于电能计量的能量累加方法,其特征在于,应用于如权利要求3至8任一项所述的电能计量微处理器内核,包括:
获取用电数据中的功率值;
执行预封装的能量累加指令以便根据所述功率值进行电能计量;
其中,所述能量累加指令在被所述电能计量微处理器内核的执行模块执行时,具体用于实现如下步骤:
计算所述功率值与当前能量值的累加值,并计算所述累加值与预设阈值的差值;若所述差值不小于零,则输出能量计量脉冲并将所述当前能量值更新为所述差值;若所述差值小于零,则将所述当前能量值更新为所述累加值。
10.一种电能计量微处理器,其特征在于,包括如权利要求3至8任一项所述的电能计量微处理器内核。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910931207.3A CN110673822A (zh) | 2019-09-29 | 2019-09-29 | 一种电能计量微处理器及其内核、能量累加电路和方法 |
US16/749,980 US11036508B2 (en) | 2019-09-29 | 2020-01-22 | Microprocessor for metering electric energy, microcontroller unit thereof, and circuit and method for metering energy accumulation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910931207.3A CN110673822A (zh) | 2019-09-29 | 2019-09-29 | 一种电能计量微处理器及其内核、能量累加电路和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110673822A true CN110673822A (zh) | 2020-01-10 |
Family
ID=69079923
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910931207.3A Pending CN110673822A (zh) | 2019-09-29 | 2019-09-29 | 一种电能计量微处理器及其内核、能量累加电路和方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11036508B2 (zh) |
CN (1) | CN110673822A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113625048A (zh) * | 2021-08-19 | 2021-11-09 | 杭州万高科技股份有限公司 | 一种智能电表芯片及智能电表 |
CN116593768A (zh) * | 2023-04-27 | 2023-08-15 | 深圳市锐能微科技有限公司 | 一种电能计量方法、装置、电子设备及介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11204376B2 (en) * | 2020-04-08 | 2021-12-21 | Hangzhou Vango Technologies, Inc. | DPS-based electrical energy metering device |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1971291A (zh) * | 2006-12-14 | 2007-05-30 | 北京中星微电子有限公司 | 一种电能计量芯片中的数频转换电路 |
US20100201348A1 (en) * | 2007-10-17 | 2010-08-12 | Hubei Shengjia Electric Apparatus Co., Ltd. | Modular energy meter |
CN102393916A (zh) * | 2010-07-09 | 2012-03-28 | 瑞创国际公司 | 使用非直接存储器指针的快速块写入命令及方法 |
CN102843128A (zh) * | 2009-01-12 | 2012-12-26 | 高通股份有限公司 | 基于分数输入和输出相位而操作的数字锁相环 |
CN103424613A (zh) * | 2012-12-04 | 2013-12-04 | 万高(杭州)科技有限公司 | 防窃电电能计量装置及进行电量计量的方法 |
WO2017210383A1 (en) * | 2016-06-03 | 2017-12-07 | Fuelcell Energy, Inc. | Fuel cell response to electrical grid frequency events |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4999572A (en) * | 1988-09-19 | 1991-03-12 | General Electric Company | Redundant pulse monitoring in electric energy metering system |
FR2956212B1 (fr) * | 2010-02-08 | 2012-03-09 | Schneider Electric Ind Sas | Dispositif et procede de comptage d'energie electrique |
NO3071986T3 (zh) * | 2013-11-18 | 2018-06-02 |
-
2019
- 2019-09-29 CN CN201910931207.3A patent/CN110673822A/zh active Pending
-
2020
- 2020-01-22 US US16/749,980 patent/US11036508B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1971291A (zh) * | 2006-12-14 | 2007-05-30 | 北京中星微电子有限公司 | 一种电能计量芯片中的数频转换电路 |
US20100201348A1 (en) * | 2007-10-17 | 2010-08-12 | Hubei Shengjia Electric Apparatus Co., Ltd. | Modular energy meter |
CN102843128A (zh) * | 2009-01-12 | 2012-12-26 | 高通股份有限公司 | 基于分数输入和输出相位而操作的数字锁相环 |
CN102393916A (zh) * | 2010-07-09 | 2012-03-28 | 瑞创国际公司 | 使用非直接存储器指针的快速块写入命令及方法 |
CN103424613A (zh) * | 2012-12-04 | 2013-12-04 | 万高(杭州)科技有限公司 | 防窃电电能计量装置及进行电量计量的方法 |
WO2017210383A1 (en) * | 2016-06-03 | 2017-12-07 | Fuelcell Energy, Inc. | Fuel cell response to electrical grid frequency events |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113625048A (zh) * | 2021-08-19 | 2021-11-09 | 杭州万高科技股份有限公司 | 一种智能电表芯片及智能电表 |
CN116593768A (zh) * | 2023-04-27 | 2023-08-15 | 深圳市锐能微科技有限公司 | 一种电能计量方法、装置、电子设备及介质 |
CN116593768B (zh) * | 2023-04-27 | 2024-03-26 | 深圳市锐能微科技有限公司 | 一种电能计量方法、装置、电子设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
US20210096865A1 (en) | 2021-04-01 |
US11036508B2 (en) | 2021-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110673822A (zh) | 一种电能计量微处理器及其内核、能量累加电路和方法 | |
JP5647859B2 (ja) | 乗累算演算を実行するための装置および方法 | |
CN101495959B (zh) | 组合微处理器内的多个寄存器单元的方法和设备 | |
KR101482540B1 (ko) | 중첩된 피연산자들을 갖는 simd 내적 연산들 | |
CN108885550B (zh) | 复数乘法指令 | |
US11755442B2 (en) | Apparatus and method for multithreading-aware performance monitoring events | |
KR980010751A (ko) | 부동 소수점 하드웨어를 사용하여 마이크로프로세서 정수 나눗셈 연산을 실행하기 위한 방법 및 장치 | |
JP5456167B2 (ja) | マイクロプロセッサおよびマイクロプロセッサ上での精度が改善された積の和計算のための方法 | |
IES20080198A2 (en) | A processor | |
CN105607889A (zh) | Gpdsp共享乘法器结构的定点浮点运算部件 | |
US11755320B2 (en) | Compute array of a processor with mixed-precision numerical linear algebra support | |
CN101133390A (zh) | 单循环低功率中央处理单元架构 | |
EP3065056B1 (en) | Hardware interface component and method therefor | |
CN112256330B (zh) | 用于加速数字信号处理的risc-v指令集扩展方法 | |
US20210208990A1 (en) | Apparatus and method for generating performance monitoring metrics | |
EP1025485B1 (en) | Multifunction bipartite look-up table | |
KR19980041758A (ko) | 축소 데이타 경로 폭을 갖는 2-비트 부스 곱셈기 | |
Akram et al. | A study of performance and power consumption differences among different ISAs | |
CN103293373B (zh) | 电能计量装置及其电能计量芯片 | |
CN112506468B (zh) | 支持高吞吐多精度乘法运算的risc-v通用处理器 | |
CN113986354A (zh) | 基于risc-v指令集的六级流水线cpu | |
US20130311529A1 (en) | Arithmetic module, device and system | |
EP4278256A1 (en) | Parallel decode instruction set computer architecture with variable-length instructions | |
Thuresson et al. | A flexible code compression scheme using partitioned look-up tables | |
Zaid et al. | Design and application of RISC processor |
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: 20200110 |
|
RJ01 | Rejection of invention patent application after publication |