实现不同层面之间数据交互的方法技术

技术编号:27840387 阅读:16 留言:0更新日期:2021-03-30 12:23
本发明专利技术公开了一种实现不同层面之间数据交互的方法,包括以下步骤:S1:判断寄存器是否处于读写忙碌状态,如果是,则等待,如果否,则进入步骤S2;S2:进入读写,向寄存器写入数据包,数据包写完后,向接口发送数据包并置位为读写忙碌状态;S3:检测接口是否收到数据包,如果收到,则进入步骤S4;S4:接口读取数据包;当寄存器不处于忙碌状态时,可以向其写入其他接口的数据包以便于不同层面之间能够数据交互,从而不必再增设新的数据传输接口,加快了工作效率,通过使用命令设置读取接口这种方式来实现一些速率较慢且间断性的数据包传输,能够很好的解决硬件接口预留不足导致开发难以继续的问题。的问题。的问题。

【技术实现步骤摘要】
实现不同层面之间数据交互的方法


[0001]本专利技术涉及数据交互领域,尤其涉及一种实现不同层面之间数据交互的方法。

技术介绍

[0002]在软件开发过程中,不同的层面之间经常需要进行数据交互,而实现数据交互的接口方式一般可以分为JESD204b、DDR、SPI、PCIE、MII、GMII、RGMII、CPRI、ECPRI等等,实现不同层面之间的数据交互也有多种类型,例如用于不间断数据传输的、用于数据包交换的、用于专门命令设置读取的等等,但是上述接口通常需要有相应的硬件配合才能完成数据交互,因此数据交互往往受到硬件设计的约束,导致在软件开发过程中经常遇到接口不够用的情况。

技术实现思路

[0003]针对上述技术中存在的不足之处,本专利技术提供一种实现不同层面之间数据交互的方法,通过使用命令设置读取接口这种方式来实现一些速率较慢且间断性的数据包传输,能够很好的解决硬件接口预留不足导致开发难以继续的问题。
[0004]为实现上述目的,本专利技术提供一种实现不同层面之间数据交互的方法,包括包括以下步骤:
[0005]步骤S1:判断寄存器是否处于读写忙碌状态,如果是,则等待,如果否,则进入步骤S2;
[0006]步骤S2:进入读写,向寄存器写入数据包,数据包写完后,向接口发送数据包并置位为读写忙碌状态。
[0007]步骤S3:检测接口是否收到数据包,如果收到,则进入步骤S4;
[0008]步骤S4:接口读取数据包。
[0009]作为优选,在步骤S1前,对寄存器进行复位。
[0010]作为优选,在步骤S1中,寄存器处于读写忙碌状态时,判断寄存器接口是否被锁定,如果是,则对寄存器自动清零。
[0011]作为优选,在步骤S1中,寄存器处于读写忙碌状态时输出高电平,不处于读写忙碌状态时输出低电平。
[0012]作为优选,在步骤S2中,向寄存器写入数据包的过程包括:向寄存器写入多个地址,并对所述多个地址的每个地址进行唯一编号。
[0013]作为优选,在步骤S2中,置位为读写忙碌状态后,向寄存机写入地址为零。
[0014]作为优选,在步骤S2中,向寄存器写入数据包前,寄存器的bit值为31时,则认为允许向寄存器写入数据包,寄存器的bit值为30时,则认为写入数据包结束。
[0015]作为优选,在步骤S3中,检测接口是否收到数据包时,如果寄存器检测到不允许向寄存器写入数据包,则认为数据包丢失和/或丢失数据包。
[0016]作为优选,在步骤S4中,读取数据包之前,寄存器的bit值为31时,则认为允许读取
数据包,寄存器的bit值为30时,则认为读取数据包结束。
[0017]作为优选,在步骤S4中,读取数据包的过程中,如果接口输出低电平,则表示数据包不完整和/或丢失数据包。
[0018]本专利技术的有益效果是:与现有技术相比,本专利技术提供的一种实现不同层面之间数据交互的方法,包括以下步骤:S1:判断寄存器是否处于读写忙碌状态,如果是,则等待,如果否,则进入步骤S2;S2:进入读写,向寄存器写入数据包,数据包写完后,向接口发送数据包并置位为读写忙碌状态;S3:检测接口是否收到数据包,如果收到,则进入步骤S4;S4:接口读取数据包;当寄存器不处于忙碌状态时,可认为寄存器此时处于空闲状态,因此,在寄存器处于空闲状态时,可以向其写入其他接口的数据包以便于不同层面之间能够数据交互,从而不必再增设新的数据传输接口,或者在传输接口不够用的情况下通过写入数据包能够实现其他接口也同时读取到数据信息的功能,加快了工作效率,通过使用命令设置读取接口这种方式来实现一些速率较慢且间断性的数据包传输,能够很好的解决硬件接口预留不足导致开发难以继续的问题。
附图说明
[0019]图1为本专利技术的方法原理示意图;
[0020]图2为本专利技术写入数据包的时序图;
[0021]图3为本专利技术读取数据包的时序图;
[0022]图4为命令操作寄存器划分图。
具体实施方式
[0023]为了更清楚地表述本专利技术,下面结合附图对本专利技术作进一步地描述。
[0024]请参阅图1

