CN113238977A - 数据传输方法、装置、***、电子设备及存储介质 - Google Patents
数据传输方法、装置、***、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113238977A CN113238977A CN202110781546.5A CN202110781546A CN113238977A CN 113238977 A CN113238977 A CN 113238977A CN 202110781546 A CN202110781546 A CN 202110781546A CN 113238977 A CN113238977 A CN 113238977A
- Authority
- CN
- China
- Prior art keywords
- data block
- data
- cache unit
- dma controller
- external storage
- 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
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/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本申请提供一种数据传输方法、装置、***、电子设备及存储介质,方法包括:确定外部存储设备中待传输的数据块的数量,以及各数据块的起始位置和数据长度,基于数据块的起始位置和数据长度,通过读取接口配置的第一DMA控制器将外部存储设备中的第N数据块读入第一缓存单元,在读入完毕后,通过发送接口配置的第二DMA控制器将第N数据块发送至外部处理设备,同时通过第一DMA控制器将外部存储设备中的第N+1数据块读入第二缓存单元,在读入完毕之后,通过第二DMA控制器将第N+1数据块发送至外部处理设备。由此可见,在对第N数据块进行发送的同时对第N+1数据块进行读取,相比于在一个数据块发送完毕之后再读取下一个数据块,数据传输效率更高,耗时更短。
Description
技术领域
本申请涉及数据传输领域,尤其涉及一种数据传输方法、装置、***、电子设备及存储介质。
背景技术
目前在驱动LCD(Liquid Crystal Display ,液晶显示设备)时,为了降低成本,通常选用MCU(Microcontroller Unit,微控制器)进行驱动控制。
当LCD需要显示特定的图像及文字时,需要生成字库,目前字库数据通常是存放在片外EEPROM(Electrically Erasable Programmable read only memory,带电可擦可编程只读存储器)中(例如图1所示),在LCD需要字库数据时,需要MCU先将EEPROM中的字库数据读取到MCU的内部RAM(Random Access Memory,随机存取存储器),再写入到LCD上。
由于字库数据的数据长度较大,MCU无法一下将字库数据全部读取到RAM,需要将字库数据划分为多个数据块分别进行读取,基于此,目前MCU在对字库数据进行读取时,会先读取一个数据块,然后对该数据块进行数据位调整后发送到LCD,之后,再去读取下一个数据块,直至所有数据块读取完毕,此种方式耗时较长。
发明内容
为了解决上述数据传输耗时长的技术问题,本申请提供了一种数据传输方法、装置、***、电子设备及存储介质。
第一方面,本申请提供了一种数据传输方法,应用于微控制器,所述微控制器内包含读取接口、发送接口、第一缓存单元和第二缓存单元,所述读取接口配置有第一DMA控制器,所述发送接口配置有第二DMA控制器,所述方法包括:
确定外部存储设备中待传输的数据块的数量,以及各所述数据块的起始位置和数据长度,所述数据块的数据长度不大于所述第一缓存单元的容量,且不大于所述第二缓存单元的容量;
通过所述第一DMA控制器将外部存储设备中的第N数据块读入所述第一缓存单元,其中N为大于0的整数;
在所述第N数据块读入所述第一缓存单元完毕后,通过所述第二DMA控制器将所述第N数据块发送至外部处理设备,并通过所述第一DMA控制器将外部存储设备中的第N+1数据块读入所述第二缓存单元;
在所述第N+1数据块读入所述第二缓存单元完毕后,通过所述第二DMA控制器将所述第N+1数据块发送至外部设备。
作为一种可能的实现方式,所述第一缓存单元的容量与所述第二缓存单元的容量一致,所述方法还包括:
通过所述第一DMA控制器将外部存储设备中的第一个数据块读入所述第一缓存单元或所述第二缓存单元之前,基于所述外部存储设备中待传输数据对应的起始位置和数据长度,以及所述第一缓存单元或所述第二缓存单元的容量,确定所述外部存储设备中待传输的数据块的数量,以及各待传输的数据块的起始位置和数据长度。
作为一种可能的实现方式,所述方法还包括:
在通过所述第一DMA控制器将外部存储设备中的第N数据块读入所述第一缓存单元之前,基于所述外部存储设备中待传输的数据块的数量判断所述外部存储设备中所有待传输的数据块是否传输完毕;
若确定所述外部存储设备中所有待传输的数据块未传输完毕,则执行通过所述第一DMA控制器将外部存储设备中的第N数据块读入所述第一缓存单元的步骤;
在通过所述第一DMA控制器将外部存储设备中的第N+1数据块读入所述第二缓存单元之前,基于所述外部存储设备中待传输的数据块的数量判断所述外部存储设备中所有待传输的数据块是否传输完毕;
若确定所述外部存储设备中所有待传输的数据块未传输完毕,则执行通过所述第一DMA控制器将外部存储设备中的第N+1数据块读入所述第二缓存单元的步骤。
作为一种可能的实现方式,所述通过所述第一DMA控制器将外部存储设备中的第N数据块读入所述第一缓存单元,包括:
确定所述第一缓存单元的剩余容量;
判断所述剩余容量是否小于所述第N数据块的数据长度;
若确定所述剩余容量不小于所述第N数据块的数据长度,则通过所述第一DMA控制器将整个所述第N 数据块读入所述第一缓存单元;
若确定所述剩余容量小于所述第N数据块的数据长度,则通过所述第一DMA控制器将所述第N数据块中数据长度与所述剩余容量一致的子数据块读入所述第一缓存单元,在所述子数据块读入所述第一缓存单元完毕后,通过所述第一DMA控制器将所述第N数据块中除所述子数据块之外的其他子数据块读入所述第一缓存单元。
作为一种可能的实现方式,所述通过所述第一DMA控制器将所述第N数据块中数据长度与所述剩余容量一致的子数据块读入所述第一缓存单元,包括:
将所述第N数据块对应的起始位置作为所述子数据块的起始位置,并将所述剩余容量作为所述子数据块的数据长度;
通过所述第一DMA控制器根据所述子数据块的起始位置和数据长度,将所述第N数据块中的所述子数据块读入所述第一缓存单元。
作为一种可能的实现方式,所述通过所述第一DMA控制器将外部存储设备中的第N+1数据块读入所述第二缓存单元,包括:
确定所述第二缓存单元的剩余容量;
判断所述剩余容量是否小于所述第N+1数据块的数据长度;
若确定所述剩余容量不小于所述第N+1数据块的数据长度,则通过所述第一DMA控制器将整个所述第N+1 数据块读入所述第二缓存单元;
若确定所述剩余容量小于所述第N+1数据块的数据长度,则通过所述第一DMA控制器将所述第N+1数据块中数据长度与所述剩余容量一致的子数据块读入所述第二缓存单元,在所述子数据块读入所述第二缓存单元完毕后,通过所述第一DMA控制器将所述第N+1数据块中除所述子数据块之外的其他子数据块读入所述第二缓存单元。
作为一种可能的实现方式,所述通过所述第一DMA控制器将所述第N+1数据块中数据长度与所述剩余容量一致的子数据块读入所述第二缓存单元,包括:
将所述第N+1数据块对应的起始位置作为所述子数据块的起始位置,并将所述剩余容量作为所述子数据块的数据长度;
通过所述第一DMA控制器根据所述子数据块的起始位置和数据长度,将所述第N+1数据块中的所述子数据块读入所述第二缓存单元。
第二方面,本申请实施例还提供了一种数据传输装置,应用于微控制器,所述微控制器内包含读取接口、发送接口、第一缓存单元和第二缓存单元,所述读取接口配置有第一DMA控制器,所述发送接口配置有第二DMA控制器,所述装置包括:
确定模块,用于确定外部存储设备中待传输的数据块的数量,以及各所述数据块的起始位置和数据长度,所述数据块的数据长度不大于所述第一缓存单元的容量,且不大于所述第二缓存单元的容量;
读取控制模块,用于通过所述第一DMA控制器将外部存储设备中的第N数据块读入所述第一缓存单元,其中N为大于0的整数;
发送控制模块,用于在所述第N数据块读入所述第一缓存单元完毕后,通过所述第二DMA控制器将所述第N数据块发送至外部处理设备;
所述读取控制模块,还用于在所述第N数据块读入所述第一缓存单元完毕后,通过所述第一DMA控制器将外部存储设备中的第N+1数据块读入所述第二缓存单元;
所述发送控制模块,还用于在所述第N+1数据块读入所述第二缓存单元完毕后,通过所述第二DMA控制器将所述第N+1数据块发送至外部处理设备。
第三方面,本申请实施例还提供了一种数据传输***,包括外部存储设备、显示设备和实现第一方面所述的数据传输方法的微控制器;
所述微控制器通过所述读取接口与所述外部存储设备连接;
所述微控制器通过所述发送接口与所述显示设备连接。
第四方面,本申请实施例还提供了一种电子设备,包括:处理器和存储器,所述处理器用于执行所述存储器中存储的数据传输程序,以实现第一方面所述的数据传输方法。
第五方面,本申请实施例还提供了一种存储介质,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现第一方面所述的数据传输方法。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:
本申请实施例提供的一种数据传输方法,应用于微控制器,确定外部存储设备中待传输的数据块的数量,以及各数据块的起始位置和数据长度,基于数据块的起始位置和数据长度,通过读取接口配置的第一DMA控制器将外部存储设备中的第N数据块读入第一缓存单元,在读入完毕后,通过发送接口配置的第二DMA控制器将第N数据块发送至外部处理设备,同时通过第一DMA控制器将外部存储设备中的第N+1数据块读入第二缓存单元,在读入完毕之后,通过第二DMA控制器将第N+1数据块发送至外部处理设备。由此可见,本方案在对第N数据块进行发送的同时可以对第N+1数据块进行读取,相比于在一个数据块发送完毕之后再读取下一个数据块,本方案的数据传输效率更高,耗时更短。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是根据一示例性实施例示出的一种数据传输***的示意图。
图2是根据一示例性实施例示出的另一种数据传输***的示意图。
图3是根据一示例性实施例示出的一种数据传输方法的流程图。
图4是根据一示例性实施例示出的一种缓存单元的示意图。
图5是根据一示例性实施例示出的一种通过第一DMA控制器读取数据的方法流程图。
图6是根据一示例性实施例示出的一种数据传输装置的示意图。
图7是根据一示例性实施例示出的又一种数据传输***的示意图。
图8是根据一示例性实施例示出的一种电子设备的示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
目前,在驱动SPI串行LCD时,为了降低成本,通常选用MCU进行驱动控制。
当LCD需要显示特定的图像及文字时,需要生成字库,而生成字库所需的字库数据(比如图像数据等)通常有下述存储方式:
第一种方式:将字库数据存放在MCU的片内falsh中(例如图1所示)。
第二种方式:将字库数据存放在MCU的片外EEPROM中(例如图2所示)。
采用第一种方式进行存储的优点是,在LCD需要字库数据时,MCU直接将字库数据发送至LCD即可,没有MCU读取字库数据的步骤,但是其缺点是会占用MCU的内部存储空间,使得程序存储空间变小。
采用第二种方式进行存储的优点是,不会占用MCU的内部存储空间,但是其缺点是在LCD需要字库数据时,需要MCU先将字库数据从EEPROM中读取到MCU的内部RAM,然后再写到LCD上,此种方式耗时较长。
对于较高分辨率的LCD,例如分辨率为320×240的LCD,仅仅是单色屏,其显示时,一张图片的大小就有76.8k字节,如果是16位色彩屏,那么一张图片就有153.6k字节。虽然市面上有大容量RAM的MCU,但是RAM越大,MCU的成本越高,因此为了降低MCU的成本,通常采用第二种存储方式对字库数据进行存储。
但是成本较低的MCU的内存容量通常较小,通常为4k、8k、16k,而LCD的字符数据的数据长度通常大于MCU的内存容量,比如单色屏的一张图片的大小就有76.8k字节,因此,MCU在处理字符数据时通常需要对字符数据进行分块处理。
在字库数据采用第二种存储方式进行存储时,MCU对应的数据传输流程大概包括:MCU先从EEPROM读取一个数据块,然后将读取的数据块写入内部RAM,对数据块进行处理(比如数据位调整等),然后将处理后的数据块发送到LCD的显存,之后重复上述步骤,直至传输完EEPROM中待传输数据的所有数据块。
因为绝大多数EEPROM的接口是SPI,因此MCU与EEPROM、LCD的连接均为SPI(SPI是串行外设接口Serial Peripheral Interface的缩写,是一种高速的,全双工,同步的通信总线),所以MCU在EEPROM和LCD均通过硬件SPI进行数据传输,但是,虽然SPI总线速率很高,但是面对高分辨率的LCD,仅仅使用SPI去处理,通过上述处理流程可以看出,MCU会经常受到占用,只有上一个数据块处理完之后才能再处理下一个数据,这样就影响了***的运行效率,降低了数据的传输效率,同时使LCD刷新率较低。
为了解决采用上述数据传输方式对数据长度较大的数据进行传输时,存在的传输效率低的技术问题,本发明提供一种新型的数据传输方式,使用硬件SPI的DMA(DirectMemory Access,直接存储器访问)方式,利用DMA传输过程中不需要MCU参与的特性,使用对数据分块处理,同时进行数据读入和数据发送的方式处理片外字库数据的读取及字库数据写入LCD的流程。
参见图3,为本发明实施例提供的一种数据传输方法的流程图,该方法可以应用于微控制器MCU,微控制器内包含读取接口、发送接口、第一缓存单元和第二缓存单元,其中,读取接口配置有第一DMA控制器,发送接口配置有第二DMA控制器,其中DMA控制器用于实现接口的DMA 传输模式。
如图3所示,本发明实施例提供方法可以包括如下步骤:
S31. 确定外部存储设备中待传输的数据块的数量,以及各所述数据块的起始位置和数据长度,所述数据块的数据长度不大于所述第一缓存单元的容量,且不大于所述第二缓存单元的容量。
在本发明实施例中,外部存储设备通过读取接口与微控制器连接,外部存储设备中存储有待传输数据,在通过第一DMA控制器读取外部处理设备中的待传输数据块时, MCU可以将总线控制权交给第一DMA控制器。
作为一个实施例,外部存储设备可以为EEPROM。
作为一个实施例,外部存储设备中待传输数据的数据长度通常会大于第一缓存单元和第二缓存单元的容量,因此在通过第一DMA控制器读取外部存储设备中的待传输数据时,需要分块读取,即将待传输数据划分为多个待传输的数据块分别读取,因此在通过第一DMA控制器读取外部存储器中的待传输数据之前,需要先确定待传输数据可以划分出的待传输的数据块的数量,以及各待传输的数据块的起始位置和数据长度。
在本发明实施例中,可以根据外部存储设备中待传输数据的起始位置、数据长度以及第一缓存单元的容量和/或第二缓存单元的容量,来确定外部存储设备中待传输的数据块的数量,以及各待传输的数据块的起始位置和数据长度。
为了保证数据块可以成功读入第一缓存单元或第二缓存单元,优选的,数据块的长度不大于第一缓存单元的容量,也不大于第二缓存单元的容量。
作为一个实施例,若第一缓存单元和第二缓存单元的容量一致,则可以采用下述公式计算待传输的数据块的数量:
SIZE(BLOCK)=N/SIZE(RAM)
其中,对SIZE(BLOCK)向上取整得到的值表示待传输的数据块的个数,N表示待传输数据的数据长度,SIZE(RAM)表示第一缓存单元的容量,也是第二缓存单元的容量。
进一步的,可以采用下述方式确定各待传输的数据块的数据长度:
若SIZE(BLOCK)的值为整数,则各待传输的数据块的数据长度就均是SIZE(RAM),若SIZE(BLOCK)的值不为整数,则除了最后一个待传输的数据块之外的其他待传输的数据块的数据长度均是SIZE(RAM),最后一个待传输的数据块的长度就是N/SIZE(RAM)的余数,也即N% SIZE(RAM),该余数小于SIZE(RAM)。
进一步的,可以采用下述方式确定各待传输的数据块的起始位置:
将待传输数据的起始位置(为便于描述下称start)作为第一个待传输的数据块的起始位置,然后其他待传输的数据块则按照下述公式计算:
起始位置=上一个待传输的数据块的起始位置+上一个待传输的数据块的数据长度。
比如,第二个待传输的数据块的起始位置就是start+ SIZE(RAM),第三个待传输的数据块的起始位置就是start+ SIZE(RAM)+ SIZE(RAM),以此类推,即可确定所有待传输的数据块的起始位置。在确定出所述待传输的数据块的起始位置和数据长度之后,可以生成包含各待传输的数据块的起始位置和数据长度的数据表,以便第一DMA控制器可以根据该数据表对外部存储设备中的待传输的数据块进行读取。
当然,若第一缓存单元的容量和第二缓存单元的容量不一致,则只需保证待读入第一缓存单元的数据块的数据长度不大于第一缓存单元的容量,待读入第二缓存单元的数据块的数据长度不大于第二缓存单元的容量即可,至于此种场景下确定数据块数量、起始位置和数据长度的方式与上述方式类似,本实施例不再过多赘述。
S32. 基于所述数据块的起始位置和数据长度,通过第一DMA控制器将外部存储设备中的第N数据块读入第一缓存单元,其中N为大于0的整数。
其中,第N数据块就是外部存储设备中第N个待传输的数据块,其中N是大于0的整数,N的值不大于外部存储设备中待传输的数据块的数量。
具体的,第一DMA控制器在对某一待传输的数据块进行读取时,可以将上述数据表中记录的该待传输的数据块的起始地址作为该待传输的数据块的源地址,将该待传输的数据块所要读入的缓存单元(第一缓存单元或第二缓存单元)的地址作为目标地址,然后基于源地址和目标地址对该待传输的数据块进行读取。
进一步的,在N为大于1的值时,在通过第一DMA控制器将外部存储设备中的第N数据块读入第一缓存单元之前,基于之前计算得到的,外部存储设备中待传输的数据块的数量来判断外部存储设备中所有待传输的数据块是否传输完毕,若确定外部存储设备中所有待传输的数据块未传输完毕,再执行通过第一DMA控制器将外部存储设备中的第N数据块读入第一缓存单元的步骤,同理,在通过第一DMA控制器将外部存储设备中的第N+1数据块读入所述第二缓存单元之前,也基于外部存储设备中待传输的数据块的数量判断外部存储设备中所有待传输的数据块是否传输完毕,若确定外部存储设备中所有待传输的数据块未传输完毕,再执行通过第一DMA控制器将外部存储设备中的第N+1数据块读入所述第二缓存单元的步骤。
若确定外部存储设备中所有待传输的数据块已传输完毕,则第一DMA控制器释放微控制器的总线控制权,停止读取,通过上述方式可以使第一DMA控制器在确定待传输数据传输完毕后,及时释放微控制器的总线控制权,便于微控制器处理其他任务。
S33.在所述第N数据块读入所述第一缓存单元完毕后,通过所述第二DMA控制器将所述第N数据块发送至外部处理设备,并通过所述第一DMA控制器将外部存储设备中的第N+1数据块读入所述第二缓存单元。
其中,第N+1数据块,就是外部存储设备中第N+1个待传输的数据块。
由此可见,在本发明实施例中,在对第N数据块进行发送的同时还可以读取第N+1数据块,如此,则可以减少处理传输数据所需要的时间。
作为一个实施例,在将第N数据块发送至外部处理设备时,目标地址是外部处理设备的存储地址,比如若外部处理设备为LCD,则目标地址则是LCD的显存地址,而源地址,则是第N数据块在第一缓存单元中read值,read值表示第N数据块在第一缓存单元中起始位置,也即第N数据块写入第一缓存单元时的目标地址的起始位置。
S34. 在所述第N+1数据块读入所述第二缓存单元完毕后,通过所述第二DMA控制器将所述第N+1数据块发送至外部处理设备。
作为一个实施例,在将第N+1数据块发送至外部处理设备时,目标地址是外部处理设备的存储地址,比如若外部处理设备为LCD,则目标地址则是LCD的显存地址,而源地址,则是第N+1数据块在第一缓存单元中read值,read值表示第N+1数据块在第一缓存单元中起始位置,也即第N+1数据块写入第一缓存单元时的目标地址的起始位置。
本发明实施例提供的一种数据传输方法,应用于微控制器,微控制器通过读取接口配置的第一DMA控制器将外部存储设备中的第N数据块读入第一缓存单元,在读入完毕后,通过发送接口配置的第二DMA控制器将第N数据块发送至外部处理设备,同时通过第一DMA控制器将外部存储设备中的第N+1数据块读入第二缓存单元,在读入完毕之后,通过第二DMA控制器将第N+1数据块发送至外部处理设备。由此可见,本方案在对第N数据块进行发送的同时可以对第N+1数据块进行读取,相比于在一个数据块发送完毕之后再读取下一个数据块,本方案的数据传输效率更高,耗时更短。
通过上述对待传输的数据块的数据长度确定方式描述可知,在待传输数据的数据长度不是缓存单元(第一缓存单元或第二缓存单元)容量的整数倍时,会出现待传输的数据块的数据长度小于缓存单元的容量的情况,这就使得在将这类数据块读入缓存单元后,会出现缓存单元没有写满的情况,也即写入上述数据块后缓存单元中仍有剩余的容量,例如图4所示,针对这种情况,在下一次通过第一DMA控制器将其他子数据块读入该没写满的缓存单元的时候,可以将数据块拆分为两个子数据块分别写入,其中一个子数据块的数据长度与剩余容量一致,然后先将该子数据块写入该缓存单元,在该子数据块成功写入后,再将另一个子数据块写入该缓存单元。从而充分利用微控制器的内存空间。
下面以通过第一DMA控制器将外部存储设备中的第N数据块,读入第一缓存单元为例,对读入过程进行描述,如图5所示,可以包括如下步骤:
S51.确定第一缓存单元的剩余容量。
作为一个实施例,可以通过read确定第一缓存单元的剩余容量,read用来记录从外部存储设备读入第一缓存单元的数据在第一缓存单元中的起始位置,初始化时read指向第一缓存单元的第一个字节。
read的值可通过read=read%SIZE(RAM)计算,其中SIZE(RAM)表示第一缓存单元的容量,根据上述公式read的值会由于读入的数据增多而增加,即使超过第一缓存单元的容量,也可用上述公式计算read的值,第一缓存单元的剩余容量则可以通过SIZE(RAM)-read%SIZE(RAM)计算。
S52.判断剩余容量是否小于第N数据块的数据长度,如否,则执行S53,若是,则执行S54。
S53.通过第一DMA控制器将整个第N数据块读入第一缓存单元。
在本发明实施例中,将将第N数据块读入第一缓存单元时,源地址就是第N数据块的起始位置,读取的数据长度就是第N数据块的数据长度,若read%SIZE(RAM)的值为0,则目标地址的起始位置就是第一缓存单元的第一个字节,若read%SIZE(RAM)的值不为0,则目标地址的起始位置就是SIZE(RAM)-read%SIZE(RAM)。
S54.通过第一DMA控制器将第N数据块中数据长度与剩余容量一致的子数据块读入第一缓存单元,在所述子数据块读入第一缓存单元完毕后,通过第一DMA控制器将第N数据块中除该子数据块之外的其他子数据块读入第一缓存单元。
作为一个实施例,通过第一DMA控制器将第N数据块中数据长度与剩余容量一致的子数据块读入第一缓存单元,可以包括:
将第N数据块对应的起始位置作为所述子数据块的起始位置,并将剩余容量作为所述子数据块的数据长度,然后通过所述第一DMA控制器根据所述子数据块的起始位置和数据长度,将所述第N数据块中的所述子数据块读入第一缓存单元。
进一步的,因为第N数据块的长度不大于第一缓存单元的容量,所以若第一缓存单元的剩余容量小于第N数据块的数据长度,则说明read%SIZE(RAM)不是0,因此在将上述子数据块读入第一缓存单元时,其目标地址的起始位置就是SIZE(RAM)-read%SIZE(RAM),而在将其他子数据块写入第一缓存单元时,目标地址的起始位置就是第一缓存单元的第一字节。
同理,将其他待传输的数据块写入第二缓存单元时,也会执行上述类似的过程,只是将第N数据块替换为其他子数据块,将第一缓存单元替换为第二缓存单元,比如,在通过第一DMA控制器将外部存储设备中的第N+1数据块读入第二缓存单元时:
确定第二缓存单元的剩余容量;
判断剩余容量是否小于第N+1数据块的数据长度;
若确定剩余容量不小于所述第N+1数据块的数据长度,则通过第一DMA控制器将整个所述第N+1 数据块读入第二缓存单元;
若确定剩余容量小于第N+1数据块的数据长度,则通过第一DMA控制器将第N+1数据块中数据长度与剩余容量一致的子数据块读入第二缓存单元,在子数据块读入第二缓存单元完毕后,通过第一DMA控制器将第N+1数据块中除子数据块之外的其他子数据块读入第二缓存单元。
具体实现可参见对S51-S54的描述,此处不再赘述。
在本发明实施例中,通过上述方式进行数据的读取,可以充分利用微控制器的内存空间,避免了内存空间的浪费。
进一步的,在将待处理数据拆分为多个待处理的数据块读入缓存单元,以及将待处理的数据块分两次读入缓存单元的情况下,都有可能会出现数据位错乱的情况,因此,在通过第二DMA控制器将待传输的数据块发送至外部处理设备之前,还可以根据预设的处理逻辑对待传输的数据块进行数据位调整,以保证数据的准确性。
参见图6,为本发明另一实施例提供的一种数据传输装置的示意图,该数据传输装置应用于微控制器,所述微控制器内包含读取接口、发送接口、第一缓存单元和第二缓存单元,所述读取接口配置有第一DMA控制器,所述发送接口配置有第二DMA控制器,所述装置包括:
确定模块601,用于确定外部存储设备中待传输的数据块的数量,以及各所述数据块的起始位置和数据长度,所述数据块的数据长度不大于所述第一缓存单元的容量,且不大于所述第二缓存单元的容量;
读取控制模块602,用于基于所述数据块的起始位置和数据长度,通过所述第一DMA控制器将外部存储设备中的第N数据块读入所述第一缓存单元,其中N为大于0的整数;
发送控制模块603,用于在所述第N数据块读入所述第一缓存单元完毕后,通过所述第二DMA控制器将所述第N数据块发送至外部处理设备;
所述读取控制模块602,还用于在所述第N数据块读入所述第一缓存单元完毕后,通过所述第一DMA控制器将外部存储设备中的第N+1数据块读入所述第二缓存单元;
所述发送控制模块603,还用于在所述第N+1数据块读入所述第二缓存单元完毕后,通过所述第二DMA控制器将所述第N+1数据块发送至外部处理设备。
作为一个实施例,所述第一缓存单元的容量与所述第二缓存单元的容量一致,所述确定模块601具体用于:
基于所述外部存储设备中待传输数据对应的起始位置和数据长度,以及所述第一缓存单元或所述第二缓存单元的容量,确定所述外部存储设备中待传输的数据块的数量,以及各待传输的数据块的起始位置和数据长度。
作为一个实施例,所述读取控制模块602还用于:
在通过所述第一DMA控制器将外部存储设备中的第N数据块读入所述第一缓存单元之前,基于所述外部存储设备中待传输的数据块的数量判断所述外部存储设备中所有待传输的数据块是否传输完毕;
若确定所述外部存储设备中所有待传输的数据块未传输完毕,则执行通过所述第一DMA控制器将外部存储设备中的第N数据块读入所述第一缓存单元的步骤;
在通过所述第一DMA控制器将外部存储设备中的第N+1数据块读入所述第二缓存单元之前,基于所述外部存储设备中待传输的数据块的数量判断所述外部存储设备中所有待传输的数据块是否传输完毕;
若确定所述外部存储设备中所有待传输的数据块未传输完毕,则执行通过所述第一DMA控制器将外部存储设备中的第N+1数据块读入所述第二缓存单元的步骤。
作为一个实施例,所述通过所述第一DMA控制器将外部存储设备中的第N数据块读入所述第一缓存单元,包括:
确定所述第一缓存单元的剩余容量;
判断所述剩余容量是否小于所述第N数据块的数据长度;
若确定所述剩余容量不小于所述第N数据块的数据长度,则通过所述第一DMA控制器将整个所述第N 数据块读入所述第一缓存单元;
若确定所述剩余容量小于所述第N数据块的数据长度,则通过所述第一DMA控制器将所述第N数据块中数据长度与所述剩余容量一致的子数据块读入所述第一缓存单元,在所述子数据块读入所述第一缓存单元完毕后,通过所述第一DMA控制器将所述第N数据块中除所述子数据块之外的其他子数据块读入所述第一缓存单元。
作为一个实施例,所述通过所述第一DMA控制器将所述第N数据块中数据长度与所述剩余容量一致的子数据块读入所述第一缓存单元,包括:
将所述第N数据块对应的起始位置作为所述子数据块的起始位置,并将所述剩余容量作为所述子数据块的数据长度;
通过所述第一DMA控制器根据所述子数据块的起始位置和数据长度,将所述第N数据块中的所述子数据块读入所述第一缓存单元。
作为一个实施例,所述通过所述第一DMA控制器将外部存储设备中的第N+1数据块读入所述第二缓存单元,包括:
确定所述第二缓存单元的剩余容量;
判断所述剩余容量是否小于所述第N+1数据块的数据长度;
若确定所述剩余容量不小于所述第N+1数据块的数据长度,则通过所述第一DMA控制器将整个所述第N+1 数据块读入所述第二缓存单元;
若确定所述剩余容量小于所述第N+1数据块的数据长度,则通过所述第一DMA控制器将所述第N+1数据块中数据长度与所述剩余容量一致的子数据块读入所述第二缓存单元,在所述子数据块读入所述第二缓存单元完毕后,通过所述第一DMA控制器将所述第N+1数据块中除所述子数据块之外的其他子数据块读入所述第二缓存单元。
作为一个实施例,所述通过所述第一DMA控制器将所述第N+1数据块中数据长度与所述剩余容量一致的子数据块读入所述第二缓存单元,包括:
将所述第N+1数据块对应的起始位置作为所述子数据块的起始位置,并将所述剩余容量作为所述子数据块的数据长度;
通过所述第一DMA控制器根据所述子数据块的起始位置和数据长度,将所述第N+1数据块中的所述子数据块读入所述第二缓存单元。
参见图7,为本发明另一实施例提供的一种数据传输***,该数据传输***应用于显示设备驱动场景,如图7所示,该装置可以包括外部存储设备、显示设备和实现上述任一实施例所述的数据传输方法的微控制器,所述微控制器通过读取接口与外部存储设备连接,以读取外部存储设备中的数据;所述微控制器通过发送接口与显示设备连接,以向显示设备发送数据,其中读取接口和发送接口均为DMA模式下的SPI,其中外部存储设备可以为EEPROM,显示设备可以为LCD。
请参阅图8,图8是本申请的另一实施例提供的一种电子设备的结构示意图。
如图8所示,本实施例提供的电子设备包括:至少一个处理器801、存储器802、至少一个网络接口803和其他用户接口804。电子设备800中的各个组件通过总线***805耦合在一起。可理解,总线***805用于实现这些组件之间的连接通信。总线***805除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图8中将各种总线都标为总线***805。
其中,用户接口804可以包括显示器、键盘或者点击设备(例如,鼠标,轨迹球(trackball)、触感板或者触摸屏等。
可以理解,本发明实施例中的存储器802可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-OnlyMemory,ROM)、可编程只读存储器 (ProgrammableROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(ElectricallyEPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(RandomAccessMemory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(StaticRAM,SRAM)、动态随机存取存储器(DynamicRAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data RateSDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambus RAM,DRRAM)。本文描述的存储器802旨在包括但不限于这些和任意其它适合类型的存储器。
在一些实施方式中,存储器802存储了如下的元素,可执行单元或者数据结构,或者他们的子集,或者他们的扩展集:操作***8021和应用程序8022。
其中,操作***8021,包含各种***程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序8022,包含各种应用程序,例如媒体播放器(Media Player)、浏览器(Browser)等,用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序8022中。
在本发明实施例中,通过调用存储器802存储的程序或指令,具体的,可以是应用程序8022中存储的程序或指令,处理器801用于执行各方法实施例所提供的方法步骤,例如包括:
确定外部存储设备中待传输的数据块的数量,以及各所述数据块的起始位置和数据长度,所述数据长度不大于所述第一缓存单元的容量,且不大于所述第二缓存单元的容量;
基于所述数据块的起始位置和数据长度,通过所述第一DMA控制器将外部存储设备中的第N数据块读入所述第一缓存单元,其中N为大于0的整数;
在所述第N数据块读入所述第一缓存单元完毕后,通过所述第二DMA控制器将所述第N数据块发送至外部处理设备,并通过所述第一DMA控制器将外部存储设备中的第N+1数据块读入所述第二缓存单元;
在所述第N+1数据块读入所述第二缓存单元完毕后,通过所述第二DMA控制器将所述第N+1数据块发送至外部处理设备。
上述本发明实施例揭示的方法可以应用于处理器801中,或者由处理器801实现。处理器801可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器801中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器801可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(FieldProgrammable Gate Array, FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件单元组合执行完成。软件单元可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器802,处理器801读取存储器802中的信息,结合其硬件完成上述方法的步骤。
可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(ApplicationSpecific Integrated Circuits,ASIC)、数字信号处理器(Digital Signal Processing,DSP)、数字信号处理设备(DSPDevice,DSPD)、可编程逻辑设备(Programmable LogicDevice,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请功能的其它电子单元或其组合中。
对于软件实现,可通过执行本文功能的单元来实现本文的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
本发明实施例还提供了一种存储介质(计算机可读存储介质)。这里的存储介质存储有一个或者多个程序。其中,存储介质可以包括易失性存储器,例如随机存取存储器;存储器也可以包括非易失性存储器,例如只读存储器、快闪存储器、硬盘或固态硬盘;存储器还可以包括上述种类的存储器的组合。
当存储介质中一个或者多个程序可被一个或者多个处理器执行,以实现上述在电子设备侧执行的数据传输方法。
处理器用于执行存储器中存储的数据传输程序,以实现以下在电子设备侧执行的数据传输方法的步骤:
所述微控制器通过所述第一DMA控制器将外部存储设备中的第N数据块读入所述第一缓存单元,其中N为大于0的整数;
在所述第N数据块读入所述第一缓存单元完毕后,通过所述第二DMA控制器将所述第N数据块发送至外部处理设备,并通过所述第一DMA控制器将外部存储设备中的第N+1数据块读入所述第二缓存单元;
在所述第N+1数据块读入所述第二缓存单元完毕后,通过所述第二DMA控制器将所述第N+1数据块发送至外部处理设备。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行***执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (11)
1.一种数据传输方法,其特征在于,应用于微控制器,所述微控制器内包含读取接口、发送接口、第一缓存单元和第二缓存单元,所述读取接口配置有第一DMA控制器,所述发送接口配置有第二DMA控制器,所述方法包括:
确定外部存储设备中待传输的数据块的数量,以及各所述数据块的起始位置和数据长度,所述数据块的数据长度不大于所述第一缓存单元的容量,且不大于所述第二缓存单元的容量;
基于所述数据块的起始位置和数据长度,通过所述第一DMA控制器将外部存储设备中的第N数据块读入所述第一缓存单元,其中N为大于0的整数;
在所述第N数据块读入所述第一缓存单元完毕后,通过所述第二DMA控制器将所述第N数据块发送至外部处理设备,并通过所述第一DMA控制器将外部存储设备中的第N+1数据块读入所述第二缓存单元;
在所述第N+1数据块读入所述第二缓存单元完毕后,通过所述第二DMA控制器将所述第N+1数据块发送至外部处理设备。
2.根据权利要求1所述的方法,其特征在于,所述第一缓存单元的容量与所述第二缓存单元的容量一致,所述确定外部存储设备中待传输的数据块的数量,以及各所述数据块的起始位置和数据长度,包括:基于所述外部存储设备中待传输数据对应的起始位置和数据长度,以及所述第一缓存单元或所述第二缓存单元的容量,确定所述外部存储设备中待传输的数据块的数量,以及各所述数据块的起始位置和数据长度。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在通过所述第一DMA控制器将外部存储设备中的第N数据块读入所述第一缓存单元之前,基于所述外部存储设备中待传输的数据块的数量判断所述外部存储设备中所有待传输的数据块是否传输完毕;
若确定所述外部存储设备中所有待传输的数据块未传输完毕,则执行通过所述第一DMA控制器将外部存储设备中的第N数据块读入所述第一缓存单元的步骤;
在通过所述第一DMA控制器将外部存储设备中的第N+1数据块读入所述第二缓存单元之前,基于所述外部存储设备中待传输的数据块的数量判断所述外部存储设备中所有待传输的数据块是否传输完毕;
若确定所述外部存储设备中所有待传输的数据块未传输完毕,则执行通过所述第一DMA控制器将外部存储设备中的第N+1数据块读入所述第二缓存单元的步骤。
4.根据权利要求1所述的方法,其特征在于,所述通过所述第一DMA控制器将外部存储设备中的第N数据块读入所述第一缓存单元,包括:
确定所述第一缓存单元的剩余容量;
判断所述剩余容量是否小于所述第N数据块的数据长度;
若确定所述剩余容量不小于所述第N数据块的数据长度,则通过所述第一DMA控制器将整个所述第N数据块读入所述第一缓存单元;
若确定所述剩余容量小于所述第N数据块的数据长度,则通过所述第一DMA控制器将所述第N数据块中数据长度与所述剩余容量一致的子数据块读入所述第一缓存单元,在所述子数据块读入所述第一缓存单元完毕后,通过所述第一DMA控制器将所述第N数据块中除所述子数据块之外的其他子数据块读入所述第一缓存单元。
5.根据权利要求4所述的方法,其特征在于,所述通过所述第一DMA控制器将所述第N数据块中数据长度与所述剩余容量一致的子数据块读入所述第一缓存单元,包括:
将所述第N数据块对应的起始位置作为所述子数据块的起始位置,并将所述剩余容量作为所述子数据块的数据长度;
通过所述第一DMA控制器根据所述子数据块的起始位置和数据长度,将所述第N数据块中的所述子数据块读入所述第一缓存单元。
6.根据权利要求1所述的方法,其特征在于,所述通过所述第一DMA控制器将外部存储设备中的第N+1数据块读入所述第二缓存单元,包括:
确定所述第二缓存单元的剩余容量;
判断所述剩余容量是否小于所述第N+1数据块的数据长度;
若确定所述剩余容量不小于所述第N+1数据块的数据长度,则通过所述第一DMA控制器将整个所述第N+1数据块读入所述第二缓存单元;
若确定所述剩余容量小于所述第N+1数据块的数据长度,则通过所述第一DMA控制器将所述第N+1数据块中数据长度与所述剩余容量一致的子数据块读入所述第二缓存单元,在所述子数据块读入所述第二缓存单元完毕后,通过所述第一DMA控制器将所述第N+1数据块中除所述子数据块之外的其他子数据块读入所述第二缓存单元。
7.根据权利要求6所述的方法,其特征在于,所述通过所述第一DMA控制器将所述第N+1数据块中数据长度与所述剩余容量一致的子数据块读入所述第二缓存单元,包括:
将所述第N+1数据块对应的起始位置作为所述子数据块的起始位置,并将所述剩余容量作为所述子数据块的数据长度;
通过所述第一DMA控制器根据所述子数据块的起始位置和数据长度,将所述第N+1数据块中的所述子数据块读入所述第二缓存单元。
8.一种数据传输装置,其特征在于,应用于微控制器,所述微控制器内包含读取接口、发送接口、第一缓存单元和第二缓存单元,所述读取接口配置有第一DMA控制器,所述发送接口配置有第二DMA控制器,所述装置包括:
确定模块,用于确定外部存储设备中待传输的数据块的数量,以及各所述数据块的起始位置和数据长度,所述数据块的数据长度不大于所述第一缓存单元的容量,且不大于所述第二缓存单元的容量;
读取控制模块,用于基于所述数据块的起始位置和数据长度,通过所述第一DMA控制器将外部存储设备中的第N数据块读入所述第一缓存单元,其中N为大于0的整数;
发送控制模块,用于在所述第N数据块读入所述第一缓存单元完毕后,通过所述第二DMA控制器将所述第N数据块发送至外部处理设备;
所述读取控制模块,还用于在所述第N数据块读入所述第一缓存单元完毕后,通过所述第一DMA控制器将外部存储设备中的第N+1数据块读入所述第二缓存单元;
所述发送控制模块,还用于在所述第N+1数据块读入所述第二缓存单元完毕后,通过所述第二DMA控制器将所述第N+1数据块发送至外部处理设备。
9.一种数据传输***,其特征在于,包括外部存储设备、显示设备和实现权利要求1-7任一所述的数据传输方法的微控制器;
所述微控制器通过所述读取接口与所述外部存储设备连接;
所述微控制器通过所述发送接口与所述显示设备连接。
10.一种电子设备,其特征在于,包括:处理器和存储器,所述处理器用于执行所述存储器中存储的数据传输程序,以实现权利要求1-7任一所述的数据传输方法。
11.一种存储介质,其特征在于,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现权利要求1-7任一所述的数据传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110781546.5A CN113238977A (zh) | 2021-07-12 | 2021-07-12 | 数据传输方法、装置、***、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110781546.5A CN113238977A (zh) | 2021-07-12 | 2021-07-12 | 数据传输方法、装置、***、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113238977A true CN113238977A (zh) | 2021-08-10 |
Family
ID=77135223
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110781546.5A Pending CN113238977A (zh) | 2021-07-12 | 2021-07-12 | 数据传输方法、装置、***、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113238977A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114328320A (zh) * | 2021-12-30 | 2022-04-12 | 北京航天测控技术有限公司 | 一种dma数据传输方法、装置及*** |
CN114415935A (zh) * | 2021-12-02 | 2022-04-29 | 深圳市乐升半导体有限公司 | 数据传输芯片、方法和电子设备 |
CN115080453A (zh) * | 2022-07-20 | 2022-09-20 | 井芯微电子技术(天津)有限公司 | 地址计算阵列管理方法及*** |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1199197A (zh) * | 1997-05-12 | 1998-11-18 | 莱克斯马克国际公司 | 一种打印设备和打印方法 |
US6363428B1 (en) * | 1999-02-01 | 2002-03-26 | Sony Corporation | Apparatus for and method of separating header information from data in an IEEE 1394-1995 serial bus network |
CN106034084A (zh) * | 2015-03-16 | 2016-10-19 | 华为技术有限公司 | 一种数据传输方法及装置 |
CN112131164A (zh) * | 2020-09-23 | 2020-12-25 | 山东云海国创云计算装备产业创新中心有限公司 | 应用于加速板卡的数据调度方法、装置及加速板卡和介质 |
CN112799726A (zh) * | 2021-01-26 | 2021-05-14 | 上海寒武纪信息科技有限公司 | 数据处理装置、方法及相关产品 |
-
2021
- 2021-07-12 CN CN202110781546.5A patent/CN113238977A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1199197A (zh) * | 1997-05-12 | 1998-11-18 | 莱克斯马克国际公司 | 一种打印设备和打印方法 |
US6363428B1 (en) * | 1999-02-01 | 2002-03-26 | Sony Corporation | Apparatus for and method of separating header information from data in an IEEE 1394-1995 serial bus network |
CN106034084A (zh) * | 2015-03-16 | 2016-10-19 | 华为技术有限公司 | 一种数据传输方法及装置 |
CN112131164A (zh) * | 2020-09-23 | 2020-12-25 | 山东云海国创云计算装备产业创新中心有限公司 | 应用于加速板卡的数据调度方法、装置及加速板卡和介质 |
CN112799726A (zh) * | 2021-01-26 | 2021-05-14 | 上海寒武纪信息科技有限公司 | 数据处理装置、方法及相关产品 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114415935A (zh) * | 2021-12-02 | 2022-04-29 | 深圳市乐升半导体有限公司 | 数据传输芯片、方法和电子设备 |
CN114415935B (zh) * | 2021-12-02 | 2024-03-12 | 深圳市乐升半导体有限公司 | 数据传输芯片、方法和电子设备 |
CN114328320A (zh) * | 2021-12-30 | 2022-04-12 | 北京航天测控技术有限公司 | 一种dma数据传输方法、装置及*** |
CN115080453A (zh) * | 2022-07-20 | 2022-09-20 | 井芯微电子技术(天津)有限公司 | 地址计算阵列管理方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113238977A (zh) | 数据传输方法、装置、***、电子设备及存储介质 | |
US10002085B2 (en) | Peripheral component interconnect (PCI) device and system including the PCI | |
US7555629B2 (en) | Memory card providing hardware acceleration for read operations | |
JP4628750B2 (ja) | バッファメモリを内蔵したフラッシュメモリ装置及びフラッシュメモリシステム | |
JP5090819B2 (ja) | メモリーカード及び該データ格納方法 | |
US8307168B2 (en) | Integrated memory control apparatus and method thereof | |
US8127072B2 (en) | Data storage device and method for accessing flash memory | |
US20170024162A1 (en) | Computing system and data transferring method thereof | |
US7725621B2 (en) | Semiconductor device and data transfer method | |
CN112199040B (zh) | 存储访问方法及智能处理装置 | |
KR20140117692A (ko) | 프레임의 활성 영역들만을 페칭하기 위한 사용자 인터페이스 유닛 | |
US8200911B2 (en) | Device having shared memory and method for controlling shared memory | |
KR100625811B1 (ko) | 코드 데이터 에러 정정 방법 및 장치 | |
US20090187699A1 (en) | Non-volatile memory storage system and method for reading an expansion read only memory image thereof | |
US8266417B2 (en) | Device having shared memory and method for transferring code data | |
CN115587076A (zh) | 数据解压***、图形处理***、组件、设备及解压方法 | |
US20100002099A1 (en) | Method and apparatus for sharing memory | |
US10146553B2 (en) | Electronic apparatus and booting method thereof | |
US7861007B2 (en) | Method and apparatus for multimedia display in a mobile device | |
JP2004246889A (ja) | シーケンシャルバッファを内蔵してdspのデータアクセス性能を向上させるコンピュータシステム及びそのコンピュータシステムのアクセス方法 | |
KR20110073815A (ko) | 촬상 장치 및 이미지 회전 처리 방법 | |
US7380075B2 (en) | System and method for supporting variable-width memory accesses | |
KR100743258B1 (ko) | 코드 데이터 에러 정정 방법 및 장치 | |
US20030149804A1 (en) | Interface circuit and semiconductor device | |
CN113806288A (zh) | 适用于SoC内核之间的数据交互方法、装置及电子设备 |
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: 20210810 |
|
RJ01 | Rejection of invention patent application after publication |