DE102004062211B4 - CAN-Kommunikationsmodul - Google Patents

CAN-Kommunikationsmodul Download PDF

Info

Publication number
DE102004062211B4
DE102004062211B4 DE102004062211A DE102004062211A DE102004062211B4 DE 102004062211 B4 DE102004062211 B4 DE 102004062211B4 DE 102004062211 A DE102004062211 A DE 102004062211A DE 102004062211 A DE102004062211 A DE 102004062211A DE 102004062211 B4 DE102004062211 B4 DE 102004062211B4
Authority
DE
Germany
Prior art keywords
register set
cpu
write
transfer register
read
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.)
Expired - Fee Related
Application number
DE102004062211A
Other languages
English (en)
Other versions
DE102004062211A1 (de
Inventor
Peter Steffan
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.)
Texas Instruments Deutschland GmbH
Original Assignee
Texas Instruments Deutschland 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 Texas Instruments Deutschland GmbH filed Critical Texas Instruments Deutschland GmbH
Priority to DE102004062211A priority Critical patent/DE102004062211B4/de
Priority to US11/314,993 priority patent/US20060143363A1/en
Publication of DE102004062211A1 publication Critical patent/DE102004062211A1/de
Application granted granted Critical
Publication of DE102004062211B4 publication Critical patent/DE102004062211B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • H04L12/413Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection [CSMA-CD]
    • H04L12/4135Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection [CSMA-CD] using bit-wise arbitration
    • 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/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multi Processors (AREA)
  • Information Transfer Systems (AREA)

Abstract

CAN-Kommunikationsmodul (10), umfassend
– eine CAN-Busschnittstelle (22);
– ein CAN-Nachrichten-RAM (16);
– einen CAN-Nachrichten-Handler (4); und
– einen dedizierten Modulschnittstellen-Handler (12) für die Verbindung des CAN-Kommunikationsmoduls (10) mit einer zentralen Verarbeitungseinheit (CPU) eines angeschlossenen Geräts, mit
– einem Schreibtransfer-Registersatz (24) gefolgt von einem Latch-Registersatz (32),
– einem Lesetransfer-Registersatz (26) und
– einer Zustandsmaschine 34;
wobei:
der Schreibtransfer-Registersatz (24) und der Lesetransfer-Registersatz (26) mit einem Peripheriebus (28) für die Kommunikation mit der zentralen Verarbeitungseinheit (CPU) des angeschlossenen Geräts verbunden sind, der Lesetransfer-Registersatz (26) und der Latch-Registersatz (32) mit einem internen Bus (30) für die Kommunikation mit dem CAN-Nachrichten-RAM (16) verbunden sind,
und die Zustandsmaschine (34) mit dem CAN-Nachrichten-Handler (14) verbunden ist, um den CAN-Nachrichten-Handler (14) selektiv zu deaktivieren, wenn ein Schreib- oder Lesezugriff von der zentralen Verarbeitungseinheit (CPU) des angeschlossenen Geräts angefordert wird.

