DE102016211768A1 - Speicherdirektzugriffssteuereinrichtung und Betriebsverfahren hierfür - Google Patents

Speicherdirektzugriffssteuereinrichtung und Betriebsverfahren hierfür Download PDF

Info

Publication number
DE102016211768A1
DE102016211768A1 DE102016211768.8A DE102016211768A DE102016211768A1 DE 102016211768 A1 DE102016211768 A1 DE 102016211768A1 DE 102016211768 A DE102016211768 A DE 102016211768A DE 102016211768 A1 DE102016211768 A1 DE 102016211768A1
Authority
DE
Germany
Prior art keywords
control device
direct access
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.)
Pending
Application number
DE102016211768.8A
Other languages
English (en)
Inventor
Axel Aue
Josef Newald
Eugen Becker
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102016211768.8A priority Critical patent/DE102016211768A1/de
Priority to CN201710507218.XA priority patent/CN107544928B/zh
Priority to KR1020170081920A priority patent/KR102354062B1/ko
Publication of DE102016211768A1 publication Critical patent/DE102016211768A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • H04L12/4625Single bridge functionality, e.g. connection of two networks over a single bridge
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling 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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)
  • Computer And Data Communications (AREA)
  • Bus Control (AREA)

Abstract

Die Erfindung betrifft eine Speicherdirektzugriffssteuereinrichtung (40) mit einem Anschluss zur Verbindung der Speicherdirektzugriffssteuereinrichtung (40) mit einem mehrere Busteilnehmer (60) verbindenden Bussystem (12) und mit einer Steuereinrichtung (42) zur Steuerung eines Betriebs der Speicherdirektzugriffssteuereinrichtung (40). Dabei ist die Steuereinrichtung (42) programmierbar.

Description

  • Stand der Technik
  • Die Erfindung betrifft eine Speicherdirektzugriffssteuereinrichtung nach dem Oberbegriff des Anspruchs 1, sowie ein Verfahren nach dem nebengeordneten Patentanspruch.
  • Vom Markt her bekannt sind Recheneinheiten, beispielsweise Prozessoren, welche einen oder mehrere Prozessorkerne aufweisen, und welche gegebenenfalls auf einen Arbeitsspeicher zugreifen können. Weiterhin umfassen Rechnersysteme, welche eine oder mehrere solcher Recheneinheiten aufweisen, üblicherweise eine Mehrzahl von weiteren mit der Recheneinheit zusammenwirkenden Einheiten, beispielsweise Eingabe- und Ausgabebausteine ("IO") und dergleichen. Zumindest einige der besagten Elemente des Rechnersystems können über einen gemeinsamen, bevorzugt parallelen, Bus miteinander Daten austauschen, beispielsweise Daten mit einer Ethernet-Struktur. Weiterhin sind Verfahren für einen so genannten Speicherdirektzugriff, DMA, englisch "direct memory access", bekannt, wodurch der Datenaustausch über den gemeinsamen Bus verbessert werden kann.
  • Bekannte Vorrichtungen zur Steuerung eines Speicherdirektzugriffs weisen für viele Anwendungszwecke eine unzureichende Flexibilität auf.
  • Offenbarung der Erfindung
  • Das der Erfindung zugrunde liegende Problem wird durch eine Speicherdirektzugriffssteuereinrichtung nach Anspruch 1, sowie durch ein Verfahren nach dem nebengeordneten Anspruch gelöst. Vorteilhafte Weiterbildungen sind in den Unteransprüchen angegeben. Für die Erfindung wichtige Merkmale finden sich ferner in der nachfolgenden Beschreibung und in den Zeichnungen, wobei die Merkmale sowohl in Alleinstellung als auch in unterschiedlichen Kombinationen für die Erfindung wichtig sein können, ohne dass hierauf nochmals explizit hingewiesen wird.
  • Die Erfindung betrifft eine Speicherdirektzugriffssteuereinrichtung mit einem Anschluss zur Verbindung der Speicherdirektzugriffssteuereinrichtung mit einem mehrere Busteilnehmer verbindenden Bussystem und mit einer Steuereinrichtung zur Steuerung eines Betriebs der Speicherdirektzugriffssteuereinrichtung. Dabei ist die Steuereinrichtung programmierbar, wodurch eine gesteigerte Flexibilität gegenüber den bekannten Systemen erreicht wird.
  • In einer Ausgestaltung ist an dem Bussystem kein Arbeitsspeicher, insbesondere kein zentraler Arbeitsspeicher einer Recheneinheit, angeschlossen. Entsprechend weisen die an das Bussystem angeschlossenen Elemente, bei denen es sich z.B. um Kommunikationsmodule handeln kann, gegebenenfalls einen lokalen Speicher auf, beispielsweise einen RAM-Speicher (englisch: "Random Access Memory", Speicher mit wahlfreiem Zugriff), der als Quelle und/oder Ziel für Speicherdirektzugriffs-Datenübertragungen ("DMA-Übertragungen") dienen kann.
  • In einer Ausgestaltung sind die erfindungsgemäße Speicherdirektzugriffssteuereinrichtung, das Bussystem sowie mindestens einer der Busteilnehmer Elemente eines Mikrocontrollers. Beispielsweise ist dieser Mikrocontroller auf einer einzigen integrierten Halbleiterschaltung ("Chip") angeordnet. Bei anderen Ausführungsformen kann die erfindungsgemäße Speicherdirektzugriffssteuereinrichtung beispielsweise auch in ein Kommunikationsmodul integriert sein.
  • Vorliegend bedeutet die Eigenschaft "programmierbar", dass durch die Steuereinrichtung bzw. die Speicherdirektzugriffssteuereinrichtung ausführbare Verfahrensschritte im Betrieb eines das Bussystem und die daran angeschlossenen Elemente umfassenden Systems frei programmierbar sind, beispielsweise durch die Vorgabe entsprechender (Programm-)Befehle.
  • Insbesondere ist es ferner möglich, so genannte "Vergleichs-Abzweigungen", welche auch unter den Pseudocode-Befehlsnamen "if", "then", "else" usw. bekannt sind, in nahezu beliebiger Struktur vorzugeben und abzuarbeiten.
  • Dies könnte vorteilhaften Ausführungsformen zufolge durch eine Recheneinheit (z.B. CPU, MCS – Multi Channel Sequencer oder auch eine andere Form) abgebildet werden. Sie ist z.B. dadurch charakterisiert, dass ein "eigener" Befehlssatz existiert, die Recheneinheit mithin unter Verwendung dieses Befehlssatzes programmiert werden kann. So kann z.B. der DMA Betrieb an den jeweiligen Applikationsfall frei programmiert werden. Der Vorteil vom MCS ist der konfigurierbare Modus von der sequenziellen Programmabarbeitung, die durch andere Prozesse nicht unterbrochen werden kann.
  • Man kann sich auch eine programmierbare Steuereinrichtung mit einem Set von ausführbaren Operationsschritten (z.B. arithmetische/logische, z.B. "if", "else" etc.) vorstellen, die durch die Kombination von diesen Schritten einen Programmablauf zusammen bildet.
  • Die Speicherdirektzugriffssteuereinrichtung kann z.B. für DMA-Übertragungen zwischen unterschiedlichen Busteilnehmern verwendet werden und hierfür mit diesen zusammenwirken. Beispielsweise können solche Busteilnehmer Kommunikationsmodule bzw. diesen Kommunikationsmodulen zugeordnete Speicherbereiche sein. Beispielsweise können die Kommunikationsmodule als Ethernet-Module oder als so genannte "MCAN-Module" ausgeführt sein. "CAN" bedeutet englisch "Controller Area Network", wobei der Buchstabe "M" einen herstellerspezifischen Namenszusatz charakterisiert. Die Speicherdirektzugriffssteuereinrichtung kann auch mit solchen Busteilnehmern bzw. solchen Kommunikationsmodulen zusammenwirken, welche nicht für einen Betrieb mit mehreren Recheneinheiten bzw. mehreren Rechenkernen ausgeführt sind.
  • Die Erfindung weist den Vorteil auf, dass mittels der programmierbaren Steuereinrichtung Daten mit einer vergleichsweise komplexen Struktur, insbesondere auch mit einer verschachtelten Struktur, in besonders "intelligenter" Weise analysiert und/oder mittels Speicherdirektzugriff verarbeitet werden können, wie weiter unten noch näher erläutert werden wird. Beispielsweise können so genannte "Ethernetframes", also Datenrahmen gemäß dem Ethernetprotokoll, eine verschachtelte Struktur von weiteren Protokollen und/oder von so genannten "Payload-Daten" über verschiedene Schichten des ISO/OSI-Schichtenmodells hinweg aufweisen. Auch die Analyse und Filterung von Daten höherer Protokollschichten (ISO/OSI-Schichten 3 und höher, z.B. Schicht 4 oder 5) ist erfindungsgemäß ermöglicht.
  • In einer Ausgestaltung ist die Speicherdirektzugriffssteuereinrichtung dazu ausgebildet, in Abhängigkeit der Programmierung der Steuereinrichtung Daten eines Busteilnehmers des Bussystems zu analysieren. Durch die Programmierung der Steuereinrichtung können die Daten besonders vorteilhaft und flexibel analysiert werden. Dadurch ist es unter anderem möglich, die besagte Analyse schrittweise durchzuführen, wobei in einer Ausgestaltung z.B. jeweils folgende Analyse-Schritte in Abhängigkeit von jeweils voran gehenden Analyse-Schritten durchgeführt werden. Ebenso ist es bei weiteren Ausführungsformen denkbar, die Analyse durch Änderung der Programmierung anzupassen, z.B. an zukünftig zu definierende Datenformate bzw. Protokolle, um diese entsprechend analysieren (z.B. filtern) zu können.
  • In einer Ausgestaltung werden mittels der Analyse mindestens eine Länge von zu übertragenden Daten und mindestens eine Zieladresse für eine Übertragung an mindestens einen zweiten Busteilnehmer ermittelt. Sofern die Daten eine Mehrzahl von Abschnitten umfassen, welche jeweils getrennt übertragen werden sollen, dann können entsprechend mehrere Längen und mehrere Zieladressen ermittelt werden.
  • In einer Ausgestaltung kann die Steuereinrichtung optional zwischen jeweiligen Analyse-Schritten programmiert werden. Beispielsweise erfolgt dies ebenfalls in Abhängigkeit von jeweils vorangehenden Analyse-Schritten bzw. den hierbei erhaltenen Ergebnissen. Insbesondere kann eine zu der Speicherdirektzugriffssteuereinrichtung externe Analyse der Daten, welche beispielsweise mittels einer separaten Recheneinheit unter Verwendung von vordefinierten Konfigurationen und/oder eines nicht veränderbaren Computerprogramms erfolgt, vermindert werden oder ist sogar entbehrlich. Mittels der programmierbaren Steuereinrichtung kann somit eine erforderliche Rechen-Laufzeit schon bei der Analyse vorteilhaft vermindert werden.
  • Ferner können DMA-Übertragungen von an sich nicht benötigten Daten vermieden werden, weil dem erfindungsgemäßen Prinzip folgend eine Analyse von Daten eines Busteilnehmers ausgeführt werden kann, mittels der die interessierenden zu übertragenden Daten bzw. deren Länge ermittelt werden. Auf diese Weise kann beispielsweise vermieden werden, nicht interessierende Protokoll-Header-Daten anderer Protokollschichten einer DMA-Übertragung zu unterwerfen, die in einem Zielmodul für die DMA-Übertragung gar nicht benötigt werden. Stattdessen können gezielt z.B. nur die Nutzdaten (bzw. Teile hiervon) eines interessierenden Datenpakets bzw. Datenrahmens mittels DMA übertragen werden.
  • In einer weiteren Ausgestaltung ist die Speicherdirektzugriffssteuereinrichtung dazu ausgebildet, in Abhängigkeit der Programmierung der Steuereinrichtung Daten von einem ersten Busteilnehmer an mindestens einen zweiten Busteilnehmer unter Verwendung mindestens eines Speicherdirektzugriffs über das Bussystem zu übertragen. Mittels der Programmierung können die Daten besonders vorteilhaft übertragen werden. Die zu übertragenden Daten können wie vorstehend bereits erwähnt die gesamten bei der Analyse untersuchten Daten umfassen, oder nur einen Teil davon.
  • Insbesondere ermöglicht die Speicherdirektzugriffssteuereinrichtung eine Übertragung von Daten (oder von Teilen davon) von einem ersten mit dem Bussystem verbundenen Busteilnehmer, welcher beispielsweise ein Kommunikationsmodul oder ein dem Kommunikationsmodul zugeordneter Speicherbereich ist. Beispielsweise können diese Daten in einen lokalen Speicher einer mit dem Bussystem verbundenen Recheneinheit bzw. eines Rechenkerns übertragen werden, wobei eine Beteiligung dieser Recheneinheit oder einer anderen Recheneinheit an der Übertragung (und der ggf. vorangehenden Analyse durch die Speicherdirektzugriffssteuereinrichtung) nicht erforderlich ist.
  • Die zu übertragenden Daten können vorteilhaft unter Verwendung von in den Daten enthaltener Kriterien ("Such-Merkmale" bzw. Filterkriterien, siehe weiter unten) an eine bestimmte Recheneinheit bzw. Rechenkern bzw. Speicherbereich übertragen werden. Es ist auch möglich, mehrere Teile der zu übertragenden Daten an mehrere Recheneinheiten bzw. Rechenkerne bzw. Speicherbereiche zu übertragen und somit zu verteilen. Dabei können alle Daten einer Nachricht (beispielsweise ein Ethernetframe) oder nur bestimmte vorgebbare Teile der Nachricht übertragen werden.
  • Letzteres ist insbesondere bei langen Ethernet-Frames ein großer Vorteil, weil nicht benötigte Informationen (Header, andere Protokolle) bereits vor der DMA-Übertragung entfernt werden können. Die dadurch vermiedenen unnötigen Byte-Übertragungen entlasten das Bussystem (welches beispielsweise ein interner Bus eines Mikrocontrollers, μC, ist) und vereinfachen die Software insbesondere betreffend eine Datenverarbeitung der über DMA-Übertragungen empfangenen Daten desjenigen Busteilnehmers, an welchen die Daten übertragen werden. Dabei kann eine insgesamt erforderliche Rechenleistung bzw. eine die Übertragung der Daten charakterisierende Laufzeit vermindert werden, weil die am Ziel nicht benötigten Frameteile vorab entfallen. Die besagte Laufzeit kann unter anderem eine zur Analyse verwendete Protokollermittlung, eine Datensuche, und dergleichen umfassen.
  • Ethernetframes, beispielsweise mit einem so genannten "SOME-IP-Protokoll", können eine Mehrzahl von zu übertragenden Datenabschnitten (Datensegmenten) umfassen, welche jeweils mittels Speicherdirektzugriff zu verschiedenen Busteilnehmern übertragen werden können. Dabei weist die erfindungsgemäße Speicherdirektzugriffssteuereinrichtung den weiteren Vorteil auf, dass ein einzelner so genannter "DMA-Kanal", (DMA, englisch: "Direct Memory Access", direkter Speicherzugriff) mehrere Datenabschnitte an verschiedene Busteilnehmer übertragen kann. Die Abkürzung "SOME-IP" bedeutet englisch "Scalable service-Oriented MiddlewarE over IP".
  • Nachdem die Speicherdirektzugriffssteuereinrichtung eine Datenlänge ("Frame-Länge") bzw. eine Länge von jeweiligen Abschnitten der Daten ermittelt hat, kann die Speicherdirektzugriffssteuereinrichtung einer weiteren Ausführungsform zufolge eine Startadresse und eine Endadresse z.B. vor oder während der DMA-Übertragung plausibilisieren und ggf. fallweise mittels Setzen von Fehler-Flags angemessen reagieren. Dadurch können weitere Überprüfungen, welche gegebenenfalls nach dem Stand der Technik mittels Software auszuführen wären, die auf einem Zielmodul für die DMA-Übertragung läuft, entbehrlich sein.
  • Die beschriebene Analyse der Daten sowie die Steuerung der Speicherdirektzugriffssteuereinrichtung erfolgen dabei vorteilhaft unter Verwendung der programmierbaren Steuereinrichtung. Die Programmierung der programmierbaren Steuereinrichtung kann beispielsweise durch Bereitstellen entsprechender (Programm-)Befehle für die Steuereinrichtung, beispielsweise in einem vorgebbaren Speicherbereich eines an das Bussystem angebundenen Speichers, erfolgen, oder auch durch Bereitstellen der (Programm-)Befehle für die Steuereinrichtung in einem gesonderten Speicher (z.B. lokal bezüglich der Speicherdirektzugriffssteuereinrichtung), der z.B. nicht an das Bussystem angebunden ist.
  • In einer weiteren Ausgestaltung umfasst die programmierbare Steuereinrichtung eine programmierbare Recheneinheit. Teile der Funktionalität der Steuereinrichtung für die Speicherdirektzugriffssteuereinrichtung können einer weiteren Ausführungsform zufolge auch mittels wenigstens eines Zustandsautomaten (englisch: state machine) realisiert werden.
  • Weiterhin kann vorgesehen sein, dass die Steuereinrichtung (bzw. die programmierbare Recheneinheit) dazu ausgebildet ist, mindestens einen Parametersatz, welcher mindestens einen der folgenden Parameter umfasst, zu laden und für eine Analyse und/oder Übertragung von Daten eines Busteilnehmers des Bussystems zu verwenden:
    • – Such-Merkmal, insbesondere eine Protokoll-Information und/oder eine CAN-ID, englisch: Controller Area Network Identity;
    • – Such-Position, insbesondere eine Offset-Adresse;
    • – Länge eines jeweiligen Such-Merkmals;
    • – Vorgebbare Anzahl von Wiederholungsschritten bzw. Suchdurchläufen;
    • – Zieladresse für die Übertragung des mindestens einen Abschnitts der Daten.
  • Durch das Laden des mindestens einen Parametersatzes (welcher also einen oder eine Mehrzahl von Parametern umfassen kann) kann die Analyse der Daten besonders effizient und flexibel erfolgen. Das besagte Laden kann optional auch zwischen eventuell mehreren Schritten der Analyse durchgeführt werden, beispielsweise in Abhängigkeit von Ergebnissen jeweils voran gehender Analyse-Schritte.
  • In einer weiteren Ausgestaltung ist die Speicherdirektzugriffssteuereinrichtung dazu ausgebildet, Informationen aus Daten eines Busteilnehmers zu ermitteln und aus den Informationen eine Länge eines jeweils zu übertragenden Abschnitts der Daten zu ermitteln und mit einem Referenzwert zu vergleichen. Beispielsweise können dazu die besagten Daten ganz oder auch nur teilweise (z.B. in einen lokalen (Puffer-)Speicher der Speicherdirektzugriffssteuereinrichtung) geladen sein. Sofern mehrere Abschnitte der Daten übertragen werden sollen, können das Ermitteln der Informationen und der Vergleich mit dem Referenzwert auch iterativ erfolgen, beispielsweise entsprechend einer jeweils vorliegenden Struktur der Daten. Mittels der ermittelten Länge und des Referenzwerts können Fehler und/oder vorsätzliche Manipulationen in den Daten bzw. bei deren Übertragung vorteilhaft erkannt werden.
  • In einer weiteren Ausgestaltung ist die Speicherdirektzugriffssteuereinrichtung dazu ausgebildet, verschiedene Abschnitte der Daten an verschiedene zweite Busteilnehmer bzw. an verschiedene Zieladressen zu übertragen, insbesondere an verschiedene lokale Speicher von mit dem Bussystem verbundenen Recheneinheiten zu übertragen. Damit können in einem (Quell-)Busteilnehmer vorliegende Daten vorteilhaft anhand von Kriterien auf den Daten und/oder auf Metadaten hiervon in verschiedene Zielbereiche, z.B. an verschiedene Ziel-Busteilnehmer, übertragen bzw. verteilt werden. Insbesondere ist es damit auch möglich, bei einem als Kommunikationsmodul ausgebildeten (Quell-)Busteilnehmer Daten aus einer Nachricht des Kommunikationsmoduls (z.B. von dem Kommunikationsmodul empfangene CAN-Botschaft oder dergleichen) an verschiedene Ziel-Busteilnehmer zu verteilen.
  • In einer weiteren Ausgestaltung ist die Speicherdirektzugriffssteuereinrichtung dazu ausgebildet, Fehlerinformationen zu ermitteln und/oder eine Analyse und/oder Übertragung von Daten in Abhängigkeit von den Fehlerinformationen durchzuführen. Sofern beispielsweise eine Analyse der Quell- und oder Zieladresse sowie ggf. weiterer möglicher Parameter für eine bestimmte DMA-Übertragung ein oder mehrere vorgebbare Fehlerkriterien erfüllt (z.B. Zieladresse außerhalb eines erlaubten Adressbereichs, Länge der zu übertragenden Daten größer als vorgebbare Grenzwert, usw.), kann auf einen Fehler bzw. eine Manipulation geschlossen und die DMA-Übertragung gestoppt bzw. gar nicht erst ausgeführt werden. Das Einleiten einer Fehlerreaktion (Eintrag in einem Fehlerspeicher, Unterbrechungsanforderung (englisch: interrupt request) an eine Recheneinheit, usw.) ist bei weiteren Ausführungsformen ebenfalls denkbar.
  • In einer weiteren Ausgestaltung ist die Speicherdirektzugriffssteuereinrichtung dazu ausgebildet, eine Startadresse und/oder eine Endadresse von Daten eines ersten Busteilnehmers zu ermitteln und mit einem Referenzwert zu vergleichen.
  • In einer weiteren Ausgestaltung ist die Speicherdirektzugriffssteuereinrichtung dazu ausgebildet, eine Startadresse und/oder eine Endadresse von an einen zweiten Busteilnehmer zu übertragenden Daten und/oder zu übertragenden Abschnitten von Daten zu ermitteln und mit einem Referenzwert zu vergleichen.
  • In einer weiteren Ausgestaltung ist die Speicherdirektzugriffssteuereinrichtung dazu ausgebildet, Signalisierungsinformationen von einem ersten Busteilnehmer zu empfangen und/oder in dem ersten Busteilnehmer zu setzen bzw. zu löschen.
  • In einer weiteren Ausgestaltung ist die Speicherdirektzugriffssteuereinrichtung dazu ausgebildet, Signalisierungsinformationen an einen zweiten Busteilnehmer zu senden und/oder in dem zweiten Busteilnehmer zu setzen bzw. zu löschen.
  • In einer weiteren Ausgestaltung ist die Speicherdirektzugriffssteuereinrichtung dazu ausgebildet, mindestens eine der folgenden Aktionen durchzuführen:
    • – Empfangen eines Triggersignals (Steuersignal, das z.B. angibt, dass eine DMA-Übertragung und/oder eine Analyse von Daten ausgeführt werden soll) von einem ersten Busteilnehmer;
    • – Empfangen bzw. Lesen von mittels Speicherdirektzugriffs zu übertragenden Daten aus einem Arbeitsspeicher oder einem Speicher des ersten Busteilnehmers, insbesondere in Abhängigkeit von einem bzw. dem Triggersignal;
    • – Ermitteln einer eine Speicherorganisation charakterisierenden Eintragsart für einen Zielspeicher eines zweiten Busteilnehmers und übertragen der Daten gemäß der ermittelten Eintragsart von dem ersten Busteilnehmer in den Zielspeicher des zweiten Busteilnehmers unter Verwendung mindestens eines Speicherdirektzugriffs über das Bussystem.
  • Mittels der vorstehend beschriebenen Aktionen, die bei weiteren vorteilhaften Ausführungsformen einzeln oder in Kombination miteinander und in beliebiger Reihenfolge zueinander ausführbar sind, kann ein Betrieb der Speicherdirektzugriffssteuereinrichtung sowie die Analyse und Übertragung der Daten vorteilhaft verbessert werden. Mittels der Eintragsart kann beispielsweise vorgegeben werden, ob die Daten am Ziel in einen vorgebbaren "dedizierten" (Block-)Speicherbereich oder in einen als Ringspeicher konfigurierten Speicherbereich übertragen werden. Der Speicherbereich kann beispielsweise jeweils ein zentraler Arbeitsspeicher oder ein jeweiliger lokaler Speicher eines Busteilnehmers sein, beispielsweise ein lokaler Speicher einer mit dem Bussystem verbundenen Recheneinheit.
  • Weiterhin kann vorgesehen sein, dass die Steuereinrichtung in einer integrierten Halbleiterschaltung der Speicherdirektzugriffssteuereinrichtung integriert angeordnet ist. Dadurch können Bauraum und Kosten gespart werden.
  • Weiterhin kann vorgesehen sein, dass die Speicherdirektzugriffssteuereinrichtung (insbesondere einschließlich der programmierbaren Steuereinrichtung) als Hardware-Schaltung, insbesondere unter Verwendung von Halbleitertechnologien mit Strukturgrößen im Bereich von 20 nm (Nanometer) bis 60 nm, ausgebildet ist. Dadurch kann eine erforderliche Laufzeit für die Analyse und die Übertragung der Daten vorteilhaft vermindert und ein effizienter Betrieb sichergestellt werden.
  • In einer Ausgestaltung ist die Speicherdirektzugriffssteuereinrichtung zur Ausführung der folgenden Schritte ausgebildet:
    • – Empfangen bzw. Lesen von mindestens einem Parametersatz von mindestens einem Busteilnehmer, wobei der Parametersatz mindestens einen vorgebbaren Parameter umfasst;
    • – Empfangen bzw. Lesen von Daten von einem ersten Busteilnehmer;
    • – Ermitteln von ersten Informationen aus einem ersten Bereich der Daten, wobei der erste Bereich der Daten in Abhängigkeit von dem mindestens einen Parameter ermittelt wird;
    • – Vergleichen der ersten Informationen mit einem aus dem Parametersatz ermittelten ersten Kriterium, welches beispielsweise ein "Such-Merkmal" ist;
    • – Bedingtes Durchführen nachfolgender Schritte (a) bis (c) in Abhängigkeit von dem Vergleich und/oder den ermittelten ersten Informationen: (a) Ermitteln von jeweiligen weiteren Informationen aus mindestens einem jeweiligen weiteren Bereich der Daten, wobei der jeweilige weitere Bereich der Daten in Abhängigkeit von mindestens einem weiteren Parameter und/oder den ersten Informationen und/oder den weiteren Informationen ermittelt wird; (b) Vergleichen der weiteren Informationen mit einem aus dem Parametersatz ermittelten weiteren Kriterium; (c) Bedingtes Wiederholen der Schritte (a) bis (c) in Abhängigkeit von dem Vergleich und/oder den ermittelten weiteren Informationen;
    • – Ermitteln mindestens einer Zieladresse mindestens eines zweiten Busteilnehmers in Abhängigkeit von den ersten Informationen und/oder den weiteren Informationen und/oder dem mindestens einen Parameter;
    • – Ermitteln einer Länge mindestens eines an die mindestens eine Zieladresse zu übertragenden Abschnitts der Daten in Abhängigkeit von den ersten Informationen und/oder den weiteren Informationen und/oder dem mindestens einen Parameter;
    • – Übertragen des mindestens einen Abschnitts der Daten an die mindestens eine Zieladresse des mindestens einen zweiten Busteilnehmers unter Verwendung eines Speicherdirektzugriffs von dem ersten Busteilnehmer zu dem mindestens einen zweiten Busteilnehmer.
  • Der jeweils genannte Bereich der Daten ist vorzugsweise durch eine oder mehrere Adressen des Bussystems bzw. Adressen eines mit dem Bussystem verbundenen Speichers charakterisiert. Die durch die dargestellten Schritte beschriebene Speicherdirektzugriffssteuereinrichtung ist besonders vorteilhaft zur Analyse und zum Übertragen der Daten ausgebildet.
  • In einer Ausgestaltung dazu erfolgt vor dem Übertragen des mindestens einen Abschnitts der Daten eine Wiederholung mindestens eines Teils der dem Schritt des Übertragens vorangehenden Schritte. Auf diese Weise können vorteilhaft Informationen zu mehreren aus den Daten zu übertragender Abschnitte ermittelt werden und die anschließenden Übertragungen der Abschnitte aufeinander folgend durchgeführt werden.
  • Weiterhin betrifft die Erfindung ein Verfahren zum Betreiben einer Speicherdirektzugriffssteuereinrichtung mit einem Anschluss zur Verbindung der Speicherdirektzugriffssteuereinrichtung mit einem mehrere Busteilnehmer verbindenden Bussystem und mit einer Steuereinrichtung zur Steuerung eines Betriebs der Speicherdirektzugriffssteuereinrichtung. Dabei wird verfahrensgemäß die Steuereinrichtung programmiert.
  • In einer Ausgestaltung des Verfahrens werden in Abhängigkeit der Programmierung der Steuereinrichtung Daten eines Busteilnehmers des Bussystems analysiert, oder es werden in Abhängigkeit der Programmierung der Steuereinrichtung Daten von einem ersten Busteilnehmer an mindestens einen zweiten Busteilnehmer unter Verwendung mindestens eines Speicherdirektzugriffs über das Bussystem übertragen.
  • In einer weiteren Ausgestaltung des Verfahrens werden Informationen aus Daten eines Busteilnehmers ermittelt, wobei aus den Informationen eine Länge eines jeweils zu übertragenden Abschnitts der Daten ermittelt und mit einem Referenzwert verglichen wird.
  • Für das erfindungsgemäße Verfahren ergeben sich vergleichbare Vorteile wie es weiter oben für die Speicherdirektzugriffssteuereinrichtung und deren Ausgestaltungen bereits beschrieben wurde.
  • Nachfolgend werden beispielhafte Ausführungsformen der Erfindung unter Bezugnahme auf die Zeichnung erläutert. In der Zeichnung zeigt:
  • 1 ein vereinfachtes Schema mit einem Bussystem, einer Speicherdirektzugriffssteuereinrichtung und einer Mehrzahl von mit dem Bussystem verbundenen Busteilnehmern;
  • 2 eine schematische Darstellung von Daten eines Ethernetframes;
  • 3 einen Programmablaufplan für eine Steuereinrichtung zur Steuerung eines Betriebs der Speicherdirektzugriffssteuereinrichtung von 1;
  • 4 ein erstes Diagramm für eine optionale Erweiterung des Programmablaufplans von 3;
  • 5 ein zweites Diagramm für eine optionale Erweiterung des Programmablaufplans von 3;
  • 6 eine beispielhafte Zuordnung von Datenabschnitten eines Ethernetframes zu jeweiligen lokalen Speichern von mit dem Bussystem verbundenen Recheneinheiten;
  • 7 eine erste weitere Ausführungsform für einen als Kommunikationsmodul ausgeführten Busteilnehmer für das System gemäß 1; und
  • 8 eine zweite weitere Ausführungsform für einen als Kommunikationsmodul ausgeführten Busteilnehmer für das System gemäß 1.
  • Es werden für funktionsäquivalente Elemente und Größen in allen Figuren auch bei unterschiedlichen Ausführungsformen die gleichen Bezugszeichen verwendet.
  • Die 1 zeigt ein Rechnersystem 10, welches vorliegend eine Mehrzahl von Recheneinheiten 20_1 bis 20_n und den Recheneinheiten 20_1 bis 20_n jeweils zugeordneten lokalen Speichern 30_1, 30_2 bis 30_n umfasst. Außerdem ist ein zentraler Arbeitsspeicher 30 mit dem Bussystem 12 verbunden. Der Arbeitsspeicher 30 ist optional und daher in 1 gestrichelt gezeichnet. Ein Block links in 1 charakterisiert eine Speicherdirektzugriffssteuereinrichtung 40, welche über einen Anschluss 41 ebenfalls mit dem Bussystem 12 verbunden ist. Oberhalb der Speicherdirektzugriffssteuereinrichtung 40 ist in 1 eine Steuereinrichtung 42 gezeigt, welche einen Betrieb der Speicherdirektzugriffssteuereinrichtung 40 steuern kann.
  • Weiterhin zeigt die 1 mehrere mit dem Bussystem 12 verbundene Kommunikationsmodule 50_1 bis 50_n, welche verallgemeinernd auch durch das Bezugszeichen 50 bezeichnet werden. An die Kommunikationsmodule 50_1 bis 50_n sind beispielsweise jeweils ein Ethernet-Netzwerk, ein CAN-Bus oder dergleichen angeschlossen. Jede der mit dem Bussystem 12 verbundenen Komponenten 20_1, 20_2 bis 20_n, 30_1, 30_2 bis 30_n, 30, 40, und 50_1, 50_2 bis 50_n charakterisiert einen jeweiligen "Busteilnehmer" des Bussystems 12, wobei die Busteilnehmer verallgemeinernd durch das Bezugszeichen 60 repräsentiert sind.
  • In einer Ausführungsform sind die Recheneinheiten 20_1 bis 20_n durch jeweilige Prozessorkerne einer (als solche in 1 nicht gezeigten) Recheneinheit ausgebildet. In einer Ausführungsform ist diese Recheneinheit als monolithische integrierte Halbleiterschaltung ausgeführt. In einer Ausführungsform ist das Rechnersystem 10 ein Mikrocontroller.
  • Weiterhin sind in 1 mehrere durch pfeilartige Linien gezeichnete Datenpfade symbolisch dargestellt. Diese Datenpfade charakterisieren beispielhaft eine Übertragung von Daten von dem Kommunikationsmodul 50_n (in 1 rechts unten) zu den lokalen Speichern 30_1, 30_2 bis 30_n (in einem oberen Bereich von 1) unter Verwendung eines Speicherdirektzugriffs über das Bussystem 12.
  • Beispielsweise schreiben die Kommunikationsmodule 50 über ihren jeweiligen Kommunikationskanal (nicht dargestellt) empfangene Daten in den Arbeitsspeicher 30, weil die Kommunikationsmodule 50 die Daten im Allgemeinen nicht spezifisch interpretieren können. Danach kann das jeweilige Kommunikationsmodul 50 ein Triggersignal an die Speicherdirektzugriffssteuereinrichtung 40 senden, vergleiche dazu weiter unten in 3 den Block 202.
  • Ferner ist es möglich, dass die Kommunikationsmodule 50 über ihren jeweiligen Kommunikationskanal empfangene Daten in einem lokalen Speicher (nicht gezeigt) zumindest temporär speichern und sodann wenigstens Teile der empfangenen Daten unter Verwendung von Speicherdirektzugriffen über das Bussystem 12 an einen oder mehrere andere Busteilnehmer übertragen werden.
  • Insgesamt zeigt die 1 also ein Rechnersystem 10 mit der Speicherdirektzugriffssteuereinrichtung 40 mit einem Anschluss zur Verbindung der Speicherdirektzugriffssteuereinrichtung 40 mit dem mehrere Busteilnehmer 60 verbindenden Bussystem 12 und mit der Steuereinrichtung 42 zur Steuerung eines Betriebs der Speicherdirektzugriffssteuereinrichtung 40. Dabei ist die Steuereinrichtung 42 programmierbar.
  • In einer Ausführungsform ist die Speicherdirektzugriffssteuereinrichtung 40 dazu ausgebildet, in Abhängigkeit der Programmierung der Steuereinrichtung 42 Daten eines Busteilnehmers 60 des Bussystems 12 zu analysieren.
  • In einer weiteren Ausführungsform ist die Speicherdirektzugriffssteuereinrichtung 40 dazu ausgebildet, in Abhängigkeit der Programmierung der Steuereinrichtung 42 Daten von einem ersten Busteilnehmer 60 an mindestens einen zweiten Busteilnehmer 60 unter Verwendung mindestens eines Speicherdirektzugriffs über das Bussystem 12 zu übertragen.
  • In noch einer weiteren Ausführungsform ist vorgesehen, dass die programmierbare Steuereinrichtung 42 eine programmierbare Recheneinheit 44 umfasst, welche in der 1 innerhalb der Steuereinrichtung 42 gestrichelt gezeichnet ist. Die programmierbare Recheneinheit 44 ist vorzugsweise (aber nicht zwingend) durch einen z.B. in der Steuereinrichtung 42 vorliegenden "eigenen" Programmkode bzw. entsprechende Programmbefehle betreibbar, welcher bzw. welche also im Betrieb der Recheneinheit 44 vorzugsweise ohne eine Mitwirkung des Bussystems 12 abgearbeitet werden kann bzw. können. In einer weiteren Ausführungsform kann die Steuereinrichtung 42 auch wenigstens eine Zustandsmaschine aufweisen, um Teile der Funktionalität der Steuereinrichtung 42 für die Speicherdirektzugriffssteuereinrichtung 40 zu realisieren.
  • Bei weiteren vorteilhaften Ausführungsformen können die Komponenten 40, 42, 44 auch jeweils (oder nur eine bzw. zwei hiervon) über einen Speicher, insbesondere einen lokalen Speicher, verfügen, so dass z.B. der vorstehende Programmkode bzw. entsprechende Programmbefehle oder Programme aus dem (lokalen) Speicher der betreffenden Komponente 40, 42, 44 ausführbar ist bzw. sind. Dies erhöht vorteilhaft eine Performance (Leistung) und kann dazu beitragen, Zugriffe auf einen externen bzw. zentralen Speicher, z.B. einen Flash-Speicher, zu verringern bzw. zu vermeiden.
  • In einer bevorzugten Ausführungsform ist die Speicherdirektzugriffssteuereinrichtung 40 als Hardware-Schaltung ausgebildet. In einer weiteren Ausführungsform ist die Steuereinrichtung 42 in einer integrierten Halbleiterschaltung der Speicherdirektzugriffssteuereinrichtung 40 integriert angeordnet. In einer Ausführungsform ist die Steuereinrichtung 42 getrennt von der Speicherdirektzugriffssteuereinrichtung 40 angeordnet.
  • Die 2 zeigt eine schematische Darstellung 100 eines Ethernetframes (Datenrahmen gemäß Ethernet-Protokoll) 120 und darin enthaltener Daten anderer Protokolle bzw. Protokollschichten. Der Ethernetframe 120 ist verschachtelt ausgeführt, was vorliegend durch insgesamt vier sich jeweils in der Zeichnung von links nach rechts erstreckende Datenstrukturen dargestellt ist. Der Ethernetframe von 2 (und ebenso der Ethernetframe 100' von 6, siehe weiter unten) charakterisiert beispielhaft von der Speicherdirektzugriffssteuereinrichtung 40 zu analysierende Daten 100, welche zumindest teilweise anschließend mittels Speicherdirektzugriff und mittels der Speicherdirektzugriffssteuereinrichtung 40 übertragen werden sollen.
  • Eine in 2 unterste Datenstruktur 120 entspricht einer Darstellung des Ethernetframes in einer MAC(englisch: "Medium Access Control")-Schicht (Schicht 2) des ISO/OSI-Schichtenmodells, eine in 2 darüber liegende Datenstruktur 140 charakterisiert i.w. eine IPv6-Struktur ("Internet Protocol Version 6", ISO/OSI Schicht 3) als Bestandteil der Nutzdaten (englisch: payload) 130 des Ethernetframes 120, eine darüber liegende Datenstruktur 160 charakterisiert eine TCP-Struktur (Übertragungssteuerungsprotokoll, englisch: "Transmission Control Protocol", ISO/OSI Schicht 4) als Bestandteil der Nutzdaten 151 der IPv6-Struktur 140, ein darüber liegender Block 180 repräsentiert einen Nutzdateninhalt der TCP-Struktur 160 und deutet symbolisch eine mögliche weitere Verschachtelung von Protokollen und ihren Datenrahmen an. Die Linien 190 deuten jeweils eine "Erweiterung" der Nutzdaten (payload) einer unteren ISO/OSI-Schicht in einen Datenrahmen der jeweils darüber liegenden Schicht an. Bspw. geben die Linien 190 zwischen Block 120 und Block 140 an, dass die IPv6 Struktur 140 aus der MAC payload (Nutzdaten) des Ethernetframes 120 hervorgeht, usw.
  • Vorliegend ist der Ethernetframe 120 durch folgende Felder bzw. Datenabschnitte charakterisiert, welche hier durch ihre Bezugszeichen aufgelistet sind (spaltenweise: Feldname, Bezugszeichen, Länge):
    Präambel 122 8 Byte;
    Zieladresse 123 6 Byte;
    Quelladresse 124 6 Byte;
    TPID 125 2 Byte;
    Priorität (PCP) 126 3 Bit;
    DEI / CFI 127 1 Bit;
    VLAN-ID 128 12 Bit;
    EtherType 129 2 Byte;
    MAC-Payload 130 42 Byte bis 1500 Byte;
    CRC-Prüfsumme 131 4 Byte;
    MAC-Kopfzeile ("header") 132 18 Byte;
    VLAN-Tag 133 4 Byte.
  • Vorliegend ist die IPv6-Struktur 140 durch folgende Datenabschnitte charakterisiert, welche hier durch ihre Bezugszeichen aufgelistet sind:
    Version 143 4 Bit;
    Priorität 144 1 Byte;
    Flow-Label 145 20 Bit;
    Payload-Länge 146 2 Byte;
    Nächster header 147 1 Byte;
    Hop Limit 148 1 Byte;
    Quell-Adresse 149 16 Byte;
    Ziel-Adresse 150 16 Byte;
    IPv6-Payload 151 0 Byte bis 1460 Byte;
    IPv6-header 153 40 Byte;
  • Vorliegend ist die TCP-Struktur 160 durch folgende Datenabschnitte charakterisiert, welche hier durch ihre Bezugszeichen aufgelistet sind:
    Quell-Port 164 2 Byte;
    Ziel-Port 165 2 Byte;
    Sequenz-Nummer 166 4 Byte;
    ACK-Nummer 167 4 Byte;
    Data Offset 168 4 Bit;
    Reserved + Flags 169 12 Bit;
    Window Size 170 2 Byte;
    Prüfsumme 171 2 Byte;
    Urgent Pointer 172 2 Byte;
    TCP-Options 173 0 bis 40 Byte;
    TCP-Payload 174 0 bis 1440 Byte;
    TCP-header 175 20 bis 60 Byte;
  • Einige Datenabschnitte sind in 2 entsprechend der dargestellten Verschachtelung (teilweise ohne Bezugszeichen) mehr als einmal aufgeführt: MAC-Payload 130, IPv6-Payload 151, MAC-header 132, CRC-Prüfsumme 131.
  • Wie weiter unten noch erläutert werden wird, kann eine Analyse der vorstehend beispielhaft beschriebenen Daten durch die erfindungsgemäße Speicherdirektzugriffssteuereinrichtung unter Verwendung vorgebbarer Suchkriterien bzw. Filterkriterien erfolgen. Dabei kann es sich beispielsweise um Ethernetprotokolle (z. B. 0x8100 für "VLAN Tag"), um eine CAN-ID, um PDUs (englisch: "Protocol Data Unit"), um "Mini-Slot-Kennungen", um "LIN-Kennungen" oder Suchkriterien für sonstige Datenstrukturen handeln. Verschiedene Beispiele für solche Suchkriterien sind in den oben beschriebenen Tabellen gezeigt.
  • Das erfindungsgemäße Prinzip und die Analyse von Daten ist jedoch nicht auf das Ethernetprotokoll bzw. die weiteren in 2 veranschaulichten Protokolle IPv6, TCP, ... beschränkt, sondern kann generell auch auf jedes andere (bestehende und zukünftig zu definierende) Protokoll (z.B. CAN, LIN, FlexRay, ...) angewandt werden. Die hierfür erforderliche Flexibilität ist vorteilhaft durch die Programmierbarkeit der Steuereinrichtung 42 (1) gegeben.
  • Die von einem Kommunikationsmodul 50 über dessen spezifischen Kanal empfangenen Daten können entsprechend einer jeweiligen Ausführungsform im Arbeitsspeicher 30 (wie in 1 durch Pfeile markiert) oder lokal in dem jeweiligen Kommunikationsmodul 50 gespeichert sein. In 2 zeigen die schraffierten Bereiche 1, 2, 3, 4 jeweils beispielhaft von der Speicherdirektzugriffssteuereinrichtung 40 zu analysierende Bereiche, welche jeweils bestimmte Protokoll-Identifikationen und/oder Datenlängen enthalten. Die Aufgabe der Steuereinrichtung 42 kann umfassen, solche Bereiche in den Daten zu finden, eine jeweilige Datenlänge zu ermitteln, und die Daten in Abhängigkeit von ladbaren Parametern, welche ihrerseits von einem jeweiligen Protokoll abhängig sein können, und/oder in Abhängigkeit von durch die Steuereinrichtung 42 ausführbaren Programmbefehlen, in einen Zielspeicherbereich eines Busteilnehmers 60 (1) zu übertragen.
  • Dabei ist der Zielspeicherbereich durch eine Zieladresse, beispielsweise in einem lokalen Speicher 30_1 bis 30_n einer Recheneinheit 20_1 bis 20_n (bzw. eines Rechenkerns) charakterisiert, und ist optional ergänzend durch eine Eintragsart charakterisiert. Mittels der Eintragsart kann beispielsweise vorgegeben werden, ob die Daten am Ziel in einen vorgebbaren "dedizierten" linearen Speicherbereich bzw. -block oder in einen als Ringspeicher konfigurierten Speicherbereich übertragen werden.
  • Die 3 zeigt einen Programmablaufplan für ein Verfahren zum Betreiben der Speicherdirektzugriffssteuereinrichtung 40 mit einem Anschluss zur Verbindung der Speicherdirektzugriffssteuereinrichtung 40 mit einem mehrere Busteilnehmer 60 verbindenden Bussystem 12 und mit einer Steuereinrichtung 42 zur Steuerung eines Betriebs der Speicherdirektzugriffssteuereinrichtung 40. Dabei ist vorgesehen, dass die Steuereinrichtung 42 programmiert wird. Ergänzend zur 3 wird vorliegend zur Beschreibung des Programmablaufs das Diagramm von 2 verwendet, siehe dort insbesondere die schraffierten und mittels Ziffern 1 bis 4 bezeichneten Felder.
  • In einem in 3 obersten Block 202 empfängt die Speicherdirektzugriffssteuereinrichtung 40 ein Triggersignal von einem ersten Busteilnehmer 60, beispielsweise von einem der Kommunikationsmodule 50_1 bis 50_n. Dies erfolgt insbesondere dann, wenn in dem besagten Busteilnehmer 60 eine neue Nachricht angekommen ist, welche mittels Speicherdirektzugriff über das Bussystem 12 übertragen werden soll. Als Folge des Triggersignals wird ein durch die 3 beispielhaft charakterisierter Programmablauf gestartet. Eine den Programmablauf charakterisierende Startadresse ist in der Steuereinrichtung 42 bekannt oder kann mittels vorgebbarer Aktionen, insbesondere eines Lesevorgangs und/oder Ladevorgangs ermittelt werden.
  • In dem mittels 3 gezeigten Beispiel ist die Steuereinrichtung 42 (bzw. die programmierbare Recheneinheit 44) dazu ausgebildet, mindestens einen Parametersatz, welcher mindestens einen der folgenden Parameter umfasst, zu laden und für eine Analyse und/oder Übertragung von Daten eines Busteilnehmers 60 des Bussystems 12 zu verwenden:
    • – Such-Merkmal, insbesondere eine Protokoll-Information und/oder eine CAN-ID (englisch: "Controller Area Network Identity");
    • – Such-Position, insbesondere eine Offset-Adresse;
    • – Länge eines jeweiligen Such-Merkmals;
    • – Vorgebbare Anzahl von Iterationsschritten bzw. Suchdurchläufen;
    • – Zieladresse für die Übertragung des mindestens einen Abschnitts der Daten.
  • Das Laden der besagten Parameter ist in 3 durch den Block 204 charakterisiert. In einem folgenden Block 206 wird mittels arithmetischer und/oder logischer Operationen für eine jeweils geladene Such-Position eine (neue) Adresse für das jeweilige Such-Merkmal ermittelt. Beispielsweise ist für das in 2 bezeichnete Feld 1 ("erster Durchlauf") eine Länge dieses Bitfeldes (TPID 125) aus dem geladenen Parametersatz bekannt, und daher kann in einem folgenden Block 208 eine durch das Feld 1 charakterisierte Information, beispielsweise ein Wert "0x8100", gelesen werden.
  • In einem folgenden Abfrageblock 210 wird die gelesene Information 0x8100 mit einem jeweiligen Such-Merkmal verglichen. Gegebenenfalls können dazu mehrere schrittweise durchgeführte Vergleiche erforderlich sein, bis eine Übereinstimmung erkannt wird. Dies ist in 3 beispielhaft durch drei weitere Abfrageblöcke 212, 214 und 216 dargestellt.
  • Mittels der Blöcke 204, 206, 208, 210, 212, 214, 216, 218 und 220 (siehe weiter unten) wird auch ein Verfahren beschrieben, wobei in Abhängigkeit der Programmierung der Steuereinrichtung 42 Daten eines Busteilnehmers 60 des Bussystems 12 analysiert werden, oder wobei in Abhängigkeit der Programmierung der Steuereinrichtung 42 Daten von dem ersten Busteilnehmer 60 an mindestens einen zweiten Busteilnehmer 60 unter Verwendung mindestens eines Speicherdirektzugriffs über das Bussystem 12 übertragen werden.
  • Eine "Tiefe" dieser Prozedur, insbesondere eine Anzahl dieser schrittweise durchzuführenden Vergleiche gemäß den Abfrageblöcken 210, 212, 214 und 216, kann beispielsweise konfiguriert sein, weil die zu erwartenden Protokolle vorab bekannt sind. Alternativ kann die Tiefe z.B. auch in Abhängigkeit von seither erhaltenen Zwischenergebnissen der Datenanalyse und/oder von sonstigen Faktoren abhängig gemacht werden. Für den Fall, dass keine Übereinstimmung erkannt wird, wird ein jeweiliges Protokoll als "unbekanntes" Protokoll identifiziert. Daraufhin können bestimmte nachfolgende Reaktionen erfolgen, beispielsweise ein Setzen eines Fehlerbits ("Fehlerflag") für eine Unterbrechungsanforderung ("Error-Interrupt") für einen der Busteilnehmer 60, beispielsweise an eine der Recheneinheiten 20_1 bis 20_n und/oder die Speicherdirektzugriffssteuereinrichtung 40 bzw. die Steuereinrichtung 42 bzw. die programmierbare Recheneinheit 44. Dies ist in 3 durch den Block 218 dargestellt.
  • Nachdem ein erstes Such-Merkmal ("Suchkriterium") ermittelt wurde, wird in einem folgenden Abfrageblock 220 geprüft, ob Daten (beispielsweise des Ethernetframes 100 von 2) bereits jetzt mittels Speicherdirektzugriffs über das Bussystem 12 an eine Zieladresse des zweiten Busteilnehmers 60 übertragen werden sollen. Diese Prüfung kann beispielsweise in Abhängigkeit von einer Anzahl von bereits erfolgten Iterationsschritten bzw. Suchdurchläufen erfolgen, oder in Abhängigkeit von einer Konfigurationsinformation bzw. einem der im Block 204 geladenen Parameter. Die besagten Iterationsschritte erfolgen in 3 entsprechend einem Pfad 222 zwischen einem Ausgang des Abfrageblocks 220 und einem Eingang des Blocks 204.
  • Im Fall, dass ein "endgültiges" Such-Merkmal noch nicht gefunden wurde, erfolgt nach dem Durchlauf des Pfads 222 ein Laden von mindestens einem weiteren Parametersatz bzw. Parameter und Durchführen von weiteren Vergleichen mittels des Abfrageblocks 210 und gegebenenfalls der Abfrageblöcke 212, 214 und 216. Siehe ergänzend dazu die in 3 mittels der Zahlen "2" und "3" bezeichneten kreisförmigen Markierungen ("weitere Durchläufe 2 und 3").
  • Beispielsweise kann ein gesuchtes Protokoll einem Ethernet-Type IPv6 mit dem Such-Merkmal "0x86DD" entsprechen.
  • Sofern keine (weiteren) Iterationsschritte über den Pfad 222 erforderlich sind, verzweigt der Programmablauf ausgehend vom Abfrageblock 220 zu dem nachfolgenden Block 224. Im Block 224 erfolgt eine Konfiguration der Speicherdirektzugriffssteuereinrichtung 40, wobei die Konfiguration die folgenden Größen umfasst:
    • – Quelladresse, welche aus einer bekannten Startadresse und einer z.B. zuvor konfigurierten Offsetadresse ermittelt wird, insbesondere unter Verwendung von arithmetischen und/oder logischen Operationen. Dabei wird die Offsetadresse z.B. in Abhängigkeit von dem Such-Merkmal vorgegeben bzw. wird in Abhängigkeit von dem Such-Merkmal ermittelt. Dies ermöglicht vorteilhaft, dass z.B. nur ein bestimmter Teil der betrachteten Daten übertragen wird und nicht relevante Teile (z.B. Header usw.) weggelassen werden. Vorzugsweise ist die Offsetadresse durch einen der im Block 204 geladenen Parameter charakterisiert.
    • – Zieladresse, welche in Abhängigkeit von dem Such-Merkmal vorgegeben bzw. ermittelt wird. Vorzugsweise ist die Zieladresse durch einen der im Block 204 geladenen Parameter charakterisiert.
    • – Anzahl von jeweils zu übertragenden Bytes der Daten. In einer Ausführungsform entspricht diese Anzahl direkt der in 2 gezeigten Payload-Länge 146, entsprechend dem dort mit der Ziffer "4" bezeichneten Feld. In einer weiteren Ausführungsform wird die besagte Anzahl mittels eines Offsets unter Verwendung von arithmetischen und/oder logischen Operationen ermittelt. Beispielsweise ist dieser Offset durch einen der im Block 204 geladenen Parameter charakterisiert.
  • Nachdem die Speicherdirektzugriffssteuereinrichtung 40 im Block 224 konfiguriert wurde, erfolgt im nachfolgenden Block 226 ein Übertragen von Daten über das Bussystem 12 von dem ersten Busteilnehmer 60 zu dem zweiten Busteilnehmer 60 unter Verwendung mindestens eines Speicherdirektzugriffs. Dabei können die Daten am Ziel in einen vorgebbaren "dedizierten" Speicherbereich oder in einen als Ringspeicher konfigurierten Speicherbereich übertragen werden. Dabei kann es sich jeweils beispielsweise um den Arbeitsspeicher 30 oder einen der lokalen Speicher 30_1 bis 30_n handeln, siehe 1. Die Auswahl ("Eintragsart"), ob die Übertragung der Daten jeweils in einen dedizierten Speicherbereich oder in einen Ringspeicher erfolgt, kann beispielsweise mittels eines der im Block 204 geladenen Parameter vorgegeben werden.
  • In einer Ausführungsform ist die Steuereinrichtung 42 dazu programmiert, dass die von dem ersten Busteilnehmer 60 an den mindestens einen zweiten Busteilnehmer 60 mittels Speicherdirektzugriff zu übertragenden Daten nur teilweise übertragen werden. Insbesondere erfolgt dies mittels Weglassen von im zweiten Busteilnehmer 60 ("Zielmodul ") nicht benötigten Informationen, beispielsweise von nicht benötigten Header-Informationen und/oder von nicht benötigten Protokollen.
  • Nachdem die Daten im Block 226 mittels Speicherdirektzugriffs übertragen wurden, können optional eine oder mehrere weitere Aktionen erfolgen:
    • – Übermittlung einer Unterbrechungsanforderung ("Interrupt") an eine jeweilige Recheneinheit 20_1 bis 20_n bzw. eines vergleichbaren Signals an einen sonstigen Busteilnehmer 60, an welchen eine erfolgte Übertragung der Daten gemeldet werden soll;
    • – Löschen von Triggerinformationen und/oder Signalisierungsbits ("Flags");
    • – Freigabe eines so genannten "Descriptors", sofern die Daten durch ein Ethernetprotokoll charakterisiert sind;
    • – Freigabe eines Speicherbereichs in dem Arbeitsspeicher 30 bzw. den lokalen Speichern 30_1 bis 30_n; und/oder
    • – Setzen eines Signalisierungsbits ("New-Flag") zur Ankündigung einer erfolgten Übertragung von Daten.
  • In einer Ausführungsform ist die Speicherdirektzugriffssteuereinrichtung 40 dazu ausgebildet, Informationen aus Daten eines Busteilnehmers 60 zu ermitteln, und aus den Informationen eine Länge eines jeweils zu übertragenden Abschnitts der Daten zu ermitteln und mit einem Referenzwert zu vergleichen. Dadurch sind zugleich auch entsprechende Verfahrensschritte charakterisiert. Mittels der Längeninformation und des Referenzwerts kann Fehlern und/oder vorsätzlichen Manipulationen vorgebeugt werden.
  • Die besagten Daten des Busteilnehmers 60 können zum Ermitteln der besagten Informationen optional nur teilweise oder auch vollständig von der Speicherdirektzugriffssteuereinrichtung 40 gelesen werden bzw. in der Speicherdirektzugriffssteuereinrichtung 40 und/oder dem Arbeitsspeicher 30 temporär gespeichert werden. In einer Ausführungsform erfolgt das Ermitteln der Informationen und/oder das Ermitteln der Länge iterativ.
  • In einer Ausführungsform ist die Speicherdirektzugriffssteuereinrichtung 40 dazu ausgebildet, mindestens eine der folgenden Aktionen durchzuführen:
    • – Empfangen eines Triggersignals von einem ersten Busteilnehmer 60;
    • – Empfangen bzw. Lesen von mittels Speicherdirektzugriffs zu übertragenden Daten aus dem Arbeitsspeicher 30 oder einem Speicher des ersten Busteilnehmers 60 in Abhängigkeit von dem Triggersignal;
    • – Analysieren zumindest eines Teils der Daten;
    • – Ermitteln einer eine Speicherorganisation charakterisierenden Eintragsart für einen Zielspeicher eines zweiten Busteilnehmers 60 und übertragen der Daten gemäß der ermittelten Eintragsart von dem ersten Busteilnehmer 60 in den Zielspeicher des zweiten Busteilnehmers 60 unter Verwendung mindestens eines Speicherdirektzugriffs über das Bussystem 12.
  • Optional können weitere Übertragungen aus einem im ersten Busteilnehmer 60 bzw. in dem Arbeitsspeicher 30 vorliegenden Datenblock (Nachricht, Frame, Ethernetframe 100) stattfinden (vergleiche weiter unten die 6), wenn die zu übertragenden Daten ("Payload") aus mehreren Datensegmenten bestehen. Dies ist in 3 durch den Abfrageblock 228 charakterisiert. Sofern mehrere Datensegmente in den Daten vorhanden sind, bzw. die mehreren Datensegmente unterschiedlich verarbeitet werden sollen, erfolgt eine Verzweigung im Programmablauf über einen Pfad 230 und den Pfad 222 zurück an den Anfang des Blocks 204. Andernfalls wird über einen Pfad 232 zu einem Block 234 (Markierung "4") verzweigt, mittels welchem vorgebbare Aktionen ausgeführt werden können.
  • Die unterschiedliche Verarbeitung von Datensegmenten ist beispielsweise beim so genannten "SOME/IP Protokoll" möglich, wobei eine Tunnelung beispielsweise von CAN-Daten (englisch: "Controller Area Network") bzw. FlexRay-Daten erfolgen kann. Dabei können verschiedene Datensegmente an verschiedene Zieladressen übertragen werden, beispielsweise an verschiedene lokale Speicher 30_1 bis 30_n, siehe 1. Dies ist möglich, weil die Zieladresse durch ein jeweiliges Such-Merkmal charakterisiert ist. Siehe dazu das (erneute) Laden von Parametersätzen im Block 204 von 3. Nach dem Abschluss der letzten Übertragung kann eine konfigurierte Aktion durch die Speicherdirektzugriffssteuereinrichtung 40 ausgeführt werden, siehe z.B. den Block 234. "FlexRay" ist die Bezeichnung für ein serielles, deterministisches und fehlertolerantes Feldbussystem für den Einsatz in Kraftfahrzeugen.
  • Bevor die Speicherdirektzugriffssteuereinrichtung 40 eine Übertragung beginnt, ist es bei weiteren Ausführungsformen möglich, beispielsweise bei Ethernetframes, ein so genanntes Fehler-Flag zu überprüfen, siehe dazu die 4. Gemäß der 4 ist ein Abfrageblock 402 an der Markierung "3" von 3 angeordnet, wobei der Programmablauf alternativ zu einem Eingang des Abfrageblocks 220 von 3 bzw. zu einem Eingang des Blocks 234 verzweigen kann.
  • Sofern das besagte Fehler-Flag einen Fehler signalisiert, wird zum Block 234 (3) verzweigt und eine dem Fehler angemessene Aktion durchgeführt. Beispielsweise kann im Block 234 im Fehlerfall bei Übertragung von Ethernet-Daten ein Descriptor für weitere Übertragungen frei gegeben werden und danach zum Anfang des Blocks 202 zurück verzweigt und dort auf ein folgendes Triggersignal gewartet werden. Andernfalls wird vom Abfrageblock 402 an den Eingang des Abfrageblocks 220 verzweigt und der Programmablauf wie weiter oben bereits beschrieben durchgeführt.
  • Denkbar sind auch weitere Aktionen. Beispielsweise könnten bei anderen Ausführungsformen fehlerhafte Daten ("Frame") bei vorliegendem Fehlerflag trotzdem an den zweiten Busteilnehmer 60 ("Zieladresse") und/oder an eine andere Zieladresse für eine Analyse übertragen werden. Da die Speicherdirektzugriffssteuereinrichtung 40 eine Anzahl der zu übertragenden Bytes aus dem eingebetteten Protokoll kennt, kann die Speicherdirektzugriffssteuereinrichtung 40 eine Plausibilisierung der mittels des Descriptors gemeldeten Byte-Anzahl durchführen. Dies erfolgt vorzugsweise durch Überwachen einer Startadresse und einer Endadresse mittels einer Hardware-Schaltung, die z.B. Teil der Steuereinrichtung 42 sein kann.
  • Weiterhin kann eine Plausibilisierung einer Startadresse durchgeführt werden. Dazu wird eine ermittelte Quelladresse für die Übertragung mittels Speicherdirektzugriffs mit einer ursprünglichen Startadresse der Daten verglichen. Dabei darf beispielsweise die Quelladresse nicht kleiner als die Startadresse sein. Eine Verletzung kann durch ein Fehler-Flag in einem Statusregister für die jeweiligen Daten signalisiert werden. Das Statusregister kann in der Speicherdirektzugriffssteuereinrichtung 40 und/oder in einem sonstigen Busteilnehmer 60 lokalisiert sein.
  • Die 5 zeigt eine optionale Überwachung bzw. Plausibilisierung einer Endadresse für die Übertragung der Daten von dem ersten zu dem zweiten Busteilnehmer 60.
  • Gemäß der 5 ist ein Abfrageblock 502 an der Markierung "2" von 3 angeordnet wobei der Programmablauf z.B. alternativ zu einem Eingang des Abfrageblocks 210 von 3 bzw. zu einem Eingang eines in 5 dargestellten Blocks 504 verzweigen kann. Für den Fall, dass eine Endadresse ermittelt werden soll, wird in den Block 504 verzweigt und danach vom Block 504 zurück an den Anfang des Blocks 204 von 3 verzweigt (Markierung "1"), wobei im Block 204 entsprechende Parameter für die Überwachung der Endadresse geladen werden. Andernfalls wird vom Abfrageblock 502 an den Anfang des Abfrageblocks 210 verzweigt und der Programmablauf wie weiter oben beschrieben fortgesetzt.
  • Nach der Übertragung beispielsweise einer Ethernet Nachricht unter Verwendung von einem Descriptor, beispielsweise in den Arbeitsspeicher 30 ("externes RAM"), wird eine jeweilige Anzahl der empfangenen Bytes in einem dafür vorgesehenen Statusregister ("Status-Informationen") eingetragen. Die Speicherdirektzugriffssteuereinrichtung 40 kann diese Status-Informationen lesen und daraus die Endadresse der jeweiligen Daten ("Nachricht") ermitteln.
  • Eine Überwachung der Endadresse kann beispielsweise wie folgt durchgeführt werden: Zunächst ergibt sich der Programmablauf wie weiter oben schon beschrieben ausgehend von der Markierung "1" über die Blöcke 204, 206 und 208 bis hin zu der Markierung "2" von 3. Danach erfolgt die optionale Abfrage im Abfrageblock 502 von 5, ob die Endadresse ermittelt werden soll. Auf diese Weise kann die Endadresse für die zu übertragenden Daten ermittelt werden. Da die jeweilige Adresse für eine zuletzt ausgeführte Übertragung in der Speicherdirektzugriffssteuereinrichtung 40 bekannt ist, kann eine Hardware-Schaltung der Speicherdirektzugriffssteuereinrichtung 40 diese Adresse gegen die Endadresse vergleichen. Sofern die aktuelle Adresse die Endadresse übersteigt, kann eine Fehlermeldung erfolgen.
  • Die 6 zeigt eine beispielhafte Zuordnung von Datenabschnitten eines Ethernetframes 100' zu jeweiligen lokalen Speichern 30_1 bis 30_n von mit dem Bussystem 12 verbundenen Recheneinheiten 20_1 bis 20_n.
  • Die dargestellten Elemente des Ethernetframes 100' sind nachfolgend mit ihren Bezugszeichen aufgelistet:
    – Ethernet-Header 132';
    – IP-Header 153';
    – UDP-Header 602; (UDP, englisch: "User Datagram Protocol")
    – SOME/IP-Paket1 604;
    – SOME/IP-Paket2 606;
    – SOME/IP-PaketN 608.
  • Pfeile 610 zeigen die beispielhafte Zuordnung für eine mittels Speicherdirektzugriff durchgeführte Übertragung der SOME/IP-Pakete 604, 606 und 608 über das Bussystem 12 zu den lokalen Speichern 30_1, 30_2 und 30_n. Dabei wird ein zu dem Flussdiagramm von 3 vergleichbares Verfahren verwendet.
  • Die 7 zeigt eine erste weitere Ausführungsform für ein Kommunikationsmodul 50'. Vorliegend ist die erfindungsgemäße Speicherdirektzugriffssteuereinrichtung 40 in dem Kommunikationsmodul 50' integriert angeordnet. Ein in 7 innerhalb des Kommunikationsmoduls 50' dargestelltes Element 50_x entspricht einem der Kommunikationsmodule 50_1 bis 50_n von 1. Das Bussystem 12 wird innerhalb des Kommunikationsmoduls 50' als interner Bus 12' geführt, wodurch das Kommunikationsmodul 50_x und die Speicherdirektzugriffssteuereinrichtung 40 parallel an das Bussystem 12 angeschlossen sind. Auch bei dieser Konfiguration kann die erfindungsgemäße Speicherdirektzugriffssteuereinrichtung 40 mit programmierbarer Steuereinrichtung vorteilhaft z.B. eine Analyse von Daten (lokale Daten des Moduls 50' und/oder Daten anderer Busteilnehmer 60) und/oder DMA-Übertragung(en) wie vorstehend unter Bezugnahme auf die 1 bis 6 beschrieben ausführen.
  • Die 8 zeigt eine zweite weitere Ausführungsform für ein Kommunikationsmodul 50''. Vorliegend ist die erfindungsgemäße Speicherdirektzugriffssteuereinrichtung 40 in dem Kommunikationsmodul 50'' integriert angeordnet. Im Unterschied zu 7 erfolgt dies derart, dass das Bussystem 12 ausschließlich über die Speicherdirektzugriffssteuereinrichtung 40 mit dem Kommunikationsmodul 50_x verbunden ist. Ein interner Bus 12'' verbindet die Speicherdirektzugriffssteuereinrichtung 40 mit dem Kommunikationsmodul 50_x, welches wie bei 7 einem der Kommunikationsmodule 50_1 bis 50_n von 1 entspricht. Auch bei dieser Konfiguration kann die erfindungsgemäße Speicherdirektzugriffssteuereinrichtung 40 mit programmierbarer Steuereinrichtung vorteilhaft z.B. eine Analyse von Daten (lokale Daten des Moduls 50'' und/oder Daten anderer Busteilnehmer 60) und/oder DMA-Übertragung(en) wie vorstehend unter Bezugnahme auf die 1 bis 7 beschrieben ausführen.
  • In einer bevorzugten Ausführungsform entsprechen die Kommunikationsmodule 50' bzw. 50'' bzw. 50_x der 7 und 8 einem Ethernet-Kommunikationsmodul. Bei anderen vorteilhaften Ausführungsformen sind auch andere Kommunikationsmodule als die vorstehend genannten Module vom Ethernet-Typ denkbar.
  • Die erfindungsgemäße Speicherdirektzugriffssteuereinrichtung 40 mit programmierbarer Steuereinrichtung 42 ermöglicht vorteilhaft flexible Datenanalysen und/oder DMA-Übertragungen zwischen den Busteilnehmern 60, wobei durch entsprechende Programmierung der spezifische Ablauf der Analyse bzw. DMA-Übertragung modifiziert werden kann. Beispielsweise kann auf diese Weise die von der Speicherdirektzugriffssteuereinrichtung 40 auszuführende Datenanalyse bzw. -übertragung auch an erst zukünftig zu definierende Kommunikationsprotokolle angepasst werden. Besonders vorteilhaft ermöglicht die erfindungsgemäße Speicherdirektzugriffssteuereinrichtung 40 auch eine flexible tiefe Analyse von (verschachtelten) Datenpaketen (englisch: deep packet inspection) durch mehrere Protokollschichten hinweg, wobei z.B. auch gleich nicht interessierende Headerdaten von vorgebbaren Protokollschichten entfernt werden können und somit z.B. nicht im Rahmen einer DMA-Übertragung an einen oder mehrere empfangende Busteilnehmer 60 berücksichtigt werden müssen.

Claims (12)

  1. Speicherdirektzugriffssteuereinrichtung (40) mit einem Anschluss (41) zur Verbindung der Speicherdirektzugriffssteuereinrichtung (40) mit einem mehrere Busteilnehmer (60) verbindenden Bussystem (12) und mit einer Steuereinrichtung (42) zur Steuerung eines Betriebs der Speicherdirektzugriffssteuereinrichtung (40), dadurch gekennzeichnet, dass die Steuereinrichtung (42) programmierbar ist.
  2. Speicherdirektzugriffssteuereinrichtung (40) nach Anspruch 1, wobei die Speicherdirektzugriffssteuereinrichtung (40) dazu ausgebildet ist, in Abhängigkeit der Programmierung der Steuereinrichtung (42) Daten (100; 100') eines Busteilnehmers (60) des Bussystems (12) zu analysieren.
  3. Speicherdirektzugriffssteuereinrichtung (40) nach Anspruch 1 oder 2, wobei die Speicherdirektzugriffssteuereinrichtung (40) dazu ausgebildet ist, in Abhängigkeit der Programmierung der Steuereinrichtung (42) Daten (100; 100') von einem ersten Busteilnehmer (60) an mindestens einen zweiten Busteilnehmer (60) unter Verwendung mindestens eines Speicherdirektzugriffs über das Bussystem (12) zu übertragen.
  4. Speicherdirektzugriffssteuereinrichtung (40) nach wenigstens einem der vorstehenden Ansprüche, wobei die programmierbare Steuereinrichtung (42) eine programmierbare Recheneinheit (44) umfasst.
  5. Speicherdirektzugriffssteuereinrichtung (40) nach wenigstens einem der vorstehenden Ansprüche, wobei die Steuereinrichtung (42) dazu ausgebildet ist, mindestens einen Parametersatz, welcher mindestens einen der folgenden Parameter umfasst, zu laden und für eine Analyse und/oder Übertragung von Daten (100; 100') eines Busteilnehmers (60) des Bussystems (12) zu verwenden: – Such-Merkmal, insbesondere eine Protokoll-Information und/oder eine CAN-ID, englisch: Controller Area Network Identity; – Such-Position, insbesondere eine Offset-Adresse; – Länge eines jeweiligen Such-Merkmals; – Vorgebbare Anzahl von Wiederholungsschritten bzw. Suchdurchläufen; – Zieladresse für die Übertragung von mindestens einem Abschnitt der Daten (100; 100').
  6. Speicherdirektzugriffssteuereinrichtung (40) nach wenigstens einem der vorstehenden Ansprüche, wobei die Speicherdirektzugriffssteuereinrichtung (40) dazu ausgebildet ist, Informationen aus Daten (100; 100') eines Busteilnehmers (60) zu ermitteln, und aus den Informationen eine Länge eines jeweils zu übertragenden Abschnitts der Daten (100; 100') zu ermitteln und mit einem Referenzwert zu vergleichen.
  7. Speicherdirektzugriffssteuereinrichtung (40) nach wenigstens einem der vorstehenden Ansprüche, wobei die Speicherdirektzugriffssteuereinrichtung (40) dazu ausgebildet ist, mindestens eine der folgenden Aktionen durchzuführen: – Empfangen (202) eines Triggersignals von einem ersten Busteilnehmer (60); – Empfangen bzw. Lesen (208) von mittels Speicherdirektzugriffs zu übertragenden Daten (100; 100') aus einem Arbeitsspeicher (30) oder einem Speicher (30_1, 30_2, 30_n) des ersten Busteilnehmers (60), insbesondere in Abhängigkeit von einem bzw. dem Triggersignal; – Ermitteln einer eine Speicherorganisation charakterisierenden Eintragsart für einen Zielspeicher (30; 30_1, 30_2, 30_n) eines zweiten Busteilnehmers (60) und übertragen der Daten (100; 100') gemäß der ermittelten Eintragsart von dem ersten Busteilnehmer (60) in den Zielspeicher (30; 30_1, 30_2, 30_n) des zweiten Busteilnehmers (60) unter Verwendung mindestens eines Speicherdirektzugriffs über das Bussystem (12).
  8. Speicherdirektzugriffssteuereinrichtung (40) nach wenigstens einem der vorstehenden Ansprüche, wobei die Steuereinrichtung (42) in einer integrierten Halbleiterschaltung der Speicherdirektzugriffssteuereinrichtung (40) integriert angeordnet ist.
  9. Speicherdirektzugriffssteuereinrichtung (40) nach wenigstens einem der vorstehenden Ansprüche, wobei die Speicherdirektzugriffssteuereinrichtung (40) als Hardware-Schaltung ausgebildet ist.
  10. Verfahren zum Betreiben einer Speicherdirektzugriffssteuereinrichtung (40) mit einem Anschluss (41) zur Verbindung der Speicherdirektzugriffssteuereinrichtung (40) mit einem mehrere Busteilnehmer (60) verbindenden Bussystem (12) und mit einer Steuereinrichtung (42) zur Steuerung eines Betriebs der Speicherdirektzugriffssteuereinrichtung (40), dadurch gekennzeichnet, dass die Steuereinrichtung (42) programmiert wird.
  11. Verfahren nach Anspruch 10, wobei in Abhängigkeit der Programmierung der Steuereinrichtung (42) Daten (100; 100') eines Busteilnehmers (60) des Bussystems (12) analysiert werden, und/oder wobei in Abhängigkeit der Programmierung der Steuereinrichtung (42) Daten (100; 100') von einem ersten Busteilnehmer (60) an mindestens einen zweiten Busteilnehmer (60) unter Verwendung mindestens eines Speicherdirektzugriffs über das Bussystem (12) übertragen werden.
  12. Verfahren nach Anspruch 10 oder 11, wobei Informationen aus Daten (100; 100') eines Busteilnehmers (60) ermittelt werden, und wobei aus den Informationen eine Länge eines jeweils zu übertragenden Abschnitts der Daten (100; 100') ermittelt und mit einem Referenzwert verglichen wird.
DE102016211768.8A 2016-06-29 2016-06-29 Speicherdirektzugriffssteuereinrichtung und Betriebsverfahren hierfür Pending DE102016211768A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102016211768.8A DE102016211768A1 (de) 2016-06-29 2016-06-29 Speicherdirektzugriffssteuereinrichtung und Betriebsverfahren hierfür
CN201710507218.XA CN107544928B (zh) 2016-06-29 2017-06-28 直接存储器访问控制装置和对此的运行方法
KR1020170081920A KR102354062B1 (ko) 2016-06-29 2017-06-28 직접 메모리 액세스 제어 장치 및 그 작동 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102016211768.8A DE102016211768A1 (de) 2016-06-29 2016-06-29 Speicherdirektzugriffssteuereinrichtung und Betriebsverfahren hierfür

Publications (1)

Publication Number Publication Date
DE102016211768A1 true DE102016211768A1 (de) 2018-01-04

Family

ID=60662535

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016211768.8A Pending DE102016211768A1 (de) 2016-06-29 2016-06-29 Speicherdirektzugriffssteuereinrichtung und Betriebsverfahren hierfür

Country Status (3)

Country Link
KR (1) KR102354062B1 (de)
CN (1) CN107544928B (de)
DE (1) DE102016211768A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
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

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5862407A (en) * 1996-03-15 1999-01-19 Rendition, Inc. System for performing DMA byte swapping within each data element in accordance to swapping indication bits within a DMA command
US6874039B2 (en) * 2000-09-08 2005-03-29 Intel Corporation Method and apparatus for distributed direct memory access for systems on chip
US7120708B2 (en) * 2003-06-30 2006-10-10 Intel Corporation Readdressable virtual DMA control and status registers
US7533195B2 (en) * 2004-02-25 2009-05-12 Analog Devices, Inc. DMA controller for digital signal processors
US7484016B2 (en) * 2004-06-30 2009-01-27 Intel Corporation Apparatus and method for high performance volatile disk drive memory access using an integrated DMA engine
CN100361107C (zh) * 2005-03-02 2008-01-09 华为技术有限公司 一种直接存储器访问控制器及传输数据的方法
KR20070082835A (ko) * 2006-02-17 2007-08-22 삼성전자주식회사 직접 메모리 액세스 제어장치 및 방법
US9141572B2 (en) * 2006-12-15 2015-09-22 Microchip Technology Incorporated Direct memory access controller
JP4974078B2 (ja) * 2007-07-26 2012-07-11 Necアクセステクニカ株式会社 データ処理装置
US7912997B1 (en) * 2008-03-27 2011-03-22 Xilinx, Inc. Direct memory access engine
CN101504633B (zh) * 2009-03-27 2012-09-05 无锡中星微电子有限公司 一种多通道dma控制器
CN102541780B (zh) * 2011-12-15 2014-10-22 苏州国芯科技有限公司 一种多数据流通道dma系统
DE102012010558A1 (de) * 2012-05-29 2013-12-05 Robert Bosch Gmbh Hardwarevorrichtung für ein system,system und speicherzugriffsverfahren

Cited By (2)

* Cited by examiner, † Cited by third party
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
US11461159B2 (en) 2020-03-20 2022-10-04 Robert Bosch Gmbh Integrated circuit, embedded system and motor vehicle

Also Published As

Publication number Publication date
CN107544928A (zh) 2018-01-05
CN107544928B (zh) 2024-03-29
KR102354062B1 (ko) 2022-01-24
KR20180002535A (ko) 2018-01-08

Similar Documents

Publication Publication Date Title
EP3248362B1 (de) Datenübertragung in einem kommunikationsnetzwerk
EP2882145B1 (de) Verfahren und Filteranordnung zum Speichern von Informationen über einen seriellen Datenbus eines Kommunikationsnetzwerks eingehender Nachrichten in einem Teilnehmer des Netzwerks
DE102012220187B4 (de) Fahrzeugeigene Kommunikationsvorrichtung und Kommunikationssystem für ein Fahrzeug
DE4129205A1 (de) Verfahren zum aufbau von botschaften fuer den datenaustausch und/oder fuer die synchronisation von prozessen in datenverarbeitungsanlagen
DE112007001529T5 (de) Flexibles und erweiterbares Receive Side Scaling
DE102018001574A1 (de) Master-Slave Bussystem und Verfahren zum Betrieb eines Bussystems
EP3542510A1 (de) Verfahren für ein kommunikationsnetzwerk und elektronische kontrolleinheit
DE102016211768A1 (de) Speicherdirektzugriffssteuereinrichtung und Betriebsverfahren hierfür
EP2466406A1 (de) Verfahren zur automatischen Erzeugung von Dynamic Frame Packgruppen
DE102017012214A1 (de) Verfahren zur Übertragung von Daten über einen seriellen Kommunikationsbus, entsprechend ausgelegte Busschnittstelle sowie entsprechend ausgelegtes Computerprogramm
DE102019125545B3 (de) Datenübertragungsverfahren, segment-telegramm und automatisierungskommunikationsnetzwerk
DE102007049044A1 (de) Vorrichtung und Verfahren zum Datenaustausch zwischen mindestens zwei Funktionsmodulen einer integrierten Schaltung
WO2020178091A1 (de) System und verfahren zum auffinden und identifizieren von rechenknoten in einem netzwerk
DE102022116903B3 (de) Verfahren zum Betreiben eines Netzwerks eines Kraftfahrzeugs mittels eines Netzwerksystems des Kraftfahrzeugs, Computerprogrammprodukt sowie Netzwerksystem
DE102011006827A1 (de) Verfahren und Vorrichtung zur Datenübertragung zwischen verbundenen Bussystemen
DE102006008466B4 (de) Flexible Beschleunigungseinheit für die Verarbeitung von Datenpaketen
EP3560153B1 (de) Verfahren zum betreiben einer datenverarbeitungsanlage, datenverarbeitungsanlage
EP3423949B1 (de) Speicherdirektzugriffssteuereinrichtung für eine einen arbeitsspeicher aufweisende recheneinheit
DE102021201120A1 (de) Teilnehmerstation für ein serielles Bussystem und Verfahren zur Kommunikation in einem seriellen Bussystem
EP4315090A1 (de) Verfahren zum laufzeitbasierten konfigurieren einer geräteinternen signalübertragung in einem steuergerät sowie entsprechend betreibbares steuergerät und kraftfahrzeug
DE102019217785A1 (de) Vermittlungsvorrichtung
DE102020203824A1 (de) Vermittlungsvorrichtung
DE102020203823A1 (de) Vermittlungsvorrichtung
DE102018222799A1 (de) Verfahren und Vorrichtung zum Verarbeiten von Datenpaketen
DE102022202389A1 (de) Verfahren zum Weiterleiten von Daten in einem Kommunikationssystem eines Fahrzeugs

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012400000

Ipc: G06F0013280000