CN111831604A - 一种spi数据传输方法、装置、设备及可读存储介质 - Google Patents

一种spi数据传输方法、装置、设备及可读存储介质 Download PDF

Info

Publication number
CN111831604A
CN111831604A CN202010675115.6A CN202010675115A CN111831604A CN 111831604 A CN111831604 A CN 111831604A CN 202010675115 A CN202010675115 A CN 202010675115A CN 111831604 A CN111831604 A CN 111831604A
Authority
CN
China
Prior art keywords
spi
data
communication
ultrasonic probe
interface
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.)
Pending
Application number
CN202010675115.6A
Other languages
English (en)
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.)
Sonoscape Medical Corp
Original Assignee
Sonoscape Medical Corp
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 Sonoscape Medical Corp filed Critical Sonoscape Medical Corp
Priority to CN202010675115.6A priority Critical patent/CN111831604A/zh
Publication of CN111831604A publication Critical patent/CN111831604A/zh
Pending legal-status Critical Current

Links

Images

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)
  • Telephone Function (AREA)

Abstract

本申请公开了一种SPI数据传输方法、装置、设备及可读存储介质,该方法包括以下步骤:接收与超声探头进行SPI通信的通信请求;判断当前是否在利用低电压差分信号接口接收超声探头发送的回波数据;如果是,则在低电压差分信号接口未接收回波数据对应数据包的时间间隙内,利用SPI接口与超声探头进行SPI通信;如果否,则直接利用SPI接口与超声探头进行SPI通信。在本方法中,既避免了SPI信号对传输中的回波数据造成干扰的问题,同时也保障了SPI通信的实时性。

Description

一种SPI数据传输方法、装置、设备及可读存储介质
技术领域
本申请涉及通信技术领域,特别是涉及一种SPI数据传输方法、装置、设备及可读存储介质。
背景技术
SPI(Serial Peripheral Interface),即串行***接口。SPI通常包括一个主模块和一个或多个从模块,主模块选择一个从模块进行同步通信,从而完成数据的交换。SPI总线因其硬件功能很强,所以与SPI有关的软件就相当简单,使中央处理器(CentralProcessing Unit,CPU)有更多的时间处理其他事务,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,可节省空间。
正是出于SPI具有简单易用的特性,越来越多的芯片集成了这种通信协议。在超声影像***中便采用了SPI向超声探头发送磁导航控制数据,以借助磁导航的帮助,在增强现实环境下实施介入操作,确保超声探头精确定位的同时,减少对人员的损害。然而,在超声探头中探针所采集得到的回波数据也需要回传给控制设备,如FPGA。如此,便会出现FPGA与超声探头之间的数据传输存在SPI通信和基于低电压差分信号接口的低压通信两种。在实际应用中发现,SPI信号会对低速传输的回波数据造成干扰,更严重地会导致该回波数据出现错误或严重失真,即超声图像失真。
综上所述,如何避免SPI通信对回波数据的干扰等问题,是目前本领域技术人员急需解决的技术问题。
发明内容
本申请的目的是提供一种SPI数据传输方法、装置、设备及可读存储介质,可在确保SPI通信实时性以及传输量的情况下,避免SPI通信对回波数据产生干扰,进一步可提高***的可靠性。
为解决上述技术问题,本申请提供如下技术方案:
一种SPI数据传输方法,包括:
接收与超声探头进行SPI通信的通信请求;
判断当前是否在利用低电压差分信号接口接收所述超声探头发送的回波数据;
如果是,则在所述低电压差分信号接口未接收所述回波数据对应数据包的时间间隙内,利用SPI接口与所述超声探头进行SPI通信;
如果否,则直接利用所述SPI接口与所述超声探头进行SPI通信。
优选地,在所述低电压差分信号接口未接收所述回波数据对应数据包的时间间隙内,利用SPI接口与所述超声探头进行SPI通信,包括:
获取在所述时间间隙内可传输的SPI数据个数;
按照所述SPI数据个数将待传输的完整数据包分为若干个子数据包;
利用所述SPI接口,在每一个所述时间间隙内向所述超声探头发起SPI读写,并在每一次SPI读写过程中传输一个所述子数据包,直到所述完整数据包被传输完成。
优选地,所述获取在所述时间间隙内可传输的SPI数据个数,包括:
将所述回波数据的传输参数反馈给上位机,并请求所述上位机计算SPI通信参数;所述传输参数包括传输时长和传输频率;
接收所述上位机反馈的所述SPI通信参数,所述SPI通信参数包括所述SPI数据个数。
优选地,所述直接利用所述SPI接口与所述超声探头进行SPI通信,包括:
向所述超声探头发起SPI读写,并在SPI读写过程中将待传输的完整数据包一次性传输完毕;所述待传输的完整数据包为磁导航控制数据。
优选地,所述判断当前是否在利用低电压差分信号接口接收所述超声探头发送的回波数据,包括:
判断所述低电压差分信号接口是否处于工作状态;
如果是,则确定在接收所述超声探头发送的回波数据;
如果否,则确定未接收所述回波数据。
优选地,利用所述SPI接口与所述超声探头进行SPI通信,包括:
利用所述SPI接口与所述超声探头中的数据信号处理芯片进行SPI通信。
一种SPI数据传输装置,包括:
通信请求接收模块,用于接收与超声探头进行SPI通信的通信请求;
判断模块,用于判断当前是否在利用低电压差分信号接口接收所述超声探头发送的回波数据;若判断结果为是,则触发SPI间隙通信模块,若判断结果为否,则触发SPI通信模块;
所述SPI间隙通信模块,用于在所述低电压差分信号接口未接收所述回波数据对应数据包的时间间隙内,利用SPI接口与所述超声探头进行SPI通信;
所述SPI通信模块,用于直接利用所述SPI接口与所述超声探头进行SPI通信。
一种SPI数据传输设备,包括:
SPI接口,用于与超声探头进行SPI通信;
低电压差分信号接口,用于接收所述超声探头发送的回波数据;
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述SPI数据传输方法的步骤。
优选地,所述SPI数据传输设备为FPGA。
一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述SPI数据传输方法的步骤。
应用本申请实施例所提供的方法,接收与超声探头进行SPI通信的通信请求;判断当前是否在利用低电压差分信号接口接收超声探头发送的回波数据;如果是,则在低电压差分信号接口未接收回波数据对应数据包的时间间隙内,利用SPI接口与超声探头进行SPI通信;如果否,则直接利用SPI接口与超声探头进行SPI通信。
在本方法中,在接收到与超声探头进行SPI通信的通信请求后,即确定需要与超声探头进行SPI通信。此时,并非直接与超声探头进行SPI通信,而是先判断此时是否在利用低电压差分信号接口接收超声探头发送的回波数据。为了避免对传输的回波数据造成干扰,可根据回波数据的是否传输以及传输的具体情况进行SPI通信。具体的,如果判断结果为否,则可直接利用SPI接口与超声探头进行SPI通信。如果判断结果为是,若此时直接进行SPI通信,会对传输中的回波数据信号造成干扰,而此时若暂缓SPI通信,又会使得SPI通信实时性降低。通过对利用低电压差分信号接口接收超声探头发送的回波数据进行研究发现,该通信方式在传输数据的过程中,存在有规律的,且未传输数据包的时间间隙。也就是说,从宏观上看,在一段时间内均在接收某个数据,但是实际上该数据是以数据包形式分批次传输的,前后批次之间存在时间间隙。而SPI通信存在数据可以一位一位的传送,甚至允许暂停的特点。基于此,在方法中,可以在接收回波数据的时间间隙内与超声探头进行SPI通信,即利用除开回波数据接收时间的其他时间进行SPI通信,包括超声波发射时间和探头不收发超声波的时间。如此,既不会出现SPI信号对传输中的回波数据造成干扰,也保证了SPI通信的实时性。
相应地,本申请实施例还提供了与上述SPI数据传输方法相对应的SPI数据传输装置、设备和可读存储介质,具有上述技术效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中一种SPI数据传输方法的实施流程图;
图2为一种SPI数据传输的示意图;
图3为本申请实施例中一种SPI数据传输方法的实施流程图;
图4为本申请实施例中一种SPI数据传输装置的结构示意图;
图5为本申请实施例中一种SPI数据传输设备的结构示意图;
图6为本申请实施例中一种基于FPGA实现的SPI数据传输设备的具体结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请实施例所提供的SPI数据传输方法,可以采用FPGA或单片机作为master端控制SPI,实现与超声探头的SPI通信。即,本申请实施例所提供的方法可应用于FPGA或单片机中。其中,单片机是一种微处理器,类似于电脑的CPU,所有指令在MCU中顺序执行。与单片机相比,FPGA是一种底层硬件电路,它的速度更快且更加灵活,在完成SPI通信的同时,还可以兼顾其它高速接口,数据采集及存储,数据处理计算等,功能更加强大。下面将以应用于FPGA为例对该方法进行详细说明,对于应用于单片机中的实现可参照与此,在此不再一一赘述。
请参考图1,图1为本申请实施例中一种SPI数据传输方法的流程图。该方法包括以下步骤:
S101、接收与超声探头进行SPI通信的通信请求。
其中,通信请求可具体为与FPGA具有通信连接的上位机发送的通信请求,也可以为FPGA自身产生的通信请求。或者,在FPGA内部程序在触发与超声探头需要进行SPI通信时,即视为接收到与超声探头进行SPI通信的通信请求。
其中,该超声探头通过SPI总线与FPGA中SPI接口相连接。当然,该超声探头除了通过SPI总线与FPGA相连接之外,还可以通过低电压差分信号接口与FPGA相连接,以便传输超声数据,如回波数据。
S102、判断当前是否在利用低电压差分信号接口接收超声探头发送的回波数据。
由于SPI通信时,SPI信号的跳变可能会对FPGA与超声探头之间传输的回波数据产生干扰,因此在进行SPI通信之前,首先需要判断一下FPGA当前是否在接收超声探头发送的回波数据。其中,回波数据可以为需要通过低电压差分信号接口传输给FPGA的数据。
其中,FPGA对回波数据进行处理,得到超声影像。即进行回波数据解析处理,得到可以显示的超声图像。
具体的,判断FPGA当前是否在接收超声探头发送的回波数据的方式有多种,例如,可以通过与超声探头相连接的非SPI接口的其他物理接口的当前状态进行判断,以确定是否在接收回波数据;也可以对FPGA用于超声探头发送回波数据的存储空间进行监控,基于监控信息也可确定是否在接收回波数据。
为便于理解,下面以超声探头与FPGA通过低电压差分信号接口接收回波数据来对如何判断FPGA是否在接收回波数据进行说明。具体判断过程包括:
步骤一、判断低电压差分信号接口是否处于工作状态;
步骤二、如果是,则确定在接收超声探头发送的回波数据;
步骤三、如果否,则确定未接收回波数据。
回波数据可以经过超声探头中的AFE(Active Front End,整流/回馈单元的功能)的模数转换后再通过低电压差分信号接口(LVDS,Low-Voltage Differential Signaling)发送到FPGA。即,通过对LVADS接口的状态进行监控,即可知当前FPGA是否在接收回波数据。
得到判断结果之后,便可根据具体的判断结果确定SPI通信的具体方式。具体的,如果判断结果为是,则执行步骤S103的操作;如果判断结果为否,则执行步骤S104的操作。
S103、在低电压差分信号接口未接收回波数据对应数据包的时间间隙内,利用SPI接口与超声探头进行SPI通信。
如果执行上述步骤S102后,得到的判断结果为是,若此时直接与超声探头进行SPI通信,SPI信号的跳变会对传输中的回波数据信号造成干扰,而此时若暂缓SPI通信,又会使得SPI通信实时性降低。对基于低电压差分信号接口接收回波数据进行研究发现,该通信方式对回波数据进行传输时,会规律性地出现未传输数据包的时间间隙。也就是说,从宏观上看,在一段时间内均在接收某个数据,但是实际上该数据是以数据包形式分批次传输的,前后批次之间存在时间间隙。
而SPI通信存在数据可以一位一位的传送,甚至允许暂停的特点。基于此,即便在FPGA在接收回波数据的过程中,可以在接收回波数据的时间间隙内与超声探头进行SPI通信,相当于SPI通信与其他方式通信在不同的物理连接上实现了时分复用,即SPI通信错开回波数据的数据包传输时间。
其中,在未接收回波数据的数据包的时间间隙内,进行SPI通信,具体实现过程,包括:
步骤一、获取在时间间隙内可传输的SPI数据个数;
步骤二、按照SPI数据个数将待传输的完整数据包分为若干个子数据包;
步骤三、利用SPI接口,在每一个时间间隙内向超声探头发起SPI读写,并在每一次SPI读写过程中传输一个子数据包,直到完整数据包被传输完成。
为便于描述,下面将上述三个步骤结合起来进行说明。
超声探头向FPGA发送回波数据时,回波数据对应的各个数据包传输之间存在时间间隙。若在该时间间隙内进行SPI传输,则需要将待传输的完整数据包进行分割。因此,可首先确定出在时间间隙内对应可传输的SPI数据个数(如记为trans_split),该SPI数据个数可具体为每一个时间间隙所能传输的数据位数,即数据大小。
按照该SPI数据个数将待传输的完整数据包进行分割,得到若干个子数据包。优选地,若预先已将完整数据分割打包为若干个SPI数据包(即大小固定的子数据包),则可基于SPI数据包内数据的个数确定出时间间隙内可传输的SPI数据包的数量。
分割完整数据包之后,FPGA就可在每一个时间间隙内,向超声探头发起SPI读写,并在每一次SPI读写过程中传输一个子数据包(即传输数量为trans_split的数据),直到完整数据被传输完成。
优选地,FPGA接收回波数据的接收时间可能会发生变化,例如,接收回波数据时,接收时间会随着超声扫描深度的增加,接收和发射的时间关系也会发生变化。因此,每个时间间隙所能传输的SPI数据个数也会发生实时的变化,考虑到计算能力与复杂度,该部分的计算可统一由上位机完成,然后通过参数的方式下载到FPGA中。FPGA在每次传输时将该参数锁存,也可实现底层参数的实时变化。即,上述步骤一,可具体包括:
步骤1.1、将回波数据的传输参数反馈给上位机,并请求上位机计算SPI通信参数;传输参数包括传输时长和传输频率;
步骤1.2、接收上位机反馈的SPI通信参数,SPI通信参数包括SPI数据个数。
其中,传输时长即进行回波数据传输的起始时间与终止时间之间的时间差值,传输频率即指在进行回波数据传输过程中,发送数据包的频率(与时间周期对应)。
其中,FPGA向上位机反馈的传输参数的具体方式,可为将传输参数存储在某个寄存器(或其他可读写存储介质)中,并向上位机开放读权限,如此上位机可通过读取寄存器内的数据的方式得到回波数据的传输参数。该SPI通信参数还可具体包括SPI接口具体控制信息,如时钟信号的具体频率。
S104、直接利用SPI接口与超声探头进行SPI通信。
需要说明的是,这里的直接与超声探头进行SPI通信,即FPGA与超声探头进行正常通信。此时,由于FPGA没有接收回波数据,因此不会出现SPI信号对传输中的回波数据造成干扰的情况。
具体的,即向超声探头发起SPI读写,并在SPI读写过程中将待传输的完整数据包一次性传输完毕,其中待传输的完整数据包为磁导航控制数据。
也就是说,此时,无需限制SPI通信的时间,以及无需限制SPI通信时传输的数据大小。
其中,完整数据为磁导航控制数据。即经过SPI通信传输给超声探头的数据为磁导航控制数据。
其中与超声探头进行SPI通信,可具体为与超声探头中的数据信号处理芯片进行SPI通信。即FPGA与超声探头中的DSP芯片进行SPI通信。
应用本申请实施例所提供的方法,接收与超声探头进行SPI通信的通信请求;判断当前是否在利用低电压差分信号接口接收超声探头发送的回波数据;如果是,则在低电压差分信号接口未接收回波数据对应数据包的时间间隙内,利用SPI接口与超声探头进行SPI通信;如果否,则直接利用SPI接口与超声探头进行SPI通信。
在本方法中,在接收到与超声探头进行SPI通信的通信请求后,即确定需要与超声探头进行SPI通信。此时,并非直接与超声探头进行SPI通信,而是先判断此时是否在利用低电压差分信号接口接收超声探头发送的回波数据。为了避免对传输的回波数据造成干扰,可根据回波数据的是否传输以及传输的具体情况进行SPI通信。具体的,如果判断结果为否,则可直接利用SPI接口与超声探头进行SPI通信。如果判断结果为是,若此时直接进行SPI通信,会对传输中的回波数据信号造成干扰,而此时若暂缓SPI通信,又会使得SPI通信实时性降低。通过对利用低电压差分信号接口接收超声探头发送的回波数据进行研究发现,该通信方式在传输数据的过程中,存在有规律的,且未传输数据包的时间间隙。也就是说,从宏观上看,在一段时间内均在接收某个数据,但是实际上该数据是以数据包形式分批次传输的,前后批次之间存在时间间隙。而SPI通信存在数据可以一位一位的传送,甚至允许暂停的特点。基于此,在方法中,可以在接收回波数据的时间间隙内与超声探头进行SPI通信,即利用除开回波数据接收时间的其他时间进行SPI通信,包括超声波发射时间和探头不收发超声波的时间。如此,既不会出现SPI信号对传输中的回波数据造成干扰,也保证了SPI通信的实时性。
为了便于本领域技术人员更好地理解本申请实施例所提供的SPI数据传输方法,下面结合具体应用场景,在FPGA中对该方法进行详细说明。
请参考图2,图2为一种SPI数据传输的示意图。具体的,FPGA通过SPI接口与超声探头的DSP(Digital Signal Processing,即数字信号处理技术)芯片进行SPI通信,用于磁导航;FPGA接收超声探头中探针采集的回波数据(一种低速数据),具体的,回波数据经过超声探头中的AFE(Active Front End,具有整流/回馈单元的功能)的模数转换后再通过LVDS接口(Low-Voltage Differential Signaling,低电压差分信号)发送到FPGA,该回波数据即对应最终显示的超声图像。FPGA在与DSP通信时,SPI信号跳变,在信号跳变时会对回波数据造成干扰,引起回波数据中数据出现错误。
请参考图3,图3为本申请实施例中一种SPI数据传输方法的实施流程图。可通过状态机(即控制信号按照预先设定的状态进行转移),首先判断是否需要发起SPI通信与超声探头交互,如果需要,则继续判断FPGA当前是否正在接收其它数据,如超声图像数据,即回波数据。如果没有接收其它数据,则通过SPI接口一次性传输trans_num个数据,其中trans_num为本次SPI传输需要传输的数据总数;如果FPGA在接收其它数据,再判断当前FPGA是否处于非接收状态(超声***中分为发射和接收两部分,发射即超声波发射,接收即接收返回的超声波回波数据,该数据中携带着图像信息,为保证不对回波数据造成干扰,需要工作在发射或其它空余时间(即非接收时间,同本文中的时间间隙))。如果正在接收状态,则等待接收状态完成,在非接收状态(即时间间隙)再发起SIP读写操作;如果在非接收状态,则可以利用非接收的时间间隙传输SPI数据,假设SPI本次共需要传输trans_num个数据,则上位机通过计算得到每次利用间隙传输的SPI数据个数为trans_split,完成一次trans_split个数据的传输后,需要等待下一个非接收状态(即时间间隙)再发起下一次SPI传输,当全部的trans_num个数据都完成传输时,此次基于SPI通信的传输结束。
由此可见,本申请实施例所提供的SPI数据传输方法具有如下技术效果:
1、可保证SPI传输的实时性。具体的,通过计算在非接收时的时间间隙,并结合SPI数据包的传输速率,合理的将大数据包拆分成若干小数据包,分批完成数据上传。被拆分的小数据包的数据量也与接收时间的长短动态变化,当非接收数据时间较长时,一次可以传输的数据量大,数据包的数量较小,当非接收时间较短时,一次可以传输的数据量小,数据包的数量较大。
2、在完成SPI数据传输的同时,不会对其它数据造成干扰。具体的,由于在非接收下利用数据间隙完成SPI的传输,FPGA接收到的数据不会再受到SPI信号跳变的影响,造成接收数据错误,保证了其它类型数据上传的正确性。
相应于上面的方法实施例,本申请实施例还提供了一种SPI数据传输装置,下文描述的SPI数据传输装置与上文描述的SPI数据传输方法可相互对应参照。
请参考图4,图4为本申请实施例中一种SPI数据传输装置的结构示意图。
通信请求接收模块101,用于接收与超声探头进行SPI通信的通信请求;
判断模块102,用于判断当前是否在利用低电压差分信号接口接收超声探头发送的回波数据;若判断结果为是,则触发SPI间隙通信模块,若判断结果为否,则触发SPI通信模块;
SPI间隙通信模块103,用于在低电压差分信号接口未接收回波数据对应数据包的时间间隙内,利用SPI接口与超声探头进行SPI通信;
SPI通信模块104,用于直接利用SPI接口与超声探头进行SPI通信。
优选地,SPI间隙通信模块,具体用于获取在时间间隙内可传输的SPI数据个数;按照SPI数据个数将待传输的完整数据包分为若干个子数据包;利用SPI接口,在每一个时间间隙内向超声探头发起SPI读写,并在每一次SPI读写过程中传输一个子数据包,直到完整数据包被传输完成。
优选地,SPI间隙通信模块,具体用于将回波数据的传输参数反馈给上位机,并请求上位机计算SPI通信参数;传输参数包括传输时长和传输频率;接收上位机反馈的SPI通信参数,SPI通信参数包括SPI数据个数。
优选地,SPI通信模块,具体用于向超声探头发起SPI读写,并在SPI读写过程中将待传输的完整数据包一次性传输完毕;待传输的完整数据包为磁导航控制数据。
优选地,判断模块,具体用于判断低电压差分信号接口是否处于工作状态;如果是,则确定在接收超声探头发送的回波数据;如果否,则确定未接收回波数据。
优选地,SPI通信模块,具体用于利用SPI接口与超声探头中的数据信号处理芯片进行SPI通信。
相应于上面的方法实施例,本申请实施例还提供了一种SPI数据传输设备,下文描述的一种SPI数据传输设备与上文描述的一种SPI数据传输方法可相互对应参照。
参见图5所示,该SPI数据传输设备包括:
SPI接口310,用于与超声探头进行SPI通信;
低电压差分信号接口320,用于接收超声探头发送的回波数据;
存储器332,用于存储计算机程序;
处理器322,用于执行计算机程序时实现如上述方法实施例所描述的SPI数据传输方法的步骤。
具体的,该SPI数据传输设备可因配置或性能不同而产生比较大的差异,例如可以包括一个或一个以上的SPI接口,一个或一个以上的低电压差分信号接口,一个或一个以上处理器(central processing units,CPU)(例如,一个或一个以上处理器)和存储器。其中,存储器可以是短暂存储或持久存储。更进一步地,中央处理器可以设置为与存储器通信,在SPI数据传输设备执行存储器中的一系列指令操作。
在实际应用中,该SPI数据传输设备还可以具有能够执行SPI数据传输方法的芯片。优选地,SPI数据传输设备为FPGA,即在实际应用中,SPI数据传输设备可具体为能够实现SPI数据传输方法的FPGA。
举例说明:具体的,请参考图6,图6为本申请实施例中一种FPGA的具体结构示意图。在FPGA中设置负责SPI传输的模块trans_top,可包括4个子模块:trans_bus_if参数译码模块,trans_ctrl传输控制模块,spi_ctrl SPI接口控制模块,spi_phy SPI PHY物理接口控制模块。
具体的,参数译码模块,用于与上位机通信,得到SPI通信参数;
传输控制模块,用于接收与超声探头进行SPI通信的通信请求;判断当前是否在利用低电压差分信号接口接收超声探头发送的回波数据;如果是,则在低电压差分信号接口未接收回波数据对应数据包的时间间隙内,利用SPI接口与超声探头进行SPI通信;如果否,则直接利用SPI接口与超声探头进行SPI通信;
SPI接口控制模块,用于统计SPI传输次数,SPI回读数据缓存打包,同时对SPI传输BYTE的计算,将传输完成的done信号返回传输控制模块;
SPI PHY物理接口控制模块,用于根据上位机配置的传输速率控制SPI接口发起SPI读写。
其中,参数译码模块可用于与上位机通信。即,通过总线(bus),上位机可以下发FPGA需要的参数(如SPI通信参数),可以通过寄存器控制SPI接口的读写,同时上位机也可以通过总线回读FPGA内的状态。
Trans_ctrl传输控制模块与上下游的其它模块(如超声扫描时序控制模块)交互,通过SPI接口控制模块得到***当前所处的状态,从而完成对SPI接口在时间上的控制。
SPI接口控制模块用于统计SPI传输次数,SPI回读数据缓存打包,同时对SPI传输BYTE的计算,将传输完成的done信号返回给trans_ctrl模块。
spi_phy模块主要完成SPI物理接口控制,FPGA作为master端,根据上位机配置的传输速率发起SPI读写,对SPI接口信号SCLK(Serial Clock,时钟信号,可由FPGA产生)、CS(Chip Select,从设备使能信号,由FPGA控制)、MOSI(主机输出/从机输入数据线)的控制,同时将MISO的数据采集存储。
此外,考虑到,通过其它模块的参数调节,FPGA接收回波信号的接收时间也会有相关的变化,如随着超声扫描深度的增加,接收和发射的时间关系也会发生变化,因此本模块中每次传输的数据量也随之改变。因此,每个非接收回波数据的数据包的时间间隙可传输的SPI数据个数也会发生实时的变化,考虑到计算能力与复杂度,该部分的计算统一由上位机完成,通过参数的方式下载到FPGA中。FPGA在每次传输时将该参数锁存,也可实现底层参数的实时变化。
相应于上面的方法实施例,本申请实施例还提供了一种可读存储介质,下文描述的一种可读存储介质与上文描述的一种SPI数据传输方法可相互对应参照。
一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例的SPI数据传输方法的步骤。
该可读存储介质具体可以为U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可存储程序代码的可读存储介质。
本领域技术人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

Claims (10)

1.一种SPI数据传输方法,其特征在于,包括:
接收与超声探头进行SPI通信的通信请求;
判断当前是否在利用低电压差分信号接口接收所述超声探头发送的回波数据;
如果是,则在所述低电压差分信号接口未接收所述回波数据对应数据包的时间间隙内,利用SPI接口与所述超声探头进行SPI通信;
如果否,则直接利用所述SPI接口与所述超声探头进行SPI通信。
2.根据权利要求1所述的SPI数据传输方法,其特征在于,在所述低电压差分信号接口未接收所述回波数据对应数据包的时间间隙内,利用SPI接口与所述超声探头进行SPI通信,包括:
获取在所述时间间隙内可传输的SPI数据个数;
按照所述SPI数据个数将待传输的完整数据包分为若干个子数据包;
利用所述SPI接口,在每一个所述时间间隙内向所述超声探头发起SPI读写,并在每一次SPI读写过程中传输一个所述子数据包,直到所述完整数据包被传输完成。
3.根据权利要求2所述的SPI数据传输方法,其特征在于,所述获取在所述时间间隙内可传输的SPI数据个数,包括:
将所述回波数据的传输参数反馈给上位机,并请求所述上位机计算SPI通信参数;所述传输参数包括传输时长和传输频率;
接收所述上位机反馈的所述SPI通信参数,所述SPI通信参数包括所述SPI数据个数。
4.根据权利要求1所述的SPI数据传输方法,其特征在于,所述直接利用所述SPI接口与所述超声探头进行SPI通信,包括:
向所述超声探头发起SPI读写,并在SPI读写过程中将待传输的完整数据包一次性传输完毕;所述待传输的完整数据包为磁导航控制数据。
5.根据权利要求1所述的SPI数据传输方法,其特征在于,所述判断当前是否在利用低电压差分信号接口接收所述超声探头发送的回波数据,包括:
判断所述低电压差分信号接口是否处于工作状态;
如果是,则确定在接收所述超声探头发送的回波数据;
如果否,则确定未接收所述回波数据。
6.根据权利要求1所述的SPI数据传输方法,其特征在于,利用所述SPI接口与所述超声探头进行SPI通信,包括:
利用所述SPI接口与所述超声探头中的数据信号处理芯片进行SPI通信。
7.一种SPI数据传输装置,其特征在于,包括:
通信请求接收模块,用于接收与超声探头进行SPI通信的通信请求;
判断模块,用于判断当前是否在利用低电压差分信号接口接收所述超声探头发送的回波数据;若判断结果为是,则触发SPI间隙通信模块,若判断结果为否,则触发SPI通信模块;
所述SPI间隙通信模块,用于在所述低电压差分信号接口未接收所述回波数据对应数据包的时间间隙内,利用SPI接口与所述超声探头进行SPI通信;
所述SPI通信模块,用于直接利用所述SPI接口与所述超声探头进行SPI通信。
8.一种SPI数据传输设备,其特征在于,包括:
SPI接口,用于与超声探头进行SPI通信;
低电压差分信号接口,用于接收所述超声探头发送的回波数据;
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述SPI数据传输方法的步骤。
9.根据权利要求8所述的SPI数据传输设备,其特征在于,所述SPI数据传输设备为FPGA。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述SPI数据传输方法的步骤。
CN202010675115.6A 2020-07-14 2020-07-14 一种spi数据传输方法、装置、设备及可读存储介质 Pending CN111831604A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010675115.6A CN111831604A (zh) 2020-07-14 2020-07-14 一种spi数据传输方法、装置、设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010675115.6A CN111831604A (zh) 2020-07-14 2020-07-14 一种spi数据传输方法、装置、设备及可读存储介质

Publications (1)

Publication Number Publication Date
CN111831604A true CN111831604A (zh) 2020-10-27

Family

ID=72923313

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010675115.6A Pending CN111831604A (zh) 2020-07-14 2020-07-14 一种spi数据传输方法、装置、设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN111831604A (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104840217A (zh) * 2015-06-02 2015-08-19 中国科学技术大学 一种便携式超声成像设备及***
CN104980186A (zh) * 2014-04-03 2015-10-14 奇点新源国际技术开发(北京)有限公司 回波干扰消除方法及相关装置
CN111374701A (zh) * 2018-12-29 2020-07-07 深圳迈瑞生物医疗电子股份有限公司 一种超声诊断设备及其降低超声回波数据干扰的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104980186A (zh) * 2014-04-03 2015-10-14 奇点新源国际技术开发(北京)有限公司 回波干扰消除方法及相关装置
CN104840217A (zh) * 2015-06-02 2015-08-19 中国科学技术大学 一种便携式超声成像设备及***
CN111374701A (zh) * 2018-12-29 2020-07-07 深圳迈瑞生物医疗电子股份有限公司 一种超声诊断设备及其降低超声回波数据干扰的方法

Similar Documents

Publication Publication Date Title
US4048673A (en) Cpu - i/o bus interface for a data processing system
US20040059965A1 (en) Synchronous serial data communication bus
WO2022121199A1 (zh) Qspi控制器,图像处理器及闪存访问方法
CN109165178B (zh) 一种基于RapidIO的弹上***SoC芯片间高速通信方法
JPH02227765A (ja) デジタル・コンピユータのデータ転送装置
JPH02227766A (ja) デジタル・コンピユータのデータ転送装置
CN107967227A (zh) 一种基于spi的通信方法及spi主机、spi从机
CN103714029A (zh) 新型二线同步通信协议及应用
CN108268414A (zh) 基于spi模式的sd卡驱动器及其控制方法
JPH1083375A (ja) Scsiシステム
US4047246A (en) I/O bus transceiver for a data processing system
CN112328523A (zh) 传输双倍速率信号的方法、装置及***
US4047201A (en) I/O Bus transceiver for a data processing system
CN111831604A (zh) 一种spi数据传输方法、装置、设备及可读存储介质
CN115963891A (zh) 同步串行通信延迟补偿的方法、装置、存储介质及设备
JPH0789348B2 (ja) インタフェースシステムにおけるデータ伝送方法
CN116126771A (zh) 一种两线spi的通信***及方法
CN116340217A (zh) 数据处理方法及相关装置
CN212647461U (zh) 一种基于pci总线的同步或异步串行通讯控制电路
CN111371799B (zh) Mctp控制器收发数据的控制方法、装置及设备
US7302508B2 (en) Apparatus and method for high speed data transfer
JPH04108242A (ja) 通信制御装置のデータ転送方式
CN110825684A (zh) 串行端口接口整合输出***
CN111832049B (zh) 一种基于spi的数据传输方法及***
CN220137680U (zh) 一种支持异步通信接口的仿真器

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20201027

RJ01 Rejection of invention patent application after publication