CN104298630A - 基于串行外设接口的通信方法、装置和设备 - Google Patents

基于串行外设接口的通信方法、装置和设备 Download PDF

Info

Publication number
CN104298630A
CN104298630A CN201310301243.4A CN201310301243A CN104298630A CN 104298630 A CN104298630 A CN 104298630A CN 201310301243 A CN201310301243 A CN 201310301243A CN 104298630 A CN104298630 A CN 104298630A
Authority
CN
China
Prior art keywords
spi
peripheral interface
serial peripheral
target data
data
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.)
Granted
Application number
CN201310301243.4A
Other languages
English (en)
Other versions
CN104298630B (zh
Inventor
杨攀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Spreadtrum Communications Shanghai Co Ltd
Original Assignee
Spreadtrum Communications Shanghai Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Spreadtrum Communications Shanghai Co Ltd filed Critical Spreadtrum Communications Shanghai Co Ltd
Priority to CN201310301243.4A priority Critical patent/CN104298630B/zh
Publication of CN104298630A publication Critical patent/CN104298630A/zh
Application granted granted Critical
Publication of CN104298630B publication Critical patent/CN104298630B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)

Abstract

一种基于串行外设接口的通信方法、装置和设备,所述方法包括:通过串行外设接口发送目标数据;通过状态回复信号线接收硬件信号,所述硬件信号与所述目标数据是否正确的校验结果对应。本发明设置状态回复信号线,通过状态回复信号线的硬件信号实现基于SPI进行通信时的数据接收状态回复功能,可以避免传输大量的应答包所占用的带宽,从而提高了基于SPI进行通信时的带宽利用率。并且由于硬件信号可以在微秒级别被检测到,因此缩短了数据接收状态回复的响应时间。

Description

基于串行外设接口的通信方法、装置和设备
技术领域
本发明涉及数据传输技术领域,特别是涉及一种基于串行外设接口的通信方法、装置和设备。
背景技术
串行外设接口(Serial Peripheral Interface,SPI)以主从方式工作,通常包括一个SPI主设备(SPI Master)和至少一个SPI从设备(SPI Slave),现有的SPI标准协议中包括连接所述SPI主设备和所述SPI从设备的四根线,分别为时钟信号线(SCK)、数据输出数据线(SDO)、数据输入数据线(SDI)和片选信号线(CS),其中,所述时钟信号线用于向设备提供时序的执行标准,所述数据输出数据线用于所述SPI主设备向所述SPI从设备传输数据,所述数据输入数据线用于所述SPI从设备向所述SPI主设备传输数据,所述片选信号线用于判断设备是否处于工作状态。
由此可见,仅仅通过现有的SPI标准协议中的四根线,无法实现接收状态回复的功能。
现有技术中通过应答包的方式来解决上述问题。当SPI主设备或SPI从设备作为数据发送方将数据发送完成后,等待相应的SPI从设备或SPI主设备作为数据接收方回复应答包,所述SPI主设备或所述SPI从设备在接收到应答包之前,不再发送新的数据,其中,所述应答包包括数据是否正确的信息。
采用上述方案实现接收状态回复的功能会占用大量的带宽,每发送一个数据包相应地就会有一个应答包,因此,带宽利用率只有50%。
发明内容
本发明解决的是现有技术中基于串行外设接口的通信方法为了实现接收状态回复的功能而导致带宽利用率低的技术问题。
为了解决上述问题,本发明实施例提供一种基于串行外设接口的通信方法,包括:
通过串行外设接口发送目标数据;
通过状态回复信号线接收硬件信号,所述硬件信号与所述目标数据是否正确的校验结果对应。
为了解决上述问题,本发明实施例还提供一种基于串行外设接口的通信方法,包括:
通过串行外设接口接收目标数据;
对所述目标数据进行校验,以得出所述目标数据是否正确的校验结果;
控制状态回复信号线的硬件信号,以输出所述校验结果。
为了解决上述问题,本发明实施例还提供一种基于串行外设接口的通信装置,包括:
发送单元,用于通过串行外设接口发送目标数据;
状态接收单元,用于在所述发送单元执行操作之后,通过状态回复信号线接收硬件信号,所述硬件信号与所述目标数据是否正确的校验结果对应。
为了解决上述问题,本发明实施例还提供一种基于串行外设接口的通信装置,包括:
接收单元,用于通过串行外设接口接收目标数据;
校验单元,用于在所述接收单元执行操作之后,对所述目标数据进行校验,以得出所述目标数据是否正确的校验结果;
信号控制单元,用于在所述校验单元执行操作之后,控制状态回复信号线的硬件信号,以输出所述校验结果。
为了解决上述问题,本发明实施例还提供一种基于串行外设接口的通信设备,包括:第一通信装置和第二通信装置,所述第一通信装置和所述第二通信装置分别通过串行外设接口、第一状态回复信号线和第二状态回复信号线相连,其中:
所述第一通信装置,用于通过所述串行外设接口发送第一目标数据;通过所述第一状态回复信号线接收硬件信号;还用于通过所述串行外设接口接收第二目标数据;对所述第二目标数据进行校验,以得出所述第二目标数据是否正确的第二校验结果;控制所述第二状态回复信号线的硬件信号,以输出所述第二校验结果;
所述第二通信装置,用于通过所述串行外设接口接收所述第一目标数据;对所述第一目标数据进行校验,以得出所述第一目标数据是否正确的第一校验结果;控制所述第一状态回复信号线的硬件信号,以输出所述第一校验结果;还用于通过所述串行外设接口发送第二目标数据;通过所述第二状态回复信号线接收硬件信号。
与现有技术相比,本发明的技术方案具有以下有益效果:
设置状态回复信号线,通过状态回复信号线的硬件信号实现基于SPI进行通信时的数据接收状态回复功能,可以避免传输大量的应答包所占用的带宽,从而提高了基于SPI进行通信时的带宽利用率。并且由于硬件信号可以在微秒级别被检测到,因此缩短了数据接收状态回复的响应时间。
进一步地,在所述目标数据出错时,对所述目标数据进行重传,从而进一步实现了基于SPI进行通信时的错误重传功能。
进一步地,通过控制所述第一发送请求信号线、第一接收准备信号线、第二发送请求信号线和第二接收准备信号线的硬件信号来指示所述第一通信装置与第二通信装置之间通过串行外设接口的数据输出数据线和数据输入数据线进行数据传输,由于硬件的电平变化可以在微秒级别被检测到,因此缩短了数据传输时接收方的响应时间。
附图说明
图1是本发明实施例中基于串行外设接口的通信设备结构示意图;
图2是本发明实施例中基于串行外设接口的通信方法流程图;
图3是本发明实施例中基于串行外设接口的通信方法流程图;
图4是本发明实施例一中基于串行外设接口的通信方法流程图;
图5是本发明实施例二中基于串行外设接口的通信方法流程图;
图6是本发明实施例三中第一状态回复信号线工作协议时序图;
图7是本发明实施例三中第一状态回复信号线工作协议时序图;
图8是本发明实施例三中第二状态回复信号线工作协议时序图;
图9是本发明实施例三中第二状态回复信号线工作协议时序图;
图10是本发明实施例四中基于串行外设接口的通信装置结构框图;
图11是本发明实施例五中基于串行外设接口的通信装置结构框图。
具体实施方式
如图1所示,本发明实施例中,提供一种基于串行外设接口的通信设备,包括:第一通信装置101和第二通信装置102,所述第一通信装置101和所述第二通信装置102分别通过串行外设接口、第一状态回复信号线Resend_1st和第二状态回复信号线Resend_2nd相连,现有的串行外设接口的标准协议中包括时钟信号线SCK、数据输出数据线SDO、数据输入数据线SDI和片选信号线CS。
在具体实施中,所述第一通信装置101和第二通信装置102还可以分别通过第一发送请求信号线Rts_1st、第一接收准备信号线Rdy_1st、第二发送请求信号线Rts_2nd和第二接收准备信号线Rdy_2nd相连。
如图2所示,本发明实施例中,还提供一种基于串行外设接口的通信方法,包括:
S201,通过串行外设接口发送目标数据。
S202,通过状态回复信号线接收硬件信号,所述硬件信号与所述目标数据是否正确的校验结果对应。
在具体实施中,还可以包括:
S203,在所述硬件信号显示所述目标数据出错时,通过所述串行外设接口重新发送所述目标数据。
如图3所示,本发明实施例中,还提供一种基于串行外设接口的通信方法,包括:
S301,通过串行外设接口接收目标数据;
S302,对所述目标数据进行校验,以得出所述目标数据是否正确的校验结果;
S303,控制状态回复信号线的硬件信号,以输出所述校验结果。
在具体实施中,还可以包括:
S304,在所述校验结果显示所述目标数据出错时,通过所述串行外设接口重新接收所述目标数据。
从上述方案可以看出,本发明实施例中,设置状态回复信号线,通过状态回复信号线的硬件信号实现基于SPI进行通信时的数据接收状态回复功能,可以避免传输大量的应答包所占用的带宽,从而提高了基于SPI进行通信时的带宽利用率。并且由于硬件信号可以在微秒级别被检测到,因此缩短了数据接收状态回复的响应时间。
为使本领域技术人员更好地理解和实现本发明,以下参照附图,通过具体实施例进行详细说明。
实施例一
参照图4所示的基于串行外设接口的通信方法流程图,以下通过具体步骤进行详细说明:
S401a,第一通信装置通过串行外设接口向第二通信装置发送第一目标数据。
所述第一通信装置与所述第二通信装置通过串行外设接口相连,现有的串行外设接口的标准协议中包括时钟信号线、数据输出数据线、数据输入数据线、片选信号线。所述第一通信装置可以通过现有的串行外设接口标准协议中的数据输出数据线向所述第二通信装置发送所述第一目标数据。
所述第一目标数据不限于特定类型的数据,例如可以是文件的形式。
S402a,所述第二通信装置对所述第一目标数据进行校验,以得出所述第一目标数据是否正确的第一校验结果。
所述第二通信装置对所述第一目标数据进行校验的目的是:为了得出所述第一目标数据是否正确的第一校验结果。
所述第二通信装置对所述第一目标数据进行校验,以得出第一校验结果的工作可以由所述第二通信装置独立完成,具体的校验方式可以是多种多样的,例如,所述第一目标数据可以采用数据包的形式进行发送,此时,可以将校验信息存储于所述数据包的包头部分。
S403a,所述第二通信装置控制第一状态回复信号线的硬件信号,以向所述第一通信装置输出所述第一校验结果。
在具体实施中,所述硬件信号可以是所述第一状态回复信号线的电平状态,具体可以是高电平或低电平。例如,可以设置所述第一状态回复信号线在正常状态下为低电平,当所述第一校验结果显示所述第一目标数据正确时,所述第一状态回复信号线保持低电平,当所述第一校验结果在某时间段内显示所述第一目标数据出错时,所述第一状态回复信号线在相应的时间段内变为高电平。可以理解的是,也可以设定所述第一状态回复信号线在正常状态下为高电平,而在所述第一校验结果显示所述第一目标数据出错时变为低电平。
在具体实施中,所述硬件信号也可以是通过所述第一状态回复信号线发送的脉冲,当所述第一校验结果显示所述第一目标数据出错时,所述第二通信装置通过所述第一状态回复信号线向所述第一通信装置发送脉冲信号。
由于硬件的电平变化可以在微秒级别被检测到,因此缩短了数据接收状态回复的响应时间。
本实施例中,设置第一状态回复信号线,通过第一状态回复信号线的硬件信号实现基于SPI进行通信时的数据接收状态回复功能,可以避免传输大量的应答包所占用的带宽,从而提高了基于SPI进行通信时的带宽利用率。
S401b,第二通信装置通过串行外设接口向第一通信装置发送第二目标数据。
所述第二通信装置可以通过现有的串行外设接口标准协议中的数据输入数据线向所述第一通信装置发送所述第二目标数据。
S402b,所述第一通信装置对所述第二目标数据进行校验,以得出所述第二目标数据是否正确的第二校验结果。
S403b,所述第一通信装置控制第二状态回复信号线的硬件信号,以向所述第二通信装置输出所述第二校验结果。
步骤S401b至步骤S403b的具体实施方式可以参照步骤S401a至步骤S403a。
上述方案通过第一状态回复信号线和第二状态回复信号线的硬件信号实现基于SPI进行通信时的双向接收状态回复功能,可以进一步提高带宽利用率。
在具体实施中,所述第一通信装置可以是SPI主设备,例如可以是应用处理器,所述第二通信装置可以是SPI从设备,例如可以是基带处理器。由于实际应用中通常是由SPI主设备向SPI从设备发送数据,因此,在所述第一通信装置为SPI主设备,所述第二通信装置为SPI从设备的情况下,可以通过上述步骤实现基于SPI进行通信时的双向接收状态回复功能,也可以仅仅通过步骤S301a至步骤S303a来实现基于SPI进行通信,且由SPI主设备向SPI从设备发送数据时的单向接收状态回复功能。可以理解的是,还可以仅仅通过步骤S401b至步骤S403b来实现基于SPI进行通信,且由SPI从设备向SPI主设备发送数据时的单向接收状态回复功能。
实施例二
本实施例与实施例一的不同之处在于,进一步实现了错误重传的功能,参照图5所示的基于串行外设接口的通信方法流程图,其中步骤S501a至步骤S503a、步骤S501b至步骤S503b可以参照实施例一中的步骤S401a至步骤S403a、步骤S401b至步骤S403b,以下详细说明与实施例一不同的步骤,具体来说,在步骤S503a之后还可以包括如下步骤:
S504a,在所述硬件信号显示所述第一目标数据出错时,所述第一通信装置通过所述串行外设接口向所述第二通信装置重新发送所述第一目标数据。
导致所述第一目标数据出错的原因有很多种,例如,可以是传输出错、数据包打包出错、数据包解码出错中的一种或几种。
在具体实施中,所述第二通信装置可以进一步对重传后的数据再次进行校验,并通过控制所述第一状态回复信号线的硬件信号向所述第一通信装置输出重新得出的第一校验结果,在所述重新得出的第一校验结果显示所述第一目标数据仍然出错的情况下再次进行数据重传,直至所述第一目标数据正确为止。
相应地,在步骤S503b之后还可以包括如下步骤:
S504b,在所述硬件信号显示所述第二目标数据出错时,所述第二通信装置通过所述串行外设接口向所述第一通信装置重新发送所述第二目标数据。
步骤S504b的具体实施方式可以参照步骤S504a。
可以理解的是,在需要实现双向错误重传功能的情况下,可以包括步骤S504a和步骤S504b;在只需要实现单向错误重传功能的情况下,也可以仅仅包括步骤S504a或步骤S504b。
从上述方案可以看出,本实施例中,在所述第一目标数据和/或第二目标数据出错时,相应地对所述第一目标数据和/或第二目标数据进行重传,从而进一步实现了基于SPI进行通信时的错误重传功能。
实施例三
本实施例与实施例一的不同之处在于,进一步通过第一发送请求信号线、第一接收准备信号线、第二发送请求信号线和第二接收准备信号线的硬件信号来指示所述第一通信装置与第二通信装置之间通过串行外设接口的数据输出数据线和数据输入数据线进行数据传输,以下详细说明与实施例一不同的步骤:
所述第一通信装置和第二通信装置还分别通过第一发送请求信号线、第一接收准备信号线、第二发送请求信号线和第二接收准备信号线相连,所述方法包括:
所述第一发送请求信号线用于判断所述第一通信装置是否请求通过所述数据输出数据线向所述第二通信装置发送数据;
所述第一接收准备信号线用于判断所述第一通信装置是否处于准备接受数据的状态;
所述第二发送请求信号线用于判断所述第二通信装置是否请求通过所述数据输入数据线向所述第一通信装置发送数据;
所述第二接收准备信号线用于判断所述第二通信装置是否处于准备接受数据的状态。
当所述第一通信装置请求通过所述数据输出数据线向所述第二通信装置发送数据时,所述第一通信装置控制所述第一发送请求信号线的电平状态为第一电平。
当所述第一通信装置处于能够接收所述第二通信装置通过所述数据输入数据线发送的数据时,所述第一通信装置控制所述第一接收准备信号线的电平状态为第二电平。
当所述第二通信装置请求通过所述数据输入数据线向所述第一通信装置发送数据时,所述第二通信装置控制所述第二发送请求信号线的电平状态为第三电平。
当所述第二通信装置处于能够接收所述第一通信装置通过所述数据输出数据线发送的数据时,所述第二通信装置控制所述第二接收准备信号线的电平状态为第四电平。
可以理解的是,所述第一电平、第二电平、第三电平和第四电平仅用于区别四根不同信号线的电平状态,并非用于区分四种不同的电平状态,在具体实施中,所述第一电平、第二电平、第三电平或第四电平既可以是高电平,也可以是低电平。
参照图6至图9所示的第一状态回复信号线、第二状态回复信号线工作协议时序图,图6至图9中以所述第一电平是高电平,所述第二电平是高电平,所述第三电平是低电平,所述第四电平是高电平,所述第一状态回复信号线Resend_1st、第二状态回复信号线Resend_2nd在正常状态下为低电平,在所述第一校验结果或所述第二校验结果为错误时变为高电平为例。
如图6所示,当所述第一通信装置请求通过所述数据输出数据线向所述第二通信装置发送数据时,控制所述第一发送请求信号线Rts_1st为高电平。所述第二接收准备信号线Rdy_2nd在处于准备接受数据的状态下为高电平,当所述第二通信装置检测到所述第一发送请求信号线Rts_1st为高电平时,通过所述数据输出数据线接收所述第一通信装置发送的数据,此时,所述第二通信装置控制所述第二接收准备信号线Rdy_2nd变为低电平,直至所述第二通信装置检测到所述第一发送请求信号线Rts_1st变为低电平为止。
所述第二通信装置对所述第一目标数据进行校验,以得出所述第一目标数据是否正确的第一校验结果,并根据所述第一校验结果控制所述第一状态回复信号线Resend_1st的电平状态。如果所述第一校验结果显示所述第一目标数据正确,则所述第一状态回复信号线Resend_1st保持低电平。
其中,t1表示从所述第一通信装置开始发出发送请求到所述第二通信装置开始接收数据的响应时间,t2表示从所述第一通信装置结束发送请求到所述第二通信装置结束接收数据的响应时间,硬件的电平变化可以在微秒级别被检测到,上述响应时间通常在1ms以内。
如图7所示,如果所述第一校验结果显示所述第一目标数据出错,则所述第一状态回复信号线Resend_1st变为高电平。
其中,t3表示从所述第一通信装置开始发出发送请求到所述第二通信装置开始接收数据的响应时间,t4表示从所述第一通信装置结束发送请求到所述第二通信装置结束接收数据的响应时间。
如图8所示,当所述第二通信装置请求通过所述数据输入数据线向所述第一通信装置发送数据时,控制所述第二发送请求信号线Rts_2nd为低电平。所述第一接收准备信号线Rdy_1st在处于准备接受数据的状态下为高电平,当所述第一通信装置检测到所述第二发送请求信号线Rts_2nd为低电平时,通过所述数据输入数据线接收所述第二通信装置发送的数据,此时,所述第一通信装置控制所述第一接收准备信号线Rdy_1st变为低电平,直至所述第一通信装置检测到所述第二发送请求信号线Rts_2nd变为高电平为止。
所述第一通信装置对所述第二目标数据进行校验,以得出所述第二目标数据是否正确的第二校验结果,并根据所述第二校验结果控制所述第二状态回复信号线Resend_2nd的电平状态。如果所述第二校验结果显示所述第二目标数据正确,则所述第二状态回复信号线Resend_2nd保持低电平。
其中,t5表示从所述第二通信装置开始发出发送请求到所述第一通信装置开始接收数据的响应时间,t6表示从所述第二通信装置结束发送请求到所述第一通信装置结束接收数据的响应时间。
如图9所示,如果所述第二校验结果显示所述第二目标数据出错,则所述第二状态回复信号线Resend_2nd变为高电平。
其中,t7表示从所述第二通信装置开始发出发送请求到所述第一通信装置开始接收数据的响应时间,t8表示从所述第二通信装置结束发送请求到所述第一通信装置结束接收数据的响应时间。
从以上描述可以看出,通过控制所述第一发送请求信号线、第一接收准备信号线、第二发送请求信号线和第二接收准备信号线的硬件信号来指示所述第一通信装置与第二通信装置之间通过串行外设接口的数据输出数据线和数据输入数据线进行数据传输,由于硬件的电平变化可以在微秒级别被检测到,因此缩短了数据传输时接收方的响应时间。
实施例四
参照图10所示的基于串行外设接口的通信装置,包括:发送单元1001和状态接收单元1002,其中:
所述发送单元1001,用于通过串行外设接口发送目标数据;
所述状态接收单元1002,用于在所述发送单元1001执行操作之后,通过状态回复信号线接收硬件信号,所述硬件信号与所述目标数据是否正确的校验结果对应。
本实施例中,设置状态回复信号线,通过状态回复信号线的硬件信号实现基于SPI进行通信时的数据接收状态回复功能,可以避免传输大量的应答包所占用的带宽,从而提高了基于SPI进行通信时的带宽利用率。并且由于硬件信号可以在微秒级别被检测到,因此缩短了数据接收状态回复的响应时间。
具体实施中,所述通信装置还可以包括:
重新发送单元1003,用于在所述硬件信号显示所述目标数据出错时,通过所述串行外设接口重新发送所述目标数据。
从上述方案可以看出,在所述目标数据出错时,对所述目标数据进行重传,从而进一步实现了基于SPI进行通信时的错误重传功能。
在具体实施中,所述硬件信号可以是所述状态回复信号线的电平状态或通过所述状态回复信号线发送的脉冲。
实施例五
参照图11所示的基于串行外设接口的通信装置,包括:接收单元1101、校验单元1102和信号控制单元1103,其中:
所述接收单元1101,用于通过串行外设接口接收目标数据;
所述校验单元1102,用于在所述接收单元1101执行操作之后,对所述目标数据进行校验,以得出所述目标数据是否正确的校验结果;
所述信号控制单元1103,用于在所述校验单元1102执行操作之后,控制状态回复信号线的硬件信号,以输出所述校验结果。
本实施例中,设置状态回复信号线,通过状态回复信号线的硬件信号实现基于SPI进行通信时的数据接收状态回复功能,可以避免传输大量的应答包所占用的带宽,从而提高了基于SPI进行通信时的带宽利用率。并且由于硬件信号可以在微秒级别被检测到,因此缩短了数据接收状态回复的响应时间。
所述接收单元1101,还用于在所述校验结果显示所述目标数据出错时,通过所述串行外设接口重新接收所述目标数据。
从上述方案可以看出,在所述目标数据出错时,对所述目标数据进行重传,从而进一步实现了基于SPI进行通信时的错误重传功能。
在具体实施中,所述硬件信号可以是所述状态回复信号线的电平状态或通过所述状态回复信号线发送的脉冲。
实施例六
参照图1所示的基于串行外设接口的通信设备,包括:第一通信装置101和第二通信装置102,所述第一通信装置101和所述第二通信装置102分别通过串行外设接口、第一状态回复信号线Resend_1st和第二状态回复信号线Resend_2nd相连,现有的串行外设接口的标准协议中包括时钟信号线SCK、数据输出数据线SDO、数据输入数据线SDI和片选信号线CS,其中:
所述第一通信装置101,用于通过所述数据输出数据线SDO发送第一目标数据;通过所述第一状态回复信号线Resend_1st接收硬件信号;还用于通过所述数据输入数据线SDI接收第二目标数据;对所述第二目标数据进行校验,以得出所述第二目标数据是否正确的第二校验结果;控制所述第二状态回复信号线Resend_2nd的硬件信号,以输出所述第二校验结果;
所述第二通信装置102,用于通过所述数据输出数据线SDO接收所述第一目标数据;对所述第一目标数据进行校验,以得出所述第一目标数据是否正确的第一校验结果;通过控制所述第一状态回复信号线Resend_1st的硬件信号输出所述第一校验结果;还用于通过所述数据输入数据线SDI发送第二目标数据;通过所述第二状态回复信号线Resend_2nd接收硬件信号。
可以理解的是,可以通过上述方案,实现基于SPI进行通信时的双向接收状态回复功能,也可以仅仅实现单向接收状态回复功能。
本实施例中,设置第一状态回复信号线和/或第二状态回复信号线,通过第一状态回复信号线和/或第二状态回复信号线的硬件信号实现基于SPI进行通信时的数据接收状态回复功能,可以避免传输大量的应答包所占用的带宽,从而提高了基于SPI进行通信时的带宽利用率。并且由于硬件信号可以在微秒级别被检测到,因此缩短了数据接收状态回复的响应时间。
所述第一通信装置101,还用于在硬件信号显示所述第一目标数据出错时,通过所述数据输出数据线SDO重新发送所述第一目标数据;还用于在所述第二校验结果显示所述第二目标数据出错时,通过所述数据输入数据线SDI重新接收所述第二目标数据;
所述第二通信装置102,还用于在所述第一校验结果显示所述第一目标数据出错时,通过所述数据输出数据线SDO重新接收所述第一目标数据;还用于在硬件信号显示所述第二目标数据出错时,通过所述数据输入数据线SDI重新发送所述第二目标数据。
从上述方案可以看出,在所述第一目标数据和/或第二目标数据出错时,相应地对所述第一目标数据和/或第二目标数据进行重传,从而进一步实现了基于SPI进行通信时的错误重传功能。同样地,错误重传功能也可以是双向错误重传功能,或仅仅是单向错误重传功能。
所述第一通信装置101和第二通信装置102还分别通过第一发送请求信号线Rts_1st、第一接收准备信号线Rdy_1st、第二发送请求信号线Rts_2nd和第二接收准备信号线Rdy_2nd相连,
所述第一通信装置101,还用于在请求通过所述串行外设接口的数据输出数据线向所述第二通信装置102发送数据时,控制所述第一发送请求信号线的电平状态为第一电平;在处于能够接收所述第二通信装置102通过所述串行外设接口的数据输入数据线发送的数据时,控制所述第一接收准备信号线的电平状态为第二电平;
所述第二通信装置102,还用于在请求通过所述串行外设接口的数据输入数据线向所述第一通信装置101发送数据时,控制所述第二发送请求信号线的电平状态为第三电平;在处于能够接收所述第一通信装置101通过所述串行外设接口的数据输出数据线发送的数据时,控制所述第二接收准备信号线的电平状态为第四电平。
从上述方案可以看出,本实施例中,通过控制所述第一发送请求信号线、第一接收准备信号线、第二发送请求信号线和第二接收准备信号线的硬件信号来指示所述第一通信装置与第二通信装置之间通过串行外设接口的数据输出数据线和数据输入数据线进行数据传输,由于硬件的电平变化可以在微秒级别被检测到,因此缩短了数据传输时接收方的响应时间。
在具体实施中,所述第一通信装置101可以是应用处理器,所述第二通信装置102可以是基带处理器。可以理解的是,所述第一通信装置101也可以是基带处理器,所述第二通信装置102也可以是应用处理器。
在具体实施中,所述通信设备可以是智能手机。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