Description

  • Die vorliegende Erfindung bezieht sich auf ein CAN-Kommunikationsmodul.
  • „CAN" steht für ein Controller Area Network.
  • In einem Controller Area Network (CAN) ist jeder Knoten mit einem seriellen CAN-Bus durch ein zugehöriges CAN-Kommunikationsmodul verbunden. Das CAN-Kommunikationsmodul ist die Verbindung zwischen dem CAN-Bus mit seiner Kommunikation in Übereinstimmung mit dem CAN-Protokoll und einem angeschlossenen Gerät. Das angeschlossene Gerät hat einen Controller mit einer zentralen Verarbeitungseinheit (CPU) und einem Bus, an den das Kommunikationsmodul durch seine Modulschnittstelle angeschlossen ist. Zwischen dem CAN-Bus und der CPU auszutauschende Nachrichten werden in einem Nachrichten-RAM, auch „Mailbox-RAM" genannt, gepuftert. Zur Vermeidung jeglicher Schreib-/Lesekonflikte am Nachrichten-RAM und an den Registern der Modulschnittstelle müssen die Zustände dieser Elemente überwacht werden.
  • Herkömmlich wird ein frei laufender CAN-Nachrichten-Handler mit einer Zustandsmaschine versehen, um alle Funktionen bezüglich sicherer Nachrichtenübermittlung auf Seiten des CAN-Busses auszuführen. Auf der Seite der CPU gestattet die Modulschnittstelle der CPU aber einen direkten Zugriff auf die Register des Moduls und auf das Nachrichten-RAM. Mit einer solchen Konfiguration muss das Problem von möglichen gleichzeitigen Zugriffen der CPU und des CAN-Nachrichten-Handlers auf dieselbe Adresse in den Registern und im Nachrichten-RAM gelöst werden. Es ist Aufgabe der CPU, einen ordnungsgemäßen Datenzugriff sicherzustellen. Diese Aufgabe kann der CPU eine schwere Last auferlegen. Je nach der Adresse, auf die zugegriffen werden soll, muss in spezielle Betriebsarten eingetreten werden, dedizierte Status-Bits müssen abgefragt werden, oder es müssen sogar Teile des CAN-Moduls in der Zwischenzeit deaktiviert werden, um eine sichere Datenlese- oder -schreiboperation sicherzustellen.
  • Aus der US 6,631,431 B1 ist ein Mikrocontroller mit CAN-Schnittstelle bekannt. Die CAN-Schnittstelle beinhaltet eine Message-Management-Engine, also einen CAN-Nachrichten-Handler. Eingehende CAN-Nachrichten werden von dem Nachrichten-Handler über einen Bus in ein Nachrichten-RAM übertragen. Eine interne Verarbeitungseinheit (CPU) hat auf denselben Bus Zugriff. Eine Speicherschnittstelle vermeidet Konflikte beim gemeinsamen Zugriff auf den Bus durch eine Bus-Arbitrierung.
  • Der Erfindung liegt die Aufgabe zugrunde, in einem CAN-Kommunikationsmodul Konflikte beim lesenden oder schreibenden Zugriff der Verarbeitungseinheit (CPU) eines angeschlossenen Geräts auf das CAN-Nachrichten-RAM ohne Mitwirkung der Verarbeitungseinheit zu vermeiden. Gelöst wird diese Aufgabe durch die im beigefügten Patentanspruch 1 angegebene Ausgestaltung des CAN-Kommunikationsmoduls.
  • Für einen Lesezugriff fordert die CPU die Daten von einer bestimmten Adresse an, indem diese Adresse in ein Leseadressregister im Lesetransfer-Registersatz geschrieben wird. Die Zustandsmaschine des Modulschnittstellen-Handlers stellt ein sicheres Lesen der Daten von der benötigten Adresse sicher, indem der CAN-Nachrichten-Handler des Moduls deaktiviert wird, so dass keine Daten verändert werden können, während sie gelesen werden. Entsprechend sind die Schreibtransferregister für Schreibzugriff auf das Nachrichten-RAM und auf den Status- und Steuerregistersatz verfügbar. Für einen Schreibzugriff stellt die CPU den dedizierten Schreibtransferregistern die zu schreibenden Daten und die Schreibadresse zur Verfügung. Die Zustandsmaschine im Modulschnittstellen-Handler stellt dann ein sicheres Schreiben der Daten in die benötigte Adresse sicher, indem der CAN-Nachrichten-Handler des Moduls deaktiviert wird, so dass Daten, die nur partiell übertragen wurden, nicht überschrieben werden. Folglich wird die CPU des angeschlossenen Geräts von der Aufgabe befreit, einen ordnungsgemäßen Datenzugriff sicherzustellen. Gemäß der Erfindung folgt ferner auf den Schreibtransfer-Registersatz ein Latch-Registersatz. Von der CPU für die Schreibtransferregister zur Verfügung gestellte Daten werden in dem Latch-Registersatz gehalten, so dass die Schreibtransferregister für eine neue Schreiboperation verfügbar sind, während die vorher zur Verfügung gestellten Daten in das Nachrichten-RAM oder die Status- und Steuerregister geschrieben werden, wodurch der Datenschreibdurchsatz von der CPU verbessert wird.
  • Weitere Vorteile und Merkmale der Erfindung ergeben sich aus der folgenden Beschreibung eines bevorzugten Ausführungsbeispiels unter Bezugnahme auf die beigefügten Zeichnungen. In den Zeichnungen ist die einzelne Figur ein schematisches Blockdiagramm des erfindungsgemäßen CAN-Kommunikationsmoduls.
  • Unter Bezugnahme auf die einzelne Figur wird ein CAN-Kommunikationsmodul 10 gezeigt, das eine Modulschnittstelle für 32-Bit breite parallele Kommunikation mit einer zentralen Verarbeitungseinheit CPU in einem angeschlossenen Gerät hat und das eine CAN-Busschnittstelle für serielle Kommunikation mit einem CAN-Bus hat. Das CAN-Kommunikationsmodul 10 umfasst die folgenden Blöcke: einen Modulschnittstellen-Handler 12, einen CAN-Nachrichten-Handler 14, ein Nachrichten-RAM 16, Statusregister 18, Steuerregister 20 und einen Protokollkern 22. Der Modulschnittstellen-Handler 12 ist Teil der Modulschnittstelle, und der Protokollkern 22 ist Teil der CAN-Busschnittstelle. Der Modulschnittstellen-Handler 12 enthält einen Schreibtransfer-Registersatz 24 und einen Lesetransfer-Registersatz 26. Beide Registersätze 24 und 26 sind Vierwortregister und enthalten jeweils zwei Datenwörter, eine Schreibadresse und eine Schreibsteuerung. Im bevorzugten Ausführungsbeispiel werden 32-Bit-Wörter verwendet. Die zentrale Verarbeitungseinheit CPU ist mit dem Schreibtransfer-Registersatz 24, dem Lesetransfer-Registersatz 26 und den Statusregistern 18 über einen Peripheriebus 28 verbunden. Der Lesetransfer-Registersatz 26 und der Schreibtransfer-Registersatz 24 sind ferner mit den Statusregistern 18, den Steuerregistern 20 und dem Nachrichten-RAM 16 über einen internen Bus 30 verbunden. Der Modulschnittstellen-Handler 12 umfasst einen Latch-Registersatz 32, das ähnlich dem Schreibtransfer-Registersatz 24 und dem Lesetransfer-Registersatz 26 ein Vierwortregister ist, und eine Zustandsmaschine 34, die mit dem Lesetransfer-Registersatz 26, dem Latch-Registersatz 32 und dem CAN-Nachrichten-Handler 14 verbunden ist. Der CAN-Nachrichten-Handler 14 ist mit dem Nachrichten-RAM 16, dem Protokollkern 22 und dem Steuerregister 20 und den Statusregistern 18 verbunden. Der Protokollkern 22 ist mit dem CAN-Bus verbunden.
  • Wenn Daten von der CPU in das CAN-Kommunikationsmodul 10 zu schreiben sind, greift die CPU direkt über den Peripheriebus 28 auf das Schreibtransferregister 24 zu und schreibt zunächst das Datenwort 1 und das Datenwort 2. Als nächstes wird die Schreibsteuerung geschrieben, die also Byte-, Halbwort- oder Wortzugriff steuert. Zum Schluss wird das Schreibadressregister geschrieben. Sobald dies abgeschlossen ist, werden die Inhalte des Schreibtransferregisters 24 im Latch-Registersatz 32 gehalten, der mit der Zustandsmaschine 34 verbunden ist. Die Zustandsmaschine 34 deaktiviert den CAN-Nachrichten-Handler 14 – nach Abschluss einer laufenden Aktion – um jeglichen Konflikt während der Übertragung der Inhalte des Latch-Registersatzes 32 an das Nachrichten-RAM 16, die Steuerregister 20 oder die Statusregister 18 über den internen Bus 30 zu vermeiden. Mit diesem Verfahren werden also partiell übertragene Daten nicht überschrieben. Da das Schreibtransferregister 24 gehalten wird, kann die CPU mit der Vorbereitung des Schreibtransferregisters 24 für einen erneuten Schreibzugriff beginnen, bevor die Daten tatsächlich in die dedizierte CAN-Modul-Adresse geschrieben werden. Hierdurch kann die CPU mit einer hohen Frequenz schreiben.
  • Wenn Daten vom CAN-Kommunikationsmodul 10 in die CPU einzulesen sind, schreibt die CPU die Adresse, von der die Daten zu lesen sind, in das Leseadressregister des Lesetransfer-Registersatzes 26. Die angeforderte Adresse wird von der Zustandsmaschine 34 gelesen und an den CAN-Nachrichten-Handler 14 übertragen, wodurch der CAN-Nachrichten-Handler 14 unterbrochen und ein sicheres Lesen der Daten von der benötigten Adresse gewährleistet wird. Da der CAN-Nachrichten-Handler 14 während des Lesevorgangs unterbrochen ist, können sich also Daten während des Lesens nicht ändern. Die Daten werden über den internen Bus 30 direkt an den Lesetransfer-Registersatz 26 übertragen. Nach Abschluss des Datentransfers wird die Verfügbarkeit der Daten durch eine „Empfang-des-Transfers-abgeschlossen"-Flagge angezeigt. Optional kann eine Unterbrechung erzeugt werden.
  • Die CPU kann auf die Statusregister 18 über den Peripheriebus 28 zugreifen. Die Statusregister 18 sind speicheradressiert, um es der CPU zu gestatten, die darin enthaltenen Informationen direkt zu lesen, ohne den CAN-Nachrichten-Handler 14 zu durchlaufen. Hierdurch wird eine effektive Abfrage der CAN-Modulstatusflaggen ermöglicht.

