用于自动直接存储器访问数据格式化的硬件系统技术方案

技术编号:37252655 阅读:15 留言:0更新日期:2023-04-20 23:30
本申请公开了用于自动直接存储器访问数据格式化的硬件系统。一种硬件直接存储器访问控制器(600)包括:输入端口(610),其被配置为从电子设备接收数据以用于直接存储器访问传输;输出端口(630),其被配置为提供数据用于直接存储器访问;以及公开了处理电路(620))。处理电路(620)被配置为经由输入端口(610)从电子设备接收包括报头和有效载荷的数据,解析报头以确定包括事务长度和输入数据格式的数据参数,并至少部分基于数据参数选择数据的目标目的地。处理电路还被配置为至少部分地基于事务长度分配在目标目的地内的存储器,并且至少部分地基于数据参数来格式化有效载荷以用于直接存储器访问,并且使用直接存储器访问经由输出端口(630)传输格式化的有效载荷以存储在目标目的地内的分配的存储器内。目标目的地内的分配的存储器内。目标目的地内的分配的存储器内。

【技术实现步骤摘要】
用于自动直接存储器访问数据格式化的硬件系统


技术介绍

[0001]直接存储器访问(DMA)用于直接传输数据,而无需中央处理单元(CPU)内核的干预。为了使此传输正常运行,需要在数据传输之前正确配置DMA通道。
[0002]通常,当将协议应用于输入数据时,在CPU上运行的软件会解析协议的报头,提取输入数据的有效载荷,对数据进行转码,执行任何必要的数据操纵,并将输入数据传输到目的地存储器内的适当位置。
[0003]软件通常事先不知道输入数据的长度或量,因此软件(通常在中断请求(IRQ)例程中)必须解析它,然后相应地设置和执行作业。
[0004]这个解析、转码和数据操纵的过程需要在硬件物理接口和软件之间的大量交互。这需要对数据进行实时处理,消耗CPU处理时间,并且需要使用大的硬件先进先出(FIFO)存储器,以便在不丢失数据的情况下保持物理接口数据流。

技术实现思路

[0005]在一个实施方式中,提供一种硬件直接存储器访问控制器。硬件直接存储器访问控制器包括输入端口,其被配置为从电子设备接收数据以用于直接存储器访问;输出端口,其被配置为提供数据用于直接存储器访问传输;以及处理电路,其与输入端口和输出端口耦合。
[0006]处理电路被配置为经由输入端口从电子设备接收包括报头和有效载荷的数据,解析报头以确定包括事务长度和输入数据格式的数据参数,并至少基于部分基于数据参数选择数据的目标目的地。
[0007]处理电路还被配置为至少部分地基于事务长度在目标目的地内分配存储器,并且至少部分地基于数据参数格式化有效载荷以用于直接存储器访问。处理电路还被配置为使用直接存储器访问经由输出端口传输格式化的有效载荷以存储在目标目的地内的分配存储器内。
[0008]在另一个实施方式中,提供了一种用于操作硬件直接存储器访问控制器的方法。该方法包括经由输入端口从电子设备接收包括报头和有效载荷的数据,解析报头以确定包括事务长度和输入数据格式的数据参数,以及至少部分地基于数据参数选择数据的目标目的地。
[0009]该方法还包括至少部分地基于事务长度在目标目的地内分配存储器,至少部分地基于数据参数格式化有效载荷用于直接存储器访问,以及使用直接存储器访问经由输出端口传输格式化的有效载荷以存储在目标目的地内的分配存储器内。
[0010]在进一步的实施方式中,提供了一种电子设备。电子设备包括输入/输出端口,其被配置为在电子设备和外部电子设备之间传输数据;存储器,其被配置为存储从外部电子设备接收的数据;以及硬件直接存储器访问控制器,其与输入/输出端口和存储器耦合。
[0011]硬件直接存储器访问控制器被配置为经由输入/输出端口从外部电子设备接收包括报头和有效载荷的数据,解析报头以确定包括事务长度和输入数据格式的数据参数,并且至少部分地基于数据参数在存储器内选择数据的目标目的地。
[0012]硬件直接存储器访问控制器还被配置为至少部分地基于事务长度在目标目的地内分配存储器,至少部分地基于数据参数格式化有效载荷以用于直接存储器访问,并且使用直接存储器访问经由输入/输出端口传输格式化的有效载荷以存储在存储器中。
附图说明
[0013]参考以下附图可以更好地理解本公开的许多方面。尽管结合这些附图描述了若干实施方式,但本公开不限于本文所公开的实施方式。相反,其目的是涵盖所有替代方案、修改和等价物。
[0014]图1图示了用于传输数据的包括硬件DMA数据控制器的系统的示例实施例。
[0015]图2图示了用于传输数据的包括硬件DMA数据控制器的系统的另一个示例实施例。
[0016]图3图示了用于传输数据的包括硬件DMA数据控制器的系统的另一个示例实施例。
[0017]图4图示了两种不同数据格式的示例数据格式化。
[0018]图5图示了用于操作硬件DMA控制器的示例方法。
[0019]图6图示了电子设备内的硬件DMA控制器的示例实施例。
具体实施方式
[0020]在当前复杂的电子设备(诸如片上系统(SoC)设备)中,微控制器(MCU)用于管理设备内的任何直接存储器访问(DMA)操作。MCU为DMA操作生成作业描述符,描述数据有效载荷和存储器中的位置,以便在存储操作中存储数据,或在读取操作中读取数据。FIFO用作外围设备和内部存储器访问之间的抖动缓冲器。
[0021]对于发射操作,DMA或MCU将数据复制到FIFO,并且外围设备从FIFO复制数据并通过接口(例如串行外围设备接口(SPI)、安全数字输入输出(SDIO)、通用异步接收器

发射器(UART)等)传输它。对于接收操作,外围设备从接口接收数据并将其存储在FIFO中。然后MCU或DMA模块将数据复制到储存存储器。FIFO的这种操作克服了抖动,并允许MCU或DMA模块间隔工作。
[0022]通过将所需的DMA管理操作从MCU传输到设备内的专用硬件DMA模块,MCU可用于处理不涉及DMA例程的其它指令,从而导致提高MCU效率。
[0023]图1图示了用于传输数据的包括硬件DMA数据控制器140的系统100的示例实施例。在本专利技术的该示例实施例中,电子系统100包括主机微控制器110和片上系统120。这里主机微控制器110和片上系统120二者是在整个电子系统内操作的电子设备的具体示例。其它示例实施例包含所有在本专利技术的范围内的其它电子设备。
[0024]在该示例实施例中,微控制器130、硬件DMA控制器140、串行接口150、RAM存储器160和总线121包括片上系统(SoC)120。在该示例实施例中,串行接口150还包括发射FIFO152和接收FIFO154。
[0025]串行接口150通过物理接口122与主机微控制器110通信。微控制器130、硬件DMA控制器140、串行接口150和RAM存储器160通过总线121相互通信。在该示例实施例中,与总线
121耦合的模块是启动器模块或目标模块。启动器模块是总线上能够发起事务的节点。微控制器130是启动器,而串行接口150是目标。这意味着微控制器130能够访问串行接口150并从其读取数据或将数据写入其中。
[0026]硬件DMA控制器140既作为启动器又作为目标来运行。它作为目标运行以允许微控制器130控制和设置作业,并且作为启动器运行以便从串行接口150内的接收FIFO154读取数据并将该数据复制到RAM存储器160。它还作为启动器运行,以便从RAM存储器160读取数据并将该数据复制到串行接口150内的发射FIFO152中。
[0027]注意,图1是片上系统120的大大简化的图示。实际上,片上系统120要复杂得多,其包括在各种模块和外围设备之间的数据总线和控制接口,并且包括许多图1未图示的模块和外围设备。
[0028]在该示例实施例中,硬件DMA控制器140执行即时DMA事务数据解析和执行,而不需要来自微控制器130的直接控制。当硬件DMA控制器140从串行接口150接收输入本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种硬件直接存储器访问控制器,其包括:输入端口,其被配置为从电子设备接收数据以用于直接存储器访问;输出端口,其被配置为提供数据以用于直接存储器访问传输;以及处理电路,其与所述输入端口和所述输出端口耦合,所述处理电路被配置为:经由所述输入端口从所述电子设备接收包括报头和有效载荷的数据;解析所述报头以确定包括事务长度和输入数据格式的数据参数;至少部分地基于所述数据参数选择所述数据的目标目的地;至少部分基于所述事务长度在所述目标目的地内分配存储器;至少部分基于所述数据参数格式化所述有效载荷以用于直接存储器访问;以及使用直接存储器访问经由所述输出端口传输格式化的有效载荷以存储在所述目标目的地内的所分配的存储器中。2.根据权利要求1所述的硬件直接存储器访问控制器,其中所述处理电路还被配置为对所述数据执行位重组。3.根据权利要求1所述的硬件直接存储器访问控制器,其中所述处理电路还被配置为使用分散

聚集模式在所述目标目的地内分配存储器。4.根据权利要求3所述的硬件直接存储器访问控制器,其中所述处理电路还被配置为对多个数据有效载荷执行数据聚合。5.根据权利要求3所述的硬件直接存储器访问控制器,其中所述处理电路还被配置为通过将所述有效载荷划分为多个数据分区、分别处理每个数据分区、在所述目标目的地内分配对应于所述多个数据分区的多个存储器位置,以及将所述多个数据分区中的每一个存储在所述多个存储器位置之一中来对所述有效载荷执行数据分段。6.根据权利要求1所述的硬件直接存储器访问控制器,其中所述处理电路还被配置为至少部分地基于所述输入数据格式在所述目标目的地内分配存储器。7.根据权利要求1所述的硬件直接存储器访问控制器,其中所述输入端口和所述输出端口一起包括输入/输出端口。8.一种用于操作硬件直接存储器访问控制器的方法,其包括:经由输入端口从电子设备接收包括报头和有效载荷的数据;解析所述报头以确定包括事务长度和输入数据格式的数据参数;至少部分地基于所述数据参数选择所述数据的目标目的地;至少部分基于所述事务长度在所述目标目的地内分配存储器;至少部分基于所述数据参数格式化所述有效载荷以用于直接存储器访问;以及使用直接存储器访问经由输出端口传输格式化的有效载荷以存储在所述目标目的地内的分配的存储器中。9.根据权利要求8所述的方法,其中所述处理电路还被配置为对所述数据执行位重组。10.根据权利要求8所述的方法,其中所述处理电路还被配置为使用分散

【专利技术属性】
技术研发人员:G
申请(专利权)人:德克萨斯仪器股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1