用于循环缓冲的数据传输装置和方法与流程

摘要: 本发明的实施例主要有关于一直接存储器存取(directmemoryaccess,dma)技术,特别有关于用于循环缓冲(circularbuffer)的直接存储器...
用于循环缓冲的数据传输装置和方法与流程

本发明的实施例主要有关于一直接存储器存取(direct memory access,dma)技术,特别有关于用于循环缓冲(circular buffer)的直接存储器存取技术。

背景技术:

1、周边装置直接存储器存取(peripheral direct memory access,pdma)技术被广泛应用在单芯片系统(system on a chip,soc)中,以降低中央处理器在处理周边装置和系统存储器间的数据传输的负载。周边装置直接存储器存取可具有多个通道(multiplechannels)。每个通道可独立传输数据,且不会相互沟通。也就是说,每个通道会根据各自对应的描述符表格串(descriptor table list),来进行数据传输。

2、循环缓冲器(circular buffer )是软件常用数据结构。在多执行绪(multi-thread) 执行环境下,若循环缓冲器被不同执行绪存取,为了可以执行绪安全(thread-safe),会在循环缓冲器进行原子操作 (atomic operation)。

3、如何将多通道的直接存储器存取操作结合循环缓冲器,将是个值得研究的课题。

技术实现思路

1、有鉴于上述先前技术的问题,本发明的实施例提供了一种数据传输装置和方法。

2、根据本发明的一实施例提供了一种用于循环缓冲的数据传输装置。上述用于循环缓冲的数据传输装置可包括一循环缓冲器和一控制器。控制器可耦接循环缓冲器。控制器可具有一输入直接存储器存取通道和多个输出直接存储器存取通道。控制器可根据一循环缓冲器描述符表格串 ,经由输入直接存储器存取通道和多个输出直接存储器存取通道,控制循环缓冲器的读取操作和写入操作。

3、根据本发明一些实施例,循环缓冲器描述符表格串的每一描述符表格包括一来源地址信息、一目的地址信息、一下一描述符表格信息、一传输类型和数据信息。

4、根据本发明一些实施例,循环缓冲器描述符表格串的每一描述符表格对应上述循环缓冲器一或多个储存空间。

5、根据本发明一些实施例,当上述输入直接存储器存取通道完成上述循环缓冲器描述符表格串的一描述符表格对应的写入操作后,上述输入直接存储器存取通道通知所有在一闲置状态的上述输出直接存储器存取通道,上述描述符表格对应的写入操作已完成。

6、根据本发明一些实施例,当上述输入直接存储器存取通道完成上述描述符表格对应的写入操作,且上述循环缓冲器已无可写入的空间时,上述输入直接存储器存取通道进入一闲置状态。

7、根据本发明一些实施例,当上述多个输出直接存储器存取通道额一个完成上述循环缓冲器描述符表格串的一描述符表格对应的读取操作后,上述输出直接存储器存取通道通知上述输入直接存储器存取通道,上述描述符表格对应的读取操作已完成。

8、根据本发明一些实施例,当上述输出直接存储器存取通道完成上述描述符表格对应的读取操作,且上述循环缓冲器已无未读取的数据时,上述输出直接存储器存取通道进入一闲置状态。

9、根据本发明的一实施例提供了一种用于循环缓冲的数据传输方法。上述用于循环缓冲的数据传输方法可适用一数据传输装置。上述用于循环缓冲的直接存储器存取方法可包括底下步骤。借由上述数据传输装置的一控制器,从多个直接存储器存取通道选取一输入直接存储器存取通道和多个输出直接存储器存取通道;以及借由上述控制器根据一循环缓冲器描述符表格串 ,经由上述输入直接存储器存取通道和上述多个输出直接存储器存取通道,控制上述数据传输装置的一循环缓冲器的读取操作和写入操作。

10、关于本发明其他附加的特征与优点,本领域技术人员,在不脱离本发明的精神和范围内,当可根据本发明实施方法中所揭露用于循环缓冲的数据传输装置和方法,做些许的更动与润饰而得到。

1.一种用于循环缓冲的数据传输装置,其特征在于,包括:

2.如权利要求1所述的用于循环缓冲的数据传输装置,其特征在于,上述循环缓冲器描述符表格串的每一描述符表格包括一来源地址信息、一目的地址信息、一下一描述符表格信息、一传输类型和数据信息。

3.如权利要求1所述的用于循环缓冲的数据传输装置,其特征在于,当上述输入直接存储器存取通道完成上述循环缓冲器描述符表格串的一描述符表格对应的写入操作后,上述输入直接存储器存取通道通知所有在一闲置状态的上述输出直接存储器存取通道,上述描述符表格对应的写入操作已完成。

4.如权利要求3所述的用于循环缓冲的数据传输装置,其特征在于,当上述输入直接存储器存取通道完成上述描述符表格对应的写入操作,且上述循环缓冲器已无写入的空间时,上述输入直接存储器存取通道进入上述闲置状态。

5.如权利要求1所述的用于循环缓冲的数据传输装置,其特征在于,当上述多个输出直接存储器存取通道的一个完成上述循环缓冲器描述符表格串的一描述符表格对应的读取操作后,上述输出直接存储器存取通道通知上述输入直接存储器存取通道,上述描述符表格对应的读取操作已完成。

6.如权利要求5所述的用于循环缓冲的数据传输装置,其特征在于,当上述输出直接存储器存取通道完成上述描述符表格对应的读取操作,且上述循环缓冲器已无未读取的数据时,上述多个输出直接存储器存取通道进入一闲置状态。

7.一种用于循环缓冲的数据传输方法,其特征在于,适用一数据传输装置,包括:

8.如权利要求7所述的用于循环缓冲的数据传输方法,其特征在于,更包括:

9.如权利要求7所述的用于循环缓冲的数据传输方法,其特征在于,更包括:

10.如权利要求9所述的用于循环缓冲的数据传输方法,其特征在于,更包括: