[go: up one dir, main page]

DE102011007714B4 - Verfahren für die Verwendung mit einem Batterieüberwachungssystem, Batterieüberwachungssystem und Verwendung des Verfahrens - Google Patents

Verfahren für die Verwendung mit einem Batterieüberwachungssystem, Batterieüberwachungssystem und Verwendung des Verfahrens Download PDF

Info

Publication number
DE102011007714B4
DE102011007714B4 DE102011007714.6A DE102011007714A DE102011007714B4 DE 102011007714 B4 DE102011007714 B4 DE 102011007714B4 DE 102011007714 A DE102011007714 A DE 102011007714A DE 102011007714 B4 DE102011007714 B4 DE 102011007714B4
Authority
DE
Germany
Prior art keywords
code
application
starter
common
shared
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
DE102011007714.6A
Other languages
English (en)
Other versions
DE102011007714A1 (de
Inventor
Stanislav Lincer
David Gamez Alari
Jordi Moreno Aymami
Antoni Ferré Fàbregas
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.)
Lear Corp
Original Assignee
Lear Corp
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 Lear Corp filed Critical Lear Corp
Publication of DE102011007714A1 publication Critical patent/DE102011007714A1/de
Application granted granted Critical
Publication of DE102011007714B4 publication Critical patent/DE102011007714B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60LPROPULSION OF ELECTRICALLY-PROPELLED VEHICLES; SUPPLYING ELECTRIC POWER FOR AUXILIARY EQUIPMENT OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRODYNAMIC BRAKE SYSTEMS FOR VEHICLES IN GENERAL; MAGNETIC SUSPENSION OR LEVITATION FOR VEHICLES; MONITORING OPERATING VARIABLES OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRIC SAFETY DEVICES FOR ELECTRICALLY-PROPELLED VEHICLES
    • B60L3/00Electric devices on electrically-propelled vehicles for safety purposes; Monitoring operating variables, e.g. speed, deceleration or energy consumption
    • B60L3/12Recording operating variables ; Monitoring of operating variables
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01MPROCESSES OR MEANS, e.g. BATTERIES, FOR THE DIRECT CONVERSION OF CHEMICAL ENERGY INTO ELECTRICAL ENERGY
    • H01M10/00Secondary cells; Manufacture thereof
    • H01M10/42Methods or arrangements for servicing or maintenance of secondary cells or secondary half-cells
    • H01M10/48Accumulators combined with arrangements for measuring, testing or indicating the condition of cells, e.g. the level or density of the electrolyte
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60LPROPULSION OF ELECTRICALLY-PROPELLED VEHICLES; SUPPLYING ELECTRIC POWER FOR AUXILIARY EQUIPMENT OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRODYNAMIC BRAKE SYSTEMS FOR VEHICLES IN GENERAL; MAGNETIC SUSPENSION OR LEVITATION FOR VEHICLES; MONITORING OPERATING VARIABLES OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRIC SAFETY DEVICES FOR ELECTRICALLY-PROPELLED VEHICLES
    • B60L2240/00Control parameters of input or output; Target parameters
    • B60L2240/40Drive Train control parameters
    • B60L2240/54Drive Train control parameters related to batteries
    • B60L2240/545Temperature
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60LPROPULSION OF ELECTRICALLY-PROPELLED VEHICLES; SUPPLYING ELECTRIC POWER FOR AUXILIARY EQUIPMENT OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRODYNAMIC BRAKE SYSTEMS FOR VEHICLES IN GENERAL; MAGNETIC SUSPENSION OR LEVITATION FOR VEHICLES; MONITORING OPERATING VARIABLES OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRIC SAFETY DEVICES FOR ELECTRICALLY-PROPELLED VEHICLES
    • B60L2240/00Control parameters of input or output; Target parameters
    • B60L2240/40Drive Train control parameters
    • B60L2240/54Drive Train control parameters related to batteries
    • B60L2240/549Current
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/36Arrangements for testing, measuring or monitoring the electrical condition of accumulators or electric batteries, e.g. capacity or state of charge [SoC]
    • G01R31/382Arrangements for monitoring battery or accumulator variables, e.g. SoC
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02EREDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
    • Y02E60/00Enabling technologies; Technologies with a potential or indirect contribution to GHG emissions mitigation
    • Y02E60/10Energy storage using batteries
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/60Other road transportation technologies with climate change mitigation effect
    • Y02T10/70Energy storage systems for electromobility, e.g. batteries

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Electrochemistry (AREA)
  • General Chemical & Material Sciences (AREA)
  • Sustainable Development (AREA)
  • Sustainable Energy (AREA)
  • Power Engineering (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Chemical Kinetics & Catalysis (AREA)
  • Chemical & Material Sciences (AREA)
  • Manufacturing & Machinery (AREA)
  • Stored Programmes (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)
  • Multi Processors (AREA)

Abstract

Verfahren für die Verwendung mit einem Batterieüberwachungssystem BMS, das eine Anwendung zum Messen des Stromflusses zu einer Fahrzeugbatterie und einen Starter zum Aktivieren von durch die Anwendung verwendeten Treibern sowie einen nicht-flüchtigen Speicher (22) und einen flüchtigen Speicher (34) zum Speichern von Code umfasst und in einem Fahrzeug enthalten ist, das einen Fahrzeugbus (18) aufweist, wobei das Verfahren folgende Schritte umfasst:Speichern eines Anwendungscodes für Anwendungsfunktionen, die durch die Anwendung aufgerufen werden können, in einem Anwendungs-Speicherblock (30) des nicht-flüchtigen Speichers (22), wobei der Anwendungscode einen ersten Anwendungscode zum Messen des Stromflusses zu der Fahrzeugbatterie umfasst,Speichern eines Startercodes für Starterfunktionen, die durch den Starter aufgerufen werden können, in einem Starter-Speicherblock (28) des nicht-flüchtigen Speichers (22), wobei der Startercode einen ersten Startercode zum Initialisieren des BMS umfasst und wobei das BMS initialisiert werden muss, bevor die Anwendung den Stromfluss zu der Fahrzeugbatterie bestimmt,Speichern eines gemeinsam genutzten Codes für gemeinsame Funktionen, die durch den Starter und die Anwendung aufgerufen werden können, in einem gemeinsam genutzten Speicherblock (26) des nicht-flüchtigen Speichers (22), wobei der gemeinsam genutzte Code einen ersten Kommunikationscode umfasst, der von Starter und Anwendung verwendet werden kann, wenn Operationen für eine Kommunikation über den Fahrzeugbus (18) ausgeführt werden,Speichern eines Zeigers auf gemeinsame Funktionen in dem gemeinsam genutzten Speicherblock (26) für jede der gemeinsamen Funktionen, wobei jeder der Zeiger auf gemeinsame Funktionen an einer Position im gemeinsamen Speicherblock (26) gespeichert wird und zu einer anderen Position im gemeinsamen Speicherblock (26) zeigt, an der gemeinsam genutzter Code für gemeinsame Funktionen gespeichert wird, und wobei ein erster Zeiger auf gemeinsame Funktionen, der auf die Position zeigt, an der der erste Kommunikationscode gespeichert ist, gespeichert wird, erneutes Kompilieren des gemeinsamen Codes, wobei weiterhin wenigstens die gleichen gemeinsamen Funktionen nach dem erneuten Kompilieren verfügbar bleiben, und wobei jeder Zeiger auf gemeinsame Funktionen nach dem erneuten Kompilieren auf der selben Position im gemeinsam genutzten Speicherblock (26) gespeichert ist.

Description

  • Die vorliegende Erfindung betrifft eine Architektur für einen gemeinsam genutzten Speicher, in der Code oder andere Daten zur Unterstützung von gemeinsamen Funktionen in einem gemeinsam genutzten Speicherblock gespeichert sind.
  • Die DE 10 2007 044 405 A1 offenbart ein Verfahren zum Erzeugen von ablauffähigen Programmcodes aus einer Anzahl von Software-Komponenten, die zum Prozessieren durch ein Datenverarbeitungssystem für ein Kraftfahrzeug bestimmt sind. In zwei Laufzeitumgebungen ist jeweils ein Programmcode auszuführen. Um die Aufstartzeit des Systems zu verringern, wird für die Software-Komponenten, die in beiden Laufzeitumgebungen auszuführen sind, in beiden Programmcodes jeweils die Verwendung eines übereinstimmenden Speicher-Layouts definiert. Dies soll dadurch bewerkstelligt werden, dass Daten, die für das übereinstimmende Speicher-Layout repräsentativ sind, beim Übergang von der ersten zu der zweiten Laufzeitumgebung übergeben werden.
  • Aus der DE 10 2009 034 409 A1 ist ein Batterieüberwachungssystem zum Messen von Betriebsbedingungen einer Fahrzeugbatterie bekannt.
  • Softwarecode, wie er etwa zur Unterstützung der durch eine CPU ausgeführten Funktionen verwendet wird, wird gewöhnlich geschrieben, um bestimmte Operationen auszuführen. Der mit einer Softwareeinheit assoziierte Code kann unter Umständen nicht in Verbindung mit einem für eine andere Softwareeinheit geschriebenen Code genutzt werden. Wenn ein Speicher Code für mehrere Softwareeinheiten speichern soll, muss der Code für jede Softwareeinheit vollständig in dem Speicher gespeichert werden. Falls zwei oder mehr Softwareeinheiten verwendet werden, um die Ausführung von identischen oder gleichen Funktionen auszuführen, wird Speicherraum zum Speichern des entsprechenden Codes der zwei oder mehr Softwareeinheiten zugewiesen. Dadurch wird eine Redundanz geschaffen, weil doppelter Code für identische oder gleiche Funktionen gespeichert wird.
  • Es ist Aufgabe der Erfindung, ein Verfahren für die Verwendung mit einem Batterieüberwachungssystem (BMS) beziehungsweise ein Batterieüberwachungssystem (BMS) in Bezug auf Effizienz von Speichernutzung zu verbessern.
  • Bezüglich des Verfahrens wird diese Aufgabe durch Anspruch 1, bezüglich des Batterieüberwachungssystems durch Anspruch 9 gelöst. Die Unteransprüche geben vorteilhafte Ausführungsformen der Erfindung an.
  • Die vorliegende Erfindung wird durch die beigefügten Ansprüche definiert. Verschiedene Merkmale der vorliegenden Erfindung werden durch die folgende ausführliche Beschreibung mit Bezug auf die beigefügten Zeichnungen verdeutlicht.
    • 1 zeigt ein Fahrzeug-Steuersystem gemäß der vorliegenden Erfindung.
    • 2 zeigt eine Speichermap eines nicht-flüchtigen Speichers gemäß der vorliegenden Erfindung.
    • 3-4 zeigen eine Speichermap eines flüchtigen Speichers gemäß der vorliegenden Erfindung.
    • 5 zeigt ein Flussdiagramm für die Ausführung einer gemeinsamen Funktion gemäß der vorliegenden Erfindung.
  • 1 zeigt ein Fahrzeug-Steuersystem 10 gemäß der vorliegenden Erfindung. Das Fahrzeug-Steuersystem 10 kann in einem Fahrzeug (nicht gezeigt) enthalten sein, das eine Anzahl von Fahrzeug-Subsystemen (nicht gezeigt) umfasst, die durch eine oder mehrere Fahrzeug-Subsystem-Steuereinrichtungen 12, 14, 16 gesteuert werden, wobei es sich um Informations- und Unterhaltungs-, Sicherheits- (Passivschließ-, RKE- usw.), Beleuchtungs-, Heiz-, Klima- oder Motorsteuerungs-Subsysteme handeln kann. Der Betrieb, die Aktualisierung, die Interaktion und die Steuerung der Fahrzeug-Subsysteme können mittels Kommunikationen über einen Fahrzeugbus 18 in Übereinstimmung mit Befehlen aus einer Master-Steuereinrichtung 20 erfolgen. Das gezeigte Fahrzeugsystem 10 ist nur eine beispielhafte Umgebung für die vorliegende Erfindung. Die vorliegende Erfindung kann auch auf andere als Fahrzeugumgebungen angewendet werden.
  • Die gezeigte Fahrzeugumgebung ist eine Umgebung, in der ein nicht-flüchtiger Speicher 22 in einem Speicher 24 mit einem gemeinsam genutzten Speicherblock 26 periodisch aktualisiert werden muss. Außerdem müssen die Steuereinrichtungen 12, 14, 16 in einer Fahrzeugumgebung unter Umständen in Verbindung mit anderen Steuereinrichtungen 12, 14, 16 betrieben werden und mit denselben über den Fahrzeugbus 18 und/oder per Funk kommunizieren. In dem gezeigten Beispiel ist die Steuereinrichtung 16 eine Batterieüberwachungssystem-Steuereinrichtung (BMS-Steuereinrichtung). Die BMS-Steuereinrichtung 16 ist konfiguriert, um in Verbindung mit der Hardware eines Batterieüberwachungssystems (nicht gezeigt) betrieben zu werden, wobei das Batterieüberwachungssystem zum Beispiel betrieben werden kann, um den Stromfluss zu messen, die Batterietemperatur zu messen und/oder verschiedene andere Operationen in Bezug auf eine Fahrzeugbatterie auszuführen. Die US 2010/0 019 733 A1 mit dem Titel „Battery Monitoring System“ beschreibt ein derartiges Batterieüberwachungssystem.
  • Zusätzlich zu dem gemeinsam genutzten Speicherblock 26 umfasst der gezeigte Speicher 24 der BMS-Steuereinrichtung 16 einen Starter-Speicherblock 28 und einen Anwendungs-Speicherblock 30. Der Anwendungs-Speicherblock 30 speichert mit einer Anwendung assoziierten Code. Die Anwendung kann betrieben werden, um verschiedene mit dem Batterieüberwachungssystem assoziierte Funktionen wie etwa das Messen des Stromflusses und das Berichten desselben zu einer oder mehreren anderen Steuereinrichtungen (einschließlich der Master-Steuereinrichtung) auszuführen. Der Starter-Speicherblock 28 speichert mit einem Starter assoziierten Code. Der Starter kann konfiguriert sein, um einen Start und/oder eine Initialisierung des Batterieüberwachungssystems zu bewerkstelligen, wobei er etwa Treiber 32 lädt und/oder andere zur Ausführung der Operationen der Anwendung erforderliche Aktionen ausführt.
  • Die BMS-Steuereinrichtung 16 kann einen flüchtigen Speicherblock 34 mit einem RAM-Block 36 umfassen. Der flüchtige Speicher 34 löscht im Gegensatz zu dem nicht-flüchtigen Speicher 22 den darin gespeicherten Code jedes Mal, wenn die BMS-Steuereinrichtung 16 zurückgesetzt wird oder die Stromversorgung unterbrochen wird. In den flüchtigen Speicher 34 kann wie nachfolgend beschrieben ein Softwarecode geladen werden, der die mit dem Starter und mit der Anwendung assoziierten Funktionen unterstützt. Optional können verschiedene Codesätze in den RAM 36 in Abhängigkeit davon geschrieben werden, ob gerade der Starter oder die Anwendung ausgeführt wird. Gemäß der Erfindung wird eine Anordung angegeben, in der nur Code des Starters oder der Anwendung in den RAM 36 oder an bestimmte Positionen des RAMs 36 geschrieben wird, um wie weiter unten beschrieben die gemeinsamen Funktionen zu unterstützen.
  • Die gezeigte BMS-Steuereinrichtung 16 enthält eine CPU 38. Die CPU 38 kann konfiguriert sein, um Operationen in Übereinstimmung mit aus dem Speicher 22 gelesenen Befehlen für die Operationen des Starters und der Anwendung auszuführen. Die CPU 38 kann auch konfiguriert sein, um Code in den Speicher 22 für einige der nachfolgend ausführlicher beschriebenen Operationen zu schreiben. Die CPU 38 interagiert wie gezeigt mit den Treibern 32, die verwendet werden, um mit den Hardware-Komponenten des BMS zu interagieren. Zu diesen Hardware-Komponenten gehören auch solche, die Kommunikationen mit anderen Steuereinrichtungen 12, 14 über den Fahrzeugbus 18 unterstützen.
  • Die Kommunikationen zwischen der BMS-Steuereinrichtung 16 und einer oder mehreren der anderen Steuereinrichtungen 12, 14 können in Übereinstimmung mit einem in dem gemeinsam genutzten Block 26 gespeicherten Kommunikationscode erfolgen. Der Kommunikationscode kann in dem gemeinsam genutzten Block 26 gespeichert sein und kann durch den Starter und die Anwendung verwendet werden, wenn Operationen für eine Kommunikation ausgeführt werden (optional kann der gemeinsam genutzte Speicher 26 auch durch andere in der BMS-Steuereinrichtung 16 betriebene Anwendungen und/oder Funktionen verwendet werden). Die Verwendung des gemeinsam genutzten Speichers 26 kann vorteilhaft sein, wenn das Volumen des Kommunikationscodes größer ist. Weil der Kommunikationscode gemeinsam genutzt werden kann und keine separaten Kommunikationscodes für den Starter und die Anwendung gespeichert zu werden brauchen, kann das Gesamtvolumen des Kommunikationscodes für den Starter, für die Anwendung und für andere von einer Kommunikation abhängige Softwareeinheiten (sofern vorhanden) reduziert werden.
  • 2 zeigt eine Speichermap 50 des nicht-flüchtigen Speichers 22 gemäß der vorliegenden Erfindung. Die Speichermap 50 zeigt den Aufbau der Daten in dem nicht-flüchtigen Speicher 22 in Bezug auf die Funktion oder Operation, die in Übereinstimmung mit den aus der entsprechenden Speicherposition ausgelesenen Daten auszuführen ist. Die Daten (nachfolgend auch als Code bezeichnet) zum Ausführen der angegebenen Funktionen/Operationen müssen nicht in den gezeigten Mustern gruppiert oder angeordnet sein. Dem Fachmann sollte deutlich sein, dass ein mit jedem Abschnitt des Speichers 24 assoziierter Compiler die Daten auch streuen oder in anderen Mustern organisieren kann. Der Compiler behält den Überblick über die Speicherpositionen, die für das Ausführen der angegebenen Funktionen gelesen werden müssen.
  • Die Speichermap 50 zeigt den nicht-flüchtigen Speicher 22 mit wenigstens drei Maps, nämlich mit jeweils einer Map für den Anwendungs-Speicherblock 30, für den gemeinsam genutzten Speicherblock 26 und für den Starter-Speicherblock 28.
  • Eine Speichermap 52 für die Anwendung zeigt eine Anzahl von Funktionen, die durch das Lesen des darin gespeicherten Codes ausgeführt werden können, die hier beispielhaft als Aufrufe für gemeinsame Funktionen 1, 2, 3, 4, n des gemeinsam genutzten Speicherblocks 26, als proprietäre Anwendungsfunktionen der Anwendung wie etwa zum Bestimmen des Stromflusses, der Temperatur oder anderer mit dem Betrieb des BMS 16 assoziierter Informationen und als Anwendungs-Rückfragefunktionen bei Auftreten eines Fehlers oder für andere in Reaktion auf wenigstens eine der gemeinsamen Funktionen auszuführende Aktionen gezeigt sind.
  • Eine Speichermap 54 für den Starter zeigt eine Anzahl von Funktionen, die durch das Lesen des darin gespeicherten Codes ausgeführt werden können, die hier beispielhaft als Aufrufe für gemeinsame Funktion 1, 2, 3, 4, n des gemeinsam genutzten Speicherblocks 20, als proprietäre Starterfunktionen wie etwa zum Laden von Treibern und zum Aktivieren von Ports und als Anwendungs-Rückfragefunktionen bei Auftreten eines Fehlers oder für andere in Reaktion auf wenigstens eine der gemeinsamen Funktionen auszuführende Aktionen gezeigt sind.
  • Eine Speichermap 56 für die gemeinsamen Funktionen zeigt eine Anzahl von Funktionen, die durch das Lesen des darin gespeicherten Codes ausgeführt werden, die hier beispielhaft als gemeinsame Funktionen 1, 2, 3, 4, n wie etwa eine Datenübertragungsfunktion, die durch die Anwendung oder den Starter verwendet werden kann, um Daten über den Fahrzeugbus zu übertragen, und als Zeiger auf die gemeinsamen Funktionen 1, 2, 3, 4, n gezeigt sind. Eine beliebige Anzahl von gemeinsamen Funktionen kann durch den in dem gemeinsamen Speicherblock 26 gespeicherten Code ausgeführt werden. Die gemeinsamen Funktionen sind jeweils eindeutig gekennzeichnet, wobei die Nummern lediglich beispielhaft sind und auch eine beliebige andere Kennzeichnung verwendet werden könnte. Die Zeiger verweisen von dem Starter und der Anwendung empfangene Aufrufe auf eine der gemeinsam genutzten Funktion entsprechende Position des gemeinsam genutzten Speicherblocks 26.
  • Die Positionen des gemeinsam genutzten Speicherblocks 26 für die Zeiger auf gemeinsame Funktionen bleiben in ihrer Größe und/oder Position fixiert, solange Code für die Anzahl n der gemeinsamen Funktionen in dem gemeinsamen Speicherblock gespeichert ist. Auf diese Weise kann der in dem gemeinsam genutzten Speicherblock 26 gespeicherte Code aktualisiert oder auf andere Weise durch einen Compiler manipuliert werden, ohne dass sich dies auf die Speicherposition und die Kennzeichnung der Zeiger auf gemeinsame Funktionen auswirkt. Dagegen können die durch die Zeiger auf den gemeinsam Funktionscode angegebenen Positionen aktualisiert werden, etwa dann, wenn sich die Größe einer oder mehrere der gemeinsamen Funktionen nach dem Kompilieren ändert.
  • Indem die Positionen der Zeiger auf gemeinsame Funktion fixiert bleiben, kann die Erfindung eine bekannte Position für die von dem Starter und der Anwendung empfangenen Aufrufe vorsehen. Der Starter und die Anwendung müssen lediglich die Aufrufe der gemeinsamen Funktionen derart programmieren, dass sie auf die den gewünschten gemeinsamen Funktionen entsprechenden Zeiger verweisen. Der Starter und die Anwendung müssen also keinen Überblick über die Positionen der gemeinsamen Funktionen behalten, weil die Zeiger auf die gemeinsamen Funktionen bekannt sind und fixiert bleiben.
  • Gemäß der vorliegenden Erfindung werden die Zeiger auf gemeinsame Funktionen in Übereinstimmung mit der damit assoziierten eindeutigen Kennzeichnung gespeichert, wobei der mit dem Zeiger 1 auf eine gemeinsame Funktion assoziierte Code vor dem mit dem Zeiger 2 auf eine gemeinsame Funktion assoziierten Code angeordnet wird, der mit dem Zeiger 2 auf eine gemeinsame Funktion assoziierte Code vor dem mit dem Zeiger 3 auf eine gemeinsame Funktion assoziierten Code angeordnet wird usw. Eine derartige Anordnung kann der Anordnung einer physischen Speicherposition des entsprechenden Zeigercodes und/oder der Adresse für die Speicherung des Codes entsprechen, wobei der Zeigercode an einer beliebigen Position gespeichert werden kann, solange dieselbe Adresse immer auf die Position des Zeigercodes verweist. Wenn weitere gemeinsame Funktionen hinzugefügt werden, können weitere Zeiger hinzugefügt werden, die auf physikalische Positionen hinter den anderen Zeigern und/oder auf Adressen hinter den anderen Zeigern verweisen (z.B. kann eine neue Adresse ein Inkrement von eins zu der letzten Adresse der anderen Zeiger sein).
  • 3-4 zeigen eine Speichermap 58 des flüchtigen Speichers 34 gemäß der vorliegenden Erfindung. Die Speichermap 58 gibt den Aufbau der Daten in dem flüchtigen Speicher 34 für die Funktion oder Operation an, die in Übereinstimmung mit den von der entsprechenden Speicherposition gelesenen Daten ausgeführt werden soll. 3 zeigt die mit dem RAM 36 assoziierte Speichermap 58 für die Ausführung der Anwendung; und 4 zeigt die mit dem RAM 36 assoziierte Speichermap 58 für die Ausführung des Starters, insbesondere wenn eine Bootloader-Anwendung als Teil des Starters ausgeführt wird.
  • Die durch den Code in dem RAM 36 vorgesehene Funktion wird durch die damit assoziierte eindeutige Kennzeichnung identifiziert. In Abhängigkeit davon, ob die Anwendung oder der Bootloader betriebsfähig sind, speichert ein Teil des RAMs 36 einen mit proprietären Funktionen der Anwendung oder des Bootloaders assoziierten Code, der für den Betrieb der Anwendung oder des Bootloaders erforderlich ist. Dabei kann es sich um einen Code zum Ausführen von Messungen und anderen Operationen handeln, die mit höheren Geschwindigkeiten ausgeführt werden als es mit einem in dem nicht-flüchtigen Speicher gespeicherten ähnlichen Code möglich ist, und zum Ausführen von Kommunikationsfunktionen, die nicht gemeinsam genutzt werden müssen. Andere Teile des RAMs 36 speichern Zeiger auf Rückfragefunktionen für jede der gemeinsamen Funktionen 1, 2, 3, 4 bis n. Die Zeiger für Rückfragefunktionen können als Bootloader-Rückfragefunktion-Zeiger oder Anwendungs-Rückfragefunktion-Zeiger identifiziert werden und werden verwendet, um auf spezifische Rückfragefunktionen in den Speichermaps 52, 54 der Anwendung bzw. des Bootloaders zu verweisen, die bei Auftreten eines Fehlers oder für andere in Reaktion auf die entsprechend gekennzeichneten gemeinsamen Funktionen ausgeführte Aktionen auszuführen sind.
  • Wie die in dem gemeinsam genutzten Speicherblock 26 gespeicherten Zeiger können auch die in dem flüchtigen Speicherblock 34 gespeicherten Zeiger an fixen Positionen gespeichert werden, die jeweils der Anzahl von n gemeinsamen Funktionen zugewiesen sind. Die gemeinsamen Funktionen sind jeweils konfiguriert, um auf eine Position in dem RAM 36 zu zeigen, die der Identität der die Rückfrage verursachenden gemeinsamen Funktion entspricht. Dabei muss in dem gemeinsamen Funktionscode nicht identifiziert werden, ob der Bootloader oder die Anwendung betrieben wird, weil die Position der Zeiger in dem RAM 36 fixiert ist und verschiedene Zeiger in Abhängigkeit davon, ob die Anwendung oder der Bootloader betrieben wird, an den fixierten Positionen gespeichert sind.
  • 5 zeigt ein Flussdiagramm für die Ausführung einer gemeinsamen Funktion gemäß der vorliegenden Erfindung. Zum Beispiel veranlasst die Anwendung einen Aufruf der gemeinsamen Funktion, wobei die Erfindung jedoch nicht hierauf beschränkt ist. Gemäß einem nicht-einschränkenden Aspekt der vorliegenden Erfindung wird der Aufruf durch den Starter oder die Anwendung veranlasst, sodass derselbe Code also durch mehrere Softwareeinheiten wie etwa den Starter und die Anwendung genutzt werden kann. Die gemeinsame Funktion wird dann unabhängig davon, ob sie durch die Anwendung, den Starter oder eine andere Softwareeinheit aufgerufen wurde, ähnlich wie in 5 gezeigt ausgeführt.
  • In dem für die vorliegende Beschreibung gewählten Beispiel ist die aufgerufene gemeinsame Funktion eine Datenübertragungsfunktion. Die Datenübertragungsfunktion kann erfolgen, nachdem die Anwendung eine Erlaubnis von dem Master 20 für die Übertragung von Daten über den Fahrzeugbus 18 angefordert hat, um etwa mit einem aktuellen Messwert assoziierte Daten oder andere durch das Batterieüberwachungssystem 16 berechnete Informationen zu einem oder mehreren der Fahrzeug-Subsysteme 12, 14 zu übertragen. Wenn eine andere Beziehung zwischen dem Batterieüberwachungssystem 16 und dem Master 20 gegeben ist, etwa wenn der Master 20 ein Client ist und das Batterieüberwachungssystem 16 ein Server ist, kann ein anderer Austausch zwischen dem Master 20 und dem Batterieüberwachungssystem 16 stattfinden, bevor die Datenübertragungsfunktion ausgeführt wird, wobei etwa das Batterieüberwachungssystem 16 Daten auf seine eigene Initiative hin übertragen kann. Die aufgerufene gemeinsame Funktion wird hier anhand des Beispiels einer Kommunikationsfunktion beschrieben, wobei gemäß der vorliegenden Erfindung der mit Kommunikationsfunktionen assoziierte Speicherraum reduziert werden kann, indem eine oder mehrere Softwareeinheiten wenigstens einen Teil desselben Codes gemeinsam nutzen, um die Kommunikationsfunktionen auszuführen.
  • In Block 62 führt die CPU 38 einen Aufruf zum Ausführen einer Datenübertragungsfunktion (gemeinsamen Funktion) in Übereinstimmung mit einem aus dem Anwendungs-Speicherblock 30 gelesenen Code aus. Der Aufruf wird durch die CPU 38 ausgeführt, die den Teil des Anwendungs-Speicherblocks 30 liest, der gemäß der Anwendungs-Speichermap 52 der gewünschten gemeinsamen Funktion entspricht, die in diesem Beispiel die gemeinsame Funktion 3 ist. In Block 64 liest die CPU 38 einen als Teil der aufgerufenen gemeinsamen Funktion gespeicherten Zeiger, der auf den Zeiger der in dem gemeinsam genutzten Speicherblock 26 gespeicherten aufgerufenen gemeinsamen Funktion zeigt. Jeder Aufruf einer gemeinsamen Funktion durch die Anwendung oder den Starter umfasst einen Zeiger auf den entsprechenden in dem gemeinsam genutzten Speicherblock 26 gespeicherten Zeiger. Weil die in dem gemeinsam genutzten Speicherblock 26 gespeicherten Zeiger fixiert sind, zeigen auch die Zeiger jeder der Aufrufe der gemeinsamen Funktion entsprechend auf eine fixe Position.
  • In Block 66 führt die CPU 38 die gemeinsame Funktion in Übereinstimmung mit dem aus dem gemeinsamen Speicherblock 26 gelesenen Code aus. Wenn die gemeinsame Funktion ausgeführt wird, ohne dass eine Rückfrage erforderlich ist, weil die gemeinsame Funktion beendet wird und/oder keine andere Rückfrage aus der Beendigung der Funktion resultiert, wird die gemeinsame Funktion als abgeschlossen betrachtet und wird zu Block 62 zurückgekehrt. Wenn eine Rückfrage auftritt und somit die aufgerufene gemeinsame Funktion nicht vollständig ausgeführt ist oder die vollständige Ausführung der aufgerufenen gemeinsamen Funktion zu einem eine Rückfrage auslösenden Ergebnis führt, erhält die CPU 38 in Block 68 den der entsprechenden gemeinsamen Funktion aus dem RAM 36 zugewiesenen Rückfrage-Zeiger.
  • Der in der Speichermap 56 für die gemeinsamen Funktionen gespeicherte gemeinsame Funktionscode umfasst einen Zeiger, der auf eine Position in dem RAM 36 zeigt, die dem Zeiger für die Rückfragefunktion zugewiesen ist, die im Fall einer Rückfrage durch die CPU 38 ausgeführt werden soll (eine oder mehrere der gemeinsamen Funktionen können Zeiger auf eine oder mehrere gleiche oder verschiedene Positionen im RAM 36 enthalten). Weil die in dem RAM 36 gespeicherten Rückfrage-Zeiger in Abhängigkeit davon, ob die Anwendung oder der Starter ausgeführt werden, geladen werden, muss der in dem gemeinsam genutzten Speicherblock 26 gespeicherte Code der gemeinsamen Funktionen nicht die mit dem Starter oder der Anwendung zu assoziierende Rückfragefunktion identifizieren. In Block 70 führt die CPU 38 dann die Rückfragefunktion, auf die durch den in dem RAM 36 gespeicherten Rückfrage-Zeiger gezeigt wird, in Übereinstimmung mit einem in dem Anwendungs-Speicherblock 30 gespeicherten Code für die entsprechende Rückfragefunktion oder im Fall der Ausführung des Starters in Übereinstimmung mit dem in dem Starter-Speicherblock 28 gespeicherten Rückfragecode aus. Optional kann die Verarbeitung nach Abschluss der Rückfragefunktion zu der Verarbeitung der die Rückfragefunktion veranlassenden gemeinsamen Funktion zurückkehren.
  • Vorstehend wurden verschiedene Ausführungsformen der vorliegenden Erfindung beschrieben, wobei jedoch zu beachten ist, dass die beschriebenen Ausführungsformen lediglich beispielhaft für die Erfindung sind, die auch durch verschiedene andere Ausführungsformen realisiert werden kann. Die Figuren sind nicht notwendigerweise maßstabsgetreu, wobei einige Teile vergrößert oder verkleinert dargestellt sein können, um die Details bestimmter Komponenten zu verdeutlichen. Die hier beschriebenen Details des Aufbaus und der Funktion sind nicht einschränkend aufzufassen, sondern lediglich als repräsentative Basis für die Ansprüche und/oder als repräsentative Basis für den Fachmann, der die Erfindung realisieren möchte. Außerdem können Merkmale aus verschiedenen Ausführungsformen miteinander kombiniert werden, um weitere Ausführungsformen der Erfindung zu bilden.

Claims (17)

  1. Verfahren für die Verwendung mit einem Batterieüberwachungssystem BMS, das eine Anwendung zum Messen des Stromflusses zu einer Fahrzeugbatterie und einen Starter zum Aktivieren von durch die Anwendung verwendeten Treibern sowie einen nicht-flüchtigen Speicher (22) und einen flüchtigen Speicher (34) zum Speichern von Code umfasst und in einem Fahrzeug enthalten ist, das einen Fahrzeugbus (18) aufweist, wobei das Verfahren folgende Schritte umfasst: Speichern eines Anwendungscodes für Anwendungsfunktionen, die durch die Anwendung aufgerufen werden können, in einem Anwendungs-Speicherblock (30) des nicht-flüchtigen Speichers (22), wobei der Anwendungscode einen ersten Anwendungscode zum Messen des Stromflusses zu der Fahrzeugbatterie umfasst, Speichern eines Startercodes für Starterfunktionen, die durch den Starter aufgerufen werden können, in einem Starter-Speicherblock (28) des nicht-flüchtigen Speichers (22), wobei der Startercode einen ersten Startercode zum Initialisieren des BMS umfasst und wobei das BMS initialisiert werden muss, bevor die Anwendung den Stromfluss zu der Fahrzeugbatterie bestimmt, Speichern eines gemeinsam genutzten Codes für gemeinsame Funktionen, die durch den Starter und die Anwendung aufgerufen werden können, in einem gemeinsam genutzten Speicherblock (26) des nicht-flüchtigen Speichers (22), wobei der gemeinsam genutzte Code einen ersten Kommunikationscode umfasst, der von Starter und Anwendung verwendet werden kann, wenn Operationen für eine Kommunikation über den Fahrzeugbus (18) ausgeführt werden, Speichern eines Zeigers auf gemeinsame Funktionen in dem gemeinsam genutzten Speicherblock (26) für jede der gemeinsamen Funktionen, wobei jeder der Zeiger auf gemeinsame Funktionen an einer Position im gemeinsamen Speicherblock (26) gespeichert wird und zu einer anderen Position im gemeinsamen Speicherblock (26) zeigt, an der gemeinsam genutzter Code für gemeinsame Funktionen gespeichert wird, und wobei ein erster Zeiger auf gemeinsame Funktionen, der auf die Position zeigt, an der der erste Kommunikationscode gespeichert ist, gespeichert wird, erneutes Kompilieren des gemeinsamen Codes, wobei weiterhin wenigstens die gleichen gemeinsamen Funktionen nach dem erneuten Kompilieren verfügbar bleiben, und wobei jeder Zeiger auf gemeinsame Funktionen nach dem erneuten Kompilieren auf der selben Position im gemeinsam genutzten Speicherblock (26) gespeichert ist.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass bei dem erneuten Kompilieren des gemeinsamen Codes die für das Speichern des gemeinsamen Codes benötigte Speichergröße für wenigstens eine der gemeinsamen Funktionen nach dem erneuten Kompilieren vergrößert wird.
  3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass vor und nach dem erneuten Kompilieren dieselbe Speichergröße in dem gemeinsam genutzten Speicherblock (26) für das Speichern der Zeiger auf gemeinsame Funktionen verwendet wird.
  4. Verfahren nach einem der vorangehenden Ansprüche, weiterhin gekennzeichnet durch folgende Schritte: Speichern von Starter-Zeigern auf Starter-Rückfragefunktionen in einem gemeinsam benutzten Rückfragefunktionen-Speicherblock des flüchtigen Speichers (34), während der Starter betrieben wird, wobei die Starter-Zeiger auf wenigstens eine aus Starter-Rückfragefunktionen zeigen, die für die gemeinsamen Funktionen auszuführen ist, und Speichern von Anwendungs-Zeigern auf Anwendungs-Rückfragefunktionen in dem gemeinsam benutzten Rückfragefunktionen-Speicherblock des flüchtigen Speichers (34), während die Anwendung betrieben wird, wobei die Anwendungs-Zeiger auf wenigstens eine Anwendungs-Rückfragefunktion zeigen, die für die gemeinsamen Funktionen auszuführen ist.
  5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass jeder der gemeinsamen Funktionen eine eindeutige Kennzeichnung zugewiesen ist und jedem der Zeiger auf gemeinsame Funktionen, der Starter-Zeiger und der Anwendungs-Zeiger die der korrespondierenden gemeinsamen Funktion zugewiesene eindeutige Kennzeichnung zugewiesen ist.
  6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass das Speichern der Starter-Zeiger und der Anwendungs-Zeiger in dem gemeinsam genutzten Rückfragefunktionen-Speicherblock in Übereinstimmung mit der zugewiesenen eindeutigen Kennzeichnung organisiert wird, sodass die Starter-Zeiger und die Anwendungs-Zeiger, denen die gleiche eindeutige Kennzeichnung zugewiesen ist, an derselben Speicherposition des gemeinsam genutzten Rückfragefunktionen-Speicherblocks gespeichert werden.
  7. Verfahren nach einem der Ansprüche 4 bis 6, dadurch gekennzeichnet, dass die Starter-Zeiger überschrieben werden, wenn die Anwendungs-Zeiger in dem gemeinsam genutzten Rückfragenfunktionen-Speicherblock gespeichert werden.
  8. Verfahren nach einem der vorangehenden Ansprüche, wobei der erste Kommunikationscode aus dem nicht-flüchtigen Speicher (22) in den flüchtigen Speicher (34) geladen wird, wenn die Anwendung den Stromfluss über den Fahrzeugbus (18) übermitteln will, und wobei eine CPU (38) dadurch, dass sie den ersten Zeiger auf gemeinsame Funktionen ausliest, die Position, an der der erste Kommunikationscode im nicht-flüchtigen Speicher (22) gespeichert ist, ermittelt, wobei die CPU den ersten Zeiger auf gemeinsame Funktionen identifiziert, indem sie den ersten Anwendungscode liest, wobei der erste Anwendungscode einen ersten Zeiger spezifiziert, der zu der Position zeigt, an der der erste gemeinsam genutzte Zeiger in dem nicht-flüchtigen Speicherblock (22) gespeichert ist.
  9. Batterieüberwachungssystem BMS, das eine Anwendung zum Messen des Stromflusses zu einer Fahrzeugbatterie und einen Starter zum Aktivieren von durch die Anwendung verwendeten Treibern (32) umfasst, in einem Fahrzeug enthalten ist, das einen Fahrzeugbus (18) aufweist, und einen nicht-flüchtigen Speicher (22) und einen flüchtigen Speicher (34) zum Speichern von Code umfasst, wobei ein Anwendungscode für Anwendungsfunktionen, die durch die Anwendung aufgerufen werden können, in einem Anwendungs-Speicherblock (30) des nicht-flüchtigen Speichers (22) gespeichert ist, wobei der Anwendungscode einen ersten Anwendungscode zum Messen des Stromflusses zu der Fahrzeugbatterie umfasst, ein Startercode für Starterfunktionen, die durch den Starter aufgerufen werden können, in einem Starter-Speicherblock (28) des nicht-flüchtigen Speichers (22) gespeichert ist, wobei der Startercode einen ersten Startercode zum Initialisieren des BMS umfasst und wobei das BMS initialisiert werden muss, bevor die Anwendung den Stromfluss zu der Fahrzeugbatterie bestimmt, ein gemeinsam genutzter Code für gemeinsame Funktionen, die durch den Starter und die Anwendung aufgerufen werden können, in einem gemeinsam genutzten Speicherblock (26) des nicht-flüchtigen Speichers (22) gespeichert ist, wobei der gemeinsam genutzte Code einen ersten Kommunikationscode umfasst, der von Starter und Anwendung verwendet werden kann, wenn Operationen für eine Kommunikation über den Fahrzeugbus (18) ausgeführt werden, ein Zeiger auf gemeinsame Funktionen in dem gemeinsam genutzten Speicherblock (26) für jede der gemeinsamen Funktionen gespeichert ist, wobei jeder der Zeiger auf gemeinsame Funktionen an einer Position im gemeinsam genutzten Speicherblock (26) gespeichert ist und zu einer anderen Position im gemeinsam genutzten Speicherblock (26) zeigt, an der gemeinsam genutzter Code für gemeinsame Funktionen gespeichert ist, und wobei ein erster Zeiger auf gemeinsame Funktionen gespeichert ist, der zu der Position zeigt, an der der erste Kommunikationscode gespeichert ist, das Batterieüberwachungssystem mit einem Compiler assoziiert ist, sodass bei einem erneuten Kompilieren des gemeinsamen Codes wenigstens die gleichen gemeinsamen Funktionen nach dem erneuten Kompilieren verfügbar bleiben und jeder Zeiger auf gemeinsame Funktionen nach dem erneuten Kompilieren auf der selben Position im gemeinsam genutzten Speicherblock (26) gespeichert ist.
  10. Batterieüberwachungssystem nach Anspruch 9, weiterhin gekennzeichnet durch eine in einem flüchtigen Speicher (34) gespeicherten Vielzahl von Rückfrage-Zeigern, wobei jeder der Rückfrage-Zeiger jeweils mit einer gemeinsamen Funktion assoziiert ist.
  11. Batterieüberwachungssystem nach Anspruch 10, dadurch gekennzeichnet, dass die Rückfrage-Zeiger (i) auf einen in dem Anwendungs-Speicherblock (30) gespeicherten Rückfragefunktionscode zeigen, wenn die Anwendung ausgeführt wird, und (ii) auf einen in dem Starter-Speicherblock (28) gespeicherten Rückfragefunktionscode zeigen, wenn der Starter ausgeführt wird.
  12. Batterieüberwachungssystem nach Anspruch 11, dadurch gekennzeichnet, dass der flüchtige Speicher (34) nicht gleichzeitig Zeiger auf in dem Anwendungs-Speicherblock (30) und in dem Starter-Speicherblock (28) gespeicherte Rückfragefunktionscode speichert.
  13. Batterieüberwachungssystem nach Anspruch 10, dadurch gekennzeichnet, dass die Rückfrage-Zeiger an fixen Speicherpositionen in dem flüchtigen Speicher (34) gespeichert sind, sodass die Rückfrage-Zeiger für jede der gemeinsamen Funktionen für die Anwendung und den Starter an gleichen Positionen gespeichert sind.
  14. Batterieüberwachungssystem nach Anspruch 13, dadurch gekennzeichnet, dass der in dem gemeinsam genutzten Speicherblock (26) gespeicherte Code für jede der gemeinsamen Funktionen einen Zeiger auf die fixe Speicherposition eines mit dieser gemeinsamen Funktion assoziierten Rückfrage-Zeigers enthält.
  15. Batterieüberwachungssystem nach einem der Ansprüche 9 bis 14, dadurch gekennzeichnet, dass die fixen Speicherpositionen nach jedem Kompilieren jeweils dieselben Zeiger auf gemeinsame Funktionen speichern und wenigstens dieselben gemeinsamen Funktionen verfügbar sind.
  16. Batterieüberwachungssystem nach Anspruch 15, dadurch gekennzeichnet, dass die für das Speichern des gemeinsamen Codes für wenigstens eine der gemeinsamen Funktionen benötigte Speichergröße nach dem Kompilieren größer sein kann und die Zeiger auf gemeinsame Funktionen nach dem Kompilieren an denselben Speicherpositionen bleiben.
  17. Verwendung des Verfahrens nach einem der Ansprüche 1 bis 8 für den Betrieb des Batterieüberwachungssystems.
DE102011007714.6A 2010-06-09 2011-04-20 Verfahren für die Verwendung mit einem Batterieüberwachungssystem, Batterieüberwachungssystem und Verwendung des Verfahrens Expired - Fee Related DE102011007714B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/796,833 US8495601B2 (en) 2010-06-09 2010-06-09 Shared memory architecture
US12/796,833 2010-06-09

Publications (2)

Publication Number Publication Date
DE102011007714A1 DE102011007714A1 (de) 2011-12-15
DE102011007714B4 true DE102011007714B4 (de) 2019-02-14

Family

ID=45020165

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102011007714.6A Expired - Fee Related DE102011007714B4 (de) 2010-06-09 2011-04-20 Verfahren für die Verwendung mit einem Batterieüberwachungssystem, Batterieüberwachungssystem und Verwendung des Verfahrens

Country Status (3)

Country Link
US (2) US8495601B2 (de)
CN (2) CN104002685B (de)
DE (1) DE102011007714B4 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170010896A1 (en) * 2015-07-06 2017-01-12 Lear Corporation Shared Memory Architecture Autoupdater
WO2019118976A1 (en) 2017-12-17 2019-06-20 Axon Therapies, Inc. Methods and devices for endovascular ablation of a splanchnic nerve
JP6950634B2 (ja) * 2018-07-03 2021-10-13 オムロン株式会社 制御装置および制御方法
KR102324263B1 (ko) * 2018-09-12 2021-11-08 주식회사 엘지에너지솔루션 비휘발성 메모리 업데이트 장치 및 방법
CN110837048A (zh) * 2019-10-30 2020-02-25 深圳市新威尔电子有限公司 基于虚拟机的电池检测系统及其工作方法
US11070621B1 (en) * 2020-07-21 2021-07-20 Cisco Technology, Inc. Reuse of execution environments while guaranteeing isolation in serverless computing

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5297284A (en) * 1991-04-09 1994-03-22 Microsoft Corporation Method and system for implementing virtual functions and virtual base classes and setting a this pointer for an object-oriented programming language
JPH10320203A (ja) * 1997-05-22 1998-12-04 Meidensha Corp 共有メモリシステム
DE102007044405A1 (de) 2007-09-18 2009-03-19 Continental Automotive Gmbh Verfahren zum Erzeugen von ablauffähigen Programmcodes
US20100019733A1 (en) 2008-07-23 2010-01-28 Lear Corporation Battery monitoring system
DE102009034409A1 (de) 2008-07-23 2010-02-04 Lear Corp., Southfield Batterieüberwachungssystem

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69330691T2 (de) * 1992-06-03 2002-07-04 Sun Microsystems, Inc. Dynamisch konfigurierbares Kernsystem
US6023704A (en) * 1998-01-29 2000-02-08 International Business Machines Corporation Apparatus and method for swapping identities of two objects to reference the object information of the other
US6708223B1 (en) * 1998-12-11 2004-03-16 Microsoft Corporation Accelerating a distributed component architecture over a network using a modified RPC communication
WO2001014959A2 (en) * 1999-08-16 2001-03-01 Z-Force Corporation System of reusable software parts and methods of use
JP2001116527A (ja) * 1999-10-20 2001-04-27 Matsushita Electric Ind Co Ltd 立体物検出方法及び装置
US6407949B1 (en) 1999-12-17 2002-06-18 Qualcomm, Incorporated Mobile communication device having integrated embedded flash and SRAM memory
US6636963B1 (en) 1999-12-30 2003-10-21 Cardiac Pacemakers, Inc. Quick starting for microprocessor-based system by retrieving a target state memory image and a target state data structure from an image storage medium
US20020013822A1 (en) 2000-07-26 2002-01-31 West Karlon K. Shared as needed programming model
US6829769B2 (en) 2000-10-04 2004-12-07 Microsoft Corporation High performance interprocess communication
FR2820221B1 (fr) 2001-02-01 2004-08-20 Cimai Technology Procede et systeme pour gerer des executables a bibliotheques partagees
WO2002084484A2 (en) 2001-04-18 2002-10-24 Domosys Corporation Method of remotely upgrading firmware in field-deployed devices
US20030014555A1 (en) * 2001-06-29 2003-01-16 Michal Cierniak System and method for efficient dispatch of interface calls
JP4162401B2 (ja) 2001-12-18 2008-10-08 富士通株式会社 携帯端末装置および間欠受信方法
JP3788400B2 (ja) * 2002-07-19 2006-06-21 住友電気工業株式会社 画像処理装置、画像処理方法及び車両監視システム
US20040034861A1 (en) 2002-08-19 2004-02-19 Ballai Philip N. System and method for automating firmware maintenance
US7353521B1 (en) * 2002-10-19 2008-04-01 Borland Software Corporation Object oriented distributed software system with methodology for piggybacked reflective callbacks
CN1504891A (zh) * 2002-11-29 2004-06-16 笙泉科技股份有限公司 扩充性储存装置
US7496906B2 (en) * 2004-03-31 2009-02-24 International Business Machines Corporation Evaluation of a code segment
US7185191B2 (en) 2004-05-05 2007-02-27 International Business Machines Corporation Updatable firmware having boot and/or communication redundancy
US20050289266A1 (en) * 2004-06-08 2005-12-29 Daniel Illowsky Method and system for interoperable content player device engine
US7249235B2 (en) 2004-06-21 2007-07-24 Oracle International Corporation Architecture for a scalable and user-extensible heap dump analysis tool
US7565279B2 (en) * 2005-03-07 2009-07-21 Nvidia Corporation Callbacks in asynchronous or parallel execution of a physics simulation
US20060242635A1 (en) * 2005-04-21 2006-10-26 Scott Broussard Method and system for optimizing array sizes in a JAVA virtual machine
US7493460B2 (en) 2005-09-07 2009-02-17 Intel Corporation Preboot memory of a computer system
US8079037B2 (en) * 2005-10-11 2011-12-13 Knoa Software, Inc. Generic, multi-instance method and GUI detection system for tracking and monitoring computer applications
US7395263B2 (en) 2005-10-12 2008-07-01 International Business Machines Corporation Realtime-safe read copy update with lock-free readers
EP1966701A2 (de) * 2005-12-21 2008-09-10 Nxp B.V. Speicher mit blocklöschbaren speicherzellen
US7954094B2 (en) * 2006-03-27 2011-05-31 International Business Machines Corporation Method for improving performance of executable code
US8146066B2 (en) * 2006-06-20 2012-03-27 Google Inc. Systems and methods for caching compute kernels for an application running on a parallel-processing computer system
US20100033571A1 (en) 2006-09-28 2010-02-11 Pioneer Corporation Traffic information detector, traffic information detecting method, traffic information detecting program, and recording medium
US7913236B2 (en) * 2006-09-29 2011-03-22 Intel Corporation Method and apparatus for performing dynamic optimization for software transactional memory
US8037460B2 (en) * 2007-01-26 2011-10-11 Oracle International Corporation Code persistence and dependency management for dynamic compilation in a database management system
US7769505B2 (en) * 2007-05-03 2010-08-03 Gm Global Technology Operations, Inc. Method of operating a plug-in hybrid electric vehicle
US7671567B2 (en) * 2007-06-15 2010-03-02 Tesla Motors, Inc. Multi-mode charging system for an electric vehicle
DE112008001881B4 (de) * 2007-07-17 2024-04-11 Midtronics, Inc. Batterieprüfgerät für Elektrofahrzeug
US8140204B2 (en) * 2007-12-10 2012-03-20 Ford Global Technologies, Llc Charge depleting energy management strategy for plug-in hybrid electric vehicles
GB0808575D0 (en) * 2008-05-12 2008-06-18 Xmos Ltd Compilign and linking
US8321850B2 (en) * 2008-06-06 2012-11-27 Vmware, Inc. Sharing and persisting code caches
US8364857B2 (en) * 2009-08-31 2013-01-29 Qualcomm Incorporated Wireless modem with CPU and auxiliary processor that shifts control between processors when in low power state while maintaining communication link to wireless network
US8689234B2 (en) * 2009-11-25 2014-04-01 Red Hat, Inc. Providing real-time widgets in a web application framework
US8180512B2 (en) * 2010-08-10 2012-05-15 Tesla Motors, Inc. Efficient dual source battery pack system for an electric vehicle
US8892850B2 (en) * 2011-01-17 2014-11-18 International Business Machines Corporation Endpoint-based parallel data processing with non-blocking collective instructions in a parallel active messaging interface of a parallel computer
US8583305B2 (en) * 2011-03-31 2013-11-12 GM Global Technology Operations LLC System and method for detecting vehicle wake-up failure
US8615771B2 (en) * 2011-06-20 2013-12-24 International Business Machines Corporation Effective management of blocked-tasks in preemptible read-copy update
US8732674B1 (en) * 2012-11-14 2014-05-20 Microsoft Corporation Revertable managed execution image instrumentation

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5297284A (en) * 1991-04-09 1994-03-22 Microsoft Corporation Method and system for implementing virtual functions and virtual base classes and setting a this pointer for an object-oriented programming language
JPH10320203A (ja) * 1997-05-22 1998-12-04 Meidensha Corp 共有メモリシステム
DE102007044405A1 (de) 2007-09-18 2009-03-19 Continental Automotive Gmbh Verfahren zum Erzeugen von ablauffähigen Programmcodes
US20100019733A1 (en) 2008-07-23 2010-01-28 Lear Corporation Battery monitoring system
DE102009034409A1 (de) 2008-07-23 2010-02-04 Lear Corp., Southfield Batterieüberwachungssystem

Also Published As

Publication number Publication date
CN102331972B (zh) 2014-06-04
US8495601B2 (en) 2013-07-23
CN104002685B (zh) 2017-04-12
US20110307669A1 (en) 2011-12-15
DE102011007714A1 (de) 2011-12-15
US9195576B2 (en) 2015-11-24
CN104002685A (zh) 2014-08-27
CN102331972A (zh) 2012-01-25
US20130282990A1 (en) 2013-10-24

Similar Documents

Publication Publication Date Title
DE102011007714B4 (de) Verfahren für die Verwendung mit einem Batterieüberwachungssystem, Batterieüberwachungssystem und Verwendung des Verfahrens
DE69605568T2 (de) Verfahren zum schaffen eines benutzerglobalen namenraums in einem mehrbenutzer-betriebssystem
DE19983768B4 (de) Verfahren zum Ausführen von für verschiedene Befehlssatzarchitekturen geschriebener Firmware
DE69427174T2 (de) Dynamische Hochleistungsprogrammverknüpfung durch Cachespeicherung
DE69618221T2 (de) Mechanismus zur wartung objektorientierter "methoden" der keine unterbrechung des computersystems erfordert
DE102010001339A1 (de) Verwalten von Anforderungen von Betriebssystemen, die in virtuellen Maschinen ablaufen
DE10338031A1 (de) Verfahren und Vorrichtung zum Verwalten eines Speichersystems
DE02016631T1 (de) Verfahren zur zusammenhängenden Speicherung von Daten in einer industriellen Steuerung
EP0500973A1 (de) Initialisierungsroutine im EEPROM
DE69622301T2 (de) Konsistenzprüfung einer Instruktionsverarbeitungsfolge für ein Multiprozessorsystem
DE102013213314A1 (de) Hinterlegen mindestens eines berechenbaren Integritätsmesswertes in einem Speicherbereich eines Speichers
EP3015995A1 (de) Verfahren zum konfigurieren einer schnittstelleneinheit eines computersystems
DE102018202446A1 (de) Verfahren zum Modularisieren einer Softwarearchitektur
DE10003268A1 (de) Verfahren und Vorrichtung zum Feststellen der Laufwerksbuchstaben-Bezeichnung eines CD-Rom-Laufwerks während der anfänglichen Systemvorbereitung eines Computersystems
DE102004060301A1 (de) Verfahren zum Initialisieren eines elektronischen Systems umfassend mehrere Plug-Ins
DE112010005509T5 (de) Robotersystemsteuerverfahren und eine Vorrichtung davon
EP4099163A1 (de) Verfahren und system zum erkennen und beseitigen von schwachstellen in einzelnen dateisystemschichten eines container-images
EP3705993B1 (de) System und verfahren zum auffinden und identifizieren von rechenknoten in einem netzwerk
DE10146516A1 (de) Programmgesteuerte Einheit
DE112011105402T5 (de) Symboltabellen-Erzeugungsverfahren; Kommunikationsverfahren mit peripherer Ausrüstung und programmierbare Logiksteuerung
DE69126761T2 (de) Verfahren zur Entwicklung von Software
DE102021210547A1 (de) Steuergerät für Fahrzeuge mit besserer Speicherausnutzung
DE102015218589A1 (de) Verfahren und Vorrichtung zum Betreiben eines Many-Core-System
EP1299802B1 (de) Elektronisches system zur entwicklung von software und ein verfahren zum zugriff auf interne daten der software
DE102017121167A1 (de) Verfahren zum Betreiben eines Computersystems

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee