CN115328846A - 一种实现数据操作的方法及装置 - Google Patents
一种实现数据操作的方法及装置 Download PDFInfo
- Publication number
- CN115328846A CN115328846A CN202211243695.7A CN202211243695A CN115328846A CN 115328846 A CN115328846 A CN 115328846A CN 202211243695 A CN202211243695 A CN 202211243695A CN 115328846 A CN115328846 A CN 115328846A
- Authority
- CN
- China
- Prior art keywords
- data
- processed
- bit width
- spi
- address
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 230000002093 peripheral effect Effects 0.000 claims abstract description 6
- 239000000126 substance Substances 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 abstract description 12
- 238000010586 diagram Methods 0.000 description 11
- 230000000630 rising effect Effects 0.000 description 6
- 235000015429 Mirabilis expansa Nutrition 0.000 description 4
- 244000294411 Mirabilis expansa Species 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 235000013536 miso Nutrition 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/06—Clock generators producing several clock signals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1678—Details of memory controller using bus width
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4291—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
Abstract
本文公开一种实现数据操作的方法及装置,包括:串行外设接口(SPI)主机根据预设的信号位宽确定对待处理数据进行操作的控制信息;根据确定的控制信息对待处理数据进行操作;其中,操作包括:读操作和/或写操作;信号位宽大于或等于2。本发明实施例通过大于或等于2的信号位宽对待处理数据进行操作,降低了采用SPI芯片进行数据传输的时间消耗,提升了SPI芯片的数据处理效率。
Description
技术领域
本文涉及但不限于数据传输处理技术,尤指一种实现数据操作的方法及装置。
背景技术
工作量证明(PoW)是一种对应服务与资源滥用、或是阻断服务攻击的经济对策;PoW一般是要求用户进行一些耗时适当的复杂运算,并且答案能被服务方快速验算,以此耗用的时间、设备与能源做为担保成本,以确保服务与资源是被真正的需求所使用。一般的板级系统,基于串行外设接口(SPI)全双工协议的总线,速率一定。相关技术中的SPI主机和SPI从机通过PoW芯片实现,基于标准的SPI传输协议进行数据的读操作和/或写操作,效率较低,如何减少SPI主机和SPI从机在数据读操作和/或写操作时的时间消耗,提升PoW系统的工作效率,成为一个有待解决的技术问题。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本发明实施例提供一种实现数据操作的方法及装置,能够降低采用PoW系统进行数据操作的时间消耗。
本发明实施例提供了一种实现数据操作的方法,包括:
串行外设接口SPI主机根据预设的信号位宽确定对待处理数据进行操作的控制信息;
根据确定的控制信息对待处理数据进行操作;
其中,所述操作包括:读操作和/或写操作;所述信号位宽大于或等于2。
在一种示例性实例中,所述根据确定的控制信息对待处理数据进行操作,包括:
根据所述控制信息,对所述待处理数据中包含的M个实际数据位宽的数据进行连续的M次操作;
其中,M为大于或等于1的整数。
在一种示例性实例中,所述SPI主机根据预设的信号位宽确定对待处理数据进行操作的控制信息,包括:
所述SPI主机根据所述待处理数据的地址位宽和所述信号位宽,确定传输所述待处理数据的首地址所需的第一时钟周期;
根据所述信号位宽、所述待处理数据的实际数据位宽和所述待处理数据包含的实际数据位宽的个数,确定操作所述待处理数据所需的第二时钟周期;
其中,所述首地址为第一次对所述待处理数据中的数据进行操作的地址。
在一种示例性实例中,所述根据确定的控制信息对所述待处理数据进行操作,包括:
所述SPI主机在SPI主机的串行数据输出信号上,根据所述第一时钟周期传输所述首地址;
根据传输的所述首地址,所述SPI主机和SPI从机在所述第二时钟周期操作所述待处理数据。
在一种示例性实例中,所述SPI主机和所述SPI从机在所述第二时钟周期操作所述待处理数据,包括:
确定所述待处理数据中包含的所述实际数据位宽的数据的个数;
所述待处理数据中仅包含一个实际数据位宽的数据,所述SPI主机和所述SPI从机根据所述信号位宽在所述首地址对所述待处理数据执行操作;
所述待处理数据中包含两个以上实际数据位宽的数据,对所述第一个实际数据位宽的数据,所述SPI主机和所述SPI从机根据所述信号位宽在所述首地址执行操作;基于所述首地址,按预设的地址策略确定第i个实际数据位宽的数据的操作地址;根据确定的第i个实际数据位宽的数据的操作地址,对所述第i个实际数据位宽的数据,所述SPI主机和所述SPI从机按照所述信号位宽执行操作;
其中,i为大于或等于2的整数。
在一种示例性实例中,所述根据确定的控制信息对所述待处理数据进行操作之前,所述方法还包括:
所述SPI主机根据对所述待处理数据进行的操作,确定对应于该操作的控制指令;
所述SPI主机在SPI主机的串行数据输出信号上写入所述控制指令;
其中,所述控制指令用于使能所述SPI主机和SPI从机对所述待处理数据进行操作。
在一种示例性实例中,所述信号位宽为SPI主机的串行数据输出信号和串行数据输入信号的比特位宽;对所述待处理数据进行操作的SPI从机的串行数据输入信号和串行数据输出信号的比特位宽等于所述信号位宽。
另一方面,本发明实施例还提供一种实现数据操作的装置,包括:确定单元和控制单元;其中,
确定单元设置为:根据预设的信号位宽确定对待处理数据进行操作的控制信息;
控制单元设置为:根据确定的控制信息对所述待处理数据进行操作;
其中,所述操作包括:读操作和/或写操作;所述信号位宽大于或等于2。
在一种示例性实例中,所述控制单元是设置为:
根据所述控制信息,对所述待处理数据中包含的M个实际数据位宽的数据进行连续的M次操作;
其中,M为大于或等于1的整数。
在一种示例性实例中,所述确定单元是设置为:
根据所述待处理数据的地址位宽和所述信号位宽,确定传输所述待处理数据的首地址所需的第一时钟周期;
根据所述信号位宽、所述待处理数据的实际数据位宽和所述待处理数据包含的实际数据位宽的个数,确定操作所述待处理数据所需的第二时钟周期;
其中,所述首地址为第一次对所述待处理数据中的数据进行操作的地址。
本申请技术方案包括:串行外设接口(SPI)主机根据预设的信号位宽确定对待处理数据进行操作的控制信息;根据确定的控制信息对待处理数据进行操作;其中,操作包括:读操作和/或写操作;信号位宽大于或等于2。本发明实施例通过大于或等于2的信号位宽对待处理数据进行操作,降低了采用SPI芯片进行数据传输的时间消耗,提升了SPI芯片的数据处理效率。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为本发明实施例实现数据操作的方法的流程图;
图2为本发明实施例实现数据操作的装置的结构框图;
图3为本发明应用示例一写操作的控制信号波形图;
图4为本发明应用示例另一写操作的控制信号波形图;
图5为本发明应用示例一读操作的控制信号波形图;
图6为本发明应用示例另一读操作的控制信号波形图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
PoW芯片主要负责根据服务器任务执行运算,PoW系统执行运算处理主要包括:1)接收到来自服务器的任务;2)将任务下发到PoW芯片;3)PoW芯片执行计算;4)判断PoW芯片是否计算出有效结果;计算出有效结果时,将有效结果提交至服务器。上述步骤1)和步骤2)是准备执行计算的工作,这两个步骤数据操作的占用时间越小,PoW芯片的算力损失越小;步骤4)从PoW芯片中读取有效结果消耗的时间越小,PoW系统抢在服务器任务更新前提交有效结果的概率越大。PoW系统执行运算处理中,步骤1)占用时间大小由互联网速率决定;步骤2)和步骤4)的耗时由PoW芯片的通讯接口的速率和效率决定;相关技术中SPI主机和SPI从机采用标准的SPI传输协议,每个时钟周期只能传输1个比特(bit),因此效率较低。
图1为本发明实施例实现数据操作的方法的流程图,如图1所示,包括:
步骤101、串行外设接口(SPI)主机根据预设的信号位宽确定对待处理数据进行操作的控制信息;
步骤102、根据确定的控制信息对待处理数据进行操作;
其中,操作包括:读操作和/或写操作;信号位宽大于或等于2。
本发明实施例通过大于或等于2的信号位宽对待处理数据进行操作,降低了采用SPI芯片进行数据传输的时间消耗,提升了SPI芯片的数据处理效率。
在一种示例性实例中,本发明实施例根据确定的控制信息对待处理数据进行操作,包括:
根据控制信息,对待处理数据中包含的M个实际数据位宽的数据进行连续的M次操作;
其中,M为大于或等于1的整数。
本发明实施例待处理数据包含M个实际数据位宽的数据时,可以通过连续的M次操作完成M个实际数据位宽的待处理数据的操作处理,简化了待处理数据较长情况下的操作,提升了待处理数据的操作效率。
在一种示例性实例中,本发明实施例信号位宽为SPI主机的串行数据输出(MOSI)信号和串行数据输入(MISO)信号的比特位宽,同时信号位宽也是SPI从机的串行数据输入(MOSI)信号和串行数据输出(MISO)信号的比特位宽。
本发明实施例SPI主机和SPI从机为对待处理数据进行读操作或写操作的设备;例如,写操作时,SPI主机在第二时钟周期的下降沿产生SPI主机的串行数据输出信号上的数据,SPI从机在第二时钟周期的上升沿接收SPI从机的串行数据输出信号上的数据。读操作时,SPI主机在时钟周期的下降沿产生SPI主机的串行数据输出信号上的数据,SPI从机在时钟周期的上升沿接收SPI从机的串行数据输入信号上的数据。
在一种示例性实例中,本发明实施例可以根据PoW系统对速度要求和PoW芯片的复杂度,确定SPI主机和SPI从机在进行待处理数据操作的信号位宽;在一种示例性实例中,本发明实施例信号位宽可以取2的n次幂,一般的n小于或等于4。
在一种示例性实例中,本发明实施例控制信息包括:传输待处理数据的首地址所需的第一时钟周期和操作待处理数据所需的第二时钟周期。
在一种示例性实例中,本发明实施例SPI主机根据预设的信号位宽确定对待处理数据进行操作的控制信息,包括:
SPI主机根据待处理数据的地址位宽和信号位宽,确定传输待处理数据的首地址所需的第一时钟周期;
根据信号位宽、待处理数据的实际数据位宽和待处理数据包含的实际数据位宽的个数,确定操作待处理数据所需的第二时钟周期;
其中,首地址为第一次对待处理数据中的数据进行操作的地址。
在一种示例性实例中,本发明实施例中的第一时钟周期包含若干个单位时间周期;在一种示例性实例中,本发明实施例中的第二时钟周期包含若干个单位时间周期。
在一种示例性实例中,本发明实施例中的地址位宽和实际数据位宽为系统配置参数。
本发明实施例通过预先设定的信号位宽进行待处理数据的操作,在一个时钟周期内实现了更多比特的数据传输,减少了地址和待处理数据的传输时长,降低了对待处理数据进行操作的时间消耗。
在一种示例性实例中,本发明实施例根据确定的控制信息对待处理数据进行操作,包括:
根据传输待处理数据的首地址所需的第一时钟周期和操作待处理数据所需的第二时钟周期,对待处理数据执行操作。
在一种示例性实例中,本发明实施例根据确定的控制信息对待处理数据进行操作,包括:
SPI主机在SPI主机的串行数据输出信号上,根据第一时钟周期传输首地址;
根据传输的首地址,SPI主机和SPI从机在第二时钟周期操作待处理数据。
在一种示例性实例中,本发明实施例SPI主机和SPI从机在第二时钟周期操作待处理数据,包括:
确定待处理数据中包含的实际数据位宽的数据的个数;
待处理数据中仅包含一个实际数据位宽的数据,SPI主机和SPI从机根据信号位宽在首地址对待处理数据执行操作;
待处理数据中包含两个以上实际数据位宽的数据,对第一个实际数据位宽的数据,SPI主机和SPI从机根据信号位宽在首地址执行操作;基于首地址,按预设的地址策略确定第i个实际数据位宽的数据的操作地址;根据确定的第i个实际数据位宽的数据的操作地址,对第i个实际数据位宽的数据,SPI主机和SPI从机按照信号位宽执行操作;
其中,i为大于或等于2的整数。
需要说明的是,本发明实施例确定第一时钟周期和第二时钟周期后,根据信号执行待处理数据的操作可以参照相关技术执行;例如,写操作时,在第二时钟周期的下降沿,SPI主机产生SPI主机的串行数据输出信号上的待处理数据,SPI从机在第二时钟周期的上升沿采集SPI从机的串行数据输入信号上的待处理数据。
本发明实施例待处理数据中包含M个实际数据位宽的数据时,对于每一个实际数据位宽的数据,基于对应于各实际数据位宽的数据的操作地址,执行一次数据操作;本发明实施例一次数据操作所需时钟周期等于实际数据位宽与信号位宽的商,执行操作的次数与待处理数据中包含的实际数据位宽的数据的个数相同。
在一种示例性实例中,根据确定的控制信息对待处理数据进行操作之前,本发明实施例方法还包括:
SPI主机根据对待处理数据进行的操作,确定对应于该操作的控制指令;
SPI主机在SPI主机的串行数据输出信号上写入控制指令;
其中,控制指令用于使能SPI主机和SPI从机对待处理数据进行操作。
本发明实施例控制指令可以包括:通过预先设定的用于区分读操作和写操作的控制字,控制字只要可以区分写操作和读操作即可。
在一种示例性实例中,本发明实施例方法还包括:
启动待处理数据的操作时,SPI主机拉低片选信号;
完成待处理数据的操作,拉高片选信号。
需要说明的是,本发明实施例片选信号的拉低和拉高可以参照SPI协议进行设定,在此不做赘述。
图2为本发明实施例实现数据操作的装置的结构框图,如图2所示,包括:确定单元和控制单元;其中,
确定单元设置为:根据预设的信号位宽确定对待处理数据进行操作的控制信息;
控制单元设置为:根据确定的控制信息对待处理数据进行操作;
其中,操作包括:读操作和/或写操作;信号位宽大于或等于2。
本发明实施例通过大于或等于2的信号位宽对待处理数据进行操作,降低了采用SPI芯片进行数据传输的时间消耗,提升了SPI芯片的数据处理效率。
在一种示例性实例中,本发明实施例上述装置可以是SPI主机。
在一种示例性实例中,本发明实施例控制单元是设置为:
根据控制信息,对待处理数据中包含的M个实际数据位宽的数据进行连续的M次操作;
其中,M为大于或等于1的整数。
本发明实施例待处理数据包含M个实际数据位宽的数据时,可以通过连续的M次操作完成数据的操作处理,简化了数据较长的待处理数据的操作步骤,提升了待处理数据的操作效率。
在一种示例性实例中,本发明实施例确定单元是设置为:
根据待处理数据的地址位宽和信号位宽,确定传输待处理数据的首地址所需的第一时钟周期;
根据信号位宽、待处理数据的实际数据位宽和待处理数据包含的实际数据位宽的个数,确定操作待处理数据所需的第二时钟周期;
其中,首地址为第一次对待处理数据中的数据进行操作的地址。
在一种示例性实例中,本发明实施例控制单元是设置为:
在SPI主机的串行数据输出信号上,根据第一时钟周期传输首地址;
根据传输的首地址,控制SPI主机和SPI从机在第二时钟周期操作待处理数据。
在一种示例性实例中,本发明实施例控制单元是设置为控制SPI主机和SPI从机在第二时钟周期操作待处理数据,包括:
确定待处理数据中包含的实际数据位宽的数据的个数;
待处理数据中仅包含一个实际数据位宽的数据,SPI主机和SPI从机根据信号位宽在首地址对待处理数据执行操作;
待处理数据中包含两个以上实际数据位宽的数据,对第一个实际数据位宽的数据,SPI主机和SPI从机根据信号位宽在首地址执行操作;基于首地址,按预设的地址策略确定第i个实际数据位宽的数据的操作地址;根据确定的第i个实际数据位宽的数据的操作地址,对第i个实际数据位宽的数据,SPI主机和SPI从机按照信号位宽执行操作;
其中,i为大于或等于2的整数。
在一种示例性实例中,本发明实施例控制单元还设置为:
根据对待处理数据进行的操作,确定对应于该操作的控制指令;
在SPI主机的串行数据输出信号上写入控制指令;
其中,控制指令用于使能SPI主机和SPI从机对待处理数据进行操作。
在一种示例性实例中,本发明实施例中的信号位宽为SPI主机的串行数据输出信号和串行数据输入信号的比特位宽;对待处理数据进行操作的SPI从机的串行数据输入信号和串行数据输出信号的比特位宽等于信号位宽。
以下通过应用示例对本发明实施例进行简要说明,应用示例仅用于陈述本发明实施例,并不用于限定本发明的保护范围。
应用示例
本应用示例对操作待处理数据的信号位宽进行了调整,因此需要对SPI协议进行调整,将信号位宽扩展为N个比特,N大于或等于2,即将SPI主机的串行数据输出信号和串行数据输入信号的信号位宽、SPI从机的串行数据输入信号和串行数据输出信号的信号位宽同时扩展为大于或等于2的比特位宽。
在一种示例性实例中,本应用示例SPI从机的信号列表如表1所示,SPI主机的信号列表如表2所示。
表1
信号名称 | 信号类型 | 信号位宽 | 信号描述 |
cs_n | 输入 | 1 | 片选信号,拉低有效 |
sck | 输入 | 1 | 串行时钟输入 |
MOSI | 输入 | N | 串行数据输入 |
MISO | 输出 | N | 串行数据输出 |
表 2
信号名称 | 信号类型 | 信号位宽 | 信号描述 |
cs_n | 输出 | 1 | 片选信号,拉低有效 |
Sck | 输出 | 1 | 串行时钟输入 |
MOSI | 输出 | N | 串行数据输出 |
MISO | 输入 | N | 串行数据输入 |
本应用示例待处理数据的操作类型包括读操作和写操作;
本应用示例如果待处理数据的操作的地址位宽大于N,则用多个时钟周期(sck)传输该操作待处理数据的地址,每个时钟周期传输N比特地址。
本应用示例在执行写操作时,如果只对一个实际数据位宽为N的N比特的待处理数据执行写操作,则一个时钟周期可以传输1个N比特执行写操作的数据。如果对实际数据位宽为N的多个N比特的待处理数据执行写操作,则多个N比特的待处理数据根据实际数据位宽划分为多份后,在第二时钟周期按顺序传输;本应用示例如果需要写操作的待处理数据包含多个N比特的数据(多个实际数据位宽为N的数据),则需要将多个N比特的待处理数据基于信号位宽N写入多个地址;本应用示例在第一时钟周期传输首地址,根据首地址按照预设的地址策略确定第i个N比特的待处理数据进行写操作时的写入地址,例如,预先设定每一个实际数据位宽待处理数据写入的地址较上一个实际数据位宽的待处理数据的写入地址加1;当cs_n信号拉高时,表示N比特的待处理数据的写操作结束。
本应用示例在执行读操作时,如果只对一个实际数据位宽为N的N比特的待处理数据执行读操作,则一个时钟周期可以传输一个N比特的待处理数据。如果对实际数据位宽为N的多个N比特的待处理数据执行读操作,则多个N比特的待处理数据根据实际数据位宽划分为多份后,在第二时钟周期按顺序发送;本应用示例读操作的待处理数据包含多个N比特时,则读操作的多个N比特数据位于多个地址;本应用示例在第一时钟周期传输首地址,根据首地址按照预设的地址策略确定第i个N比特的待处理数据进行读操作时的地址;当cs_n信号拉高时,表示N比特的待处理数据的读操作连续结束。
本应用示例可以实现读操作单个N比特的待处理数据,读操作多个N比特连续的待处理数据,写操作单个N比特的待处理数据,写操作多个N比特的待处理数据。在一种示例性实例中,N等于8时,地址位宽为16比特,实际数据位宽为16比特;本应用示例可以实现单个16比特的待处理数据的读操作,连续多个16比特的待处理数据的读操作,单个16比特的待处理数据的写操作,连续多个16比特的待处理数据的写操作。
当用2个8比特数据表示操作类型为读操作或写操作时,图3为本发明应用示例一写操作的控制信号波形图,如图3所示,图3最上一行数字1~9表示数据前后顺序,参照SPI协议cs_n信号拉低半个时钟周期后,SPI主机在串行数据输出信号上放上写操作的控制指令,本应用示例设置该控制指令为8’h2,8’h2仅是本应用示例控制指令的示例,本应用示例控制指令也可以是其他控制字。在后续的第二时钟周期,SPI主机在时钟周期的下降沿产生MOSI信号上的数据,SPI从机在时钟周期的上升沿接收SPI从机的串行数据输入信号上的数据。本应用示例参照相关技术将SPI主机的串行数据输出信号传输的第2个数据作为预留控制字,本应用示例预留控制字可以选择8’h0。本应用示例SPI主机的串行数据输出信号上传输的第3和第4个数据为16比特的地址,记作首地址。在SPI主机的串行数据输出信号上传输的第5个和第6个数据(实际数据位宽为16比特,需要两个数据传输)是第一个要写的16比特的待处理数据。第一个16比特的待处理数据的写地址是上述首地址;如果是执行单16比特的待处理数据的写操作,则本次写操作完成,将cs_n信号拉高。图4为本发明应用示例另一写操作的控制信号波形图,如图4所示,本应用示例对于多16比特的待处理数据的写操作,在图4示意的SPI主机的串行数据输出信号的第5个和第6个数据继续传输执行写操作的待处理数据,第7和第8个数据表示第二个要执行写操作的16比特的待处理数据,假设预先设定每一个实际数据位宽写入的地址较上一次数据写入地址加1,则第7和第8个数据的写地址是首地址加1,后续传输的待处理数据,其写地址按照顺序递增;写操作的待处理数据发送完毕后,拉高cs_n信号。
图5为本发明应用示例一读操作的控制信号波形图,如图5所示,cs_n信号拉低半个时钟周期后,主机在SPI主机的串行数据输出信号上产生读操作的控制指令,本应用示例设置该控制指令为8’h3,本应用示例控制指令也可以是其他控制字,但是写操作的控制指令和读操作的控制指令需要不同。在后续的第二时钟周期,SPI主机在时钟周期的下降沿产生SPI主机的串行数据输出信号上的数据,SPI从机在时钟周期的上升沿接收SPI主机的串行数据输出信号上的数据;SPI从机在时钟周期的下降沿产生SPI从机的串行数据输入信号上的数据,SPI主机在时钟周期的上升沿采样SPI主机的串行数据输出信号上的数据。SPI主机的串行数据输出信号上传输的第二个数据作为预留控制字,本应用示例预留控制字可以选择8’h0。本应用示例在SPI主机的串行数据输出信号上传输的第3和第4个数据作为16比特读操作的地址,记作首地址。SPI从机解析到是读操作的控制指令以及首地址后,取出首地址对应的16比特的待处理数据,在2个时钟周期内,将第一个读操作的待处理数据放在SPI从机的串行数据输出信号上。如果是单16比特的待处理数据的读操作,则读操作完成,将cs_n信号拉高。图6为本发明应用示例另一读操作的控制信号波形图,如图6所示,如果是多个16比特的待处理数据的读操作,将从第二个16比特数据开始的读操作的地址,基于首地址依次递增,将要执行读操作的待处理数据依次放在SPI从机的串行数据输出信号上,读操作完所有待处理数据后,拉高cs_n信号。
本应用示例通过增大操作待处理数据的信号位宽,提升了SPI芯片的总线带宽和数据传输速度。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于 RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
Claims (10)
1.一种实现数据操作的方法,包括:
串行外设接口SPI主机根据预设的信号位宽确定对待处理数据进行操作的控制信息;
根据确定的控制信息对待处理数据进行操作;
其中,所述操作包括:读操作和/或写操作;所述信号位宽大于或等于2。
2.根据权利要求1所述的方法,其特征在于,所述根据确定的控制信息对待处理数据进行操作,包括:
根据所述控制信息,对所述待处理数据中包含的M个实际数据位宽的数据进行连续的M次操作;
其中,M为大于或等于1的整数。
3.根据权利要求1所述的方法,其特征在于,所述SPI主机根据预设的信号位宽确定对待处理数据进行操作的控制信息,包括:
所述SPI主机根据所述待处理数据的地址位宽和所述信号位宽,确定传输所述待处理数据的首地址所需的第一时钟周期;
根据所述信号位宽、所述待处理数据的实际数据位宽和所述待处理数据包含的实际数据位宽的个数,确定操作所述待处理数据所需的第二时钟周期;
其中,所述首地址为第一次对所述待处理数据中的数据进行操作的地址。
4.根据权利要求3所述的方法,其特征在于,所述根据确定的控制信息对所述待处理数据进行操作,包括:
所述SPI主机在SPI主机的串行数据输出信号上,根据所述第一时钟周期传输所述首地址;
根据传输的所述首地址,所述SPI主机和SPI从机在所述第二时钟周期操作所述待处理数据。
5.根据权利要求4所述的方法,其特征在于,所述SPI主机和SPI从机在所述第二时钟周期操作所述待处理数据,包括:
确定所述待处理数据中包含的所述实际数据位宽的数据的个数;
所述待处理数据中仅包含一个所述实际数据位宽的数据,所述SPI主机和所述SPI从机根据所述信号位宽在所述首地址对所述待处理数据执行操作;
所述待处理数据中包含两个以上所述实际数据位宽的数据,对第一个所述实际数据位宽的数据,所述SPI主机和所述SPI从机根据所述信号位宽在所述首地址执行操作;基于所述首地址,按预设的地址策略确定第i个实际数据位宽的数据的操作地址;根据确定的第i个实际数据位宽的数据的操作地址,对所述第i个实际数据位宽的数据,所述SPI主机和所述SPI从机按照所述信号位宽执行操作;
其中,i为大于或等于2的整数。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述根据确定的控制信息对所述待处理数据进行操作之前,所述方法还包括:
所述SPI主机根据对所述待处理数据进行的操作,确定对应于该操作的控制指令;
所述SPI主机在SPI主机的串行数据输出信号上写入所述控制指令;
其中,所述控制指令用于使能所述SPI主机和SPI从机对所述待处理数据进行操作。
7.根据权利要求1-5任一项所述的方法,其特征在于,所述信号位宽为SPI主机的串行数据输出信号和串行数据输入信号的比特位宽;对所述待处理数据进行操作的SPI从机的串行数据输入信号和串行数据输出信号的比特位宽等于所述信号位宽。
8.一种实现数据操作的装置,包括:确定单元和控制单元;其中,
确定单元设置为:根据预设的信号位宽确定对待处理数据进行操作的控制信息;
控制单元设置为:根据确定的控制信息对所述待处理数据进行操作;
其中,所述操作包括:读操作和/或写操作;所述信号位宽大于或等于2。
9.根据权利要求8所述的装置,其特征在于,所述控制单元是设置为:
根据所述控制信息,对所述待处理数据中包含的M个实际数据位宽的数据进行连续的M次操作;
其中,M为大于或等于1的整数。
10.根据权利要求8或9所述的装置,其特征在于,所述确定单元是设置为:
根据所述待处理数据的地址位宽和所述信号位宽,确定传输所述待处理数据的首地址所需的第一时钟周期;
根据所述信号位宽、所述待处理数据的实际数据位宽和所述待处理数据包含的实际数据位宽的个数,确定操作所述待处理数据所需的第二时钟周期;
其中,所述首地址为第一次对所述待处理数据中的数据进行操作的地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211243695.7A CN115328846A (zh) | 2022-10-12 | 2022-10-12 | 一种实现数据操作的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211243695.7A CN115328846A (zh) | 2022-10-12 | 2022-10-12 | 一种实现数据操作的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115328846A true CN115328846A (zh) | 2022-11-11 |
Family
ID=83913582
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211243695.7A Pending CN115328846A (zh) | 2022-10-12 | 2022-10-12 | 一种实现数据操作的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115328846A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1967515A (zh) * | 2006-04-19 | 2007-05-23 | 华为技术有限公司 | 主机访问接口及其实现方法 |
CN205563555U (zh) * | 2016-04-07 | 2016-09-07 | 成都华日通讯技术有限公司 | 基于fpga的自定义可变位宽spi总线协议的实现系统 |
CN106874224A (zh) * | 2017-02-17 | 2017-06-20 | 杭州朔天科技有限公司 | 自动搬运且适应器件的多线SPI‑Flash控制器 |
CN107025203A (zh) * | 2017-03-31 | 2017-08-08 | 新华三技术有限公司 | 第一板卡、第二板卡及一种设备 |
US20220188071A1 (en) * | 2020-03-17 | 2022-06-16 | Anhui Cambricon Information Technology Co., Ltd | Computing apparatus and method, board card, and computer readable storage medium |
-
2022
- 2022-10-12 CN CN202211243695.7A patent/CN115328846A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1967515A (zh) * | 2006-04-19 | 2007-05-23 | 华为技术有限公司 | 主机访问接口及其实现方法 |
CN205563555U (zh) * | 2016-04-07 | 2016-09-07 | 成都华日通讯技术有限公司 | 基于fpga的自定义可变位宽spi总线协议的实现系统 |
CN106874224A (zh) * | 2017-02-17 | 2017-06-20 | 杭州朔天科技有限公司 | 自动搬运且适应器件的多线SPI‑Flash控制器 |
CN107025203A (zh) * | 2017-03-31 | 2017-08-08 | 新华三技术有限公司 | 第一板卡、第二板卡及一种设备 |
US20220188071A1 (en) * | 2020-03-17 | 2022-06-16 | Anhui Cambricon Information Technology Co., Ltd | Computing apparatus and method, board card, and computer readable storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100481043C (zh) | 用于处理输入/输出命令的方法、系统和程序 | |
US20040093454A1 (en) | USB endpoint controller flexible memory management | |
US20220091780A1 (en) | Memory access method and intelligent processing apparatus | |
CN114780032A (zh) | 一种数据读取方法、装置、设备及存储介质 | |
CN114461541A (zh) | 芯片数据读取方法、写入方法、装置、设备以及存储介质 | |
US20220365892A1 (en) | Accelerating Method of Executing Comparison Functions and Accelerating System of Executing Comparison Functions | |
EP3761296A1 (en) | Drive control method, component and display apparatus | |
US7822040B2 (en) | Method for increasing network transmission efficiency by increasing a data updating rate of a memory | |
US5717949A (en) | System for reading transfer control parameters based on identification codes stored in first and second registers storing destination identification and designated control section identification data | |
CN115328846A (zh) | 一种实现数据操作的方法及装置 | |
WO2024066438A1 (zh) | 一种固件升级方法及装置 | |
CN1705929B (zh) | 用于将数据返回给通过总线接收的读请求的方法和系统 | |
CN115883022B (zh) | Dma传输控制方法、装置、电子设备及可读存储介质 | |
US5247640A (en) | Dual access control system including plural magnetic disk control units and contention control circuitry | |
CN111562946B (zh) | 一种数据处理方法及芯片 | |
CN115470163A (zh) | Dma传输的控制方法、控制装置、控制设备及存储介质 | |
CN101241478B (zh) | 数据传送方法 | |
CN105095122A (zh) | 控制内存芯片的方法、芯片控制器和内存控制器 | |
US7272194B1 (en) | Method to transmit bits of data over a bus | |
CN111124987B (zh) | 一种基于pcie的数据传输控制系统和方法 | |
US20050144331A1 (en) | On-chip serialized peripheral bus system and operating method thereof | |
CN111444129A (zh) | Mdb数据传输的方法及终端设备 | |
CN103699504A (zh) | Ddr物理层数据处理方法、装置及ddr物理层 | |
CN115658572B (zh) | 任务处理方法、装置、电子设备和计算机可读存储介质 | |
US10977196B2 (en) | Communication interface control system |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20221111 |