Claims (2)

  1. CAN-Kommunikationsmodul (10), umfassend – eine CAN-Busschnittstelle (22); – ein CAN-Nachrichten-RAM (16); – einen CAN-Nachrichten-Handler (4); und – einen dedizierten Modulschnittstellen-Handler (12) für die Verbindung des CAN-Kommunikationsmoduls (10) mit einer zentralen Verarbeitungseinheit (CPU) eines angeschlossenen Geräts, mit – einem Schreibtransfer-Registersatz (24) gefolgt von einem Latch-Registersatz (32), – einem Lesetransfer-Registersatz (26) und – einer Zustandsmaschine 34; wobei: der Schreibtransfer-Registersatz (24) und der Lesetransfer-Registersatz (26) mit einem Peripheriebus (28) für die Kommunikation mit der zentralen Verarbeitungseinheit (CPU) des angeschlossenen Geräts verbunden sind, der Lesetransfer-Registersatz (26) und der Latch-Registersatz (32) mit einem internen Bus (30) für die Kommunikation mit dem CAN-Nachrichten-RAM (16) verbunden sind, und die Zustandsmaschine (34) mit dem CAN-Nachrichten-Handler (14) verbunden ist, um den CAN-Nachrichten-Handler (14) selektiv zu deaktivieren, wenn ein Schreib- oder Lesezugriff von der zentralen Verarbeitungseinheit (CPU) des angeschlossenen Geräts angefordert wird.
  2. CAN-Kommunikationsmodul (10) nach Anspruch 1, mit einem Status- und Steuerregistersatz (18, 20), auf den die Verarbeitungseinheit (CPU) des angeschlossenen Geräts über den Peripheriebus (28) Zugriff hat.
DE102004062211A 2004-12-23 2004-12-23 CAN-Kommunikationsmodul Expired - Fee Related DE102004062211B4 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102004062211A DE102004062211B4 (de) 2004-12-23 2004-12-23 CAN-Kommunikationsmodul
US11/314,993 US20060143363A1 (en) 2004-12-23 2005-12-21 Module interface handler for controller area network (CAN) communication module

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102004062211A DE102004062211B4 (de) 2004-12-23 2004-12-23 CAN-Kommunikationsmodul

Publications (2)

Publication Number Publication Date
DE102004062211A1 DE102004062211A1 (de) 2006-07-13
DE102004062211B4 true DE102004062211B4 (de) 2007-01-25

Family

ID=36599210

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102004062211A Expired - Fee Related DE102004062211B4 (de) 2004-12-23 2004-12-23 CAN-Kommunikationsmodul

Country Status (2)

Country Link
US (1) US20060143363A1 (de)
DE (1) DE102004062211B4 (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110153898A1 (en) * 2009-12-22 2011-06-23 Krempasky Ii Brad L Vehicles including bus-coupled hub unit and powertrain electronic control unit and method
GB2549722B (en) 2016-04-25 2018-09-26 Imagination Tech Ltd Communications interface circuit architecture
CN105911895B (zh) * 2016-06-17 2018-10-09 乌鲁木齐市人工影响天气办公室 基于can组网的烟条点火控制装置
CN105911922B (zh) * 2016-06-17 2018-10-09 乌鲁木齐市人工影响天气办公室 基于北斗、gprs融合通信方式的烟炉多点控制装置
CN108183845A (zh) * 2017-12-06 2018-06-19 山东航天电子技术研究所 一种基于比特仲裁的总线竞争方法
EP3499806B1 (de) 2017-12-13 2020-08-05 Nxp B.V. Knoten und verfahren zur durchführung von messungen und signalanalysen auf einem multi-master-zugangsbus
CN112433969A (zh) * 2020-11-08 2021-03-02 中国航空工业集团公司洛阳电光设备研究所 基于mcu io和sja1000的can数据收发方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4229931C2 (de) * 1992-09-08 1997-01-23 Daimler Benz Ag Verfahren zur Programmierung eines busfähigen elektronischen Kfz-Steuergerätes
US20030177280A1 (en) * 2002-03-12 2003-09-18 Webster Steve R. Imbedded interrupt handler
US6631432B1 (en) * 1998-12-24 2003-10-07 Canon Kabushiki Kaisha Information processing system, control method therefor, and information processing apparatus

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5465340A (en) * 1992-01-30 1995-11-07 Digital Equipment Corporation Direct memory access controller handling exceptions during transferring multiple bytes in parallel
US5652915A (en) * 1995-02-21 1997-07-29 Northern Telecom Limited System for controlling mode of operation of a data cache based on storing the DMA state of blocks by setting the DMA state to stall
JPH10177560A (ja) * 1996-12-17 1998-06-30 Ricoh Co Ltd 記憶装置
US5982783A (en) * 1997-06-16 1999-11-09 Lucent Technologies Inc. Switch distribution via an intermediary switching network
US5941969A (en) * 1997-10-22 1999-08-24 Auspex Systems, Inc. Bridge for direct data storage device access
US7327759B2 (en) * 2001-07-25 2008-02-05 International Business Machines Corporation Sequence-preserving deep-packet processing in a multiprocessor system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4229931C2 (de) * 1992-09-08 1997-01-23 Daimler Benz Ag Verfahren zur Programmierung eines busfähigen elektronischen Kfz-Steuergerätes
US6631432B1 (en) * 1998-12-24 2003-10-07 Canon Kabushiki Kaisha Information processing system, control method therefor, and information processing apparatus
US20030177280A1 (en) * 2002-03-12 2003-09-18 Webster Steve R. Imbedded interrupt handler

Also Published As

Publication number Publication date
DE102004062211A1 (de) 2006-07-13
US20060143363A1 (en) 2006-06-29

Similar Documents

Publication Publication Date Title
DE10394081B4 (de) Verfahren und Vorrichtung zum Einprägen von Schreibdaten in einen Cache-Speicher
DE3909948C2 (de)
DE60108911T2 (de) Prozessorschnittstelle mit geringem overhead
DE19882696B4 (de) Speichertransaktionen auf einem Bus geringer Leitungsanzahl
DE69936060T2 (de) Verfahren und Vorrichtung für eine verbesserte Schnittstelle zwischen Computerkomponenten
DE3786967T2 (de) Protokoll zum Ungültigerklären eines Cachespeichers für ein digitales Datenverarbeitungssystem.
DE102004042170B4 (de) Nachrichtenbasierte Interrupttabelle
DE69825915T2 (de) Verfahren und vorrichtung zur umschaltung zwischen quellen-synchron-takt/- und gemeinsam-takt-datenübertragungs-modi in einem mehragent-übertragungs-system
DE602004008545T2 (de) Methode und Datenstruktur zum wahlfreien Zugriff über eine Busverbindung
DE112010005609T5 (de) Speichern von Daten in einem einer Mehrzahl von Puffern in einer Speichersteuerung
DE3485980T2 (de) Datenverarbeitungsapparat zur verbindung mit einem gemeinsamen uebertragungsbus in einem datenverarbeitungssystem.
DE60025788T2 (de) Flexibles Mehrzweck-Ein/Ausgabesystem
DE3788548T2 (de) Zugriffssteuerungssystem mit Programmodus.
DE10234992A1 (de) Retry-Mechanismus für blockierende Schnittstellen
DE112012006227T5 (de) Remotezugriff auf den direkten Speicher mit reduzierter Latenzzeit
DE102006036837A1 (de) Datenspeicherverwaltungsverfahren und -system
DE19882975B4 (de) Zugreifen auf eine Nachrichtenaustauscheinheit von einem sekundären Bus aus
DE102004062211B4 (de) CAN-Kommunikationsmodul
DE102007029833A1 (de) Datenmodifikationsmodul
DE602004008416T2 (de) Verbesserte Kommunikationsschnittstelle für Fahrzeuge
DE102018005759A1 (de) Verbinden von beschleunigerressourcen unter verwendung einesswitches
DE2417446A1 (de) Adapter fuer datenverarbeitungsanlagen
DE3854770T2 (de) Busadapter für digitales Rechensystem
DE102007006508A1 (de) Mikrocontroller mit Speicher-Trace-Modul
DE102012202174A1 (de) Mikrocomputer

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee