CN107544928B - 直接存储器访问控制装置和对此的运行方法 - Google Patents
直接存储器访问控制装置和对此的运行方法 Download PDFInfo
- Publication number
- CN107544928B CN107544928B CN201710507218.XA CN201710507218A CN107544928B CN 107544928 B CN107544928 B CN 107544928B CN 201710507218 A CN201710507218 A CN 201710507218A CN 107544928 B CN107544928 B CN 107544928B
- Authority
- CN
- China
- Prior art keywords
- control device
- memory access
- direct memory
- data
- access control
- 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.)
- Active
Links
- 230000015654 memory Effects 0.000 title claims abstract description 212
- 238000000034 method Methods 0.000 title claims description 21
- 238000004458 analytical method Methods 0.000 claims description 31
- 230000003936 working memory Effects 0.000 claims description 16
- 230000009471 action Effects 0.000 claims description 10
- 239000004065 semiconductor Substances 0.000 claims description 6
- 230000008520 organization Effects 0.000 claims description 3
- 238000011156 evaluation Methods 0.000 claims 1
- 238000011017 operating method Methods 0.000 abstract 1
- 238000004891 communication Methods 0.000 description 41
- 230000005540 biological transmission Effects 0.000 description 25
- 238000012546 transfer Methods 0.000 description 25
- 238000010586 diagram Methods 0.000 description 7
- 230000011664 signaling Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000007405 data analysis Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4604—LAN interconnection over a backbone network, e.g. Internet, Frame Relay
- H04L12/462—LAN interconnection over a bridge based backbone
- H04L12/4625—Single bridge functionality, e.g. connection of two networks over a single bridge
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
- Computer And Data Communications (AREA)
- Bus Control (AREA)
Abstract
本发明涉及直接存储器访问控制装置和对此的运行方法。本发明涉及一种直接存储器访问控制装置(40),所述直接存储器访问控制装置(40)具有用于将所述直接存储器访问控制装置(40)与连接多个总线用户(60)的总线系统(12)相连接的端子,并且所述直接存储器访问控制装置(40)具有用于控制所述直接存储器访问控制装置(40)的运行的控制装置(42)。在此,控制装置(42)是可编程的。
Description
技术领域
本发明涉及一种根据权利要求1的前序部分所述的直接存储器访问控制装置(Speicherdirektzugriffssteuereinrichtung),以及涉及一种根据并列的专利权利要求所述的方法。
背景技术
从市场上已知了如下计算单元(例如处理器):所述计算单元具有一个或者多个处理器核,并且所述计算单元必要时可以访问工作存储器。此外,具有一个或者多个这种计算单元的计算机系统通常包括多个与所述计算单元共同起作用的其他单元、例如输入和输出组件(“IO”)等。计算机系统的所述元件中的至少数个元件可以经由共同的(优选地并行的)总线相互间交换数据,例如交换具有以太网结构的数据。此外,已知了用于所谓的直接存储器访问(DMA,英语为“direct memory access”)的方法,由此可以改善经由共同的总线的数据交换。
对于许多应用目的而言,已知的用于控制直接存储器访问的设备所具有的灵活性不足。
发明内容
通过根据权利要求1所述的直接存储器访问控制装置,以及通过根据并列的权利要求所述的方法,解决了本发明所基于的问题。有利的扩展方案在从属权利要求中予以说明。对于本发明重要的特征此外还在随后的描述中和在附图中找到,其中这些特征不仅单独地而且以不同组合对于本发明而言都会是重要的,而无需再次明确地指出这一点。
本发明涉及一种直接存储器访问控制装置,所述直接存储器访问控制装置具有用于将该直接存储器访问控制装置与连接多个总线用户的总线系统相连接的端子,并且所述直接存储器访问控制装置具有用于控制该直接存储器访问控制装置的运行的控制装置。在此,该控制装置是可编程的,由此实现相对于已知的系统提高的灵活性。
在一种构建方案中,在总线系统上没有连接有工作存储器,尤其是没有连接有计算单元的中央工作存储器。相对应地,连接到该总线系统上的元件必要时具有本地存储器、例如RAM存储器(英语为“Random Access Memory”,随机存取存储器),所述元件例如可以是通信模块,该本地存储器可以用作用于直接存储器访问数据传输(“DMA传输”)的源和/或目的地。
在一种构建方案中,根据本发明的直接存储器访问控制装置、总线系统以及总线用户中的至少一个总线用户是微控制器的元件。例如,该微控制器布置在唯一的集成的半导体电路(“Chip(芯片)”)上。在另外的实施形式中,根据本发明的直接存储器访问控制装置例如也可以集成到通信模块中。
在本文,特性“可编程的”意思着:通过控制装置或直接存储器访问控制装置可实施的方法步骤在包括该总线系统和连接到其上的元件的系统运行时是可自由编程的,例如通过预给定相对应的(程序)指令而是可自由编程的。
尤其是,此外还可能的是,所谓的“比较分支”可以以近似任意的结构来预给定和执行,所述“比较分支”也以伪代码指令名称“如果(if)”、“那么(then)”、“否则(else)”等而著称。
依照有利的实施形式,这可能会通过计算单元(例如CPU、MCS(Multi ChannelSequencer,多通道序列器)或者也为其他形式的计算单元)来映射。该计算单元例如特征在于,存在“自己的”指令集,该计算单元在使用该指令集的情况下因此可以被编程。这样,例如DMA运行可以针对相应的应用情况被自由地编程。MCS的优点是如下顺序的程序执行的可配置的模式:所述顺序的程序执行不能通过其他进程中断。
也可以介绍具有可实施的运算步骤(例如算术/逻辑、例如“if”、“else”等)的集合的可编程的控制装置,该可编程的控制装置通过这些步骤的组合共同形成程序流程。
该直接存储器访问控制装置例如可以用于在不同的总线用户之间的DMA传输,并且对此与所述总线用户共同起作用。例如,这种总线用户可以是通信模块或与这些通信模块关联(zugeordnet)的存储器区域。例如,通信模块可以实施为以太网模块,或者实施为所谓的“MCAN模块”。“CAN”意思是英语的“Controller Area Network(控制器局域网络)”,其中字母“M”表征制造商特定的名称前缀。直接存储器访问控制装置也可以与这种总线用户或这种通信模块共同起作用,所述总线用户或通信模块并没有为了运行而利用多个计算单元或多个计算核来实施。
本发明具有如下优点:借助可编程的控制装置,可以以特别“智能的”方式分析和/或借助直接存储器访问来处理具有比较复杂的结构的数据、尤其是也具有嵌套结构的数据,如在下文中还进一步更详细地予以阐述的那样。例如,所谓的“以太网帧”(即根据以太网协议的数据帧)可以具有其他协议的嵌套结构和/或越过ISO/OSI层模型的不同层的所谓的“有效载荷数据(Payload-Data)”的嵌套结构。根据本发明能够实现对较高协议层(ISO/OSI第3层和更高的层,例如第4层或者第5层)的数据的分析和过滤。
在一种构建方案中,直接存储器访问控制装置构造为,根据对控制装置的编程来分析总线系统的总线用户的数据。通过对控制装置的编程,可以特别有利地并且灵活地分析所述数据。由此,另外可能的是,逐步地执行所述的分析,其中在一种构建方案中例如根据分别在前面的分析步骤来执行分别紧接着的分析步骤。同样,在其他实施形式中可设想的是,通过改变编程来适配分析,例如使分析与将来要限定的数据格式或协议适配,以便能够对其相对应地进行分析(例如过滤)。
在一种构建方案中,借助分析来确定要传输的数据的至少一个长度和用于向至少一个第二总线用户传输的至少一个目的地地址。只要这些数据包括多个区段(Abschnitten),那么就可以相对应地确定多个长度和多个目的地地址,所述区段分别要分离地被传输。
在一种构建方案中,该控制装置可选地可以在相应的分析步骤之间被编程。例如,这同样根据分别在前面的分析步骤或在这种情况下获得的结果来进行。尤其是,在直接存储器访问控制装置外部的对数据的分析可以被减少或者甚至是多余的,所述直接存储器访问控制装置外部的对数据的分析例如借助单独的计算单元在使用预定义的配置和/或不可改变的计算机程序的情况下进行。借助可编程的控制装置,因此已在分析时可以有利地减少必需的计算运行时间(Laufzeit)。
此外,可以避免对本身并不需要的数据的DMA传输,因为遵循根据本发明的原理可以实施对总线用户的数据的分析,借助该分析确定感兴趣的要传输的数据或其长度。以这种方式,例如可以避免,使其他协议层的不感兴趣的协议报头数据承受DMA传输,所述其他协议层的不感兴趣的协议报头数据在目的地模块中对于DMA传输完全不需要。作为替代,借助DMA可以有针对性地例如仅传输感兴趣的数据包或数据帧的有用数据(或其部分)。
在其他构建方案中,直接存储器访问控制装置构造为,根据对控制装置的编程,在使用至少一个直接存储器访问的情况下,经由总线系统从第一总线用户向至少一个第二总线用户传输数据。借助编程可以特别有利地传输这些数据。要传输的数据可以如前面已经提及的那样包括在分析时所检查的所有数据,或者仅其一部分。
尤其是,直接存储器访问控制装置能够实现对与总线系统连接的第一总线用户的数据(或其部分)的传输,所述第一总线用户例如是通信模块或者与该通信模块关联的存储器区域。例如,所述数据可以被传输到与总线系统连接的计算单元的本地存储器中或计算核的本地存储器中,其中并不需要该计算单元或另一计算单元参与该传输(和必要时在前面的通过直接存储器访问控制装置进行的分析)。
有利地,在使用在数据中包含的准则(“搜索特征”或过滤准则,进一步参见下文)的情况下,可以向确定的计算单元或计算核或存储器区域传输要传输的数据。也可能的是,向多个计算单元或计算核或存储器区域传输所述要传输的数据的多个部分,并且因此将所述要传输的数据的多个部分分发给多个计算单元或计算核或存储器区域。在此,可以传输消息(例如以太网帧)的所有数据,或者仅传输该消息的确定的可预给定的部分。
后者尤其是在长的以太网帧的情况下有大的优点,因为已经可以在DMA传输之前去除不是必需的信息(报头、另外的协议)。由此避免的不必要的字节传输减轻了总线系统(该总线系统例如是微控制器μC的内部总线)的负荷,并且简化如下软件:所述软件尤其是关于经由DMA传输接收到的数据被传输给其的那个总线用户的所述数据的数据处理。在此,可以减少总共所需的计算性能或表征数据的传输的运行时间,因为事先取消了在目的地不必要的帧部分。所述的运行时间另外可以包括用于分析的协议确定、数据搜索等。
(例如具有所谓的“SOME-IP协议” 的)以太网帧可以包括多个要传输的数据区段(数据段),所述数据区段可以分别借助直接存储器访问而被传输到不同的总线用户。在此,根据本发明的直接存储器访问控制装置具有其他优点:单个的所谓的“DMA通道”(DMA,英语为“Direct Memory Access”,直接存储器访问)可以向不同的总线用户传输多个数据区段。缩写“SOME-IP”意思是英语的“Scalable service-Oriented MiddlewarE over IP(基于IP的面向服务可扩展中间件)”。
在直接存储器访问控制装置已确定了所述数据的数据长度(“帧长度”)或所述数据的相应的区段的长度之后,直接存储器访问控制装置依照其他实施形式可以例如在DMA传输之前或期间对起始地址和结束地址进行似然性检验(plausibilisieren),并且必要时按具体情况借助设置错误标志而适当地作出反应。由此,必要时根据现有技术可能要借助如下软件实施的其他检验可能是多余的:所述软件在用于DMA传输的目的地模块上运行。
所描述的对数据的分析以及直接存储器访问控制装置的控制在此有利地在使用可编程的控制装置的情况下进行。对可编程的控制装置的编程例如可以通过提供(例如在接到总线系统上的存储器的可预给定的存储器区域中的)用于控制装置的相对应的(程序)指令进行,或者也通过提供在(例如关于直接存储器访问控制装置在本地)分开的存储器中的用于控制装置的(程序)指令进行,该分开的存储器例如没有接到总线系统上。
在其他构建方案中,可编程的控制装置包括可编程的计算单元。用于直接存储器访问控制装置的控制装置的功能性的部分可以依照其他实施形式也借助至少一个状态自动装置(英语:state machine(状态机))来实现。
此外,可以设置的是,控制装置(或可编程的计算单元)构造为,加载至少一个参数集,并且将所述至少一个参数集用于分析和/或传输总线系统的总线用户的数据,所述参数集包括如下参数中的至少一个:
- 搜索特征,尤其是协议信息和/或CAN-ID(英语为Controller Area NetworkIdentity(控制器局域网络标识));
- 搜索位置,尤其是偏移地址;
- 相应的搜索特征的长度;
- 可预给定的数目的重复步骤或搜索遍历(Suchdurchlaeufen);
- 用于传输数据的至少一个区段的目的地地址。
通过加载至少一个参数集(所述参数集因此可以包括一个或者多个参数),对数据的分析可以特别高效且灵活地进行。所述的加载可选地也可以在分析的可能多个步骤之间执行,例如根据分别在前面的分析步骤的结果来执行。
在其他构建方案中,直接存储器访问控制装置构造为,从总线用户的数据中确定信息,并从所述信息中确定所述数据的分别要传输的区段的长度以及将所述长度与参考值进行比较。例如,为此可以完全或者也仅部分地(例如在直接存储器访问控制装置的本地(缓冲)存储器中)加载所述的数据。只要要传输所述数据的多个区段,就也可以迭代地进行信息的确定和与参考值的比较,例如根据所述数据的分别存在的结构来进行。借助所确定的长度并且借助参考值,可以有利地识别出数据中或在传输该数据时的错误和/或蓄意操纵。
在其他构建方案中,直接存储器访问控制装置构造为,向不同的第二总线用户或向不同的目的地地址、尤其是向与总线系统连接的计算单元的不同的本地存储器,传输数据的不同的区段。由此,有利地,依据在所述数据处(auf den Daten)和/或在从中的元数据处的准则,在(源)总线用户中存在的数据可以被传输或分发到不同的目的地区域中,例如可以向不同的目的地总线用户传输在(源)总线用户中存在的数据或给不同的目的地总线用户分发在(源)总线用户中存在的数据。尤其是,由此也可能的是,在构造为通信模块的(源)总线用户的情况下,将来自通信模块的消息(例如由通信模块接收到的CAN消息等)的数据分发给不同的目的地总线用户。
在其他构建方案中,直接存储器访问控制装置构造为,确定错误信息和/或根据错误信息执行对数据的分析和/或传输。只要例如对源地址和或目的地地址的分析以及必要时对用于确定的DMA传输的其他的可能的参数的分析满足一个或多个可预给定的错误准则(例如在所允许的地址范围之外的目的地地址、要传输的数据的长度大于可预给定的极限值,等等),就可以推断出错误或操纵,并且停止或完全不实施DMA传输。在其他实施形式中,同样可设想开始错误反应(在错误存储器中的条目、对计算单元的中断请求(英语:Interrupt request)等)。
在其他构建方案中,直接存储器访问控制装置构造为,确定第一总线用户的数据的起始地址和/或结束地址,并且将所述起始地址和/或结束地址与参考值进行比较。
在其他构建方案中,直接存储器访问控制装置构造为,确定要向第二总线用户传输的数据和/或数据的要向第二总线用户传输的区段的起始地址和/或结束地址,并且将所述起始地址和/或结束地址与参考值进行比较。
在其他构建方案中,直接存储器访问控制装置构造为,接收第一总线用户的信令信息和/或在第一总线用户中设置或清除信令信息。
在其他构建方案中,直接存储器访问控制装置构造为,向第二总线用户发送信令信息和/或在第二总线用户中设置或清除信令信息。
在其他构建方案中,直接存储器访问控制装置构造为执行如下动作中的至少一个:
- 从第一总线用户接收触发信号(控制信号,该控制信号例如说明:要实施数据的DMA传输和/或分析);
- 尤其是根据一个或该触发信号,从第一总线用户的工作存储器或者存储器中接收或读取借助直接存储器访问要传输的数据;
- 确定表征存储器组织的用于第二总线用户的目的地存储器的条目类型(Eintragsart),并且在使用至少一个直接存储器访问的情况下,经由总线系统将第一总线用户的根据所确定的条目类型的数据传输到第二总线用户的目的地存储器中。
借助前文所描述的动作,可以有利地改善直接存储器访问控制装置的运行以及数据的分析和传输,所述动作在其他有利的实施形式中可以单个地或者彼此组合地且以彼此间为任意顺序来实施。借助条目类型例如可以预给定,数据在目的地处是被传输到可预给定的“专用的”(块)存储器区域中,还是被传输到配置为环形存储器的存储器区域中。存储器区域例如可以分别是总线用户的中央工作存储器或者相应的本地存储器,例如是与该总线系统连接的计算单元的本地存储器。
此外,可以设置的是,控制装置以集成的方式布置在直接存储器访问控制装置的集成的半导体电路中。由此,可以节省装配空间和成本。
此外,可以设置的是,尤其是在使用结构大小在20nm(纳米)到60nm的范围中的半导体技术的情况下,直接存储器访问控制装置(尤其是包括可编程的控制装置在内)构造为硬件电路。由此可以有利地减少用于分析和传输数据所需的运行时间,并且确保高效的运行。
在一种构建方案中,直接存储器访问控制装置构造用于实施如下步骤:
- 接收或读取至少一个总线用户的至少一个参数集,其中所述参数集包括至少一个可预给定的参数;
- 接收或读取第一总线用户的数据;
- 从数据的第一范围中确定第一信息,其中根据至少一个参数确定数据的第一范围;
- 将第一信息与从参数集中确定的第一准则进行比较,该第一准则例如是“搜索特征”;
- 根据比较和/或所确定的第一信息,有条件地执行随后的步骤(a)至(c):
(a)从所述数据的至少一个相应的其他范围中确定相应的其他信息,其中所述数据的相应的其他范围根据至少一个其他参数和/或第一信息和/或其他信息予以确定;
(b)将其他信息与从参数集中确定的其他准则进行比较;
(c)根据比较和/或所确定的其他信息,有条件地重复步骤(a)至(c);
- 根据第一信息和/或其他信息/或至少一个参数,确定至少一个第二总线用户的至少一个目的地地址;
- 根据第一信息和/或其他信息/或至少一个参数,确定数据的至少一个要向至少一个目的地地址传输的区段的长度;
- 在使用第一总线用户对至少一个第二总线用户的直接存储器访问的情况下,向至少一个第二总线用户的至少一个目的地地址传输数据的至少一个区段。
数据的分别前面已提到的范围优选地通过总线系统的一个或多个地址或与该总线系统连接的存储器的地址来表征。通过所示出的步骤所描述的直接存储器访问控制装置特别有利地构造用于分析数据和用于传输数据。
在对此的构建方案中,在传输数据的至少一个区段之前,重复在传输步骤之前的步骤的至少一部分。以这种方式,可以有利地确定关于多个来自所述数据的要传输的区段的信息,并且可以相继地执行所述区段的紧接着的传输。
此外,本发明还涉及一种用于使直接存储器访问控制装置运行的方法,所述直接存储器访问控制装置具有用于将该直接存储器访问控制装置与连接多个总线用户的总线系统相连接的端子,并且所述直接存储器访问控制装置具有用于控制该直接存储器访问控制装置的运行的控制装置。在此,按照方法对控制装置编程。
在该方法的构建方案中,根据控制装置的编程来分析总线系统的总线用户的数据,或者根据控制装置的编程,在使用至少一个直接存储器访问的情况下,经由总线系统从第一总线用户向至少一个第二总线用户传输数据。
在该方法的其他构建方案中,从总线用户的数据中确定信息,其中从所述信息中确定所述数据的分别要传输的区段的长度,并且将所述长度与参考值进行比较。
对于根据本发明的方法,得到了与上文中进一步针对直接存储器访问控制装置及其构建方案已经描述的优点类似的优点。
附图说明
随后参照附图阐述了本发明的示例性的实施形式。在附图中:
图1示出了具有总线系统、直接存储器访问控制装置和多个与总线系统连接的总线用户的简化略图;
图2示出了以太网帧的数据的示意图;
图3示出了用于控制图1的直接存储器访问控制装置的运行的控制装置的程序流程图;
图4示出了图3的程序流程图的可选的扩展的第一图示;
图5示出了图3的程序流程图的可选的扩展的第二图示;
图6示出了以太网帧的数据分段与同总线系统连接的计算单元的相应的本地存储器的示例性关联;
图7示出了用于按照图1的系统的实施为通信模块的总线用户的其他的第一实施形式;以及
图8示出了用于按照图1的系统的实施为通信模块的总线用户的其他的第二实施形式。
对于功能等同的元件和量,在所有图中即使在不同的实施形式中也使用相同的附图标记。
具体实施方式
图1示出了计算机系统10,该计算机系统10在本文包括多个计算单元20_1至20_n和与这些计算单元20_1至20_n分别关联的本地存储器30_1、30_2至30_n。此外,中央工作存储器30与总线系统12连接。工作存储器30可选地并且因而在图1中虚线地绘出。在图1中左侧的块表征直接存储器访问控制装置40,该直接存储器访问控制装置40经由端子41同样与总线系统12连接。在直接存储器访问控制装置40之上,在图1中示出了控制装置42,该控制装置42可以控制直接存储器访问控制装置40的运行。
此外,图1示出了多个与总线系统12连接的通信模块50_1至50_n,所述通信模块50_1至50_n一般化而言也通过附图标记50标明。例如以太网网络、CAN总线等分别连接到通信模块50_1至50_n上。与总线系统12连接的部件20_1、20_2至20_n、30_1、30_2至30_n、30、40和50_1、50_2至50_n的每个部件都表征总线系统12的相应的“总线用户”,其中总线用户一般化而言通过附图标记60代表。
在一实施形式中,计算单元20_1至20_n通过(就其本身而言在图1中未示出的)计算单元的相应的处理器核构造。在一实施形式中,该计算单元实施为单片的集成的半导体电路。在一实施形式中,计算机系统10是微控制器。
此外,在图1中象征性地示出了多个通过箭头状的线绘出的数据路径。这些数据路径示例性地表征:在使用直接存储器访问的情况下,经由总线系统12将通信模块50_n(在图1中右下)的数据传输到本地存储器30_1、30_2至30_n(在图1的上部区域中)。
例如,通信模块50将经由其相应的通信通道(未示出)接收到的数据写到工作存储器30中,因为通信模块50通常可能并不具体地解释这些数据。此后,相应的通信模块50可以将触发信号发送给直接存储器访问控制装置40,为此在下文中进一步在图3中参照块202。
此外可能的是,通信模块50将经由其相应的通信通道接收到的数据至少暂时存储在本地存储器(未示出)中,并且然后在使用直接存储器访问的情况下,经由总线系统12向一个或多个另外的总线用户传输所接收到的数据的至少部分。
总之,图1因此示出了计算机系统10,该计算机系统10具有直接存储器访问控制装置40,该直接存储器访问控制装置40具有用于将该直接存储器访问控制装置40与连接多个总线用户60的总线系统12相连接的端子,并且该直接存储器访问控制装置40具有用于控制该直接存储器访问控制装置40的运行的控制装置42。在此,控制装置42是可编程的。
在一实施形式中,直接存储器访问控制装置40构造为,根据对控制装置42的编程来分析总线系统12的总线用户60的数据。
在其他的实施形式中,直接存储器访问控制装置40构造为,根据对控制装置42的编程,在使用至少一个直接存储器访问的情况下,经由总线系统12从第一总线用户60向至少一个第二总线用户60传输数据。
在又一其他的实施形式中设置有,可编程的控制装置42包括可编程的计算单元44,该可编程的计算单元44在图1中在控制装置42之内用虚线绘出。可编程的计算单元44优选地(但并非一定)可以通过例如在控制装置42中存在的“自己的”程序代码或相对应的程序指令来运行,所述程序代码或程序指令因此能够在计算单元44运行时优选地在没有总线系统12协助的情况下被执行。在其他的实施形式中,控制装置42也可以具有至少一个状态机,以便实现用于直接存储器访问控制装置40的控制装置42的功能性的部分。
在其他有利的实施形式中,部件40、42、44也可以分别拥有(或者仅仅一个或其中两个拥有)存储器、尤其是本地存储器,使得例如来自相关的部件40、42、44的(本地)存储器的前述的程序代码或相对应的程序指令或程序是可实施的。这有利地提高了性能(Performance),并且能够有助于减小或避免对外部的或中央的存储器(例如闪存存储器)的访问。
在一优选的实施形式中,直接存储器访问控制装置40构造为硬件电路。在其他的实施形式中,控制装置42以集成的方式布置在直接存储器访问控制装置40的集成的半导体电路中。在一实施形式中,与直接存储器访问控制装置40分离地布置有控制装置42。
图2示出了以太网帧(按照以太网协议的数据帧)120和其中所包含的、其他协议或协议层的数据的示意图100。以太网帧120嵌套地实施,这在本文通过总共四个分别在该附图中从左向右延伸的数据结构来示出。图2的以太网帧(和同样为图6的以太网帧100',进一步参见下文)示例性地表征要由直接存储器访问控制装置40分析的数据100,所述数据100至少部分地紧接着要借助直接存储器访问和借助直接存储器访问控制装置40而被传输。
在图2中最下部的数据结构120对应于在ISO/OSI层模型的MAC(英语:“MediumAccess Control”(介质访问控制))层(第2层)中的以太网帧的图示,在图2中在其上的数据结构140实质上表征作为以太网帧120的有用数据(英语:payload(有效载荷))130的组成部分的IPv6结构(“Internet Protocol Version 6(第6版因特网协议)”,ISO/OSI第3层),在其上的数据结构160表征作为IPv6结构140的有用数据151的组成部分的TCP结构(传输控制协议,英语:“Transmission Control Protocol”,ISO/OSI第4层),在其上的块180代表TCP结构160的有用数据内容,并且象征性地预示协议的可能的其他嵌套及其数据帧。线190分别预示在分别在其下的层的数据帧中的下部ISO/OSI层的有用数据(payload)的“扩展”。例如,在块120与块140之间的线190说明:IPv6结构140源自以太网帧120的MAC有效载荷(有用数据),等等。
在本文,以太网帧120通过如下的字段或数据区段表征,所述字段或数据区段此处通过其附图标记来列出(逐列列出了:字段名称、附图标记、长度):
前导码 122 8字节;
目的地地址 123 6字节;
源地址 124 6 字节;
TPID 125 2 字节;
优先级 (PCP) 126 3位;
DEI/CFI 127 1位;
VLAN-ID 128 12位;
EtherType 129 2字节;
MAC-有效载荷 130 42 字节至1500 字节;
CRC-校验和 131 4 字节;
MAC-报头(“header”) 132 18 字节;
VLAN-标志 133 4 字节。
在本文,IPv6-结构140通过如下的数据区段表征,所述数据区段此处通过其附图标记来列出:
版本 143 4位;
优先级 144 1字节;
流标签(Flow-Label) 145 20位;
有效载荷长度 146 2 字节;
下一个报头 147 1 字节;
跳数限制(Hop Limit) 148 1字节;
源地址 149 16 字节;
目的地地址 150 16 字节;
IPv6-有效载荷 151 0 字节至1460字节;
IPv6-报头 153 40 字节。
在本文,TCP-结构160通过如下的数据区段表征,所述数据区段此处通过其参考符号来列出:
源端口 164 2字节;
目的地端口 165 2 字节;
序列号 166 4 字节;
ACK-号码 167 4 字节;
数据偏移(Data Offset) 168 4位;
保留的 + 标志 169 12位;
窗口大小 170 2字节;
校验和 171 2 字节;
紧急指针 172 2 字节;
TCP-选项 173 0至40 字节;
TCP-有效载荷 174 0至1440字节;
TCP-报头 175 20至60 字节。
数个数据区段在图2中根据所示出的(部分不带附图标记的)嵌套多于一次地被举出:MAC-有效载荷130、IPv6有效载荷151、MAC报头132、CRC校验和131。
如下文中还进一步阐述的那样,对在前面示例性地描述的数据的分析可以通过根据本发明的直接存储器访问控制装置在使用可预给定的搜索准则或过滤准则的情况下来进行。在此,例如可以涉及以太网协议(例如针对“VLAN标志”的0x8100)、涉及CAN-ID、涉及PDU(英语:“Protocol Data Unit(协议数据单元)”、涉及“迷你插槽标识”、涉及“LIN标识”或者用于别的数据结构的搜索准则。这种搜索准则的不同实例在上面所描述的表格中示出。
但是,根据本发明的原理和对数据的分析并不限于以太网协议或图2中阐明的其他协议IPv6、TCP、......,而是一般也可以应用于每个另外的(现有的和未来要限定的)协议(例如,CAN、LIN、FlexRay、......)上。为此所需的灵活性有利地通过控制装置42(图1)的可编程性来给出。
由通信模块50经由其特定的通道接收到的数据可以根据相应的实施形式存储在工作存储器30(如在图1中通过箭头所标记的那样)中或者本地存储在相应的通信模块50中。在图2中,画有阴影线的区域1、2、3、4分别示例性示出了要由直接存储器访问控制装置40分析的区域,这些区别分别包含确定的协议标识和/或数据长度。控制装置42的任务可以包括:找出这些数据中的这种区域;确定相应的数据长度;并且根据就其而言可能与相应的协议有关的可加载的参数和/或根据通过控制装置42可实施的程序指令,将数据传输到总线用户60(图1)的目的地存储器区域中。
在此,目的地存储器区域通过目的地地址来表征,例如在计算单元20_1和20_n(或计算核)的本地存储器30_1至30_n中的目的地地址来表征,并且可选地通过条目类型补充地表征。借助该条目类型例如可以预给定:数据在目的地处是被传输到可预给定的“专用的”线性存储器区域或存储器块中,还是被传输到配置为环形存储器的存储器区域中。
图3示出了用于使直接存储器访问控制装置40运行的方法的程序流程图,该直接存储器访问控制装置40具有用于将该直接存储器访问控制装置40与连接多个总线用户60的总线系统12相连接的端子,并且该直接存储器访问控制装置40具有用于控制该直接存储器访问控制装置40的运行的控制装置42。在此设置了,对控制装置42编程。补充于图3地,在本文为了描述程序流程而使用图2的图示,在那里尤其是参见画有阴影线的并且借助数字1至4标明的字段。
在图3中最上部的块202中,直接存储器访问控制装置40从第一总线用户60接收触发信号,例如从通信模块50_1至50_n中的一个接收触发信号。这尤其是当在所述的总线用户60中有新的消息到达时才进行,该新的消息要借助存储器直接访问经由总线系统12来传输。作为触发信号的结果,通过图3示例性地表征的程序流程起动。表征程序流程的起始地址在控制装置42中是已知的,或者可以借助可预给定的动作、尤其是读取过程和/或加载过程来确定。
在借助图3所示出的实例中,控制装置42(或可编程的计算单元44)构造为:加载至少一个参数集,并且将所述至少一个参数集用于分析和/或传输总线系统12的总线用户60的数据,所述参数集包括如下参数中的至少一个,:
- 搜索特征,尤其是协议信息和/或CAN-ID(英语:“Controller Area NetworkIdentity”);
- 搜索位置,尤其是偏移地址;
- 相应的搜索特征的长度;
- 可预给定的数目的迭代步骤或搜索遍历;
- 用于传输数据的至少一个区段的目的地地址。
所述的参数的加载在图3中通过块204来表征。在紧接着的块206中,针对分别加载的搜索位置,借助算术运算和/或逻辑运算来确定相应的搜索特征的(新)地址。例如,对于图2中所标明的字段1(“第一遍历”)而言,已知了由所加载的参数集构成的位字段(TPID125)的长度,并且因而在紧接着的块208中,可以读取通过字段1表征的信息、例如值“0x8100”。
在紧接着的询问块210中,所读取的信息0x8100与相应的搜索特征进行比较。必要时,为此可能需要多次逐步执行的比较,直至识别出一致性。这在图3中示例性地通过三个其他的询问块212、214和216示出。
借助块204、206、208、210、212、214、216、218和220(进一步参见下文)也描述了一种方法,其中根据对控制装置42的编程,分析总线系统12的总线用户60的数据,或者其中根据对控制装置42的编程,在使用至少一个直接存储器访问的情况下,经由总线系统12从第一总线用户60向至少一个第二总线用户60传输数据。
例如可以配置该过程的“深度”,尤其是配置按照询问块210、212、214和216的要逐步执行的比较的数目,因为事先已知了要预期的协议。可替选地,深度例如也可以根据数据分析的从那时起获得的中间结果和/或取决于别的因素。针对没有识别出一致性的情况,相应的协议被标识为“未知的”协议。于是,可以进行确定的随后的反应,例如针对总线用户60中的一个总线用户(例如给计算单元20_1至20_n中的一个和/或直接存储器访问控制装置40或控制装置42或可编程的计算单元44)设置用于中断请求(“Error-Interrupt(错误中断)”)的错误位(“错误标志”)。这在图3中通过块218示出。
在已确定第一搜索特征(“搜索准则”)之后,在紧接着的询问块220中校验,现在是否要已经借助直接存储器访问经由总线系统12而向第二总线用户60的目的地地址传输数据(例如图2的以太网帧100的数据)。该校验例如可以根据多个已经进行的迭代步骤或搜索遍历来进行,或者根据配置信息或在块204中加载的参数中的一个参数进行。所述的迭代步骤在图3中根据在询问块220的输出端与块204的输入端之间的路径222来进行。
在“最终的”搜索特征尚未被找出的情况下,在遍历路径222之后,借助询问块210并且必要时借助询问块212、214和216,对至少一个其他的参数集或参数进行加载,并且执行其他比较。为此补充地参见在图3中借助数“2”和“3”标明的圆形的记号(“其他遍历2和3”)。
例如,所搜索的协议可以对应于具有搜索特征“0x86DD”的以太网型IPv6。
只要不需要经由路径222的(其他)迭代步骤,该程序流程就从询问块220开始分支到随后的块224。在块224中,对直接存储器访问控制装置40进行配置,其中该配置包括如下量:
- 源地址,该源地址从已知的起始地址和例如之前配置过的偏移地址中被确定,尤其是在使用算术运算和/或逻辑运算的情况下而被确定。在此,偏移地址例如根据搜索特征来预给定,或根据搜索特征而被确定。这有利地能够实现,例如仅传输所考虑的数据的确定的部分,而删去不相关的部分(例如报头等等)。优选地,偏移地址通过在块204中加载的参数之一来表征。
- 目的地地址,该目的地地址根据搜索特征来预给定或确定。优选地,该目的地地址通过在块204中加载的参数之一来表征。
- 分别要传输的数据字节的数目。在一实施形式中,根据在那里用数字“4”标明的字段,该数目直接对应于在图2中所示出的有效载荷长度146。在其他实施形式中,所述的数目借助偏移在使用算术运算和/或逻辑运算的情况下而被确定。例如,该偏移通过在块204中加载的参数之一来表征。
在已在块224中配置了直接存储器访问控制装置40之后,在随后的块226中,在使用至少一个直接存储器访问的情况下,数据经由总线系统12从第一总线用户60被传输到第二总线用户60。在此,这些数据在目的地处可以被传输到可预给定的“专用的”存储器区域中,或者被传输到配置为环形存储器的存储器区域中。在此,分别例如可以涉及工作存储器30或者本地存储器30_1至30_n中的一个本地存储器,参见图1。选择(“条目类型”)将数据分别传输到专用的存储器区域中还是传输到环形存储器中例如可以借助在块204中加载的参数之一来预给定。
在一实施形式中,控制装置42编程为,仅部分地传输要从第一总线用户60借助直接存储器访问而向至少一个第二总线用户60传输的数据。尤其是,这借助删去在第二总线用户60(“目的地模块”)中并不需要的信息来进行,例如借助删去不需要的报头信息和/或不需要的协议来进行。
在借助直接存储器访问已传输了块226中的数据之后,可选地可以进行一个或者多个其他动作:
- 向相应的计算单元20_1至20_n传送中断请求(“Interrupt”)或向如下别的总线用户60传送类似的信号:要向所述别的总线用户60通知所进行的数据传输;
- 清除触发信息和/或信令位(“标志”);
- 只要数据通过以太网协议来表征,就释放(Freigabe)所谓的“描述符”;
- 释放工作存储器30或本地存储器30_1至30_n中的存储器区域;和/或
- 设置信令位(“新标志”),用于通告所进行的数据传输。
在一实施形式中,直接存储器访问控制装置40构造为,从总线用户60的数据中确定信息,并且从所述信息中确定数据的分别要传输的区段的长度,以及将所述长度与参考值进行比较。由此,同时也表征相对应的方法步骤。借助长度信息和参考值,可以预防错误和/或蓄意操纵。
总线用户60的所述的数据可以可选地仅部分地或者也完全地由直接存储器访问控制装置40来读取,以确定所述的信息;或暂时存储在直接存储器访问控制装置40和/或工作存储器30中。在一实施形式中,迭代地进行信息的确定和/或长度的确定。
在一实施形式中,直接存储器访问控制装置40构造为执行如下动作中的至少一个:
- 从第一总线用户60接收触发信号;
- 根据该触发信号,从第一总线用户60的工作存储器30或者存储器中接收或读取要借助直接存储器访问传输的数据;
- 分析所述数据中的至少一部分;
- 确定表征存储器组织的用于第二总线用户60的目的地存储器的条目类型,并且在使用至少一个直接存储器访问的情况下,经由总线系统12将第一总线用户60的按照所确定的条目类型的数据传输到第二总线用户60的目的地存储器中。
可选地,当要传输的数据(“有效载荷”)包括多个数据段时,可以进行来自(aus)在第一总线用户60中或在工作存储器30中存在的数据块(消息、帧、以太网帧100)的其他传输(进一步参见图6中的下部)。这在图3中通过询问块228来表征。只要在所述数据中存在多个数据段或要不同地处理多个数据段,程序流程中的分支就经由路径230和路径222返回到块204的开始处。要不然,经由路径232分支至块234(记号“4”),借助该块234可以实施可预给定的动作。
数据段的不同处理例如在所谓的“SOME/IP协议”的情况下是可能的,其中可以进行例如CAN数据(英语:“Controller Area Network”)或FlexRay数据的隧穿(Tunnelung)。在此,可以向不同的目的地地址传输不同的数据段,例如向不同的本地存储器30_1至30_n(参见图1)传输不同的数据段。这是可能的,因为目的地地址通过相应的搜索特征来表征。为此参见在图3的块204中的参数集的(重新)加载。在最后的传输结束之后,经过配置的动作可以通过直接存储器访问控制装置40来实施,参见例如块234。“FlexRay”是用于使用在机动车中的串行的、确定性的且容错的现场总线系统的名称。
在直接存储器访问控制装置40开始传输之前,在其他实施形式中可能的是,例如在以太网帧中检验所谓的错误标志,为此参见图4。根据图4,询问块402布置在图3的记号“3”处,其中程序流程可替选地可以分支到图3的询问块220的输入端或分支到块234的输入端。
只要所述的错误标志用信号通知错误,则分支至块234(图3),并且执行对于该错误适当(dem Fehler angemessen)的动作。例如,在块234中,在错误情况下,在传输以太网数据时,可以释放用于进一步传输的描述符,并且此后返回分支到块202的起始处,而且在那里等待紧接着的触发信号。要不然,由询问块402分支到询问块220的输入端上,并且程序流程如进一步在上文已经描述的那样来执行。
其他动作也是可设想的。例如,在另外的实施形式中,在存在错误标志的情况下,可能会仍然向第二总线用户60(“目的地地址”)和/或向另外的目的地地址传输有错误的数据(“帧”),用以分析。因为直接存储器访问控制装置40从所嵌入的协议中识别出多个要传输的字节,所以直接存储器访问控制装置40可以执行对借助描述符通知的字节数目的似然性检验。这优选地通过监控起始地址和结束地址借助如下硬件电路来进行:该硬件电路例如可以是控制装置42的部分。
此外,可以对起始地址执行似然性检验。为此,用于借助直接存储器访问进行传输的所确定的源地址与所述数据的原始的起始地址进行比较。在此,例如源地址不允许小于起始地址。损坏可以通过在用于相应的数据的状态寄存器中的错误标志来用信号通知。状态寄存器可以定位在直接存储器访问控制装置40中和/或定位在别的总线用户60中。
图5示出了用于将数据从第一总线用户60传输到第二总线用户60的结束地址的可选的监控或似然性检验。
根据图5,询问块502布置在图3的记号“2”处,其中程序流程例如可替选地可以分支到图3的询问块210的输入端或分支到图5中所示的块504的输入端。针对要确定结束地址的情况,分支到块504中,并且此后从块504返回分支到图3的块204的起始处(记号“1”),其中在块204中加载用于监控结束地址的相对应的参数。要不然,从询问块502分支到询问块210的起始处,并且程序流程如进一步在上文所描述的那样继续。
在使用描述符将例如以太网消息传输到例如工作存储器30(“外部RAM”)中之后,相应数目的所接收到的字节被记入在为此设置的状态寄存器(“状态信息”)中。直接存储器访问控制装置40可以读取所述状态信息,并且从中确定相应的数据(“消息”)的结束地址。
结束地址的监控例如可以如下地来执行:首先,如进一步在上文已描述的那样,从记号“1”开始,经由块204、206和208直至到图3的记号“2”,得到程序流程。此后,在图5的询问块502中进行可选的询问:是否要确定结束地址。以这种方式,可以确定用于要传输的数据的结束地址。因为用于最后实施的传输的相应的地址在直接存储器访问控制装置40是已知的,所以直接存储器访问控制装置40的硬件电路可以将该地址与结束地址进行比较。只要当前的地址超过结束地址,就可进行错误报告。
图6示出了以太网帧100'的数据区段与同总线系统12连接的计算单元20_1至20_n的相应的本地存储器30_1至30_n的示例性关联。
以太网帧100'的所示的元素随后利用其附图标记列出:
- 以太网报头 132';
- IP报头 153';
- UDP-报头 602; (UDP,英语:“User Datagram Protocol(用户数据报协议)”)
- SOME/IP-包1 604;
- SOME/IP-包2 606;
- SOME/IP-包N 608。
箭头610示出了借助直接存储器访问执行的对SOME/IP包604、606和608经由总线系统12的传输与本地存储器30_1、30_2和30_n的示例性关联。在此,使用与图3的流程图类似的方法。
图7示出了通信模块50'的其他的第一实施形式。在本文,根据本发明的直接存储器访问控制装置40以集成的方式布置在通信模块50'中。在图7中在通信模块50'之内所示的元件50_x对应于图1的通信模块50_1至50_n中的一个。该总线系统12在通信模块50'之内被敷设为内部总线12',由此通信模块50_x和直接存储器访问控制装置40并联地连接到总线系统12上。即使在该配置的情况下,根据本发明的具有可编程的控制装置的直接存储器访问控制装置40也可以有利地例如实施对数据(模块50'的本地数据和/或另外的总线用户60的数据)的分析和/或(多个)DMA传输,如在前面参照图1至6所描述的那样。
图8示出了通信模块50''的其他的第二实施形式。在本文,根据本发明的直接存储器访问控制装置40以集成的方式布置在通信模块50''中。这与图7不同地进行,使得总线系统12仅经由直接存储器访问控制装置40与通信模块50_x连接。内部总线12''将直接存储器访问控制装置40与通信模块50_x连接,该通信模块50_x如在图7中那样对应于图1的通信模块50_1至50_n之一。即使在该配置的情况下,根据本发明的具有可编程的控制装置的直接存储器访问控制装置40也可以有利地例如实施对数据(模块50''的本地数据和/或另外的总线用户60的数据)的分析和/或(多个)DMA传输,如在前面参照图1至7所描述的那样。
在一优选的实施形式中,图7和图8的通信模块50'或50''或50_x对应于以太网通信模块。在另外的有利的实施形式中,另外的通信模块也可设想作为在前面所提到的、以太网类型的模块。
根据本发明的具有可编程的控制装置42的直接存储器访问控制装置40能够有利地实现灵活的数据分析和/或在总线用户60之间的DMA传输,其中通过对特定流程的相对应的编程可以修改所述分析或DMA传输。例如,以这种方式可以使要由直接存储器访问控制装置40实施的数据分析或传输也与将来才要限定的通信协议适配。特别有利地,根据本发明的直接存储器访问控制装置40也能够实现对越过多个协议层的(嵌套的)数据包的灵活的深度分析(英语:deep packet inspection(深度包检测)),其中例如也相同地可以去除可预给定的协议层的不感兴趣的报头数据,并且因此在向一个或者多个进行接收的总线用户60进行DMA传输的范围中不必考虑这些不感兴趣的报头数据。
Claims (10)
1.直接存储器访问控制装置(40),其具有用于将所述直接存储器访问控制装置(40)与连接多个总线用户(60)的总线系统(12)相连接的端子(41),以及具有用于控制所述直接存储器访问控制装置(40)的运行的控制装置(42),其特征在于,所述控制装置(42)是可编程的,
其中,所述直接存储器访问控制装置(40)构造为,根据所述控制装置(42)的编程分析所述总线系统(12)的总线用户(60)的数据(100;100'),并且通过改变编程来适配分析,其中,所述直接存储器访问控制装置(40)构造为,根据所述控制装置(42)的编程,在使用至少一个直接存储器访问的情况下,经由所述总线系统(12),从第一总线用户(60)向至少一个第二总线用户(60)传输数据(100;100'),
其中,所述控制装置(42)构造为,加载至少一个参数集,并且将所述至少一个参数集用于分析和/或传输所述总线系统(12)的总线用户(60)的数据(100;100')。
2.根据权利要求1所述的直接存储器访问控制装置(40),其中,可编程的控制装置(42)包括可编程的计算单元(44)。
3.根据权利要求1或者2所述的直接存储器访问控制装置(40),其中,所述至少一个参数集包括如下参数中的至少一个:
-搜索特征;
-搜索位置;
-相应的搜索特征的长度;
-可预给定的数目的重复步骤或搜索遍历;
-用于传输所述数据(100;100')的至少一个区段的目的地地址。
4.根据权利要求3所述的直接存储器访问控制装置(40),其中,所述搜索特征是协议信息和/或控制器局域网络标识CAN-ID,和/或所述搜索位置是偏移地址。
5.根据权利要求1或者2所述的直接存储器访问控制装置(40),其中,所述直接存储器访问控制装置(40)构造为,从总线用户(60)的数据(100;100')中确定信息,并且从所述信息中确定所述数据(100;100')的分别要传输的区段的长度以及将所述长度与参考值进行比较。
6.根据权利要求1或者2所述的直接存储器访问控制装置(40),其中,所述直接存储器访问控制装置(40)构造为执行如下动作中的至少一个:
-从第一总线用户(60)接收(202)触发信号;
-根据一个或所述触发信号,从所述第一总线用户(60)的工作存储器(30)或者存储器(30_1,30_2,30_n)中接收或读取(208)要借助直接存储器访问来传输的数据(100;100');
-确定表征存储器组织的用于第二总线用户(60)的目的地存储器(30;30_1,30_2,30_n)的条目类型,并且在使用至少一个直接存储器访问的情况下,经由所述总线系统(12)将所述第一总线用户(60)的按照所确定的条目类型的数据(100;100')传输到所述第二总线用户(60)的所述目的地存储器(30;30_1,30_2,30_n)中。
7.根据权利要求1或者2所述的直接存储器访问控制装置(40),其中,所述控制装置(42)以集成的方式布置在所述直接存储器访问控制装置(40)的集成的半导体电路中。
8.根据权利要求1或者2所述的直接存储器访问控制装置(40),其中,所述直接存储器访问控制装置(40)构造为硬件电路。
9.用于使直接存储器访问控制装置(40)运行的方法,所述直接存储器访问控制装置(40)具有用于将所述直接存储器访问控制装置(40)与连接多个总线用户(60)的总线系统(12)相连接的端子(41),并且所述直接存储器访问控制装置(40)具有用于控制所述直接存储器访问控制装置(40)的运行的控制装置(42),其特征在于,所述控制装置(42)被编程,
其中,根据所述控制装置(42)的编程,分析所述总线系统(12)的总线用户(60)的数据(100;100'),并且通过改变编程来适配分析,和/或其中,根据所述控制装置(42)的编程,在使用至少一个直接存储器访问的情况下,经由所述总线系统(12),从第一总线用户(60)向至少一个第二总线用户(60)传输数据(100;100'),
其中,加载至少一个参数集,并且将所述至少一个参数集用于分析和/或传输所述总线系统(12)的总线用户(60)的数据(100;100')。
10.根据权利要求9所述的方法,其中,从总线用户(60)的数据(100;100')中确定信息,并且其中从所述信息中确定所述数据(100;100')的分别要传输的区段的长度,以及将所述长度与参考值进行比较。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102016211768.8 | 2016-06-29 | ||
DE102016211768.8A DE102016211768A1 (de) | 2016-06-29 | 2016-06-29 | Speicherdirektzugriffssteuereinrichtung und Betriebsverfahren hierfür |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107544928A CN107544928A (zh) | 2018-01-05 |
CN107544928B true CN107544928B (zh) | 2024-03-29 |
Family
ID=60662535
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710507218.XA Active CN107544928B (zh) | 2016-06-29 | 2017-06-28 | 直接存储器访问控制装置和对此的运行方法 |
Country Status (3)
Country | Link |
---|---|
KR (1) | KR102354062B1 (zh) |
CN (1) | CN107544928B (zh) |
DE (1) | DE102016211768A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102020203663A1 (de) | 2020-03-20 | 2021-09-23 | Robert Bosch Gesellschaft mit beschränkter Haftung | Integrierter Schaltkreis, eingebettetes System und Kraftfahrzeug |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1218564A (zh) * | 1996-03-15 | 1999-06-02 | 微米技术有限公司 | 执行直接存储器访问(dma)字节交换的方法和装置 |
CN1552028A (zh) * | 2001-09-07 | 2004-12-01 | ض� | 用于片上系统的分布式直接存储器访问的方法和装置 |
CN1813248A (zh) * | 2003-06-30 | 2006-08-02 | 英特尔公司 | 可重寻址的虚拟dma控制和状况寄存器 |
CN1828564A (zh) * | 2005-03-02 | 2006-09-06 | 华为技术有限公司 | 一种直接存储器访问控制器及传输数据的方法 |
CN1961300A (zh) * | 2004-06-30 | 2007-05-09 | 英特尔公司 | 使用集成dma引擎进行高性能易失性磁盘驱动器存储器访问的装置和方法 |
CN101355558A (zh) * | 2007-07-26 | 2009-01-28 | Nec爱克赛斯科技株式会社 | 数据处理设备和数据传送方法 |
CN101504633A (zh) * | 2009-03-27 | 2009-08-12 | 北京中星微电子有限公司 | 一种多通道dma控制器 |
US7912997B1 (en) * | 2008-03-27 | 2011-03-22 | Xilinx, Inc. | Direct memory access engine |
CN102541780A (zh) * | 2011-12-15 | 2012-07-04 | 苏州国芯科技有限公司 | 一种多数据流通道dma系统 |
CN103455457A (zh) * | 2012-05-29 | 2013-12-18 | 罗伯特·博世有限公司 | 用于系统的硬件设备、系统和存储器访问方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7533195B2 (en) * | 2004-02-25 | 2009-05-12 | Analog Devices, Inc. | DMA controller for digital signal processors |
KR20070082835A (ko) * | 2006-02-17 | 2007-08-22 | 삼성전자주식회사 | 직접 메모리 액세스 제어장치 및 방법 |
US9141572B2 (en) * | 2006-12-15 | 2015-09-22 | Microchip Technology Incorporated | Direct memory access controller |
-
2016
- 2016-06-29 DE DE102016211768.8A patent/DE102016211768A1/de active Pending
-
2017
- 2017-06-28 CN CN201710507218.XA patent/CN107544928B/zh active Active
- 2017-06-28 KR KR1020170081920A patent/KR102354062B1/ko active IP Right Grant
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1218564A (zh) * | 1996-03-15 | 1999-06-02 | 微米技术有限公司 | 执行直接存储器访问(dma)字节交换的方法和装置 |
CN1552028A (zh) * | 2001-09-07 | 2004-12-01 | ض� | 用于片上系统的分布式直接存储器访问的方法和装置 |
CN1813248A (zh) * | 2003-06-30 | 2006-08-02 | 英特尔公司 | 可重寻址的虚拟dma控制和状况寄存器 |
CN1961300A (zh) * | 2004-06-30 | 2007-05-09 | 英特尔公司 | 使用集成dma引擎进行高性能易失性磁盘驱动器存储器访问的装置和方法 |
CN1828564A (zh) * | 2005-03-02 | 2006-09-06 | 华为技术有限公司 | 一种直接存储器访问控制器及传输数据的方法 |
CN101355558A (zh) * | 2007-07-26 | 2009-01-28 | Nec爱克赛斯科技株式会社 | 数据处理设备和数据传送方法 |
US7912997B1 (en) * | 2008-03-27 | 2011-03-22 | Xilinx, Inc. | Direct memory access engine |
CN101504633A (zh) * | 2009-03-27 | 2009-08-12 | 北京中星微电子有限公司 | 一种多通道dma控制器 |
CN102541780A (zh) * | 2011-12-15 | 2012-07-04 | 苏州国芯科技有限公司 | 一种多数据流通道dma系统 |
CN103455457A (zh) * | 2012-05-29 | 2013-12-18 | 罗伯特·博世有限公司 | 用于系统的硬件设备、系统和存储器访问方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20180002535A (ko) | 2018-01-08 |
KR102354062B1 (ko) | 2022-01-24 |
DE102016211768A1 (de) | 2018-01-04 |
CN107544928A (zh) | 2018-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11463275B2 (en) | Electronic control unit, frame generating method, and non-transitory computer-readable recording medium storing a program | |
JP5199399B2 (ja) | 通信ネットワークの直列データバスを介して当該ネットワークの加入者に到着したメッセージについての情報を格納するための方法及びフィルタ構成 | |
WO1996034479A1 (en) | Packet switching engine | |
CN114584582B (zh) | 一种车内报文处理方法、装置、车载终端及存储介质 | |
CN103365810B (zh) | 在c.a.n.总线上减少闪速存储装置编程时间的方法和设备 | |
WO2020087400A1 (zh) | 一种报头解析装置及方法 | |
CN113395197A (zh) | 网关装置、车载网络系统、转送方法和程序 | |
CN113179216B (zh) | 一种寄存器的远程配置方法、计算机设备及存储介质 | |
CN106559339B (zh) | 一种报文处理方法及装置 | |
CN107544928B (zh) | 直接存储器访问控制装置和对此的运行方法 | |
CN108737239B (zh) | 一种报文转发方法及装置 | |
KR20170117326A (ko) | 랜덤 액세스 메모리를 포함하는 하나 이상의 처리 유닛을 위한 직접 메모리 액세스 제어 장치 | |
US11516044B2 (en) | Network processing device and networks processing method of communication frames | |
CN112217780A (zh) | 用于在计算机网络中识别攻击的设备和方法 | |
CN113347100B (zh) | 数据流传输方法、装置、计算机设备及存储介质 | |
CN116708609A (zh) | 报文字符数据的提取方法和装置、存储介质及电子装置 | |
CN115904488A (zh) | 数据传输方法、系统、装置及设备 | |
CN115033407A (zh) | 一种适用于云计算的采集识别流量的系统和方法 | |
CN114301735A (zh) | 管控ipsec隧道数据按需分配的方法、系统、终端及存储介质 | |
CN113553285A (zh) | 电子控制单元、帧生成方法和记录介质 | |
CN114237928A (zh) | 容器间通信方法及装置、电子设备、计算机可读存储介质 | |
Luo et al. | Implementation of bootloader based on DoIP | |
US7613133B2 (en) | Method, system and computer program product for processing packets at forwarder interfaces | |
CN115955428B (zh) | 云网络数据包裁切方法和系统 | |
US11283713B2 (en) | Relay device |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |