并行APB协议转串行SCOM协议的装置、方法及芯片
文献发布时间:2024-04-18 20:01:23
技术领域
本申请涉及但不限定于一种并行APB协议转串行SCOM协议的装置、方法及芯片。
背景技术
芯片中设定的通信协议一般采用串行通信协议或者并行传输协议,在使用串行通信协议对数据指令进行传输的时候,不论是对处理模块关联的寄存器进行处理的操作还是对处理模块的卫星单元关联的寄存器进行处理时,传输的数据均按照串行协议进行逐个传输,导致内部控制处理的速度慢,也会影响向外部传输数据的效率。
在使用并行传输协议进行传输的时候,需要布局多条并行线来进行并行信号传输,但是这种在芯片物理实现的时候,对并行线的布局难度大;还需要保障信号线在布局的时候长度相同,以及考虑各信号线传输的时候需要时序保持一致,控制策略复杂。
因此,如何在保障芯片处理速度的情况下降低芯片中布线的难度成为研究的重点。
发明内容
本申请提供一种并行APB协议转串行SCOM协议的装置、方法及芯片,用以解决的上述技术问题。
第一方面,本申请实施例提供一种并行APB协议转串行SCOM协议的装置,包括:上游模块、转换控制模块和多个串行传输环路,各所述串行传输环路包括多个卫星单元;
所述上游模块被配置为基于并行APB协议输出初始指令;所述初始指令包括地址和操作信息;
所述转换控制模块和所述上游模块电连接,所述转换控制模块包括内部控制寄存器,所述转换控制模块被配置为获得所述初始指令,当所述地址为所述内部控制寄存器的地址时,按照所述操作信息对所述地址进行对应的操作;
所述转换控制模块和所述多个串行传输环路电连接,所述转换控制模块还被配置为当所述地址为任一卫星单元内寄存器地址时,将所述初始指令转化为SCOM指令,沿所述卫星单元所在的串行传输环路,基于串行SCOM协议将所述SCOM指令传输至所述卫星单元;
所述卫星单元被配置为响应于所述SCOM指令,对所述寄存器地址进行对应的操作,并将操作结果基于所述串行SCOM协议反馈至所述转换控制模块。
在上述技术方案中,转换控制模块利用并行传输协议获取上游模块传输的指令,对该指令进行分析,当该指令为内部控制寄存器需要处理的指令时,可直接进行处理,保障了内部控制寄存器的处理速度,对于远端的卫星单元,将数据传输的方式从并行转换为串行,利用串行传输降低了传输控制策略和芯片中布局的相关线路的难度。
在一种可行的实施例中,所述转换控制模块还包括协议转换单元,所述协议转换单元和所述多个串行传输环路电连接;
所述转换控制模块还被配置为当所述地址为任一卫星单元内寄存器地址时,将所述初始指令转化为SCOM指令,沿所述卫星单元所在的串行传输回路,基于串行SCOM协议将所述SCOM指令传输至所述卫星单元,包括:
所述协议转换单元从所述初始指令中获取环号,所述环号为所述卫星单元所处的串行传输环路的标识;
所述协议转换单元将所述初始指令转化为SCOM指令,并按照串行SCOM协议将所述SCOM指令传输至所述环号对应的串行传输回路,沿所述串行传输回路传输至所述卫星单元,以使所述卫星单元获得所述SCOM指令后对所述SCOM指令进行响应。
在一种可行的实施例中,所述装置还包括时钟模块,所述时钟模块和所述转换控制模块电连接;
所述内部控制寄存器内设有第一状态机;
所述协议转换单元将所述初始指令转化为SCOM指令,并按照串行SCOM协议将所述SCOM指令传输至所述环号对应的串行传输回路,沿所述串行传输回路传输至所述卫星单元,以使获得所述指令后对所述指令进行响应,包括:
所述协议转换单元根据所述环号,在所述时钟模块生成的第二变化信号的触发下,调整所述第一状态机的状态为访问SCOM卫星寄存器状态;
基于所述串行SCOM协议将所述SCOM指令传输至对应的卫星单元,在获得所述卫星单元所处的串行传输回路反馈的信息后,将反馈的信息传输至所述内部控制寄存器,以调整所述第一状态机的状态为状态机完成状态。
在一种可行的实施例中,所述操作信息包括读信息或者写信息;
所述转换控制模块被配置为当所述地址为所述内部控制寄存器的地址时,按照所述操作信息对所述地址进行对应的操作,包括:
所述转换控制模块被配置为当所述操作信息包括所述读信息时,在所述内部控制寄存器内读取所述地址对应的数据,并将所述数据反馈至所述上游模块;
当所述操作信息包括所述写信息时,将所述指令中的数据写入所述地址对应的寄存器内。
在一种可行的实施例中,所述转换控制模块还被配置为:
当所述操作信息不满足所述地址对应的操作要求时,生成错误报告,并向所述上游模块反馈所述错误报告。
在一种可行的实施例中,所述内部控制寄存器包括内部控制器和内部寄存器,所述内部控制器设有第一状态机和中间寄存器;
所述转换控制模块被配置为获得所述初始指令,包括:
所述内部控制器在所述第一状态机处于空闲状态时,在所述中间寄存器中储存所述初始指令中的地址和操作信息;
在所述中间寄存器储存完成所述初始指令中的地址和操作信息、且所述转换控制模块获得所述时钟模块生成的第一变化信号时,调整所述第一状态机的状态为状态机解码状态。
在一种可行的实施例中,所述转换控制模块被配置为当所述操作信息包括所述读信息时,在所述内部控制寄存器内读取所述地址对应的数据,并将所述数据反馈至所述上游模块,包括:
所述内部控制器在所述第一状态机处于所述状态机解码状态时,从所述中间寄存器中解析出所述操作信息,所述操作信息包括读信息;
在所述时钟模块生成的第二变化信号的触发下,调整所述第一状态机的状态为内部控制寄存器读状态,并将所述内部寄存器中的数据读入所述中间寄存器中;
在完成读取操作、且获得所述时钟模块生成的第三变化信号时,调整所述第一状态机的状态为状态机完成状态;
在所述时钟模块生成的第四变化信号的触发下,调整所述第一状态机的状态为所述空闲状态,并将读入所述中间寄存器中的数据反馈至所述上游模块。
在一种可行的实施例中,当所述操作信息包括所述写信息时,将所述初始指令中的数据写入所述地址对应的寄存器内,包括:
所述内部控制器在所述第一状态机处于所述状态机解码状态时,从所述中间寄存器中解析出所述操作信息和数据,所述操作信息包括写信息;
在所述时钟模块生成的第二变化信号的触发下,调整所述第一状态机的状态为内部控制寄存器写状态,并将所述数据写入所述内部寄存器;
在完成写入操作、且获得所述时钟模块生成的第三变化信号时,调整所述第一状态机的状态为状态机完成状态;
在所述时钟模块生成的第四变化信号的触发下,调整所述第一状态机的状态为所述空闲状态。
在一种可行的实施例中,当所述操作信息不满足所述地址对应的操作要求时,生成错误报告,并向所述上游模块反馈所述错误报告,包括:
在进行读取操作之前,当所述地址存在写保护时,确定无法对所述地址的内部控制寄存器进行读取;
在获得所述时钟模块生成的第二变化信号时,调整所述第一状态机的状态为状态机完成状态,生成对应的错误报告,并向所述上游模块反馈所述错误报告。
在一种可行的实施例中,当所述操作信息不满足所述地址对应的操作要求时,生成错误报告,并向所述上游模块反馈所述错误报告,包括:
在进行写入操作之前,当所述地址为只读地址时,确定无法对所述地址的内部控制寄存器进行写入;
在所述时钟模块生成的第二变化信号的触发下,调整所述第一状态机的状态为状态机完成状态,生成对应的错误报告,并向所述上游模块反馈所述错误报告。
第二方面,本申请提供一种并行APB协议转串行SCOM协议的方法,所述方法应用于第一方面涉及的并行APB协议转串行SCOM协议的装置,所述装置包括上游模块、转换控制模块和多个串行传输环路,所述转换控制模块包括内部控制寄存器,各所述串行传输环路包括多个卫星单元;
所述方法包括:
获得所述上游模块基于并行APB协议传输的初始指令,所述初始指令包括地址和操作信息;
当所述地址为所述内部控制寄存器的地址时,控制所述转换控制模块按照所述操作信息对所述地址进行对应的操作;
当所述地址为任一卫星单元内寄存器地址时,控制所述转换控制模块将所述初始指令转化为SCOM指令,沿所述卫星单元所在的串行传输回路,基于串行SCOM协议将所述SCOM指令传输至所述卫星单元;
在所述卫星单元响应所述SCOM指令对所述寄存器地进行对应的操作之后,获得所述卫星单元基于所述串行SCOM协议反馈的操作结果。
第三方面,本申请提供一种芯片,包括第一方面涉及的并行APB协议转串行SCOM协议的装置。
本申请提供一种并行APB协议转串行SCOM协议的装置、方法及芯片,该装置包括上游模块、转换控制模块和多个串行传输环路,每个串行传输环路包括多个卫星单元,转换控制模块获得上游模块按照并行APB协议传输的初始指令之后,从初始指令中获取地址和操作信息,当地址为转换控制模块中的内部控制寄存器地址时,按照操作信息对内部控制寄存器地址进行对应的操作,以使内部控制寄存器通过并行的方式快速处理目标数据,以保障其对数据的处理速度,当地址为处理器核的卫星单元内寄存器地址时,将初始指令转化为SCOM指令之后,按照串行SCOM协议将SCOM指令传输至对应的卫星单元,利用串行传输降低了传输控制策略和芯片中布局的相关线路的难度。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请一些示例性提供的并行APB协议转串行SCOM协议的装置的结构示意图;
图2A和图2B为本申请另一些实施例提供的并行APB协议转串行SCOM协议的装置的结构示意图;
图3为本申请一些实施例提供的一种并行APB协议转串行SCOM协议的方法的交互图;
图4为本申请另一些实施例提供的并行APB协议转串行SCOM协议的装置的结构示意图;
图5为本申请一些实施例提供的对卫星单元内寄存器的数据处理方法的流程示意图;
图6为本申请一些实施例提供的内部控制寄存器的数据处理方法的流程示意图;
图7为本申请一些实施例提供的内部控制寄存器的数据读取方法的流程示意图;
图8为本申请一些实施例提供的数据读取时转换控制模块内数据和状态位的变化时序图;
图9为本申请一些实施例提供的一种对内部控制寄存器中数据的写入方法的流程示意图;
图10为本申请一些实施例提供的数据读取时转换控制模块内数据和状态位的变化时序图;
图11为本申请另一些实施例提供的并行APB协议转串行SCOM协议装置的结构示意图;
图12为本申请一些实施例提供的第一状态机的变化示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本申请实施例中所使用的单数形式的“一种”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括上述要素的商品或者系统中还存在另外的相同要素。
芯片中设定的通信协议一般采用串行通信协议或者并行传输协议,在使用串行通信协议对数据指令进行传输的时候,不论是对处理模块关联的寄存器进行处理的操作还是对处理模块的卫星单元关联的寄存器进行处理时,传输的数据均按照串行协议进行逐个传输,导致内部控制处理的速度慢,也会影响向外部传输数据的效率。
在使用并行传输协议进行传输的时候,需要布局多条并行线来进行并行信号传输,但是这种在芯片物理实现的时候,对并行线的布局难度大;还需要保障信号线在布局的时候长度相同,以及考虑各信号线传输的时候需要时序保持一致,控制策略复杂。
因此,如何在保障芯片处理速度的情况下降低芯片中布线的难度成为研究的重点。
为了解决上述问题,本申请提供一种并行APB协议转串行SCOM协议的装置、方法及芯片。本申请的技术构思是:在芯片中设定一个转换控制模块,其中设有内部控制寄存器,在该转换控制模块获得上游模块基于并行协议输出的指令时,若该指令中的地址为内部控制寄存器的地址时,直接对该地址进行对应的操作,保障了当前处理模块的处理速度,否则将数据传输的方式从并行转换为串行,利用串行传输降低了传输控制策略和芯片中布局的相关线路的难度。
下面以具体地实施例对本申请的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图1为本申请根据一示例性实施例提供的并行APB协议转串行SCOM协议的装置的结构示意图,如图1所示,芯片10包括转换控制模块102、上游模块101和至少一个串行传输环路103。
上游模块101位于转换控制模块102的上游,两模块通过总线BUS连接,被配置为生成并向总线BUS传输转换控制模块102待执行的初始指令。该初始指令包括地址和操作信息。
其中,从上游模块101至转换控制模块102传输的初始指令支持并行传输协议。在一实施例中,该并行传输协议为并行APB协议。
转换控制模块102包括内部控制寄存器,被配置为获得初始指令,当地址为内部控制寄存器的地址时,按照操作信息对地址进行对应的操作。
转换控制模块102还和至少一个串行传输环路103电连接,每个串联传输环路103包括多个卫星单元1031。
转换控制模块102还被配置为在当地址为卫星单元1031内寄存器地址时,将并行传输的初始指令转化为串行传输的目标指令,并按照串行传输的方式将该目标指令传输沿对应的串行传输环路103传输至对应的卫星单元1031,以执行该目标指令。并在执行完成后,沿该条串行传输环路103反馈至转换控制模块103。
在一实施例中,该目标指令采用的并行传输的协议为并行APB协议,协议转换后的串行协议为SCOM指令。
基于图1所示的结构示意图,在一种情况下,转换控制模块102和至少一个串行传输环路103处于处理器核中,上游模块101为处理器核的上游模块,则并行APB协议转串行SCOM协议的装置的结构示意图可表示为图2A所示的结构;在另一种情况下,处理器核作为上游模块101时,转换控制模块102和至少一个串行传输环路103均为处理器核的下游模块,则并行APB协议转串行SCOM协议的装置的结构示意图可表示为图2B所示的结构。
下面,对上述各模块之间的交互过程进行解释。
图3为本申请一示例性实施例提供的并行APB协议转串行SCOM协议的方法的交互图,如图3所示,包括:
S101、上游模块基于并行APB协议向转换控制模块输出初始指令。
该初始指令包括地址和操作信息。
在一些实施例中,操作信息包括对地址对应的寄存器的读取信息或者对寄存器的写入信息。
转换控制模块通过APB BUS从其上游模块获得并行传输的初始指令。
在一些实施例中,转换控制模块可通过local bus从上游模块(master)获取初始指令,该初始指令表示为64bit数据,并将64bit数据宽度的local bus(类APB协议)配置协议转换成串行的SCOM协议。
S102、当地址为转换控制模块的内部控制寄存器的地址时,转换控制模块按照操作信息对该地址进行对应的操作。
即响应于并行传输的信息,转换控制模块能及时对其内部控制寄存器状态进行处理,保障处理效率。
S103、当地址为卫星单元内寄存器地址时,转换控制模块将初始指令转化为SCOM指令。
卫星单元中寄存器中数据的处理的及时性要求一般不超过内部控制寄存器中数据处理的及时性,因此,可在上游模块对该卫星单元中寄存器的数据进行处理时,利用转换控制模块,将该初始指令从并行APB协议转换为串行SCOM协议。
S104、转换控制模块基于串行SCOM协议将SCOM指令传输至对应的卫星单元。
转换控制模块基于串行SCOM协议将SCOM指令传输至待处理指令的卫星单元所在的串行传输回路,并在该指令在串行传输的过程中传输至待处理指令的卫星单元。
在一种实施例中,当初始指令为对卫星单元中寄存器处理的指令时,该指令中还包括环号,该环号为串行传输回路的标识,不同的串行传输回路对应的环号不同。
则在转换控制模块传输指令时,基于串行SCOM协议将指令传输至指令中环号对应的串行传输回路,以使位于串行传输回路中的卫星单元获得指令后对SCOM指令进行响应。
S105、卫星单元响应于SCOM指令,对寄存器地址进行对应的操作。
S106、卫星单元基于串行SCOM协议向转换控制模块发送操作结果。
卫星单元从下串行传输回路获得SCOM指令并执行完成后,将反馈的数据通过串行传输回路,以使其进行后续的处理。例如:向上游模块反馈处理结果。
在上述技术方案中,转换控制模块利用并行传输协议获取上游模块传输的指令,对该指令进行分析,当该指令为当前处理模块需要处理的指令时,可直接进行处理,保障了当前处理模块的处理速度,对于远端的卫星单元,将数据传输的方式从并行转换为串行,利用串行传输降低了传输控制策略和芯片中布局的相关线路的难度。
下面对转换控制模块的结构进行进一步解释。
如图4所示,转换控制模块102包括内部控制寄存器1021和协议转换单元1024,内部控制寄存器1021通过总线BUS和上游模块101电连接,串行传输回路1024和内部控制寄存器1021电连接,至少一个串行传输回路103和协议转换单元1024电连接。
内部控制寄存器1021中包括内部控制器1022和内部寄存器1023,内部控制器1022中设有第一状态机和中间寄存器。
第一状态机用于记录转换控制模块102的工作状态,以使转换控制模块102基于其当前的状态执行对应的操作。
中间寄存器用于临时储存接收的指令、待写入的数据或者读取后待发送的数据。
内部控制器1022用于根据第一状态机的状态和中间寄存器中存储的内容控制转换控制模块102运行。
内部寄存器1023用于记录转换控制模块102的内部数据,当内部控制器1022从上游模块获得的初始指令为内部控制寄存器的地址时,调整第一状态的状态后,基于该地址在内部寄存器中进行对应的处理。
当内部控制器1022从上游模块101获得的指令为卫星单元1031内寄存器地址时,调整第一状态机的状态后,将该初始指令传输至协议转换单元103。
协议转换控制器103用于从初始指令中获取环号,将初始指令转化为SCOM指令,并按照串行SCOM协议将SCOM指令传输至环号对应的串行传输回路,以使位于串行传输回路中的卫星单元获得SCOM指令后对SCOM指令进行响应。
此外,并行APB协议转串行SCOM协议的装置10中还包括时钟模块104,时钟模块104和转换控制模块102电连接,用于生成时钟信号,以控制转换控制模块102基于时钟频率对指令进行处理、对第一状态机的状态进行调整。
下面对转换控制模块对指令的具体处理过程进行解释。
在一实施例中,当转换控制模块获得的初始指令为对卫星单元寄存器处理的指令时,内部控制器将指令传输至协议转换控制器后,协议转换控制器的数据处理过程如图5所示,包括:
S201、协议转换单元从初始指令中获取环号。
其中,若环号为0,表示该初始指令中待处理的地址为转换控制模块的内部控制寄存器中的地址;若环号为正整数,表示该初始指令中待处理的指令为转换控制模块下游的卫星单元所处的串行传输环路的标号。
S202、将初始指令转化为SCOM指令,并按照串行SCOM协议将SCOM指令传输对应的串行传输回路,以使位于该串行传输回路的卫星单元获得指令后对指令进行响应。
在一些实施例中,转换控制模块利用第二状态机将并行APB指令转换为串行传输的SCOM指令,并根据环号,将该SCOM指令传输至对应环路中,该数据在环路中传输一圈之后返回至该转换控制模块,转换控制模块可从环路中获取指令处理的相关信息。
在一实施例中,该SCOM指令为对卫星单元寄存器中的数据进行读取的指令,则转换控制模块可从环路中获取读取的数据;
在一实施例中,该SCOM指令为对卫星单元寄存器写入数据的指令,若在写入过程中存在问题,则将错误信息通过环路反馈至转换处理模块。
在另一实施例中,当转换控制模块获得的初始指令为对内部控制寄存器中行的地址操作的指令时,转换控制模块对指令的处理过程如图6所示,包括:
S301、当操作信息包括读信息时,在内部控制寄存器内读取地址对应的数据,并将数据反馈至上游模块。
转换控制模块中设有第一状态机,转换控制模块在获得初始指令后,可通过调整第一状态机的状态为内部控制寄存器读状态以对内部控制寄存器进行读操作。
S302、当操作信息包括写信息时,将初始指令中的数据写入地址对应的寄存器内。
转换控制模块在获得初始指令后,可通过调整第一状态机的状态为内部控制寄存器写状态以对内部控制寄存器进行写操作。
当转换控制模块对内部控制寄存器进行读操作时,转换控制模块通过内部控制器对内部寄存器中的数据进行读操作,操作过程如图7所示,包括步骤S401~S405,内部控制寄存器对应存储的数据和状态位的变化情况如图8所示:
S401、内部控制器在第一状态机处于空闲状态时,在中间寄存器中储存初始指令中的地址和操作信息。
转换控制模块通过APB总线与上游模块连接,用于获得上游模块发送的APB指令,并在指令传输的过程中,预先储存在中间寄存器中。
该转换控制模块设有数据接口(pwdata)和数据校验位接口(pradata_p),以使处理器核不仅可通过APB总线传输的指令获取地址信息和操作信息,还可同时获得需要处理的数据和该数据的校验位。
在图7所示的时序波形图中,在第二个时钟周期(标号2的时段)内,第一状态机的状态FSM_cs为IDLE状态,在获得APB总线传输的指令时,psel信号跳转为逻辑高电平,表示有APB指令访问,不可同时接收其他指令,Penable为低电平。
在转换控制模块接收数据时,设定状态位Pready为高电平,直至信号传输完成,将Pready拉低。在指令接收的过程中,获得待处理的地址paddr、置为低电平的写入状态位pwrite(表示待进行的读操作)以及校验位pwdata_p。
S402、在中间寄存器储完成初始指令中的地址和操作信息、且转换控制模块获得时钟模块生成的第一变化信号时,调整第一状态机的状态为状态机解码状态。
响应于第三个时钟周期开始的上升沿讯号(即时钟的第一变化信号),调整第一状态机的状态为状态机解码状态(Decode),并根据前一状态获得的地址paddr和写入状态位pwrite,更新地址限定信息addr_trap。
S403、在时钟模块生成的第二变化信号的触发下,调整第一状态机的状态为内部控制寄存器读状态,并将内部寄存器中的数据读入中间寄存器中。
响应于第四个时钟周期开始的上升沿讯号(即时钟的第二变化信号),将第一状态机的状态调整为内部控制寄存器读状态INTRD,并将转换控制模块的内部控制寄存器DATA0读入中间寄存器scom_data。
在进行读取操作之前,当地址存在写保护时,确定无法对地址的内部控制寄存器进行读取,在时钟的第二变化信号的触发下,调整第一状态机的状态为状态机完成状态,生成对应的错误报告,并向上游模块反馈错误报告。
S404、在完成读取操作、且获得时钟模块生成的第三变化信号时,调整第一状态机的状态为状态机完成状态。
响应于第四个时钟周期开始的上升沿讯号(即时钟的第三变化信号),调整第一状态机的状态为状态机完成状态DONE。
S405、在时钟的第四变化信号的触发下,调整第一状态机的状态为空闲状态,并将读入中间寄存器中的数据反馈至上游模块。
当转换控制模块对内部控制寄存器进行写操作时,转换控制模块通过内部控制器对内部寄存器中的数据进行写操作,操作过程如图9所示,包括步骤S501~S506,内部控制寄存器内对应存储的数据和状态位的变化情况如图10所示:
S501、在第一状态机处于空闲状态时,在中间寄存器中储存初始指令中的地址和操作信息。
在图10所示的时序波形图中,在第二个时钟周期内,第一状态机的状态FSM_cs为IDLE状态,在获得APB总线传输的指令时,psel信号跳转为逻辑高电平,表示有APB指令访问,不可同时接收其他指令,Penable为低电平。
在转换控制模块接收数据时,设定状态位Pready为高电平,直至信号传输完成,将Pready拉低。在指令接收的过程中,获得数据pwdata、待处理的地址paddr、置为高电平的写入状态位pwrite以及校验位pwdata_p。
S502、在中间寄存器储存完成初始指令中的地址和操作信息、且转换控制模块获得时钟模块生成的第一变化信号时,调整第一状态机的状态为状态机解码状态。
响应于第三个时钟周期开始的上升沿讯号(即时钟的第一变化信号),调整第一状态机的状态为状态机解码状态(Decode)
S503、在第一状态机处于状态机解码状态时,从中间寄存器中解析出操作信息和数据。
根据前一状态获得的地址paddr和写入状态位pwrite,更新地址限定信息addr_trap;根据前一状态获得的数据pwdata和校验位pwdata_p,更新中间寄存器中的SCOM数据(scom_data)。
S504、在时钟模块生成的第二变化信号的触发下,调整第一状态机的状态为内部控制寄存器写状态,并将数据写入内部控制寄存器。
响应于第四个时钟周期开始的上升沿讯号(即时钟的第二变化信号),将第一状态机的状态调整为内部控制寄存器读状态INTWR,并将数据pwdata写入转换控制模块的内部控制寄存器。
在进行写入操作之前,当地址为只读地址时,确定无法对地址的内部控制寄存器进行写入,在时钟的第二变化信号的触发下,调整第一状态机的状态为状态机完成状态,生成对应的错误报告,并向上游模块反馈错误报告。
S505、在完成写入操作、且获得时钟模块生成的第三变化信号时,调整第一状态机的状态为状态机完成状态。
S406、在时钟模块生成的第四变化信号的触发下,调整第一状态机的状态为空闲状态。
下面对本申请提供的并行APB协议转串行SCOM协议的装置进行解释。
如图11所示,该装置PSC通过Local BUS获取上游模块Msater传输的APB指令,该指令可包括64位的数据以及32位的地址信息。
该装置PSC中包括控制模块PSC Transmit Control、内部寄存器PSC internalregister、协议转换控制单元PSCOMLE Control、错误处理模块Error Handler、协议转换单元P2S/S2P Convert模块、传输环控制模块CCH/DCH Mux Loop模块。
控制模块PSC Transmit Control和BUS线连接,还与内部寄存器PSC internalregister、协议转换控制模块PSCOMLE Control、错误处理模块Error Handler分别连接,此外,协议转换控制模块PSCOMLE Control与错误处理模块Error Handler、协议转换单元P2S/S2P Convert模块连接。协议转换单元P2S/S2P Convert模块与传输环控制模块CCH/DCH Mux Loop模块连接。传输环控制模块CCH/DCH Mux Loop模块与多个传输环连接。
控制模块PSC Transmit Control,用于解析Master发送的APB指令,比如是读指令还是写指令,以及是操作PSC内部寄存器还是需要转化为串行SCOM协议来配置satellites对寄存器,并根据状态机跳转来完成APB接口信号的转化。
内部寄存器PSC internal register,用于定义PSC内部寄存器的功能,包括各状态位的存储。
协议转换控制模块PSCOMLE Control,用于将中间寄存器scom_addr和scom_data中的地址与数据信息转化为串行数据,并向satellite发送,以及解析satellite返回的应答与数据,再转化为并行数据存回中间寄存器中。
错误处理模块Error Handler,用于在PSC模块指令或者状态发生错误时debug使用。
协议转换单元P2S/S2P Convert模块,用于当执行SCOM写指令时,首先将地址、命令与数据信息写入scom_addr与scom_data两寄存器,再根据PSCOMLE状态机的输出控制串行数据的shift out与shift in,指令结束后(状态机运行完毕),写数据执行完毕,并从ring-satellite端获得error信息。
还用于当执行SCOM读指令时,首先将地址、命令信息写入scom_addr,再根据PSCOMLE状态机的输出控制串行数据的shift out与shift in,指令结束后(状态机运行完毕),scom_data中获得rdata信息,读数据执行完毕,并从ring-satellite端获得error信息。
传输环控制模块CCH/DCH Mux Loop模块,用于对SCOM ring进行选定,以对其中satellite的register以及psc内部寄存器进行配置。
控制模块PSC Transmit Control中置有第一状态机,跟随数据处理以及时钟的变化,该第一状态机的状态也发生变化。
第一状态机的变化过程如图12所示。当其处于状态IDLE时,表示其处于“状态机空闲"状态,当收到psel信号时,表示有APB访问,跳转进入DECODE状态,并将pready信号置0,将paddr和pwrite信息存入addr_trap寄存器中,将pwdata和pwdata_p信息存入scom_data寄存器中,其中,addr_trap和scom_data为串并转换的中间过程寄存器。
在DECODE状态内,解析addr_trap中ring_number的部分,以及读写操作并根据解析结果跳入后续不同状态。在进入该状态后,addr_trap存入scom_addr寄存器中。
当ring number为0时,int_addr_vld会置1,表示是对PSC internal register读写,如果do_write为1,进入INTWR状态,如果do_read=1,进入INTRD状态。
当ring number为1~15时,ser_addr_vld会置1,表示是对SCOM satelliteregister读写,进入SERIAL状态。
在解析过程中,当pscctl_error发生时,会直接跳入DONE状态,结束本次访问。
在INTWR状态进入DONE状态时,伴随将scom_data的值写入PSC内部寄存器中。
在INTRD状态进入DONE状态,伴随将PSC内部寄存器的值写入scom_data中。
在SERIAL状态内,PSC serial transmit状态机开始运作,开始串并转换并访问SCOM satellite寄存器,当PSC serial transmit状态机进入is_check_tail or is_hang状态时,表示访问完成,跳进DONE状态。
在DONE状态内,表示slave端一笔APB读写完成,跳入IDLE状态,伴随拉高pready,以及将scom_data存入prdata供master端使用。
此外,本申请还提供一种芯片,包括:前述的并行APB协议转串行SCOM协议的装置。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
- 一种思政用的思政知识宣传装置
- 一种思政用的思政知识宣传装置