数据传输方法、装置和系统
技术领域
本发明涉及通信技术,特别是涉及一种数据传输方法,一种数据传输装置,以及一种数据传输系统。
背景技术
在第三代移动通信技术(3rd-generation,3G)中,长期演进(Long TermEvolution,LTE)模块和3G模块在进行通信时,需要通过串行外设接口(SerialPeripheral Interface,SPI)总线和4条I/O总线来实现。其中,4条I/O总线用于进行请求的发送,可以称为请求总线,而SPI总线用于进行数据的传输,可以称为数据总线。
在LTE模块和3G模块进行数据传输时,首先要发起请求,在请求得到应答后才能进行数据的传输。但是,在LTE模块和3G模块的通信过程中,数据通信是单向过程。也就是在传输时,LTE端或者3G端只能有一端处于发送状态,而另一端此时只能处于接收状态,而且遵循3G优先发送的原则。当3G有数据要发送的时候,LTE即使有数据发送也必须等待3G的发送完成才能发送,这样可能产生一个问题,当3G有大量的数据传输时,LTE的数据将会一直等待,因此可能会使一些关键的信息不能及时传递给3G。
因此,在LTE模块和3G模块通信过程中,一方发起请求并传输数据时,另一方必须等待该方数据传输完毕,才能发起请求并传输数据,从而导致数据传输的效率较低。特别是在存在大量的数据等待传输时,此种单向的请求传输方法必然会对效率造成较大的影响。
发明内容
本发明提供了一种数据传输方法、装置和系统,以解决现有数据传输方法对效率造成较大的影响的问题。
为了解决上述问题,本发明公开了一种数据传输方法,通信系统中本端和对端通过请求总线和数据总线连接,所述方法包括:本端依据数据请求将与请求总线连接的本端端口配置为工作状态,并通过所述请求总线确定与所述请求总线连接的对端端口处于工作状态;获取与所述数据请求对应的数据头并依据所述数据头配置时钟信号,其中,所述数据头包括:本端有效数据的数据头,和/或,对端有效数据的数据头;在所述时钟信号的有效时间内通过数据总线与对端之间进行所述有效数据的传输;所述有效数据传送完毕后,将所述请求总线连接的本端端口配置为空闲状态,并通过所述请求总线确定与所述请求总线连接的对端端口处于空闲状态。
相应的,本发明实施例还提供了一种数据传输装置,所述装置与通信系统中的对端通过请求总线和数据总线连接,所述装置包括:端口配置模块,用于依据数据请求将与请求总线连接的本端端口配置为工作状态,并通过所述请求总线确定与所述请求总线连接的对端端口处于工作状态,其中,所述本端为所述数据传输装置;时钟配置模块,用于获取与所述数据请求对应的数据头并依据所述数据头配置时钟信号,其中,所述数据头包括:本端有效数据的数据头,和/或,对端有效数据的数据头;数据传输模块,用于在所述时钟信号的有效时间内通过数据总线与对端之间进行所述有效数据的传输;所述端口配置模块,还用于在所述有效数据传送完毕后,将所述请求总线连接的本端端口配置为空闲状态,并通过所述请求总线确定与所述请求总线连接的对端端口处于空闲状态。
相应的,本发明实施例还提供了一种数据传输系统,其特征在于,包括:本端和对端,其中,所述本端采用如上任一所述的数据传输装置。
与现有技术相比,本发明包括以下优点:
本发明实施例中本端依据数据请求将本端端口配置为工作状态,并通过所述请求总线确定与所述请求总线连接的对端端口处于工作状态后,获取数据头配置时钟信号,其中,数据头包括:本端有效数据的数据头和/或对端有效数据的数据头。从而在时钟信号的有效时间内通过数据总线与对端之间进行有效数据的传输时,可以仅传输本端或对端的有效数据,也可以同时本端和对端的有效数据,提高了数据的传输效率。
附图说明
图1是本发明背景技术提供的请求总线连接结构图;
图2是本发明背景技术提供的由LTE模块向3G模块发送数据的示意图;
图3是本发明背景技术提供的由3G模块向LTE模块发送数据的示意图;
图4是本发明实施例一提供的通信系统中的数据传输方法流程图;
图5是本发明实施例二提供的总线连接结构图;
图6是本发明实施例二提供的数据帧结构示意图;
图7是本发明实施例二提供的时钟信号配置流程图;
图8是本发明实施例三提供的通信系统中数据传输的方法流程图;
图9是本发明实施例三提供的第一种数据传输流程图;
图10是本发明实施例三提供的第二种数据传输流程图;
图11是本发明实施例四提供的本端设备结构图;
图12是本发明实施例四提供的本端设备可选结构图;
图13是本发明实施例四提供的对端设备结构图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图1,给出了本发明背景技术提供的总线连接结构图。
图1中每条I/O总线两端各与1个总线扩展器(General Purpose InputOutput,GPIO)连接,即LTE模块和3G模块中各具有4个GPIO。
在LTE模块和3G模块进行通信时,每条I/O总线都是单向传输数据请求的,因此可以通过LTE模块和3G模块中的GPIO实现I/O总线请求的传输。具体如下:
3G模块侧GPIO端口:GPIO_3G_TX_REQ用于3G模块向LTE模块发送请求,其中,置低表示发送请求,置高表示发送结束;
LTE模块侧GPIO端口:GPIO_LTE_RX_RESP用于LTE模块向3G模块发送回应,置低表示接受请求,置高表示接收数据处理完毕;
LTE模块侧GPIO端口:GPIO_LTE_TX_REQ用于LTE模块向3G模块发送请求,置高表示发送请求,置低表示发送结束;
3G模块侧GPIO端口:GPIO_3G_RX_RESP用于3G模块向LTE模块发送回应,置低表示接受请求,置高表示接收数据处理完毕;同时,这个管脚还复用表示3G是否忙,若置为低,则表示3G没有准备好接收数据,此时LTE不能发送数据请求。
参照图2,给出了本发明背景技术提供的由LTE模块向3G模块发送数据的示意图。
由LTE模块向3G模块发送数据具体包括如下步骤:
2.1、LTE模块将GPIO_LTE_TX_REQ置高电平。
然后LTE模块等待3G模块将GPIO_3G_RX_RESP置为低电平。
2.2、3G模块完成准备后,将GPIO_3G_RX_RESP置为低电平。
3G模块在检测到GPIO_LTE_TX_REQ为高电平后,进行数据接收准备,并在完成准备工作后,将GPIO_3G_RX_RESP置为低电平。
2.3、LTE模块进行数据的发送。
LTE模块等待3G模块将GPIO_3G_RX_RESP置为低电平后,进行数据的发送。
2.4、LTE模块在数据发送完毕后,将GPIO_LTE_TX_REQ置为低电平。
2.5、3G模块对已接收的数据进行处理,将GPIO_3G_RX_RESP置为高电平。
3G模块在检测到GPIO_LTE_TX_REQ为低电平后,结束接收数据过程,然后对对已接收的数据进行处理,将GPIO_3G_RX_RESP置为高电平。LTE模块检测到3G模块将GPIO_3G_RX_RESP置为高电平后,结束该过程。
参照图3,给出了本发明背景技术提供的由3G模块向LTE模块发送数据的示意图。
由3G模块向LTE模块发送数据具体包括如下步骤:
3.1、3G模块将GPIO_3G_TX_REQ置为低电平。
3G模块将GPIO_3G_TX_REQ置为低电平后,可以发送请求;
3.2、LTE模块将GPIO_LTE_RX_RESP置为低电平。
LTE模块将GPIO_LTE_RX_RESP置为低电平以使能SPI。
3.3、3G模块发送数据。
3.4、LTE模块接收完数据后,将GPIO_LTE_RX_RESP置为高电平。
3.5、3G模块将GPIO_3G_TX_REQ置为高电平。
3G模块等待GPIO_LTE_RX_RESP为高电平后,将GPIO_3G_TX_REQ置为高电平。
LTE模块在检测到GPIO_3G_TX_REQ为高电平后,完成数据的接收。
通过上述论述可知,在LTE模块和3G模块通信过程中,一方发起请求并传输数据时,另一方必须等待该方数据传输完毕,才能发起请求并传输数据,从而导致数据传输的效率较低。特别是在存在大量的数据等待传输时,此种单向的请求传输方法必然会对效率造成较大的影响。
本发明实施例提供了一种通信系统中的数据传输方法,本端在依据数据请求将本端端口配置为工作状态后,该数据请求可以是本端的数据请求,也可以是对端的数据请求。然后获取数据头并依据数据头配置时钟信号,其中,数据头包括:本端有效数据的数据头和/或对端有效数据的数据头。从而在时钟信号的有效时间内通过数据总线与对端之间进行有效数据的传输时,可以仅传输本端或对端的有效数据,也可以同时本端和对端的有效数据,提高了数据的传输效率。
实施例一
本发明实施例中,通信系统中包括LTE模块和3G模块,下面将LTE模块作为本端,将3G模块作为对端具体论述。本端和对端通过请求总线和数据总线连接,在LTE模块即本端的处理流程如下:
参照图4,给出了本发明实施例一提供的通信系统中的数据传输方法流程图。
步骤401,依据数据请求将请求总线连接的本端端口配置为工作状态,并通过请求总线确定与请求总线连接的对端端口处于工作状态。
本发明实施例中,会通过数据请求来请求传输有效数据,因此本端可以依据数据请求进行端口配置,即对请求总线连接的本端端口进行配置,将其有空闲状态配置为工作状态,如空闲状态为高电平,工作状态为低电平,则将本端端口由高电平配置为低电平。并且,由于请求总线的两端分别连接本端端口和对端端口,因此通过请求总线还可以确定对端端口的状态,在确定对端端口处于工作状态后,端口配置完成。
其中,数据请求可以是本端的数据请求,也可以是对端的数据请求。
步骤402,获取与数据请求对应的数据头并依据数据头配置时钟信号。
本发明实施例中,采用数据包传输有效数据,数据包中还包括数据头,以存储有效数据的数段长度等信息。因此在端口配置完成后会先获取该数据头,然后依据数据头配置时钟信号,从而确定有效数据的传输时间。
其中,数据头包括以下至少一种:本端有效数据的数据头和对端有效数据的数据头。
步骤403,在时钟信号的有效时间内通过数据总线与对端之间进行有效数据的传输。
配置时钟信号即确定了有效数据的传输时间,因此可以在时钟信号的有效时间内,通过配置于本端端口和对端端口之间的数据总线,在本端和对端间传输有效数据。
步骤404,有效数据传送完毕后,将请求总线连接的本端端口配置为空闲状态,并通过请求总线确定与请求总线连接的对端端口处于空闲状态。
有效数据传送完毕后,数据传输过程结束,因此要将端口配置为未传输数据前的状态,即将请求总线连接的本端端口配置为空闲状态,并通过该请求总线确定对端端口的状态,在本端端端口和对端端口均为空闲状态时,端口配置完成。
综上所述,本发明实施例中本端依据数据请求将本端端口配置为工作状态,并通过所述请求总线确定与所述请求总线连接的对端端口处于工作状态后,获取数据头配置时钟信号,其中,数据头包括:本端有效数据的数据头和/或对端有效数据的数据头。从而在时钟信号的有效时间内通过数据总线与对端之间进行有效数据的传输时,可以仅传输本端或对端的有效数据,也可以同时本端和对端的有效数据,提高了数据的传输效率。
实施例二
实际处理中,数据请求由本端发起还是由对端发起,会导致数据传输的步骤存在差别,下面详细论述:
参照图5,给出了本发明实施例二提供的总线连接结构图。
本发明实施例中,将请求总线减少为2根,分别为第一请求总线和第二请求总线。因此LTE模块和3G模块各存在2个GPIO,如图5所示。
则LTE模块侧包括:第一请求端口(LTE_REQUST_RES),第一应答端口(CHECK_3G_SINGAL)。
3G模块侧包括:第二请求端口(3G_REQUST_RES),第二应答端口(CHECK_LTE_SINGAL)。
该通信系统中请求总线包括第一请求总线和第二请求总线。第一请求总线连接本端的第一请求端口(LTE_REQUST_RES),并且第一请求总线连接对端的第二应答端口(CHECK_LTE_SINGAL);第二请求总线连接本端的第一应答端口(CHECK_3G_SINGAL),并且第二请求总线连接对端的第二请求端口(3G_REQUST_RES)。
其中,各GPIO分别定义如下:
LTE_REQUST_RES:LTE模块发送数据请求时配置为工作状态(如低电平);响应3G模块发送的数据请求时配置为工作状态(如低电平)。
3G_REQUST_RES:3G模块发送数据请求时配置为工作状态(如低电平);响应LTE模块发送的数据请求时配置为工作状态(如低电平)
CHECK_3G_SINGAL:LTE发送数据请求时,3G模块的应答判断。
CHECK_LTE_SINGAL:3G模块发送数据请求时,LTE模块的应答判断。
在本发明一个可选实施例中,上述步骤401本端依据数据请求将与请求总线连接的本端端口配置为工作状态,并通过所述请求总线确定与所述请求总线连接的对端端口处于工作状态,包括如下子步骤:当本端发起数据请求时,将第一请求总线连接的本端的第一请求端口配置为工作状态,使所述第一请求总线连接的对端的第二应答端口,以及所述对端的第二请求端口为工作状态;在检测到第二请求总线连接的对端的第二请求端口为工作状态时,将第二请求总线连接的本端的第一应答端口配置为工作状态。
当本端存在数据请求时,本端会将第一请求总线连接的本端端口LTE_REQUST_RES配置为工作状态,然后第一请求总线连接的对端端口CHECK_3G_SINGAL端口在检测到LTE_REQUST_RES为工作状态时,会进行相应的应答操作,即将CHECK_3G_SINGAL配置为工作状态,从而第二请求总线连接的对端端口3G_REQUST_RES也配置为工作状态,此时第二请求总线连接的本端端口CHECK_LTE_SINGAL可以检测到3G_REQUST_RES为工作状态,从而会将CHECK_LTE_SINGAL也配置会工作状态。
从而通过上述操作,可以通过第一请求总线和第二请求总线完成对本端端口和对端端口的配置,从而可以进行数据请求的发送,此时,由于端口LTE_REQUST_RES和3G_REQUST_RES均既可以发送数据请求,也可以响应数据请求,因此即使是由本端的数据请求发起的端口配置,若在配置端口时对端也存在数据请求,也可以发送对端的数据请求。即完成此时的端口配置后,可以仅由本端发送数据请求,也可以本端和对端均发送数据请求。
在本发明另一个可选实施例中,上述步骤402本端依据数据请求将与请求总线连接的本端端口配置为工作状态,并通过所述请求总线确定与所述请求总线连接的对端端口处于工作状态,包括以下子步骤:当对端发起数据请求时,检测到第二请求总线连接的对端的第二请求端口为工作状态,将第二请求总线连接的本端的第一应答端口配置为工作状态;将第一请求总线连接的本端的第一请求端口配置为工作状态,使所述第一请求总线连接的对端的第二应答端口为工作状态。
当对端存在数据请求时,对端会将第二请求总线连接对端端口3G_REQUST_RES也配置为工作状态,此时第二请求总线连接的本端端口CHECK_LTE_SINGAL可以检测到3G_REQUST_RES为工作状态,从而会将CHECK_LTE_SINGAL也配置会工作状态。然后本端会将第一请求总线连接的本端端口LTE_REQUST_RES配置为工作状态,从而第一请求总线连接的对端端口CHECK_3G_SINGAL在检测到LTE_REQUST_RES为工作状态时,会进行相应的应答操作,即将CHECK_3G_SINGAL配置为工作状态。
从而通过上述操作,可以通过第一请求总线和第二请求总线完成本端和对端的端口配置,从而可以进行请求的发送,此时,由于LTE_REQUST_RES和3G_REQUST_RES均既可以发送数据请求,也可以响应数据请求,因此即使是由对端的数据请求发起的端口配置,若在配置端口时本端也存在数据请求,也可以发送本端的数据请求。即完成此时的端口配置后,可以仅由对端发送数据请求,也可以本端和对端均发送数据请求。
由于本端端口和对端端口是通过请求总线连接的,因此通过上述方法,可以实现对本端端口和对端端口的配置。完成端口配置后可以进行请求的发送。
数据请求发起方的差别不但会导致端口配置存在差别,还会导致时钟信号的配置存在差别,下面详细论述。
参照图6,给出了本发明实施例二提供的数据帧结构示意图。
本发明实施例中,通过SPI传输数据时,传输有效数据和数据头的数据包可以采用如图6所示的SPI数据帧结构构成,其中,有效数据是本端或对端实际要传输的数据,数据头中存储有该有效数据的数据长度。
实际处理中,在SPI开始传输时,可以先发送数据头,从而LTE模块或3G模块可以通过该数据头判断对方是否存在有效数据待传输。
本发明实施例中,数据头包括:本端有效数据的数据头,和/或,对端有效数据的数据头。因此若仅本端存在数据请求即本端存在有效数据待发送时,数据请求由本端发起,则可以获取该有效数据的数据头,并且本端可以依据该数据头携带的有效数据的数据长度配置时钟信号。若仅对端存在数据请求即对端存在有效数据待发送,则可以将对端有效数据的数据头通过对端的数据请求发送给本端时,即数据请求由对端发起,从而本端在对端的数据请求中获取数据头以后,可以依据该数据头携带的有效数据的数据长度配置时钟信号。若本端和对端均存在有效数据待发送时,该数据请求由本端或对端发起,则可以对数据头中携带的有效数据的数据长度进行比较,依据最长的数据长度配置时钟信号。
其中,依据数据长度配置时钟信号可以理解为根据数据长度配置时钟信号的个数,例如,有效数据的数据长度为4Byte,则其为32bit,即需要配置32个时钟信号才能完整的传送该有效数据。
则时钟信号的有效时间可以指该时钟信号中可以发送有效数据的时间段,如上升沿或下降沿。
具体存在以下几种情况:
1)当仅本端存在有效数据时,数据请求由对端发起,获取与数据请求对应的本端有效数据的数据头并确定本端有效数据的数据长度;依据数据长度配置时钟信号的个数。
2)当仅对端存在有效数据时,数据请求由对端发起,获取与数据请求对应的对端有效数据的数据头并确定对端有效数据的数据长度;依据数据长度配置时钟信号的个数。
3)当本端和对端均存在有效数据时,数据请求由本端或对端发起,获取与数据请求对应的本端有效数据的数据头和对端有效数据的数据头;确定本端有效数据的数据长度,并确定对端有效数据的数据长度;检测本端有效数据的数据长度是否大于对端有效数据的数据长度;当本端有效数据的数据长度大于对端有效数据的数据长度时,按照本端有效数据的数据长度配置生成时钟信号;当本端有效数据的数据长度小于或等于对端有效数据的数据长度时,按照对端有效数据的数据长度配置生成时钟信号的个数。
参照图7,给出了本发明实施例二提供的时钟信号配置流程图。
综合上述几种情况,在完成端口配置,获取数据头并配置时钟信号时,具体包括以下步骤:
步骤701,检测本端是否存在数据请求。
通过数据请求可以确定是否存在有效数据待发送,即确定本端是否存在有效数据待发送。
若是,即本端存在数据请求,则执行步骤703;若否,即本端不存在有效数据,则执行步骤702。
步骤702,检测对端是否存在数据请求。
当本端不存在数据请求,说明本端不存在有效数据待发送,此时可以检测对端是否存在数据请求,即检测对端是否存在有效数据待发送。
若是,即对端存在数据请求,则执行步骤704。此时由于已经完成了端口的配置,说明此时本端和对端中至少有一端存在数据请求,则否的情况即对端也不存在数据请求的情况是可以忽略的。
步骤703,检测对端是否存在数据请求。
当本端存在数据请求,说明本端存在有效数据待发送,此时可以检测对端是否存在数据请求,即检测对端是否存在有效数据待发送。
若是,即对端存在数据请求,则执行步骤708;若否,即对端不存在数据请求,则执行步骤706。
步骤704,获取对端有效数据的数据头。
当仅对端存在数据请求时,可以通过对端的数据请求获取对端有效数据的数据头。
步骤705,从数据头中获取对端有效数据的数据长度。
然后执行步骤711。
步骤706,获取本端有效数据的数据头。
当仅本端存在数据请求时,可以获取本端有效数据的数据头。
步骤707,从数据头中获取本端有效数据的数据长度。
然后执行步骤712。
步骤708,获取本端有效数据的数据头和对端有效数据的数据头。
当本端存在数据请求,并且对端也存在数据请求时,获取本端有效数据的数据头,并且通过对端的数据请求获取对端有效数据的数据头。
步骤709,获取本端有效数据的数据长度和对端有效数据的数据长度。
从本端有效数据的数据头中获取本端有效数据的数据长度,并且从对端有效数据的数据头中获取对端有效数据的数据长度。
步骤710,检测本端有效数据的数据长度是否大于对端有效数据的数据长度。
若是,即本端有效数据的数据长度大于对端有效数据的数据长度,则执行步骤711;若否,即本端有效数据的数据长度小于或等于对端有效数据的数据长度,则执行步骤712。
步骤711,以对端有效数据的数据长度配置时钟信号的个数。
步骤712,以本端有效数据的数据长度配置时钟信号的个数。
通过上述方法可以依据数据头实现对时钟信号的个数的配置,从而在后续可以传输有效数据。
在完成时钟信号的配置后,可以在时钟信号的有效时间内进行有效数据的传输,并且在数据总线可以采用SPI的方式传输有效数据,与现有技术半双工(单向传输)的SPI通信方式不同,本发明实施例中采用全双工(双向传输)的SPI通信方式进行数据的传输。在传输有效数据时,可以通过本端和对端连接的数据总线同时实现本端和对端间有效数据的传输。
上述步骤403在时钟信号的有效时间内通过数据总线传输有效数据,具体包括以下几种情况:
1)当仅本端存在有效数据时,在时钟信号的有效时间内通过数据总线向对端发送有效数据;
2)当仅对端存在有效数据时,在时钟信号的有效时间内通过数据总线接收对端发送的有效数据;
3)当本端和对端均存在有效数据时,在时钟信号的有效时间内通过数据总线向对端发送有效数据,并且接收对端发送的有效数据。
在有效数据传送完毕后,即在有效时间结束时,可以将请求总线连接本端的端口为配置为空闲状态。
在本发明一个可选实施例中,上述步骤404有效数据传送完毕后,将请求总线连接的本端端口为配置为空闲状态,包括以下子步骤:当检测到有效时间结束时,有效数据传送完毕;将第一请求总线连接的本端的第一请求端口配置为空闲状态,使所述第一请求总线连接的对端的第二应答端口,以及所述对端的第二请求端口为空闲状态;在检测到第二请求总线连接的对端的第二请求端口配置为空闲状态时,将第二请求端口连接的本端的第一应答端口配置为空闲状态。
在有效时间结束时有效数据传送完毕,可以将第一请求总线连接的本端端口LTE_REQUST_RES配置为空闲状态,然后通过第一请求总线连接的对端端口CHECK_LTE_SINGAL在检测到LTE_REQUST_RES为空闲状态时,可以将对端端口CHECK_LTE_SINGAL配置为空闲状态,从而对端会将第二请求总线连接的对端端口3G_REQUST_RES配置为空闲状态,本端通过第二请求总线检测到对端的3G_REQUST_RES为空闲状态后,会将第二请求总线连接的本端端口CHECK_3G_SINGAL配置为空闲状态,从而完成了本次数据传输中的端口配置。
综上所述,本发明实施例中,将请求总线减少为2根,从而每根请求总线即可以发送数据请求,也可以响应数据请求,从而可以请求总线是双向通信,可以快速的进行请求的传输,并且可以同时实现对端和本端数据请求的传输,从而后续可以双向传输有效数据,提高数据的传输效率。
再次,本发明实施例中依据数据头配置时钟信号,从而可以按照数据头中最大的有效数据的数据长度配置时钟信号,确保可以完整的接收有效数据,即对通过数据头可以对收发有效数据的正确性进行验证。
实施例三
本实施例给出了对端即3G模块的处理流程,具体如下:
参照图8,给出了本发明实施例三提供的通信系统中数据传输的方法流程图。
步骤801,依据数据请求将请求总线连接的对端端口配置为工作状态。
同实施例一中论述基本一致,本发明实施例中,将请求总线减少为2根,分别为第一请求总线和第二请求总线。则第一请求总线连接本端的第一请求端口(LTE_REQUST_RES),并且第一请求总线连接对端的第二应答端口(CHECK_LTE_SINGAL);第二请求总线连接本端的第一应答端口(CHECK_3G_SINGAL),并且第二请求总线连接对端的第二请求端口(3G_REQUST_RES)。
在本发明一个实施例中,依据数据请求将请求总线连接的对端端口配置为工作状态,包括以下子步骤:当本端发起数据请求时,检测到第一请求总线连接的本端的第一请求端口配置为工作状态,将第一请求总线连接的对端的第二应答端口配置为工作状态;将第二请求总线连接的对端的第二请求端口为工作状态,使第二请求总线连接的本端的第一应答端口为工作状态。
在本发明另一个实施例中,依据数据请求将请求总线连接的本端端口配置为工作状态,包括以下子步骤:当对端发起数据请求时,将第二请求总线连接的对端的第二请求端口为工作状态,使第二请求总线连接的本端的第一应答端口,以及本端的第一请求端口为工作状态;在检测到第一请求总线连接的本端的第一请求端口配置为工作状态时,将第一请求总线连接的对端的第二应答端口配置为工作状态。
此处与上述实施例论述基本一致,具体内容参见上述实施例即可,此处不再赘述。由于本端端口和对端端口是通过请求总线连接的,因此通过上述方法,可以实现对本端端口和对端端口的配置。完成端口配置后可以进行请求的发送。
步骤802,获取本端发送的依据数据头配置的时钟信号。
其中,数据头包括:本端有效数据的数据头和/或对端有效数据的数据头。
本端在依据数据头配置完时钟信号后,会通知对端该时钟信号,因此对端可以接收到该时钟信号,从而以及时钟信号有效数据的传输。
步骤803,在时钟信号的有效时间内通过数据总线与本端之间传输有效数据。
在完成时钟信号的配置后,可以在时钟信号的有效时间内进行有效数据的传输,并且在数据总线可以采用SPI的方式传输有效数据,本发明实施例中SPI可以采用全双工的方式进行数据的传输。在传输有效数据时,可以通过本端和对端连接的数据总线实现本端和对端间有效数据的传输。具体包括以下几种情况:
1)当仅本端存在有效数据时,在时钟信号的有效时间内通过数据总线接收对端发送的有效数据;2)当仅对端存在有效数据时,在时钟信号的有效时间内通过数据总线向本端发送有效数据。3)当本端和对端均存在有效数据时,在时钟信号的有效时间内通过数据总线接收本端发送的有效数据,并且向本端发送有效数据。
步骤804,有效数据传送完毕后,将请求总线连接对端的端口为配置为空闲状态。
在本发明一个可选实施例中,有效数据传送完毕后,将请求总线连接的对端端口为配置为空闲状态,包括以下子步骤:当检测到有效时间结束时,有效数据传送完毕;在检测到第一请求总线连接的本端的第一请求端口配置为空闲状态时,将第一请求总线连接的对端的第二应答端口配置为空闲状态;将第二请求总线连接的对端的第二请求端口配置为空闲状态,使第二请求总线连接的本端的第一应答端口为空闲状态。
此处与上述实施例论述基本一致,具体内容参见上述实施例即可,此处不再赘述。
综上所述,本发明实施例中对端在依据数据请求将本端端口配置为工作状态后,该数据请求可以是本端的数据请求,也可以是对端的数据请求。然后获取本端发送的依据数据头配置时钟信号,其中数据头包括:本端有效数据的数据头和/或对端有效数据的数据头。从而在时钟信号的有效时间内通过数据总线与对端之间进行有效数据的传输时,可以仅传输本端或对端的有效数据,也可以同时本端和对端的有效数据,提高了数据的传输效率。
下面,给出本端和对端进行有效数据的传输在实际处理中几种整体流程。
参照图9,给出了本发明实施例三提供的第一种数据传输流程图。
当由本端发起数据请求时,具体包括如下步骤:
9.1、本端检测到数据请求时,配置LTE_REQUST_RES为低电平。
9.2、对端通过第一请求总线检测到LTE_REQUST_RES为低电平时,将CHECK_LTE_SINGAL配置为低电平。
9.3对端配置3G_REQUST_RES为低电平。
9.4、本端通过第二请求总线检测到3G_REQUST_RES为低电平时,将CHECK_3G_SINGAL配置为低电平。
9.5、本端传输数据请求(若对端此时也存在数据请求,则同时传输对端的数据请求)
9.6、本端获取数据头配置时钟信号的个数。
若仅本端存在数据请求,则从本端有效数据的数据头中获取本端有效数据的数据长度,然后配置时钟信号的个数;若本端和对端均存在数据请求,则从本端有效数据的数据头中获取本端有效数据的数据长度,并且从对端的数据请求中获取对端有效数据的数据头,再获取对端有效数据的数据长度,采用本端有效数据的数据长度和对端有效数据的数据长度进行比较,依据最长的数据长度配置时钟信号的个数。
9.61、若对端存在数据请求,则获取该时钟信号。
9.7、传输有效数据。
若仅本端存在数据请求,则发送本端有效数据,若本端和对端均存在数据请求,则发送本端有效数据,并接收对端有效数据。
9.8、数据传送完毕,配置LTE_REQUST_RES为高电平。
9.9、对端通过第一请求总线检测到LTE_REQUST_RES为高电平时,将CHECK_LTE_SINGAL配置为高电平。
9.10、对端配置3G_REQUST_RES为高电平。
9.11、本端通过第二请求总线检测到3G_REQUST_RES为高电平时,将CHECK_3G_SINGAL配置为高电平。
参照图10,给出了本发明实施例三提供的第二种数据传输流程图。
当由对端发起数据请求时,具体包括如下步骤:
10.1、对端发起数据请求时,将3G_REQUST_RES配置为低电平。
10.2、本端通过第二请求总线检测到3G_REQUST_RES为低电平时,将CHECK_3G_SINGAL配置为低电平。
10.3、本端将LTE_REQUST_RES为配置低电平。
10.4、对端通过第一请求总线检测到LTE_REQUST_RES为低电平,将CHECK_LTE_SINGAL配置为低电平。
10.5、对端传输数据请求(若本端此时也存在数据请求,则同时传输本端的数据请求)
10.6、获取本端发送的依据数据头配置的时钟信号。
若仅对端存在数据请求,则从从对端的数据请求中获取对端有效数据的数据头,再获取对端有效数据的数据长度,然后配置时钟信号的个数,并发送时钟信号给对端。
若本端和对端均存在数据请求,则从本端有效数据的数据头中获取本端有效数据的数据长度,并且从对端的数据请求中获取对端有效数据的数据头,再获取对端有效数据的数据长度,采用本端有效数据的数据长度和对端有效数据的数据长度进行比较,依据最长的数据长度配置时钟信号的个数,并发送时钟信号给对端。
10.7、传输有效数据。
若仅对端存在数据请求,则发送对端有效数据,若本端和对端均存在数据请求,则发送对端有效数据,并接收本端有效数据。
10.8、数据传送完毕,本端配置LTE_REQUST_RES为高电平。
10.9、对端通过第一请求总线检测到LTE_REQUST_RES为高电平时,将CHECK_LTE_SINGAL配置为高电平。
10.10、对端配置3G_REQUST_RES为高电平。
10.11、本端通过第二请求总线检测到3G_REQUST_RES为高电平时,将CHECK_3G_SINGAL配置为高电平。
从而通过图7和图8,给出了实际处理中本端和对端的处理流程,上述实例仅用于举例论述本发明,不应理解为是对本发明的限制。
实施例四
参照图11,给出了本发明实施例四提供的本端设备结构图。
相应的,本发明实施例还提供了一种数据传输装置,该装置可以作为通信系统中的本端设备,如LTE模块,与通信系统中的对端(如3G模块)通过请求总线和数据总线连接。包括:端口配置模块1101、时钟配置模块1102和数据传输模块1103。
端口配置模块1101用于依据数据请求将与请求总线连接的本端端口配置为工作状态,并通过请求总线确定与请求总线连接的对端端口处于工作状态。
时钟配置模块1102分别与本端端口第一配置模块1101和数据传输模块1103连接,时钟配置模块1102用于获取与数据请求对应的数据头并依据数据头配置时钟信号,其中,数据头包括:本端有效数据的数据头,和/或,对端有效数据的数据头。
数据传输模块1103,用于在时钟配置模块1102配置的时钟信号的有效时间内通过数据总线与对端之间进行有效数据的传输。
端口配置模块1101用于在数据传输模块1103中有效数据传送完毕后,将请求总线连接的本端端口配置为空闲状态,并通过所述请求总线确定与所述请求总线连接的对端端口处于空闲状态。
综上所述,本发明实施例中本端在依据数据请求将本端端口配置为工作状态后,该数据请求可以是本端的数据请求,也可以是对端的数据请求。然后获取数据头并依据数据头配置时钟信号,其中,数据头包括:本端有效数据的数据头和/或对端有效数据的数据头。从而在时钟信号的有效时间内通过数据总线与对端之间进行有效数据的传输时,可以仅传输本端或对端的有效数据,也可以同时本端和对端的有效数据,提高了数据的传输效率。
参照图12,给出了本发明实施例四提供的本端设备可选结构图。
可选的,时钟配置模块1102,包括:长度确定子模块11021和时钟配置子模块11022。
长度确定子模块11021,用于当本端存在有效数据,数据请求由本端发起时,获取与数据请求对应的本端有效数据的数据头并确定本端有效数据的数据长度;时钟配置子模块11022与长度确定子模块11021连接,时钟配置子模块11022用于依据长度确定子模块11021确定的数据长度配置时钟信号的个数。
可选的,长度确定子模块11021,用于当对端存在有效数据,数据请求由对端发起时,获取与数据请求对应的对端有效数据的数据头并确定对端有效数据的数据长度;时钟配置子模块11022用于依据长度确定子模块11021确定的数据长度配置时钟信号的个数。
可选的,长度确定子模块11021,用于当本端和对端均存在有效数据,数据请求由本端或对端发起时,获取与所述数据请求对应的本端有效数据的数据头和对端有效数据的数据头;确定本端有效数据的数据长度,并确定对端有效数据的数据长度;时钟配置子模块11022用于检测本端有效数据的数据长度是否大于对端有效数据的数据长度;当本端有效数据的数据长度大于对端有效数据的数据长度时,按照本端有效数据的数据长度配置生成时钟信号;当本端有效数据的数据长度小于或等于对端有效数据的数据长度时,按照对端有效数据的数据长度配置生成时钟信号的个数。
可选的,端口配置模块1101,具体用于当通信系统中的本端发起数据请求时,将第一请求总线连接的本端的第一请求端口配置为工作状态,使所述第一请求总线连接的对端的第二应答端口,以及所述对端的第二请求端口为工作状态;在检测到第二请求总线连接的对端的第二请求端口为工作状态时,将第二请求总线连接的本端的第一应答端口配置为工作状态。
其中,通信系统中请求总线包括第一请求总线和第二请求总线;第一请求总线连接本端的第一请求端口,并且连接对端的第二应答端口;第二请求总线连接本端的第一应答端口,并且连接对端的第二请求端口。
可选的,端口配置模块1101,用于当通信系统中的对端发起数据请求时,检测到第二请求总线连接的对端的第二请求端口为工作状态,将第二请求总线连接的本端的第一应答端口配置为工作状态;将第一请求总线连接的本端的第一请求端口配置为工作状态,使所述第一请求总线连接的对端的第二应答端口为工作状态。
可选的,端口配置模块1101,还用于当检测到有效时间结束时,有效数据传送完毕;将第一请求总线连接的本端的第一请求端口配置为空闲状态,使所述第一请求总线连接的对端的第二应答端口,以及所述对端的第二请求端口为空闲状态;在检测到第二请求总线连接的对端的第二请求端口配置为空闲状态时,将第二请求端口连接的本端的第一应答端口配置为空闲状态。
可选的,数据传输模块1103,用于当仅本端存在有效数据时,在时钟信号的有效时间内通过数据总线向对端发送有效数据;或当仅对端存在有效数据时,在时钟信号的有效时间内通过数据总线接收对端发送的有效数据;或当本端和对端均存在有效数据时,在时钟信号的有效时间内通过数据总线向对端发送有效数据,并且接收对端发送的有效数据。
综上所述,本发明实施例中,将请求总线减少为2根,从而每根请求总线即可以发送数据请求,也可以响应数据请求,从而可以请求总线是双向通信,可以快速的进行请求的传输,并且可以同时实现对端和本端数据请求的传输,从而后续可以双向传输有效数据,提高数据的传输效率。
其次,本发明实施例中依据数据头配置时钟信号,从而可以按照数据头中最大的有效数据的数据长度配置时钟信号,确保可以完整的接收有效数据,即对通过数据头可以对收发有效数据的正确性进行验证。
参照图13,给出了本发明实施例四提供的对端设备结构图。
相应的,本发明实施例一种数据传输装置,该装置可以作为通信系统中的对端设备,如3G模块。包括:对端端口配置模块1301、时钟获取模块1302和对端数据传输模块1303。
对端端口配置模块1301,用于依据数据请求将请求总线连接的对端端口配置为工作状态,并通过所述请求总线确定与所述请求总线连接的本端端口处于工作状态。
时钟获取模块1302分别与对端端口第一配置模块1301和数据传输模块1303连接,时钟获取模块1302用于获取本端发送的依据数据头配置的时钟信号,其中,数据头包括:本端有效数据的数据头,和/或,对端有效数据的数据头。
对端数据传输模块1303,用于在时钟获取模块1302获取的时钟信号的有效时间内通过数据总线与对端之间传输有效数据;
对端端口配置模块1301,用于在数据传输模块1303传输的有效数据传送完毕后,将请求总线连接对端的端口为配置为空闲状态,并通过所述请求总线确定与所述请求总线连接的对端端口处于空闲状态。
可选的,对端端口配置模块1301,具体用于当通信系统的本端发起数据请求时,检测到第一请求总线连接的本端的第一请求端口配置为工作状态,将第一请求总线连接的对端的第二应答端口配置为工作状态;将第二请求总线连接的对端的第二请求端口为工作状态,使第二请求总线连接的本端的第一应答端口为工作状态。
对端端口配置模块1301,具体用于当通信系统的对端发起数据请求时,将第二请求总线连接的对端的第二请求端口为工作状态,使第二请求总线连接的本端的第一应答端口,以及本端的第一请求端口为工作状态;在检测到第一请求总线连接的本端的第一请求端口配置为工作状态时,将第一请求总线连接的对端的第二应答端口配置为工作状态。
其中,通信系统中请求总线包括第一请求总线和第二请求总线;第一请求总线连接本端的第一请求端口,并且连接对端的第二应答端口;第二请求总线连接本端的第一应答端口,并且连接对端的第一请求端口。
可选的,对端端口配置模块1301,还用于当检测到有效时间结束时,有效数据传送完毕;在检测到第一请求总线连接的本端的第一请求端口配置为空闲状态时,将第一请求总线连接的对端的第二应答端口配置为空闲状态;将第二请求总线连接的对端的第二请求端口配置为空闲状态,使第二请求总线连接的本端的第一应答端口为空闲状态。
综上所述,本发明实施例中对端在依据数据请求将本端端口配置为工作状态后,该数据请求可以是本端的数据请求,也可以是对端的数据请求。然后获取本端发送的依据数据头配置时钟信号,其中数据头包括:本端有效数据的数据头和/或对端有效数据的数据头。从而在时钟信号的有效时间内通过数据总线与对端之间进行有效数据的传输时,可以仅传输本端或对端的有效数据,也可以同时本端和对端的有效数据,提高了数据的传输效率。
实施例五
本发明实施例还提供了一种数据传输系统,包括:本端和对端,其中,本端采用如上述实施例四中提供的本端设备;对端采用如上述实施例四中提供的对端设备。具体内容参见上述实施例即可,此处不再赘述。实际处理中,通过上述对本端和对端的论述可知,本端和对端仅在名称上的存在区别,具体功能区别不大。
对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种数据传输方法、装置和系统,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。