一种用于串行外围总线系统的通信方法、相关设备及系统与流程

文档序号:17950076发布日期:2019-06-18 23:57阅读:170来源:国知局
一种用于串行外围总线系统的通信方法、相关设备及系统与流程

本发明涉及数据传输技术领域,特别涉及一种用于串行外围总线系统的通信方法、相关设备及系统。



背景技术:

传统的基于spi(serialperipheralinterface,串行外设接口)的通信以主从方式工作,通常包括一个主设备(master)和一个或者多个从设备(slave),现有的spi标准协议中包括连接spi主设备和spi从设备的四路通信信号线,分别为串行时钟信号线sclk、主设备输入从设备输出数据线miso、主设备输出从设备输入数据线mosi和片选信号线cs。

传统的spi通信周期由主设备决定,每次主设备需要交互数据前,都会改变对应的片选信号线cs的状态,对应的从设备在接收到片选信号线cs的状态变化后才开始准备接下来需要交互的数据,如果数据量较大,每次从设备准备的时间就会很长,从而导致整个通信周期变长,降低了数据实时性,因此,不适用于数据交互量大且实时性要求较高的场景中的数据传输。



技术实现要素:

为了解决现有技术的问题,本发明实施例提供了一种用于串行外围总线系统的通信方法、相关设备及系统。所述技术方案如下:

第一方面,提供了一种用于串行外围总线系统的通信方法,所述串行外围总线系统包括串行外围总线、通知信号线、主设备和从设备,所述主设备通过所述串行外围总线和通知信号线与所述从设备连接,针对所述从设备,所述方法包括:

控制所述通知信号线处于第一电平状态;

发起与所述主设备在所述串行外围总线上的数据交互;

当满足预设条件时,控制所述通知信号线处于第二电平状态;

结束与所述主设备在所述串行外围总线上的数据交互。

进一步的,在控制所述通知信号线处于第一电平状态之前,所述方法还包括:

判断待发送的数据是否准备完毕;

在判断的结果为是时,执行所述控制所述通知信号线处于第一电平状态的步骤

进一步的,所述数据交互的交互消息携带有校验信息,以使得所述主设备根据所述校验信息对所述交互消息进行校验;

所述数据交互的交互消息还携带有数据项信息;所述数据项信息包括数据类型标识和数据,以使得所述主设备根据接收的上层指令中携带的数据类型标识,获取所述数据项信息中匹配的目标数据。

进一步的,在结束与所述主设备在所述串行外围总线上的数据交互之后,所述方法还包括:待发送数据的准备步骤;

所述待发送数据的准备包括:

获取待发送的数据;

根据所述待发送的数据生成所述数据交互的交互消息。

第二方面,提供了一种用于串行外围总线系统的通信方法,所述串行外围总线系统包括串行外围总线、通知信号线、主设备和从设备,所述主设备通过所述串行外围总线和通知信号线与所述从设备连接,针对所述主设备,所述方法包括:

监测所述通知信号线的电平状态;

在监测到所述通知信号线处于第一电平状态时,通过所述串行外围总线与所述从设备进行数据交互;

在监测到所述通知信号线处于第二电平状态时,结束与所述从设备在所述串行外围总线上的数据交互。

进一步的,所述数据交互的交互消息携带有校验信息和数据项信息,所述数据项信息包括数据类型标识和数据;

在结束与所述从设备在所述串行外围总线上的数据交互之后,所述方法还包括:

解析从所述从设备接收到的交互消息,得到所述交互消息的校验信息和数据项信息;

在根据所述校验信息校验通过时,基于接收的上层指令中携带的数据类型标识,获取所述数据项信息中匹配的目标数据。

第三方面,提供了一种用于串行外围总线系统的通信方法,所述串行外围总线系统包括串行外围总线、通知信号线、主设备和从设备,所述主设备通过所述串行外围总线和通知信号线与所述从设备连接,所述方法包括:

主设备监测所述通知信号线的电平状态;

从设备控制所述通知信号线处于第一电平状态,发起与所述主设备在所述串行外围总线上的数据交互;

主设备在监测到所述通知信号线处于第一电平状态时,通过所述串行外围总线与所述从设备进行数据交互;

当满足预设条件时,所述从设备控制所述通知信号线处于第二电平状态,结束与所述主设备在所述串行外围总线上的数据交互;

主设备在监测到所述通知信号线处于第二电平状态时,结束与所述从设备在所述串行外围总线上的数据交互。

第四方面,提供了一种从设备,所述从设备应用于串行外围总线系统,所述串行外围总线系统还包括串行外围总线、通知信号线和主设备,所述主设备通过所述串行外围总线和通知信号线与所述从设备连接,所述从设备包括:

第一控制模块,用于控制所述通知信号线处于第一电平状态;

发起模块,用于发起与所述主设备在所述串行外围总线上的数据交互;

第二控制模块,用于在满足预设条件时,控制所述通知信号线处于第二电平状态;

第一结束模块,用于结束与所述主设备在所述串行外围总线上的数据交互。

第五方面,提供了一种主设备,所述主设备应用于串行外围总线系统,所述串行外围总线系统还包括串行外围总线、通知信号线和从设备,所述主设备通过所述串行外围总线和通知信号线与所述从设备连接,所述主设备包括:

监测模块,用于监测所述通知信号线的电平状态;

第一交互模块,用于在监测到所述通知信号线处于第一电平状态时,通过所述串行外围总线与所述从设备进行数据交互;

第二结束模块,用于在监测到所述通知信号线处于第二电平状态时,结束与所述从设备在所述串行外围总线上的数据交互。

第六方面,提供了一种串行外围总线系统,所述系统包括串行外围总线、通知信号线、主设备和从设备,所述主设备通过所述串行外围总线和通知信号线与所述从设备连接;

所述从设备,用于控制所述通知信号线处于第一电平状态,发起与所述主设备在所述串行外围总线上的数据交互;当满足预设条件时,控制所述通知信号线处于第二电平状态,结束与所述主设备在所述串行外围总线上的数据交互;

所述主设备,用于监测所述通知信号线的电平状态;在监测到所述通知信号线处于第一电平状态时,通过所述串行外围总线与所述从设备进行数据交互;在监测到所述通知信号线处于第二电平状态时,结束与所述从设备在所述串行外围总线上的数据交互。

本发明的一种用于串行外围总线系统的通信方法、相关设备及系统,具有如下有益效果:

本发明实施例通过增加一路通知信号线,使得主设备与从设备在串行外围总线上的数据交互周期由从设备主导,即二者之间的通信周期由从设备来决定,既不需要主设备发送请求信号,也不需要从设备发送响应信号,通信双方直接进行数据交互,减少了每次数据交互的通信次数,提高了数据交互效率。此外,本发明实施例可以显著的减小从设备数据准备时间对通信周期的影响,从而缩短了通信周期,减小通信时延,提高数据实时性,因此,非常适合在数据交互量大且对实时性要求较高的场景中使用。

附图说明

为了更清楚地说明本发明的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。

图1是本发明实施例提供的一种串行外围总线系统的结构示意图;

图2是本发明实施例提供的一种用于串行外围总线系统的通信方法的流程示意图;

图3是本发明实施例提供的另一种用于串行外围总线系统的通信方法的流程示意图;

图4是本发明实施例提供的一种交互消息的结构示意图;

图5是本发明实施例提供的另一种用于串行外围总线系统的通信方法的流程示意图;

图6是本发明实施例提供的另一种用于串行外围总线系统的通信方法的流程示意图;

图7是本发明实施例提供的从设备的一种结构示意图;

图8是本发明实施例提供的从设备的另一种结构示意图;

图9是本发明实施例提供的主设备的一种结构示意图;

图10是本发明实施例提供的主设备的另一种结构示意图;

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1,其所示为本发明实施例提供的一种串行外围总线系统的结构示意图,如图1所示,串行外围总线系统100可以包括串行外围总线110、通知信号线120、主设备130和从设备140。其中,从设备140可以是一个或者多个,主设备130与从设备140通过串行外围总线110和通知信号线120连接。

需要说明的是,在本发明实施例中,串行外围总线110可以是集成电路间(i2c)总线、串行外围接口(spi)总线、1-wire总线、uni/0总线以及可以用于实现低速外围设备与计算设备或系统相连的类似协议。所述低速外围设备可以包括但不限于电子可擦写可编程只读存储器(eeprom)设备、存储器芯片、数模转换器或模数转换器、监视器、扬声器、显示屏、时钟、车载雷达、车载摄像头。

具体的,如图1所示,以串行外围总线110为串行外围接口(spi)总线为例,主设备130和从设备140均被耦合至串行外围接口(spi)总线,串行外围接口(spi)总线包括串行时钟信号线sclk、主设备输入从设备输出数据线miso、主设备输出从设备输入数据线mosi和片选信号线cs,除此之外,主设备130与从设备140还通过通知信号线120连接。

下面以从设备的角度对本发明中的用于串行外围总线系统的通信方法进行介绍。

请参阅图2,其所示为本发明实施例提供的一种用于串行外围总线系统的通信方法的流程示意图,需要说明的是,本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或设备产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图2所示,所述方法包括:

s201,控制所述通知信号线处于第一电平状态。

在本说明书实施例中,第一电平状态可以是高电平状态也可以是低电平状态。例如,可以设置通知信号线在正常状态下为低电平状态,当从设备需要发送数据给主设备时,从设备可以控制通知信号线在给定的时间段内变为高电平状态。当然,也可以设定通知信号线在正常状态下为高电平状态,当从设备需要发送数据给主设备时,从设备可以控制通知信号线在给定的时间段内变为低电平状态。

在一具体实施方式中,从设备可以根据自身的待发送数据的准备情况来确定是否将通知信号线的电平控制在第一电平状态,如图3所示,从设备在控制所述通知信号线处于第一电平状态之前,可以判断待发送的数据是否准备完毕,当判断的结果为是,可以执行控制所述通知信号线处于第一电平状态。

实际应用中,可以根据设定的发送数据的数据量来判断待发送的数据是否准备完毕,例如,当待发送的数据的数据量达到预设数据量阈值时,可以确定准备完毕;反之,没有准备完毕,可以继续准备。当然,也可以根据设定的准备数据时长来判断待发送的数据是否准备完毕,当达到预设的准备数据时长时,即可以确定准备完毕;反之,没有准备完毕,可以继续准备。

需要说明的是,以上只是给出判断待发送的数据是否准备完毕的两个示例,实际应用中还可以根据需要设定其他的判断依据,本发明对此不作具体限定。

s203,发起与所述主设备在所述串行外围总线上的数据交互。

在本说明书实施例中,从设备可以发起向主设备发送待交互的数据,相应的,主设备接收从设备发送的数据。具体的,对于串行外围总线为串行外围接口(spi)总线,在从设备发起与主设备在串行外围总线上的数据交互后,主设备也可以通过串行外围总线向从设备发送数据,相应的,从设备可以接收主设备发送的数据。

在本说明书实施例中,所述数据交互的交互消息中携带有校验信息,以使得主设备可以根据所述校验信息对所述交互消息进行校验。具体的,校验信息可以是交互消息的md5值等可以用于校验该交互消息在传输过程中是否出现错误的参数,有利于提高数据交互的可靠性。

在本说明书实施例中,所述数据交互的交互消息中还可以携带数据项信息,该数据项信息可以包括数据类型标识和数据,以使得所述主设备根据接收的上层指令中携带的数据类型标识,获取所述数据项信息中匹配的目标数据。

在一个具体实施方式中,所述数据交互的交互消息的结构可以如图4所示,每个交互消息的总长度是固定的,在逻辑上可以分为固定的消息头部、动态的数据项、结束符和填充项4个部分。

具体的,消息头部可以包括序列号、时间戳、握手信息、校验信息。序列号可以用于判断交互消息是否有重复、遗漏以及乱序等,实际应用中,序列号可以从0开始,以1为步长递增。时间戳可以用于判断两个交互消息间的时间间隔。握手信息可以用于标识交互消息的类型,比如交互消息是握手消息还是普通的数据消息。校验信息可以用于校验交互消息在传输过程中是否出现错误。

具体的,每一条交互消息所包含的数据项个数可以是变动的,但数据项的逻辑定义是固定的。数据项可以包括数据类型标识、长度、有效载荷。其中,数据类型标识可以用于标识该数据项中数据的类型,例如数据的类型可以包括但不限于图像数据、速度数据。长度可以用于表示本数据项的数据长度,以字节为单位。有效载荷可以用于表示本数据项的数据。

具体的,结束符可以用于表示数据项的结束,其值是一个无效的数据项类型。填充项一般会随数据项的多少而变动,其与数据项是此增彼减的关系,填充项的值可以是无效的全零数据。

s205,当满足预设条件时,控制所述通知信号线处于第二电平状态。

在本说明书实施例中,预设条件可以是在一次通信中,从设备发送的数据的总量达到预设阈值,也可以是一次通信时长达到预设时长。当然,预设条件还可以是其他的用于触发从设备控制通知信号线的电平处于第二电平状态的条件,例如,从设备的用于接收数据的缓冲器的占用率达到的预设阈值等等。

所述第二电平状态是与第一电平状态不同的电平状态,该第二电平状态可以是高电平状态,也可以是低电平状态。具体的,当第一电平状态设定为高电平状态时,第二电平状态可以设定为低电平状态;当当第一电平状态设定为低电平状态时,第二电平状态可以设定为高电平状态。

s207,结束与所述主设备在所述串行外围总线上的数据交互。

在本说明书实施例中,从设备可以主动结束与主设备在所述串行外围总线上的数据交互,以结束一个周期的通信。

实际应用中,如图3所示,当从设备结束与主设备在所述串行外围总线上的数据交互之后,从设备可以进入下一个通信周期的待发送数据的准备。具体的,所述待发送数据的准备可以包括:获取待发送的数据;根据所述待发送的数据生成所述数据交互的交互消息,该交互消息的结构可以参见前述图4,在此不再赘述。

在一个具体应用场景中,从设备可以是车载雷达或者车载摄像头的感知芯片,主设备可以是车辆控制器芯片,则待发送的数据可以基于车载雷达或者车载摄像头获取的距离数据、图像数据、速度数据、加速度数据等等。

由本发明的上述实施例可见,本发明通过增加一路通知信号线,使得主设备与从设备在串行外围总线上的数据交互周期由从设备主导,即二者之间的通信周期由从设备来决定,既不需要主设备发送请求信号,也不需要从设备发送响应信号,通信双方直接进行数据交互,减少了每次数据交互的通信次数,提高了数据交互效率。此外,本发明实施例可以显著的减小从设备数据准备时间对通信周期的影响,从而缩短了通信周期,减小通信时延,提高数据实时性,因此,非常适合在数据交互量大且对实时性要求较高的场景中使用,例如,车载环境中,处理雷达、摄像头数据的感知芯片(从设备)与车辆控制器芯片(主设备)之间的spi通信。

另外,本发明的通信周期由从设备决定,若从设备和主设备有任意的通信延迟,只会导致周期加长,不会导致通信交互数据失败,提升了数据交互的鲁棒性。

上述实施例是以从设备的角度对本发明中用于串行外围总线系统的通信方法进行的介绍,下面将以主设备的角度对本发明中的用于串行外围总线系统的通信方法进行介绍。

请参阅图5,其所示为本发明实施例提供的另一种用于串行外围总线系统的通信方法的流程示意图,需要说明的是,本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或设备产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图5所示,所述方法包括:

s501,监测所述通知信号线的电平状态。

在本说明书实施例中,主设备可以实时监测通知信号线的电平状态。

s503,在监测到所述通知信号线处于第一电平状态时,通过所述串行外围总线与所述从设备进行数据交互。

具体的,关于通知信号线处于第一电平状态的相关内容可以参见前述图2所示的方法实施例,在此不再赘述。

在本说明书实施例中,所述数据交互的交互消息携带有校验信息和数据项信息,所述数据项信息包括数据类型标识和数据。关于数据交互的交互消息可以参见前述关于从设备侧的方法实施例,在此不再赘述。

s505,在监测到所述通知信号线处于第二电平状态时,结束与所述从设备在所述串行外围总线上的数据交互。

具体的,关于通知信号线处于第二电平状态的相关内容可以参见前述图2所示的方法实施例,在此不再赘述。

在本说明书实施例中,主设备在结束与所述从设备在所述串行外围总线上的数据交互之后,可以对从所述从设备接收到的交互消息进行解析,得到所述交互消息的校验信息和数据项信息;根据所述校验信息对所对应的交互消息进行校验,并在校验通过时基于接收的上层指令中携带的数据类型标识,获取所述数据项信息中匹配的目标数据。

由本发明的上述实施例可见,本发明通过增加一路通知信号线,使得主设备与从设备在串行外围总线上的数据交互周期由从设备主导,即二者之间的通信周期由从设备来决定,既不需要主设备发送请求信号,也不需要从设备发送响应信号,通信双方直接进行数据交互,减少了每次数据交互的通信次数,提高了数据交互效率。此外,本发明实施例可以显著的减小从设备数据准备时间对通信周期的影响,从而缩短了通信周期,减小通信时延,提高数据实时性,因此,非常适合在数据交互量大且对实时性要求较高的场景中使用,例如,车载环境中,处理雷达、摄像头数据的感知芯片(从设备)与车辆控制器芯片(主设备)之间的spi通信。

另外,本发明的通信周期由从设备决定,若从设备和主设备有任意的通信延迟,只会导致周期加长,不会导致通信交互数据失败,提升了数据交互的鲁棒性。

请参阅图6,其所示为本发明实施例提供的另一种用于串行外围总线系统的通信方法的流程示意图,如图6所示,该方法可以包括:

s601,主设备监测所述通知信号线的电平状态。

s603,从设备控制所述通知信号线处于第一电平状态,发起与所述主设备在所述串行外围总线上的数据交互。

s605,主设备在监测到所述通知信号线处于第一电平状态时,通过所述串行外围总线与所述从设备进行数据交互。

s607,当满足预设条件时,所述从设备控制所述通知信号线处于第二电平状态,结束与所述主设备在所述串行外围总线上的数据交互。

s609,主设备在监测到所述通知信号线处于第二电平状态时,结束与所述从设备在所述串行外围总线上的数据交互。

具体的,步骤s601至步骤s609可以参见前述图2以及图5所示的方法实施例,在此不再赘述。

由本发明的上述实施例可见,本发明通过增加一路通知信号线,使得主设备与从设备在串行外围总线上的数据交互周期由从设备主导,即二者之间的通信周期由从设备来决定,既不需要主设备发送请求信号,也不需要从设备发送响应信号,通信双方直接进行数据交互,减少了每次数据交互的通信次数,提高了数据交互效率。此外,本发明实施例可以显著的减小从设备数据准备时间对通信周期的影响,从而缩短了通信周期,减小通信时延,提高数据实时性,因此,非常适合在数据交互量大且对实时性要求较高的场景中使用,例如,车载环境中,处理雷达、摄像头数据的感知芯片(从设备)与车辆控制器芯片(主设备)之间的spi通信。

另外,本发明的通信周期由从设备决定,若从设备和主设备有任意的通信延迟,只会导致周期加长,不会导致通信交互数据失败,提升了数据交互的鲁棒性。

下面对本发明中的从设备进行详细描述,请参阅图7,本发明实施例中的从设备应用于本发明实施例中的串行外围总线系统,所述串行外围总线系统还包括串行外围总线、通知信号线和主设备,所述主设备通过所述串行外围总线和通知信号线与所述从设备连接。所述从设备具有实现上述方法实施例中的从设备侧的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现,具体的,所述从设备可以包括:

第一控制模块710,用于控制所述通知信号线处于第一电平状态;

发起模块720,用于发起与所述主设备在所述串行外围总线上的数据交互;

第二控制模块730,用于在满足预设条件时,控制所述通知信号线处于第二电平状态;

第一结束模块740,用于结束与所述主设备在所述串行外围总线上的数据交互。

在一具体实施方式中,如图8所示,所述从设备还可以包括:

判断模块750,用于判断待发送的数据是否准备完毕。

数据准备模块760,用于获取待发送的数据;根据所述待发送的数据生成所述数据交互的交互消息。

下面对本发明中的主设备进行详细描述,请参阅图9,本发明实施例中的主设备应用于本发明实施例中的串行外围总线系统,所述串行外围总线系统还包括串行外围总线、通知信号线和从设备,所述主设备通过所述串行外围总线和通知信号线与所述从设备连接,所述主设备具有实现上述方法实施例中的主设备侧的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现,具体的,所述主设备可以包括:

监测模块910,用于监测所述通知信号线的电平状态;

第一交互模块920,用于在监测到所述通知信号线处于第一电平状态时,通过所述串行外围总线与所述从设备进行数据交互;

第二结束模块930,用于在监测到所述通知信号线处于第二电平状态时,结束与所述从设备在所述串行外围总线上的数据交互。

在一具体实施方式中,如图10所示,所述主设备还可以包括:

解析模块940,用于解析从所述从设备接收到的交互消息,得到所述交互消息的校验信息和数据项信息;

目标数据获取模块950,用于在根据所述校验信息校验通过时,基于接收的上层指令中携带的数据类型标识,获取所述数据项信息中匹配的目标数据。

本发明的一个实施例还提供了一种串行外围总线系统,如图1所示,所述系统包括串行外围总线、通知信号线、主设备和从设备,所述主设备通过所述串行外围总线和通知信号线与所述从设备连接;

所述从设备,用于控制所述通知信号线处于第一电平状态,发起与所述主设备在所述串行外围总线上的数据交互;当满足预设条件时,控制所述通知信号线处于第二电平状态,结束与所述主设备在所述串行外围总线上的数据交互;

所述主设备,用于监测所述通知信号线的电平状态;在监测到所述通知信号线处于第一电平状态时,通过所述串行外围总线与所述从设备进行数据交互;在监测到所述通知信号线处于第二电平状态时,结束与所述从设备在所述串行外围总线上的数据交互。

需要说明的是,上述实施例提供的设备,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的设备与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者装置中还存在另外的相同要素。

上述说明已经充分揭露了本发明的具体实施方式。需要指出的是,熟悉该领域的技术人员对本发明的具体实施方式所做的任何改动均不脱离本发明的权利要求书的范围。相应地,本发明的权利要求的范围也并不仅仅局限于前述具体实施方式。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1