用于芯片间数据帧协议处理的帧打包器、方法及计量芯片转让专利

申请号 : CN202011301398.4

文献号 : CN112134904B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈钰哲胡毅张彤杨小坤刘畅李德建

申请人 : 北京智芯微电子科技有限公司国网信息通信产业集团有限公司

摘要 :

本发明提供一种用于芯片间数据帧协议处理的帧打包器、方法及计量芯片。所述帧打包器包括:帧设置模块,用于设置数据帧的起始符、结束符、长度符、序号符和命令符的值并传输到第一数据选择器;缓存器,用于缓存DMA从计量芯片的计量值寄存器中搬运的计量值;状态机,用于根据设定的数据帧格式进行状态转移,控制第一数据选择器获取并输出对应的数据;第一数据选择器,用于根据状态机的当前状态获取并输出对应的数据,生成数据帧;校验模块,用于根据第一数据选择器输出的命令符、长度符、序号符和数据域的数据生成校验值并传输到第一数据选择器;总线协议处理模块,用于将生成的数据帧转换为符合通信外设总线协议的数据帧并传输到通信外设。

权利要求 :

1.一种用于芯片间数据帧协议处理的帧打包器,其特征在于,所述帧打包器包括:帧设置模块,用于设置数据帧的起始符、结束符、长度符、序号符和命令符的值并传输到第一数据选择器;

缓存器,用于缓存直接存储器存取DMA从计量芯片的计量值寄存器中搬运来的计量值,等待第一数据选择器读取;

状态机,用于根据设定的数据帧格式进行状态转移,控制第一数据选择器获取并输出对应的数据;

所述第一数据选择器,用于根据所述状态机的当前状态获取并输出对应的数据,生成数据帧;

校验模块,用于根据所述第一数据选择器输出的命令符、长度符、序号符和数据域的数据生成校验值并传输到所述第一数据选择器;以及总线协议处理模块,用于将生成的所述数据帧转换为符合通信外设总线协议的数据帧并传输到所述通信外设。

2.根据权利要求1所述的用于芯片间数据帧协议处理的帧打包器,其特征在于,所述帧设置模块包括:帧参数配置模块,用于根据接收到的计量值配置数据帧的起始符、结束符和命令符的值并传输到所述第一数据选择器;

帧长度计算模块,用于根据待发送的计量值计算数据帧的长度值并传输到所述第一数据选择器;以及帧序号计数模块,用于计数当前帧的序号值并传输到所述第一数据选择器。

3.根据权利要求2所述的用于芯片间数据帧协议处理的帧打包器,其特征在于,所述帧打包器还包括:模块配置模块,用于配置第二数据选择器的数据选择参数;

所述第二数据选择器,用于根据所述数据选择参数输出所述符合通信外设总线协议的数据帧或总线数据。

4.根据权利要求1所述的用于芯片间数据帧协议处理的帧打包器,其特征在于,所述命令符代表所述计量值的类型。

5.根据权利要求1所述的用于芯片间数据帧协议处理的帧打包器,其特征在于,所述校验模块为循环冗余校验模块。

6.根据权利要求1所述的用于芯片间数据帧协议处理的帧打包器,其特征在于,所述缓存器为先入先出型缓存器。

7.根据权利要求1所述的用于芯片间数据帧协议处理的帧打包器,其特征在于,所述通信外设包括串行外设接口和通用异步收发传输器。

8.根据权利要求1所述的用于芯片间数据帧协议处理的帧打包器,其特征在于,所述第一数据选择器生成的数据帧包括起始符、命令符、长度符、序号符、数据域、校验符和结束符。

9.一种用于芯片间数据帧协议处理的帧打包方法,所述帧打包方法应用于权利要求3所述的用于芯片间数据帧协议处理的帧打包器,其特征在于,所述帧打包方法包括:帧参数配置模块根据接收到的计量值配置数据帧的起始符、结束符和命令符的值并传输到第一数据选择器;

帧长度计算模块根据待发送的计量值计算数据帧的长度值并传输到第一数据选择器;

帧序号计数模块计数当前帧的序号值并传输到第一数据选择器;

缓存器缓存DMA从计量芯片的计量值寄存器中搬运来的计量值,等待第一数据选择器读取;

状态机接收通信外设发送的ready信号,判断能否进行数据帧发送;

若不能,则状态机停留在当前状态,等待能够进行数据帧发送;

若能,则状态机根据设定的数据帧格式进行状态转移,控制所述第一数据选择器根据状态机的当前状态获取并输出对应的数据,生成数据帧;

校验模块根据所述第一数据选择器输出的命令符、长度符、序号符和数据域的数据生成校验值并传输到所述第一数据选择器;

总线协议处理模块将生成的所述数据帧转换为符合通信外设总线协议的数据帧并传输到所述通信外设。

10.根据权利要求9所述的用于芯片间数据帧协议处理的帧打包方法,其特征在于,所述方法还包括:配置第二数据选择器的数据选择参数,

若配置为帧打包器输出,则在能够进行数据帧发送时由所述第二数据选择器输出所述符合通信外设总线协议的数据帧到所述通信外设;

若配置为外设总线输出,则由所述第二数据选择器直接输出总线数据到通信外设。

11.一种计量芯片,其特征在于,包括权利要求1-8中任一项所述的用于芯片间数据帧协议处理的帧打包器。

12.一种计量值传输到管理芯的方法,其特征在于,所述方法包括:DMA将存储在电能计量单元EMU中的计量值搬运到帧打包器;

帧打包器将所述计量值打包成符合通信外设总线协议的数据帧,并传输到通信外设;

所述通信外设将所述数据帧传输到管理芯。

说明书 :

用于芯片间数据帧协议处理的帧打包器、方法及计量芯片

技术领域

[0001] 本发明涉及测量数据传输领域,具体地涉及一种用于芯片间数据帧协议处理的帧打包器、一种用于芯片间数据帧协议处理的帧打包方法、一种计量芯片以及一种计量值传输到管理芯的方法。

背景技术

[0002] 随着IR46(International Recommendation46)电能表国际建议的提出,“双芯”智能电表方案将成为我国下一代智能电表解决方案的主要方向。“双芯”即计量芯和管理芯。计量芯只负责计量,无法软件升级;管理芯片则负责非计量部分软件的升级,但不负责计量部分。两者相互独立,互不影响,只能通过串行外设接口SPI进行数据传输。这个过程通常是在计量芯片中是通过对电压及电流信号采样后,通过法制计量算法计算得到计量值,并将计量值转化为符合数据帧协议的传输格式,通过SPI发送到管理芯中。
[0003] 计量芯片会每隔一段时间将多个经过计量算法得出的计量值存储在一些电能计量单元(EMU)中,这些计量值必须迅速被读取储存,否则会被下一组计量值覆盖,造成采样数据丢失。现有的技术需要用一路DMA(Direct Memory Access,直接存储器存取)及时将这些计量值搬运到SRAM(Static Random Access Memory,静态随机存取存储器)中存储,再用另一路DMA将SRAM中的数据搬运到像SPI(Serial Periphral Interface,串行外设接口)或UART(Universal Asynchronous Receiver/Transmitter,通用异步收发传输器)这样的高速通信外设中发送,并且通信外设还需要有添加和配置除数据域外其他符的功能。整个过程需要2路DMA的配合,如果只用一路DMA直接从EMU寄存器搬运到通信外设中,可能会导致采样值丢失。因为,仅使用一路DMA的话,如果DMA工作的触发信号需要设置为计量芯片计量值的ready信号,这样搬运过程中可能会在外设发送繁忙中或其他原因无法及时处理发送请求而导致数据丢失。反之,如果DMA工作的触发信号设置为通信外设的ready信号,则有可能无法及时取走计量值。
[0004] 现有技术在实现上述应用场景时,以通信外设为SPI为例,计量芯片在工作时需要2路DMA完成数据转移工作,一路DMA负责将EMU中的计量值及时搬运到SRAM中,另一路负责将SRAM中的数据搬运到特殊SPI中发送。这种情况下,会占用芯片很多资源,减少程序开发的灵活性,并增加芯片的工作功耗。另外现有技术还需要一个专用SRAM用于及时存储计量芯片的计量值,这会导致芯片的面积和成本相应的增加。同时,为了使输出的数据符合数据帧协议,现有技术还需要使用一个特殊的SPI或其他特殊的高速通信外设,能够实时准确处理添加除数据域外其他符,更换通信外设则需要重新设计,会对芯片的可继承性带来影响,严重的还会耽误芯片的开发周期。现有技术的运用方案示意图如图1所示。

发明内容

[0005] 本发明实施方式的目的是提供一种用于芯片间数据帧协议处理的帧打包器、方法及计量芯片,使用帧打包器进行数据打包,减少SRAM和一路DMA的工作使用,减少了芯片的工作功耗,增加了程序开发的灵活性,并且只需要普通的SPI或UART作为通信外设配合发送符合协议的数据帧,完成计量芯片的计量数据转化为数据帧发送给管理芯的应用场景。
[0006] 为了实现上述目的,本发明第一方面提供一种用于芯片之间数据帧协议处理的帧打包器,所述帧打包器包括:
[0007] 帧设置模块,用于设置数据帧的起始符、结束符、长度符、序号符和命令符的值并传输到第一数据选择器;
[0008] 缓存器,用于缓存DMA从计量芯片的计量值寄存器中搬运来的计量值,等待第一数据选择器读取;
[0009] 状态机,用于根据设定的数据帧格式进行状态转移,控制第一数据选择器获取并输出对应的数据;
[0010] 所述第一数据选择器,用于根据所述状态机的当前状态获取并输出对应的数据,生成数据帧;
[0011] 校验模块,用于根据所述第一数据选择器输出的命令符、长度符、序号符和数据域的数据生成校验值并传输到所述第一数据选择器;以及
[0012] 总线协议处理模块,用于将生成的所述数据帧转换为符合通信外设总线协议的数据帧并传输到所述通信外设。帧打包器使用状态机和第一数据选择器完成对当前发送帧数据的取值,实现数据打包,减少SRAM和一路DMA的工作使用,减少了芯片的工作功耗,增加了程序开发的灵活性。
[0013] 进一步地,所述帧设置模块包括:
[0014] 帧参数配置模块,用于根据接收到的计量值配置数据帧的起始符、结束符和命令符的值并传输到第一数据选择器;
[0015] 帧长度计算模块,用于根据待发送的计量值计算数据帧的长度值并传输到所述第一数据选择器;以及
[0016] 帧序号计数模块,用于计数当前帧的序号值并传输到所述第一数据选择器。
[0017] 可选的,所述帧打包器还包括:
[0018] 模块配置模块,用于配置第二数据选择器的数据选择参数;
[0019] 所述第二数据选择器,用于根据所述数据选择参数输出所述符合通信外设总线协议的数据帧或总线数据。配置模块配置第二数据选择器的参数控制第二数据选择器输出的数据类型,使得帧打包器即可以用于输出数据帧,也可以用于直接传输总线数据到通信外设,满足数据传输的多种需求。
[0020] 进一步地,所述命令符代表所述计量值的类型,计量值的类型包括电压、电流、电量等等。
[0021] 进一步地,所述校验模块为循环冗余校验模块。
[0022] 进一步地,所述缓存器为先入先出型缓存器,满足计量值的存储要求,同时先入先出型寄存器的深度可以根据实际需求调节,比直接SRAM/FLASH等存储器更具灵活性,且面积小,功耗低。
[0023] 可选的,所述通信外设包括串行外设接口和通用异步收发传输器。通信外设可仅使用普通的通信外设,节约芯片的设计成本,充分利用现有计量芯片已有的通信外设,保留芯片的可继承性。
[0024] 进一步地,所述第一数据选择器生成的数据帧包括起始符、命令符、长度符、序号符、数据域、校验符和结束符。
[0025] 本发明第二方面提供一种用于芯片之间数据帧协议处理的帧打包方法,所述帧打包方法应用于所述的用于芯片之间数据帧协议处理的帧打包器,所述帧打包方法包括:
[0026] 帧参数配置模块根据接收到的计量值配置数据帧的起始符、结束符和命令符并传输到第一数据选择器;
[0027] 帧长度计算模块根据待发送的计量值计算数据帧的长度并传输到第一数据选择器;
[0028] 帧序号计数模块计数当前帧的序号并传输到第一数据选择器;
[0029] 缓存器缓存DMA从计量芯片的计量值寄存器中搬运来的计量值,等待第一数据选择器读取;
[0030] 状态机接收通信外设发送的ready信号,判断能否进行数据帧发送;
[0031] 若不能,则状态机停留在当前状态,等待能够进行数据帧发送;
[0032] 若能,则状态机根据设定的数据帧格式进行状态转移,控制所述第一数据选择器根据状态机的当前状态获取并输出对应的数据,生成数据帧;
[0033] 校验模块根据所述第一数据选择器输出的命令符、长度符、序号符和数据域的数据生成校验值并传输到所述第一数据选择器;
[0034] 总线协议处理模块将生成的所述数据帧转换为符合通信外设总线协议的数据帧并传输到所述通信外设。通过帧打包器实现数据帧打包,有效减少SRAM和一路DMA的工作使用,减少了芯片的工作功耗,增加了程序开发的灵活性。
[0035] 可选的,所述方法还包括:
[0036] 配置第二数据选择器的数据选择参数,
[0037] 若配置为帧打包器输出,则在能够进行数据帧发送时由所述第二数据选择器输出所述符合通信外设总线协议的数据帧到所述通信外设;
[0038] 若配置为外设总线输出,则由所述第二数据选择器直接输出总线数据到通信外设。通过配置第二数据选择器的参数控制第二数据选择器输出的数据类型,使得帧打包器即可以用于输出数据帧,也可以用于直接传输总线数据到通信外设,满足数据传输的多种需求。
[0039] 本发明第三方面提供一种计量芯片,包括所述的用于芯片之间数据帧协议处理的帧打包器。该计量芯片使用帧打包器进行数据帧打包,通过缓存器替代SRAM存储实时更新的计量值,即能够保证计量芯片固定地址的寄存器中的计量值不丢失,同时又能够减少SRAM和一路DMA的工作使用,从而减少芯片的面积和成本,同时减少了计量芯片的工作功耗。
[0040] 本发明第四方面提供一种计量值传输到管理芯的方法,所述方法包括:
[0041] DMA将存储在EMU寄存器中的计量值搬运到帧打包器;
[0042] 帧打包器将所述计量值打包成符合通信外设总线协议的数据帧,并传输到通信外设;
[0043] 所述通信外设将所述数据帧传输到管理芯。通过帧打包器将数据打包为数据帧并传输到管理芯,减少SRAM和一路DMA的工作使用,减少了计量芯片的工作功耗。
[0044] 通过上述技术方案,提供一种用于芯片间数据帧协议处理的帧打包器、方法及计量芯片,使用帧打包器进行数据打包,减少SRAM和一路DMA的工作使用,减少了芯片的工作功耗,增加了程序开发的灵活性,并且只需要普通的SPI或UART作为通信外设配合发送符合协议的数据帧,完成计量芯片的计量数据转化为数据帧发送给管理芯的应用场景。
[0045] 本发明实施方式的其它特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

[0046] 附图是用来提供对本发明实施方式的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施方式,但并不构成对本发明实施方式的限制。在附图中:
[0047] 图1是现有技术计量芯片数据传输过程示意图;
[0048] 图2是数据帧格式示意图;
[0049] 图3是本发明一种实施方式提供的用于芯片之间数据帧协议处理的帧打包器结构框图;
[0050] 图4是本发明另一种实施方式提供的用于芯片之间数据帧协议处理的帧打包器结构框图;
[0051] 图5是采用帧打包器的数据传输过程示意图。

具体实施方式

[0052] 以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
[0053] 在智能电表领域中,常见的数据帧格式如图2所示,包括起始符、命令符、长度符、序号符、数据域、校验符和结束符。起始符和结束符一般是可以配置的固定值。命令符代表数据域的值的类型,如电流,电压,电量等等。长度域代表数据域的长度。序号符代表当前帧的序号。校验符通常是对命令符到数据域的数据的循环冗余校验值(Cyclic Redundancy Check,CRC)。数据域是计量芯片的计量值。除了数据域的长度可以根据长度域配置成N字节,其他符都是固定的长度,如1字节。帧打包器的作用就是将计量值处理成符合数据帧格式的数据帧,并将该数据帧转换为符合通信外设对应的协议的数据传输到管理芯。
[0054] 实施例一
[0055] 图3是本发明一种实施方式提供的用于芯片之间数据帧协议处理的帧打包器结构框图。如图3所示,所述帧打包器包括:
[0056] 帧参数配置模块,用于根据接收到的计量值配置数据帧的起始符、结束符和命令符的值并传输到第一数据选择器;
[0057] 帧长度计算模块,用于根据待发送的计量值计算数据帧的长度值并传输到第一数据选择器;
[0058] 帧序号计数模块,用于计数当前帧的序号值并传输到第一数据选择器和校验模块;
[0059] 缓存器,用于缓存DMA从计量芯片的计量值寄存器中搬运来的计量值,等待第一数据选择器读取;
[0060] 状态机,用于根据设定的数据帧格式进行状态转移,控制第一数据选择器获取并输出对应的数据;
[0061] 第一数据选择器,用于根据状态机的当前状态获取并输出对应的数据,生成数据帧;
[0062] 校验模块,用于根据所述第一数据选择器输出的命令符、长度符、序号符和数据域的数据生成校验值并传输到第一数据选择器;以及
[0063] 总线协议处理模块,用于将生成的所述数据帧转换为符合通信外设总线协议的数据帧并传输到所述通信外设。帧打包器使用状态机和第一数据选择器完成对当前发送帧数据的取值,实现数据打包,减少SRAM和一路DMA的工作使用,减少了芯片的工作功耗,增加了程序开发的灵活性。
[0064] 可选的,所述通信外设包括串行外设接口和通用异步收发传输器。通信外设可仅使用普通的通信外设,节约芯片的设计成本,充分利用现有计量芯片已有的通信外设,保留芯片的可继承性。
[0065] 进一步地,所述缓存器为先入先出型缓存器,满足计量值的存储要求,同时先入先出型寄存器的深度可以根据实际需求调节,比直接SRAM/FLASH等存储器更具灵活性,且面积小,功耗低。
[0066] 上述实施方式提供的用于芯片之间数据帧协议处理的帧打包器对应一种用于芯片之间数据帧协议处理的帧打包方法,所述帧打包方法包括:
[0067] 帧参数配置模块根据接收到的计量值配置数据帧的起始符、结束符和命令符的值并传输到第一数据选择器;
[0068] 帧长度计算模块根据待发送的计量值计算数据帧的长度值并传输到第一数据选择器;
[0069] 帧序号计数模块计数当前帧的序号值并传输到第一数据选择器;
[0070] 缓存器缓存DMA从计量芯片的计量值寄存器中搬运来的计量值,等待第一数据选择器读取;
[0071] 状态机接收通信外设发送的ready信号,判断能否进行数据帧发送;
[0072] 若不能,则状态机停留在当前状态,等待能够进行数据帧发送;
[0073] 若能,则状态机根据设定的数据帧格式进行状态转移,控制第一数据选择器根据状态机的当前状态获取并输出对应的数据,生成数据帧;
[0074] 校验模块根据所述第一数据选择器输出的命令符、长度符、序号符和数据域的数据生成校验值并传输到第一数据选择器;
[0075] 总线协议处理模块将生成的所述数据帧转换为符合通信外设总线协议的数据帧并传输到所述通信外设。通过帧打包器实现数据帧打包,有效减少SRAM和一路DMA的工作使用,减少了芯片的工作功耗,增加了程序开发的灵活性。
[0076] 实施例二
[0077] 图4是本发明另一种实施方式提供的用于芯片之间数据帧协议处理的帧打包器结构框图。如图4所示,所述帧打包器包括:
[0078] 帧参数配置模块,用于根据接收到的计量值配置数据帧的起始符、结束符和命令符的值并传输到第一数据选择器;
[0079] 帧长度计算模块,用于根据待发送的计量值计算数据帧的长度值并传输到第一数据选择器;
[0080] 帧序号计数模块,用于计数当前帧的序号值并传输到第一数据选择器和校验模块;
[0081] 缓存器,用于缓存DMA从计量芯片的计量值寄存器中搬运来的计量值,等待第一数据选择器读取;
[0082] 状态机,用于根据设定的数据帧格式进行状态转移,控制第一数据选择器获取并输出对应的数据;
[0083] 第一数据选择器,用于根据状态机的当前状态获取并输出对应的数据,生成数据帧;
[0084] 校验模块,用于根据所述第一数据选择器输出的命令符、长度符、序号符和数据域的数据生成校验值并传输到第一数据选择器;
[0085] 总线协议处理模块,用于将生成的所述数据帧转换为符合通信外设总线协议的数据帧并传输到所述通信外设;
[0086] 模块配置模块,用于配置第二数据选择器的数据选择参数;以及
[0087] 第二数据选择器,用于根据所述数据选择参数输出所述符合通信外设总线协议的数据帧或总线数据。帧打包器使用状态机和第一数据选择器完成对当前发送帧数据的取值,实现数据打包,减少SRAM和一路DMA的工作使用,减少了芯片的工作功耗,增加了程序开发的灵活性。配置模块配置第二数据选择器的参数控制第二数据选择器输出的数据类型,使得帧打包器即可以用于输出数据帧,也可以用于直接传输总线数据到通信外设,满足数据传输的多种需求。
[0088] 可选的,所述通信外设包括串行外设接口和通用异步收发传输器。通信外设可仅使用普通的通信外设,节约芯片的设计成本,充分利用现有计量芯片已有的通信外设,保留芯片的可继承性。
[0089] 进一步地,所述缓存器为先入先出型缓存器,即FIFO,满足计量值的存储要求,同时先入先出型寄存器的深度可以根据实际需求调节,比直接SRAM/FLASH等存储器更具灵活性,且面积小,功耗低。
[0090] 如图4所示,在本实施例中,帧打包器(PACK)的接口会包含SPI的总线和自身(PACK)的总线。当PACK不工作时,可以通过模块配置模块配置PACK的spi_mux=0,使SPI正常通过总线1工作;当PACK工作时,可以通过模块配置模块配置PACK的spi_mux=1,使得SPI通过总线2工作,此时SPI会被占用,总线2的地址是SPI的数据发送地址,总线2的数据是符合传输协议格式的数据帧,此时SPI收到的总线命令就是发送符合传输协议的数据帧命令。数据帧的长度符通过帧长度计算模块计算得到,序号符通过帧序号计数模块计算得到,数据域的值是通过DMA从计量芯片的计量值寄存器中搬运到PACK的FIFO中读取得到的。
[0091] 上述实施方式提供的用于芯片之间数据帧协议处理的帧打包器对应一种用于芯片之间数据帧协议处理的帧打包方法,所述帧打包方法包括:
[0092] 帧参数配置模块根据接收到的计量值配置数据帧的起始符、结束符和命令符的值并传输到第一数据选择器;
[0093] 帧长度计算模块根据待发送的计量值计算数据帧的长度值并传输到第一数据选择器;
[0094] 帧序号计数模块计数当前帧的序号值并传输到第一数据选择器和校验模块;
[0095] 缓存器缓存DMA从计量芯片的计量值寄存器中搬运来的计量值,等待第一数据选择器读取;
[0096] 配置第二数据选择器的数据选择参数;
[0097] 若配置第二数据选择器的数据选择参数为帧打包器输出,则状态机接收通信外设发送的ready信号,判断能否进行数据帧发送;
[0098] 若不能,则状态机停留在当前状态,等待能够进行数据帧发送;
[0099] 若能,则状态机根据设定的数据帧格式进行状态转移,控制第一数据选择器根据状态机的当前状态获取并输出对应的数据,形成数据帧;
[0100] 校验模块根据所述第一数据选择器输出的命令符、长度符、序号符和数据域的数据生成校验值并传输到第一数据选择器;
[0101] 总线协议处理模块将生成的所述数据帧转换为符合通信外设总线协议的数据帧并由所述第二数据选择器传输到所述通信外设;
[0102] 若配置第二数据选择器的数据选择参数为外设总线输出,则由所述第二数据选择器直接输出总线数据到通信外设。
[0103] 当通信外设发送的ready为高,即通信外设发送空闲时或通信外设发送FIFO非满时,状态机会按照数据帧的格式,依次进入起始符,命令符,长度符,序号符,数据域,校验符,结束符状态,将数据给总线协议处理模块后进入下一状态;其中状态机到数据域时,会根据长度符的值,从PACK的FIFO中取出对应数量的计量值;其中状态机到校验符时,会输出命令符到数据域的CRC校验值;状态机到结束符时,序号符值会加1,校验符值回归初始值,会根据寄存器配置判断,状态机进入下一帧的起始符或结束PACK工作。当通信外设的发送ready为低,即通信外设发送繁忙时或通信外设发送FIFO满时,状态机会停留在当前状态,等待ready为高。
[0104] 通过帧打包器实现数据帧打包,有效减少SRAM和一路DMA的工作使用,减少了芯片的工作功耗,增加了程序开发的灵活性。通过配置第二数据选择器的参数控制第二数据选择器输出的数据类型,使得帧打包器即可以用于输出数据帧,也可以用于直接传输总线数据到通信外设,满足数据传输的多种需求。本申请提出的帧打包器的通讯外设无需做任何改动,即可发送满足传输协议的数据帧,并且通讯外设可以换成任意符合APB或AHB总线协议的通信外设,可继承性高、通讯外设替换灵活性高。
[0105] 本发明第三方面提供一种计量芯片,包括所述的用于芯片之间数据帧协议处理的帧打包器。该计量芯片使用帧打包器进行数据帧打包,通过缓存器替代SRAM存储实时更新的计量值,即能够保证计量芯片固定地址的寄存器中的计量值不丢失,同时又能够减少SRAM和一路DMA的工作使用,从而减少芯片的面积和成本,同时减少了计量芯片的工作功耗。
[0106] 本发明第四方面提供一种计量值传输到管理芯的方法,所述方法包括:
[0107] DMA将存储在EMU寄存器中的计量值搬运到帧打包器;
[0108] 帧打包器将所述计量值打包成符合通信外设总线协议的数据帧,并传输到通信外设;
[0109] 通信外设将所述数据帧传输到管理芯。传输过程如图5所示,通过帧打包器将数据打包为数据帧并传输到管理芯,减少SRAM和一路DMA的工作使用,减少了计量芯片的工作功耗。
[0110] 本领域技术人员可以理解实现上述实施方式的方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得单片机、芯片或处理器(processor)执行本发明各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0111] 以上结合附图详细描述了本发明的可选实施方式,但是,本发明实施方式并不限于上述实施方式中的具体细节,在本发明实施方式的技术构思范围内,可以对本发明实施方式的技术方案进行多种简单变型,这些简单变型均属于本发明实施方式的保护范围。另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明实施方式对各种可能的组合方式不再另行说明。
[0112] 此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明实施方式的思想,其同样应当视为本发明实施方式所公开的内容。