Claims (19)

1.一种基于串行外设接口的通信方法,其特征在于,包括:
通过串行外设接口发送目标数据;
通过状态回复信号线接收硬件信号,所述硬件信号与所述目标数据是否正确的校验结果对应。
2.如权利要求1所述的基于串行外设接口的通信方法,其特征在于,还包括:
在所述硬件信号显示所述目标数据出错时,通过所述串行外设接口重新发送所述目标数据。
3.如权利要求2所述的基于串行外设接口的通信方法,其特征在于,导致所述出错的原因是传输出错、数据包打包出错和/或数据包解码出错。
4.如权利要求1所述的基于串行外设接口的通信方法,其特征在于,所述硬件信号是所述状态回复信号线的电平状态或通过所述状态回复信号线发送的脉冲。
5.一种基于串行外设接口的通信方法,其特征在于,包括:
通过串行外设接口接收目标数据;
对所述目标数据进行校验,以得出所述目标数据是否正确的校验结果;
控制状态回复信号线的硬件信号,以输出所述校验结果。
6.如权利要求5所述的基于串行外设接口的通信方法,其特征在于,还包括:
在所述校验结果显示所述目标数据出错时,通过所述串行外设接口重新接收所述目标数据。
7.如权利要求6所述的基于串行外设接口的通信方法,其特征在于,导致所述出错的原因是传输出错、数据包打包出错和/或数据包解码出错。
8.如权利要求5所述的基于串行外设接口的通信方法,其特征在于,所述硬件信号是所述状态回复信号线的电平状态或通过所述状态回复信号线发送的脉冲。
9.如权利要求5所述的基于串行外设接口的通信方法,其特征在于,在所述目标数据采用数据包的形式进行发送时,对所述目标数据进行校验具体是:根据数据包头中的校验信息对所述目标数据进行校验。
10.一种基于串行外设接口的通信装置,其特征在于,包括:
发送单元,用于通过串行外设接口发送目标数据;
状态接收单元,用于在所述发送单元执行操作之后,通过状态回复信号线接收硬件信号,所述硬件信号与所述目标数据是否正确的校验结果对应。
11.如权利要求10所述的基于串行外设接口的通信装置,其特征在于,还包括:
重新发送单元,用于在所述硬件信号显示所述目标数据出错时,通过所述串行外设接口重新发送所述目标数据。
12.如权利要求10所述的基于串行外设接口的通信装置,其特征在于,所述硬件信号是所述状态回复信号线的电平状态或通过所述状态回复信号线发送的脉冲。
13.一种基于串行外设接口的通信装置,其特征在于,包括:
接收单元,用于通过串行外设接口接收目标数据;
校验单元,用于在所述接收单元执行操作之后,对所述目标数据进行校验,以得出所述目标数据是否正确的校验结果;
信号控制单元,用于在所述校验单元执行操作之后,控制状态回复信号线的硬件信号,以输出所述校验结果。
14.如权利要求13所述的基于串行外设接口的通信装置,其特征在于,
所述接收单元,还用于在所述校验结果显示所述目标数据出错时,通过所述串行外设接口重新接收所述目标数据。
15.如权利要求13所述的基于串行外设接口的通信装置,其特征在于,所述硬件信号是所述状态回复信号线的电平状态或通过所述状态回复信号线发送的脉冲。
16.一种基于串行外设接口的通信设备,包括:第一通信装置和第二通信装置,所述第一通信装置和所述第二通信装置分别通过串行外设接口、第一状态回复信号线和第二状态回复信号线相连,其中:
所述第一通信装置,用于通过所述串行外设接口发送第一目标数据;通过所述第一状态回复信号线接收硬件信号;还用于通过所述串行外设接口接收第二目标数据;对所述第二目标数据进行校验,以得出所述第二目标数据是否正确的第二校验结果;控制所述第二状态回复信号线的硬件信号,以输出所述第二校验结果;
所述第二通信装置,用于通过所述串行外设接口接收所述第一目标数据;对所述第一目标数据进行校验,以得出所述第一目标数据是否正确的第一校验结果;控制所述第一状态回复信号线的硬件信号,以输出所述第一校验结果;还用于通过所述串行外设接口发送第二目标数据;通过所述第二状态回复信号线接收硬件信号。
17.如权利要求16所述的基于串行外设接口的通信设备,其特征在于,
所述第一通信装置,还用于在硬件信号显示所述第一目标数据出错时,通过所述串行外设接口重新发送所述第一目标数据;还用于在所述第二校验结果显示所述第二目标数据出错时,通过所述串行外设接口重新接收所述第二目标数据;
所述第二通信装置,还用于在所述第一校验结果显示所述第一目标数据出错时,通过所述串行外设接口重新接收所述第一目标数据;还用于在硬件信号显示所述第二目标数据出错时,通过所述串行外设接口重新发送所述第二目标数据。
18.如权利要求16所述的基于串行外设接口的通信设备,其特征在于,所述第一通信装置和第二通信装置还分别通过第一发送请求信号线、第一接收准备信号线、第二发送请求信号线和第二接收准备信号线相连。
19.如权利要求16所述的基于串行外设接口的通信设备,其特征在于,所述第一通信装置是应用处理器,所述第二通信装置是基带处理器;或者所述第一通信装置是基带处理器,所述第二通信装置是应用处理器。
CN201310301243.4A 2013-07-17 2013-07-17 基于串行外设接口的通信方法、装置和设备 Active CN104298630B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310301243.4A CN104298630B (zh) 2013-07-17 2013-07-17 基于串行外设接口的通信方法、装置和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310301243.4A CN104298630B (zh) 2013-07-17 2013-07-17 基于串行外设接口的通信方法、装置和设备

Publications (2)

Publication Number Publication Date
CN104298630A true CN104298630A (zh) 2015-01-21
CN104298630B CN104298630B (zh) 2017-06-30

Family

ID=52318361

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310301243.4A Active CN104298630B (zh) 2013-07-17 2013-07-17 基于串行外设接口的通信方法、装置和设备

Country Status (1)

Country Link
CN (1) CN104298630B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106941398A (zh) * 2017-05-05 2017-07-11 北京奇艺世纪科技有限公司 一种基于spi协议的通信方法、装置及系统
CN109408447A (zh) * 2018-12-11 2019-03-01 北京地平线机器人技术研发有限公司 一种基于spi的数据传输方法、装置及电子设备
CN115118409A (zh) * 2022-06-24 2022-09-27 重庆长安新能源汽车科技有限公司 一种spi通讯方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08125673A (ja) * 1994-10-20 1996-05-17 Mitsubishi Heavy Ind Ltd シリアル伝送装置
CN102354305A (zh) * 2011-09-27 2012-02-15 青岛海信电器股份有限公司 设备间串行通信系统及方法
CN102508812A (zh) * 2011-11-30 2012-06-20 上海大学 一种基于spi总线的双处理器通信方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08125673A (ja) * 1994-10-20 1996-05-17 Mitsubishi Heavy Ind Ltd シリアル伝送装置
CN102354305A (zh) * 2011-09-27 2012-02-15 青岛海信电器股份有限公司 设备间串行通信系统及方法
CN102508812A (zh) * 2011-11-30 2012-06-20 上海大学 一种基于spi总线的双处理器通信方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106941398A (zh) * 2017-05-05 2017-07-11 北京奇艺世纪科技有限公司 一种基于spi协议的通信方法、装置及系统
CN109408447A (zh) * 2018-12-11 2019-03-01 北京地平线机器人技术研发有限公司 一种基于spi的数据传输方法、装置及电子设备
CN115118409A (zh) * 2022-06-24 2022-09-27 重庆长安新能源汽车科技有限公司 一种spi通讯方法

Also Published As

Publication number Publication date
CN104298630B (zh) 2017-06-30

Similar Documents

Publication Publication Date Title
CN100366029C (zh) 通信控制器、主机端控制器、通信设备、通信系统和方法
CN105009481B (zh) 用于时分双工(tdd)系统的混合自动重传请求(harq)时序设计
EP3379754A1 (en) Method, apparatus and device for retransmitting code blocks
CN108055111B (zh) 数据传输方法及装置
CN101645766B (zh) 实现数据包重发的方法、装置及系统
CN110536463A (zh) 一种传输处理方法、装置和计算机可读存储介质
CN105786753A (zh) 一种i2c总线上的主从设备间的传输数据的方法及设备
CN109313623A (zh) 切换串口数据传输状态的方法及装置
WO2021232681A1 (zh) 耳机与充电盒的通信方法、充电盒、耳机及可读存储介质
WO2019090745A1 (zh) Harq编号确定方法、网络设备、终端和计算机存储介质
CN105183687A (zh) 一种分时串口通信方法及系统
CN104298630A (zh) 基于串行外设接口的通信方法、装置和设备
WO2019047573A1 (zh) 一种下行数据传输的缓存方法、终端及基站
US11856561B2 (en) Determining a feedback codebook
CN106788916B (zh) 用于总线的数据传输方法及数据传输装置
KR100859499B1 (ko) 데이터 송수신 방법 및 그에 따른 통신 시스템
WO2023045795A1 (zh) 一种红外通讯方法及装置、存储介质及电子装置
CN105264808A (zh) 一种信息传输方法及设备
CN109951255A (zh) 一种基于tcp的数据传输方法、系统、源设备、及目标设备
CN115865830A (zh) 基于连接管理的减少rdma网络开销的方法、装置
CN101887403A (zh) 节省usb协议中存封包的存储器的数据传输方法及装置
CN104426866A (zh) 一种数据传输方法及装置
EP3534657A1 (en) Dynamic time allocation method and device
CN109753461B (zh) 一种dma设备及数据传输的方法
CN105723670A (zh) 一种自干扰信道估计方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant