CN114443524A - 一种数据传输方法、***、存储介质及设备 - Google Patents

一种数据传输方法、***、存储介质及设备 Download PDF

Info

Publication number
CN114443524A
CN114443524A CN202210107409.8A CN202210107409A CN114443524A CN 114443524 A CN114443524 A CN 114443524A CN 202210107409 A CN202210107409 A CN 202210107409A CN 114443524 A CN114443524 A CN 114443524A
Authority
CN
China
Prior art keywords
data
fifo memory
current data
response
count value
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
CN202210107409.8A
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.)
Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Original Assignee
Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center 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 Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd filed Critical Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Priority to CN202210107409.8A priority Critical patent/CN114443524A/zh
Publication of CN114443524A publication Critical patent/CN114443524A/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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)

Abstract

本发明提供了一种数据传输方法、***、存储介质及设备,方法包括:向主设备中写入待发送数据,并将待发送数据分为多个数据组,并基于多个数据组的数量设置计数器的初始计数值,并将多个数据组依次移入第一FIFO存储器;响应于当前数据组被移至第一FIFO存储器,将计数器的计数值减一,并将当前数据组从第一FIFO存储器中移出且传输至从设备;响应于从设备接收到当前数据组,将当前数据组移入第二FIFO存储器,并在第二FIFO存储器中对当前数据组进行处理;响应于处理完成,由从设备向主设备发送处理完成信号;响应于主设备接收到处理完成信号,将计数器的计数值加一。本发明提高了数据传输的效率和可靠性。

Description

一种数据传输方法、***、存储介质及设备
技术领域
本发明涉及信息传输技术领域,尤其涉及一种数据传输方法、***、存储介质及设备。
背景技术
SPI(Serial Peripheral Interface,串行外设接口)是一种全双工同步串行通信协议,由一个主设备以及一个或多个从设备组成,主设备启动与从设备的同步通信,从而完成数据的交换。标准的SPI仅仅使用4个引脚来控制数据传输,节约了芯片的引脚数目,同时为PCB(Printed Circuit Board,印制电路板)在布局上节省了空间。正是出于这种简单易用的特性,现在越来越多的芯片上都集成了SPI技术。
SPI规定了两个SPI设备之间通信必须由主设备(Master)来控制从设备(Slave)。一个Master设备可以通过提供时钟以及对从设备进行片选来控制多个从设备,SPI协议还规定从设备的时钟由主设备通过SCK管脚提供给从设备,从设备本身不能产生或控制时钟,没有时钟则从设备不能正常工作。SPI接口是以主从方式工作的,这种模式通常有一个主器件和一个或多个从器件,其接口包括以下四种信号:
(1)SDO/MOSI:主器件数据输出,从器件数据输入;
(2)SDI/MISO:主器件数据输入,从器件数据输出;
(3)SCLK:时钟信号,由主器件产生;
(4)NSS/CS/SS:从器件使能信号,由主器件控制,当有多个从设备时,因为每个从设备上都有一个片选引脚接入到主设备中,当主设备和某个从设备通信时将需要将从设备对应的片选引脚电平拉低或者是拉高。
SPI主从设备之间的4根信号线CS、CLK、MISO和MOSI中,数据的传输在MISO和MOSI上进行,两边均为移位寄存器,主设备发送一位数据,同时接收一位数据,当8位数据传输完成后,也接收了8位数据。直观地来说,就是两边的8位移位寄存器进行数据交换,但是每次交换都是一位数据,8个周期完成8位数据的传输;并且,主设备和从设备之间缺乏信用机制,难以保证数据传输的可靠性。
发明内容
有鉴于此,本发明的目的在于提出一种数据传输方法、***、存储介质及设备,用以解决现有技术中SPI协议中主设备和从设备之间数据传输效率低且可靠性难以保证的问题。
基于上述目的,本发明提供了一种数据传输方法,包括以下步骤:
向主设备中写入待发送数据,并将待发送数据分为多个数据组,并基于多个数据组的数量设置计数器的初始计数值,并将多个数据组依次移入第一FIFO存储器;
响应于当前数据组被移至第一FIFO存储器,将计数器的计数值减一,并将当前数据组从第一FIFO存储器中移出且传输至从设备;
响应于从设备接收到当前数据组,将当前数据组移入第二FIFO存储器,并在第二FIFO存储器中对当前数据组进行处理;
响应于处理完成,由从设备向主设备发送处理完成信号;
响应于主设备接收到处理完成信号,将计数器的计数值加一。
在一些实施例中,将待发送数据分为多个数据组包括:
基于待发送数据的大小和主设备的第一移位寄存器的通道宽度将待发送数据分为多个数据组。
在一些实施例中,将多个数据组依次移入第一FIFO存储器包括:
通过第一移位寄存器将多个数据组依次移入第一FIFO存储器。
在一些实施例中,将当前数据组从第一FIFO存储器中移出且传输至从设备包括:
由第一移位寄存器将当前数据组从第一FIFO存储器中移出,并通过MISO引脚传输至从设备。
在一些实施例中,将当前数据组移入第二FIFO存储器包括:
通过从设备的第二移位寄存器将当前数据组移入第二FIFO存储器。
在一些实施例中,方法还包括:
响应于计数器的计数值为零,主设备不再向第一FIFO存储器中移入数据组。
在一些实施例中,方法还包括:
响应于从设备接收到当前数据组,判断当前数据组是否正确;
响应于当前数据组错误,将错误的当前数据组移入第二FIFO存储器,并向主设备发送数据错误信号;
响应于主设备接收到数据错误信号,保持计数器的计数值不变。
本发明的另一方面,还提供了一种数据传输***,包括:
数据组移动模块,配置用于向主设备中写入待发送数据,并将待发送数据分为多个数据组,并基于多个数据组的数量设置计数器的初始计数值,并将多个数据组依次移入第一FIFO存储器;
数据组传输模块,配置用于响应于当前数据组被移至第一FIFO存储器,将计数器的计数值减一,并将当前数据组从第一FIFO存储器中移出且传输至从设备;
处理模块,配置用于响应于从设备接收到当前数据组,将当前数据组移入第二FIFO存储器,并在第二FIFO存储器中对当前数据组进行处理;
信号发送模块,配置用于响应于处理完成,由从设备向主设备发送处理完成信号;以及
计数值加一模块,配置用于响应于主设备接收到处理完成信号,将计数器的计数值加一。
本发明的又一方面,还提供了一种计算机可读存储介质,存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述方法。
本发明的再一方面,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该计算机程序被处理器执行时执行上述方法。
本发明至少具有以下有益技术效果:
本发明通过将待发送数据分为多个数据组,即将数据以组为单位进行传输,还在数据传输过程中增加了FIFO存储器,可以在提高数据传输效率的同时利用FIFO存储器来保证数据传输的可靠性;通过设置计数器,可以对主设备发送出的数据以及从设备接收到的数据进行双向监控,以保证数据准确传输,不被遗漏。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为根据本发明实施例提供的数据传输方法的示意图;
图2为根据本发明实施例提供的数据传输***的示意图;
图3为根据本发明实施例提供的实现数据传输方法的计算机可读存储介质的示意图;
图4为根据本发明实施例提供的执行数据传输方法的计算机设备的硬件结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称的非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备固有的其他步骤或单元。
基于上述目的,本发明实施例的第一个方面,提出了一种数据传输方法的实施例。图1示出的是本发明提供的数据传输方法的实施例的示意图。如图1所示,本发明实施例包括如下步骤:
步骤S10、向主设备中写入待发送数据,并将待发送数据分为多个数据组,并基于多个数据组的数量设置计数器的初始计数值,并将多个数据组依次移入第一FIFO存储器;
步骤S20、响应于当前数据组被移至第一FIFO存储器,将计数器的计数值减一,并将当前数据组从第一FIFO存储器中移出且传输至从设备;
步骤S30、响应于从设备接收到当前数据组,将当前数据组移入第二FIFO存储器,并在第二FIFO存储器中对当前数据组进行处理;
步骤S40、响应于处理完成,由从设备向主设备发送处理完成信号;
步骤S50、响应于主设备接收到处理完成信号,将计数器的计数值加一。
FIFO(First Input First Output)简单说就是指先进先出。由于微电子技术的飞速发展,新一代FIFO芯片容量越来越大,体积越来越小,价格越来越便宜。作为一种新型大规模集成电路,FIFO芯片以其灵活、方便、高效的特性,逐渐在高速数据采集、高速数据处理、高速数据传输以及多机处理***中得到越来越广泛的应用。在***设计中,以增加数据传输率、处理大量数据流、匹配具有不同传输率的***为目的而广泛使用FIFO存储器,从而提高了***性能。FIFO存储器是一个先入先出的双口缓冲器,即第一个进入其内的数据第一个被移出,其中一个是存储器的输入口,另一个口是存储器的输出口。对于单片FIFO来说,主要有两种结构:触发导向结构和零导向传输结构。触发导向传输结构的FIFO是由寄存器阵列构成的,零导向传输结构的FIFO是由具有读和写地址指针的双口RAM(RandomAccess Memory,随机存取存储器)构成。FIFO存储器分为写入专用区和读取专用区。读操作与写操作可以异步进行,写入区上写入的数据按照写入的顺序从读取端的区中读出,类似于吸收写入端与读出端速度差的一种缓冲器。
本发明实施例通过将待发送数据分为多个数据组,即将数据以组为单位进行传输,还在数据传输过程中增加了FIFO存储器,可以在提高数据传输效率的同时利用FIFO存储器来保证数据传输的可靠性;通过设置计数器,可以对主设备发送出的数据以及从设备接收到的数据进行双向监控,以保证数据准确传输,不被遗漏。
在一些实施例中,将待发送数据分为多个数据组包括:基于待发送数据的大小和主设备的第一移位寄存器的通道宽度将待发送数据分为多个数据组。
本实施例中,第一移位寄存器的通道宽度可以是8个比特位,也可以根据其他数据传输要求来设定。通过将待发送数据按照第一移位寄存器的通道宽度来划分数据组,可以将待发送数据以数据组为单位进行发送或接收,有利于提高数据传输效率。
在一些实施例中,将多个数据组依次移入第一FIFO存储器包括:通过第一移位寄存器将多个数据组依次移入第一FIFO存储器。
在一些实施例中,将当前数据组从第一FIFO存储器中移出且传输至从设备包括:由第一移位寄存器将当前数据组从第一FIFO存储器中移出,并通过MISO引脚传输至从设备。
上述实施例中,借助第一移位寄存器对第一FIFO存储器中的数据进行移入和移出。
MISO(Master In&Slave Out,主进&从出)应用于SPI中。SPI(Serial PeripheralInterface,串行外设接口)是一种同步、全双工、主从式接口,来自主机或从机的数据在时钟上升沿或下降沿同步,主机和从机可以同时传输数据。SPI接口可以是3线式或4线式,常用的是4线SPI接口。4线SPI器件有四个信号:时钟(SPI CLK,SCLK),片选(CS),主机输出&从机输入(MOSI),主机输入&从机输出(MISO)。产生时钟信号的器件称为主机。主机和从机之间传输的数据与主机产生的时钟同步。SPI接口只能有一个主机,但可以有一个或多个从机。来自主机的片选信号用于选择从机。
MOSI和MISO是数据线。MOSI将数据从主机发送到从机,MISO将数据从从机发送到主机。要开始SPI通信,主机必须发送时钟信号,并通过使能CS信号选择从机。片选通常是低电平有效信号。因此,主机必须在该信号上发送逻辑0以选择从机。SPI是全双工接口,主机和从机可以分别通过MOSI和MISO线路同时发送数据。在SPI通信期间,数据的发送(串行移出到MOSI/SDO总线上)和接收(采样或读入总线(MISO/SDI)上的数据)同时进行。
在一些实施例中,将当前数据组移入第二FIFO存储器包括:通过从设备的第二移位寄存器将当前数据组移入第二FIFO存储器。
本实施例中,借助第二移位寄存器对第二FIFO存储器中的数据进行移入和移出。
在一些实施例中,方法还包括:响应于计数器的计数值为零,主设备不再向第一FIFO存储器中移入数据组。
本实施例中,如果计数器的计数值为零了,主设备就不再发送数据了,因此就不再向第一FIFO存储器中移入数据组了。
在一些实施例中,方法还包括:响应于从设备接收到当前数据组,判断当前数据组是否正确;响应于当前数据组错误,将错误的当前数据组移入第二FIFO存储器,并向主设备发送数据错误信号;响应于主设备接收到数据错误信号,保持计数器的计数值不变。
本实施例中,如果当前数据组是错误的,可以将其缓存到本地FIFO(即第二FIFO存储器)中,也可以设置一个专门存放错误数据的存储器,将错误的当前数据组存放在该存储器中。
以下为本发明的数据传输方法的具体实施例:
在发送数据之前,先往主设备的Tx-Data寄存器写入将要发送出去的数据,这些数据会被移位寄存器根据通道宽度移入FIFO里,然后这些数据又会被移位寄存器移出,通过MISO管脚传给从设备的MOSI管脚,从设备的移位寄存器则把接收到的数据移入从设备的FIFO里。与此同时,从设备的FIFO里面的数据根据每次接收数据的大小(Channel-Width,通道宽度),通过从设备的MISO发往主设备的MISO,主设备的移位寄存器再把从主设备的MISO接收的数据移入FIFO中。
具体地,每次缓存多个8位数据,在主设备处设计一个计数器,每次发送完一个8位数据后,就将计数器减1,计数器最开始是最多能发送多少次。当计数器为0时,表明没有信用了,则该主设备不能再发数据了。比如一开始计数器为4,表明主设备可以一连串发四次数据。同样,从设备每处理完一次数据,便通过拉高一个处理完成信号给主设备,当主设备发现该信号拉高后,便将计数器加1,表明此时主设备可以再发送一次数据了。这样通过流水线式的操作,可以提高数据传输的效率。
这个处理完成信号可以是当接收到的数据正确时才会发送。当接收到的数据数据错误时,返还一个数据错误信号,以此来记录哪些数据在传输时传错了,以便后面对错误数据进行处理。当数据错误时,可以将错误数据缓存到本地FIFO中,当下次数据再来时,可以将上次的错误数据覆盖掉,来保证可用的缓存空间,或者也可以将其剔除掉,还可以不缓存在FIFO中,直接扔掉。
本发明实施例的第二个方面,还提供了一种数据传输***。图2示出的是本发明提供的数据传输***的实施例的示意图。如图2所示,一种数据传输***包括:数据组移动模块10,配置用于向主设备中写入待发送数据,并将待发送数据分为多个数据组,并基于多个数据组的数量设置计数器的初始计数值,并将多个数据组依次移入第一FIFO存储器;数据组传输模块20,配置用于响应于当前数据组被移至第一FIFO存储器,将计数器的计数值减一,并将当前数据组从第一FIFO存储器中移出且传输至从设备;处理模块30,配置用于响应于从设备接收到当前数据组,将当前数据组移入第二FIFO存储器,并在第二FIFO存储器中对当前数据组进行处理;信号发送模块40,配置用于响应于处理完成,由从设备向主设备发送处理完成信号;以及计数值加一模块50,配置用于响应于主设备接收到处理完成信号,将计数器的计数值加一。
在一些实施例中,数据组移动模块10包括数据划分模块,配置用于基于待发送数据的大小和主设备的第一移位寄存器的通道宽度将待发送数据分为多个数据组。
在一些实施例中,数据组移动模块10包括移入第一FIFO存储器模块,配置用于通过第一移位寄存器将多个数据组依次移入第一FIFO存储器。
在一些实施例中,数据组传输模块20包括从设备传输模块,配置用于由第一移位寄存器将当前数据组从第一FIFO存储器中移出,并通过MISO引脚传输至从设备。
在一些实施例中,处理模块30包括移入第二FIFO存储器模块,配置用于通过从设备的第二移位寄存器将当前数据组移入第二FIFO存储器。
在一些实施例中,***还包括计数清零模块,配置用于响应于计数器的计数值为零,主设备不再向第一FIFO存储器中移入数据组。
在一些实施例中,***还包括数据组错误模块,配置用于响应于从设备接收到当前数据组,判断当前数据组是否正确;响应于当前数据组错误,将错误的当前数据组移入第二FIFO存储器,并向主设备发送数据错误信号;响应于主设备接收到数据错误信号,保持计数器的计数值不变。
本发明实施例的第三个方面,还提供了一种计算机可读存储介质,图3示出了根据本发明实施例提供的实现数据传输方法的计算机可读存储介质的示意图。如图3所示,计算机可读存储介质3存储有计算机程序指令31。该计算机程序指令31被处理器执行时实现如下步骤:
向主设备中写入待发送数据,并将待发送数据分为多个数据组,并基于多个数据组的数量设置计数器的初始计数值,并将多个数据组依次移入第一FIFO存储器;
响应于当前数据组被移至第一FIFO存储器,将计数器的计数值减一,并将当前数据组从第一FIFO存储器中移出且传输至从设备;
响应于从设备接收到当前数据组,将当前数据组移入第二FIFO存储器,并在第二FIFO存储器中对当前数据组进行处理;
响应于处理完成,由从设备向主设备发送处理完成信号;
响应于主设备接收到处理完成信号,将计数器的计数值加一。
在一些实施例中,将待发送数据分为多个数据组包括:基于待发送数据的大小和主设备的第一移位寄存器的通道宽度将待发送数据分为多个数据组。
在一些实施例中,将多个数据组依次移入第一FIFO存储器包括:通过第一移位寄存器将多个数据组依次移入第一FIFO存储器。
在一些实施例中,将当前数据组从第一FIFO存储器中移出且传输至从设备包括:由第一移位寄存器将当前数据组从第一FIFO存储器中移出,并通过MISO引脚传输至从设备。
在一些实施例中,将当前数据组移入第二FIFO存储器包括:通过从设备的第二移位寄存器将当前数据组移入第二FIFO存储器。
在一些实施例中,方法还包括:响应于计数器的计数值为零,主设备不再向第一FIFO存储器中移入数据组。
在一些实施例中,方法还包括:响应于从设备接收到当前数据组,判断当前数据组是否正确;响应于当前数据组错误,将错误的当前数据组移入第二FIFO存储器,并向主设备发送数据错误信号;响应于主设备接收到数据错误信号,保持计数器的计数值不变。
应当理解,在相互不冲突的情况下,以上针对根据本发明的数据传输方法阐述的所有实施方式、特征和优势同样地适用于根据本发明的数据传输***和存储介质。
本发明实施例的第四个方面,还提供了一种计算机设备,包括如图4所示的存储器402和处理器401,该存储器402中存储有计算机程序,该计算机程序被该处理器401执行时实现上述任意一项实施例的方法。
如图4所示,为本发明提供的执行数据传输方法的计算机设备的一个实施例的硬件结构示意图。以如图4所示的计算机设备为例,在该计算机设备中包括一个处理器401以及一个存储器402,并还可以包括:输入装置403和输出装置404。处理器401、存储器402、输入装置403和输出装置404可以通过总线或者其他方式连接,图4中以通过总线连接为例。输入装置403可接收输入的数字或字符信息,以及产生与数据传输***的用户设置以及功能控制有关的键信号输入。输出装置404可包括显示屏等显示设备。
存储器402作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的数据传输方法对应的程序指令/模块。存储器402可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储数据传输方法的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器402可选包括相对于处理器401远程设置的存储器,这些远程存储器可以通过网络连接至本地模块。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器401通过运行存储在存储器402中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的数据传输方法。
最后需要说明的是,本文的计算机可读存储介质(例如,存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。作为例子而非限制性的,非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)或快闪存储器。易失性存储器可以包括随机存取存储器(RAM),该RAM可以充当外部高速缓存存储器。作为例子而非限制性的,RAM可以以多种形式获得,比如同步RAM(DRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据速率SDRAM(DDRSDRAM)、增强SDRAM(ESDRAM)、同步链路DRAM(SLDRAM)、以及直接Rambus RAM(DRRAM)。所公开的方面的存储设备意在包括但不限于这些和其它合适类型的存储器。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个***的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
结合这里的公开所描述的各种示例性逻辑块、模块和电路可以利用被设计成用于执行这里功能的下列部件来实现或执行:通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合。通用处理器可以是微处理器,但是可替换地,处理器可以是任何传统处理器、控制器、微控制器或状态机。处理器也可以被实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器结合DSP和/或任何其它这种配置。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。

Claims (10)

1.一种数据传输方法,其特征在于,包括以下步骤:
向主设备中写入待发送数据,并将所述待发送数据分为多个数据组,并基于所述多个数据组的数量设置计数器的初始计数值,并将所述多个数据组依次移入第一FIFO存储器;
响应于当前数据组被移至所述第一FIFO存储器,将所述计数器的计数值减一,并将所述当前数据组从所述第一FIFO存储器中移出且传输至从设备;
响应于所述从设备接收到所述当前数据组,将所述当前数据组移入第二FIFO存储器,并在所述第二FIFO存储器中对所述当前数据组进行处理;
响应于处理完成,由所述从设备向所述主设备发送处理完成信号;
响应于所述主设备接收到所述处理完成信号,将所述计数器的计数值加一。
2.根据权利要求1所述的方法,其特征在于,将所述待发送数据分为多个数据组包括:
基于所述待发送数据的大小和所述主设备的第一移位寄存器的通道宽度将所述待发送数据分为多个数据组。
3.根据权利要求2所述的方法,其特征在于,将所述多个数据组依次移入第一FIFO存储器包括:
通过所述第一移位寄存器将所述多个数据组依次移入第一FIFO存储器。
4.根据权利要求2或3所述的方法,其特征在于,将所述当前数据组从所述第一FIFO存储器中移出且传输至从设备包括:
由所述第一移位寄存器将所述当前数据组从所述第一FIFO存储器中移出,并通过MISO引脚传输至所述从设备。
5.根据权利要求1所述的方法,其特征在于,将所述当前数据组移入第二FIFO存储器包括:
通过所述从设备的第二移位寄存器将所述当前数据组移入第二FIFO存储器。
6.根据权利要求1所述的方法,其特征在于,还包括:
响应于所述计数器的计数值为零,所述主设备不再向所述第一FIFO存储器中移入数据组。
7.根据权利要求1所述的方法,其特征在于,还包括:
响应于所述从设备接收到所述当前数据组,判断所述当前数据组是否正确;
响应于所述当前数据组错误,将所述错误的当前数据组移入所述第二FIFO存储器,并向所述主设备发送数据错误信号;
响应于所述主设备接收到所述数据错误信号,保持所述计数器的计数值不变。
8.一种数据传输***,其特征在于,包括:
数据组移动模块,配置用于向主设备中写入待发送数据,并将所述待发送数据分为多个数据组,并基于所述多个数据组的数量设置计数器的初始计数值,并将所述多个数据组依次移入第一FIFO存储器;
数据组传输模块,配置用于响应于当前数据组被移至所述第一FIFO存储器,将所述计数器的计数值减一,并将所述当前数据组从所述第一FIFO存储器中移出且传输至从设备;
处理模块,配置用于响应于所述从设备接收到所述当前数据组,将所述当前数据组移入第二FIFO存储器,并在所述第二FIFO存储器中对所述当前数据组进行处理;
信号发送模块,配置用于响应于处理完成,由所述从设备向所述主设备发送处理完成信号;以及
计数值加一模块,配置用于响应于所述主设备接收到所述处理完成信号,将所述计数器的计数值加一。
9.一种计算机可读存储介质,其特征在于,存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-7任意一项所述的方法。
10.一种计算机设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时执行如权利要求1-7任意一项所述的方法。
CN202210107409.8A 2022-01-28 2022-01-28 一种数据传输方法、***、存储介质及设备 Pending CN114443524A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210107409.8A CN114443524A (zh) 2022-01-28 2022-01-28 一种数据传输方法、***、存储介质及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210107409.8A CN114443524A (zh) 2022-01-28 2022-01-28 一种数据传输方法、***、存储介质及设备

Publications (1)

Publication Number Publication Date
CN114443524A true CN114443524A (zh) 2022-05-06

Family

ID=81370923

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210107409.8A Pending CN114443524A (zh) 2022-01-28 2022-01-28 一种数据传输方法、***、存储介质及设备

Country Status (1)

Country Link
CN (1) CN114443524A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115080485A (zh) * 2022-06-29 2022-09-20 慕思健康睡眠股份有限公司 一种数据传输方法、装置、设备和存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010061328A (ko) * 1999-12-28 2001-07-07 서평원 데이터 전송속도를 향상시키기 위한 라인 보드
US6614798B1 (en) * 1999-03-30 2003-09-02 Integrated Device Technology, Inc. Asynchronous FIFO increment and decrement control for interfaces that operate at differing clock frequencies
CN201063161Y (zh) * 2007-06-08 2008-05-21 威盛电子股份有限公司 串行***接口主设备
CN101213534A (zh) * 2005-05-11 2008-07-02 高通股份有限公司 对延时不敏感的fifo信令协议
CN102567261A (zh) * 2010-12-31 2012-07-11 联芯科技有限公司 增强型spi控制器、增强型spi的通讯***及传送数据方法
CN102654827A (zh) * 2011-03-02 2012-09-05 安凯(广州)微电子技术有限公司 一种先进先出缓冲器及缓存数据的方法
CN111522770A (zh) * 2020-04-27 2020-08-11 成都汇蓉国科微***技术有限公司 基于fpga的参数化配置的spi控制器及使用方法
CN112350795A (zh) * 2020-10-23 2021-02-09 珠海格力电器股份有限公司 数据的传输方法和装置、存储介质、电子装置
CN113468092A (zh) * 2020-03-31 2021-10-01 比亚迪半导体股份有限公司 高速spi通信装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6614798B1 (en) * 1999-03-30 2003-09-02 Integrated Device Technology, Inc. Asynchronous FIFO increment and decrement control for interfaces that operate at differing clock frequencies
KR20010061328A (ko) * 1999-12-28 2001-07-07 서평원 데이터 전송속도를 향상시키기 위한 라인 보드
CN101213534A (zh) * 2005-05-11 2008-07-02 高通股份有限公司 对延时不敏感的fifo信令协议
CN201063161Y (zh) * 2007-06-08 2008-05-21 威盛电子股份有限公司 串行***接口主设备
CN102567261A (zh) * 2010-12-31 2012-07-11 联芯科技有限公司 增强型spi控制器、增强型spi的通讯***及传送数据方法
CN102654827A (zh) * 2011-03-02 2012-09-05 安凯(广州)微电子技术有限公司 一种先进先出缓冲器及缓存数据的方法
CN113468092A (zh) * 2020-03-31 2021-10-01 比亚迪半导体股份有限公司 高速spi通信装置
CN111522770A (zh) * 2020-04-27 2020-08-11 成都汇蓉国科微***技术有限公司 基于fpga的参数化配置的spi控制器及使用方法
CN112350795A (zh) * 2020-10-23 2021-02-09 珠海格力电器股份有限公司 数据的传输方法和装置、存储介质、电子装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115080485A (zh) * 2022-06-29 2022-09-20 慕思健康睡眠股份有限公司 一种数据传输方法、装置、设备和存储介质
CN115080485B (zh) * 2022-06-29 2024-02-09 慕思健康睡眠股份有限公司 一种数据传输方法、装置、设备和存储介质

Similar Documents

Publication Publication Date Title
US4309755A (en) Computer input/output arrangement for enabling a simultaneous read/write data transfer
CN105320490B (zh) 用于异步fifo电路的方法和设备
TWI406135B (zh) 資料傳輸系統與可編程序列周邊介面控制器
US4048673A (en) Cpu - i/o bus interface for a data processing system
CN111832240B (zh) Fifo数据传输方法及fifo存储装置
US10564858B2 (en) Data storage device with selective connection to non-volatile memories
US7035956B2 (en) Transmission control circuit, reception control circuit, communications control circuit, and communications control unit
CN115794722A (zh) 一种AXI outstanding接口转换实现方法
CN113900974A (zh) 一种存储装置、数据存储方法及相关设备
CN114443524A (zh) 一种数据传输方法、***、存储介质及设备
CN114265872A (zh) 一种用于总线的互联装置
CN107643993A (zh) 总线转换接口、总线转换接口的工作方法和通信设备
KR100476895B1 (ko) 가변 가능한 데이터 전송 모드를 갖는 인터페이스 장치 및그것의 동작 방법
US8510485B2 (en) Low power digital interface
CN108108148B (zh) 一种数据处理方法和装置
CN114518902A (zh) 一种内存定序器***和应用该***的内存定序方法
US11169947B2 (en) Data transmission system capable of transmitting a great amount of data
KR100464257B1 (ko) 통신장치의 3단 통신 버퍼
CN111208892B (zh) 一种用串行i2c信号对芯片***实现复位的方法
US4040032A (en) Peripheral device controller for a data processing system
JP2006509279A (ja) 複数のメモリコントローラを持つメモリシステム及びその同期化方法。
CN114968892B (zh) 一种调度硬件电路及调度方法
US20240137025A1 (en) Method of operating a storage device
CN117370258B (zh) 一种高速i2c总线的多路低速i2c扩展方法及装置
CN117827725B (zh) 一种基于fpga的emc接口扩展模块、***及方法

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