4,本专利技术的一种实现不同层面之间数据交互的方法,包括以下步骤:
[0025]步骤S1:判断寄存器是否处于读写忙碌状态,如果是,则等待,如果否,则进入步骤S2;
[0026]步骤S2:进入读写,向寄存器写入数据包,数据包写完后,向接口发送数据包并置位为读写忙碌状态。
[0027]步骤S3:检测接口是否收到数据包,如果收到,则进入步骤S4;
[0028]步骤S4:接口读取数据包。
[0029]请参阅图1

图2,图1为写入数据包的时序图。图2为读取数据包时序图,首先,判断指令PACKET_WR_BUSY是否处于忙写状态,如果输出为高电平,即PACKET_WR_BUSY=1,此时判断寄存器是处于忙碌状态,如果输出为低电平,即PACKET_WR_BUSY=0,则表示寄存器不处于忙碌状态,当不处于忙碌状态时,可认为寄存器此时处于空闲状态,因此,在寄存器处于空闲状态时,可以向其写入其他接口的数据包以便于不同层面之间能够数据交互,从而不必再增设新的数据传输接口,或者在传输接口不够用的情况下通过写入数据包能够实现其他接口也同时读取到数据信息的功能,加快了工作效率。
[0030]具体的,请参阅图2与图4,写入数据包时,有4个指令,本实施例中,定义为“PACKET_WR_EN”的指令为写入使能指令,作用是当寄存器想要写入数据包时,允许其写入,为了更好的检测此指令是否运行,可以查看寄存器的地址,当寄存器的地址为0*01且bit值
为31时,则代表允许写入数据包;定义为“PACKET_WR_ADDR”的指令为写入地址,定义为“PACKET_WR_DATA”的指令为写入数据,在本实施例中,“PACKET_WR_ADDR”与“PACKET_WR_DATA”是同时进行,即“PACKET_WR_ADDR”写入地址指令的同时“PACKET_WR_DATA”对写入的地址进行唯一的数据编写,以确保每一个写入的地址有唯一的数据作为标记,例如,当地址为0时,标记为D0,地址为1时,标记为D1,地址为2时,标记为D2,地址为n时,标记为Dn,地址为n+1时,标记为D(n+1),以此类推;定义为“PACKET_WR_EOP”的指令为写入结束指令,此时寄存器的地址为0*01,但是bit值为30,此时表示写入的是最后一个地址和数据,且写入最后一个数据时,“PACKET_WR_EOP”开始输出高电平,以表示数据完成,可以向接口发送数据包。
[0031]读取数据包之前,先检测是否收到数据包,请参阅图3与图4,如果输出为高电平,即PACKET_RD_OWN=1,此时判断接口有接收到数据包,如果输出为低电平,即PACKET_RD_OWN=0,则表示接口没有接收到数据包,读取数据包时,也有4个指令,本实施例中,定义为“PACKE本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种实现不同层面之间数据交互的方法,其特征在于,包括以下步骤:步骤S1:判断寄存器是否处于读写忙碌状态,如果是,则等待,如果否,则进入步骤S2;步骤S2:进入读写,向寄存器写入数据包,数据包写完后,向接口发送数据包并置位为读写忙碌状态。步骤S3:检测接口是否收到数据包,如果收到,则进入步骤S4;步骤S4:接口读取数据包。2.根据权利要求1所述的实现不同层面之间数据交互的方法,其特征在于,在步骤S1前,对寄存器进行复位。3.根据权利要求1所述的实现不同层面之间数据交互的方法,其特征在于,在步骤S1中,寄存器处于读写忙碌状态时,判断寄存器接口是否被锁定,如果是,则对寄存器自动清零。4.根据权利要求1所述的实现不同层面之间数据交互的方法,其特征在于,在步骤S1中,寄存器处于读写忙碌状态时输出高电平,不处于读写忙碌状态时输出低电平。5.根据权利要求1所述的实现不同层面之间数据交互的方法,其特征在于,在步骤S2中,向寄存器写入数据包的过程包括:向寄存器写入多个地址,并对所述多个地址的每个地址...

【专利技术属性】
技术研发人员:刘星宏周金龙
申请(专利权)人:深圳国人无线通信有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1