[go: up one dir, main page]

DE102023203783A1 - DEVICE AND METHOD FOR ACCESSING A CODE FLASH MEMORY - Google Patents

DEVICE AND METHOD FOR ACCESSING A CODE FLASH MEMORY Download PDF

Info

Publication number
DE102023203783A1
DE102023203783A1 DE102023203783.1A DE102023203783A DE102023203783A1 DE 102023203783 A1 DE102023203783 A1 DE 102023203783A1 DE 102023203783 A DE102023203783 A DE 102023203783A DE 102023203783 A1 DE102023203783 A1 DE 102023203783A1
Authority
DE
Germany
Prior art keywords
command
microcontroller
telegram
data
memory
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
DE102023203783.1A
Other languages
German (de)
Inventor
Frank Wolz
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 DE102023203783.1A priority Critical patent/DE102023203783A1/en
Publication of DE102023203783A1 publication Critical patent/DE102023203783A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0661Format or protocol conversion arrangements
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)

Abstract

Es sind eine Vorrichtung (30; 300) und ein Verfahren zum Zugriff auf einen CF-Speicherbaustein (40) bereitgestellt, der auch CodeFlash-Speicher genannt wird. Die Vorrichtung (30; 300) hat einen Befehlsinterpreter (31) zum Interpretieren eines Befehls eines Mikrocontrollers (10), der zum Zugriff auf einen DF-Speicherbaustein (50) vorgesehen ist, und einen Telegramm-Decoder (313) zum Bestimmen, ob eine mit dem Befehl des Mikrocontrollers (10) angeforderte Transaktion auf den CF-Speicherbaustein (40) wirken muss, auf den anstelle des DF-Speicherbausteins (50) mit der Vorrichtung (30) zugegriffen werden soll, oder ob der Befehl des Mikrocontrollers (10) lokal im Befehlsinterpreter (31) abgearbeitet werden kann.

Figure DE102023203783A1_0000
A device (30; 300) and a method for accessing a CF memory chip (40), also called a CodeFlash memory, are provided. The device (30; 300) has a command interpreter (31) for interpreting a command from a microcontroller (10) that is intended to access a DF memory chip (50), and a telegram decoder (313) for determining whether a transaction requested with the command from the microcontroller (10) must act on the CF memory chip (40) that is to be accessed with the device (30) instead of the DF memory chip (50), or whether the command from the microcontroller (10) can be processed locally in the command interpreter (31).
Figure DE102023203783A1_0000

Description

Die vorliegende Erfindung bezieht sich auf eine Vorrichtung und ein Verfahren zum Zugriff auf einen CodeFlash-Speicher, der nachfolgend auch CF-Speicherbaustein genannt ist.The present invention relates to a device and a method for accessing a CodeFlash memory, which is also referred to as a CF memory module.

Zur Steuerung von technischen Anlagen oder Maschinen sind Daten bei Bedarf in remanente Speicher zu speichern bzw. zu schreiben, bei Bedarf wieder auszulesen und/oder aus dem Speicher zu löschen. Als remanente Speicher werden beispielsweise Flash-Speicher verwendet, die auch Flash-Speicherbausteine oder Flash-Bausteine genannt werden. Das Schreiben oder Auslesen oder Löschen des Speichers erfolgt durch Steuerbefehle, welche ein Mikrocontroller über eine Schnittstelle an den Speicher sendet. Sehr verbreitet sind u.a. Flash-Bausteine in NOR-Technologie mit serieller Schnittstelle, auch gemeinhin bezeichnet als „SPI-Flashes“. Hierbei steht NOR in Englisch für „not or“, was in Deutsch „nicht oder“ bedeutet.To control technical systems or machines, data must be saved or written to remanent memory when required, read out again when required and/or deleted from the memory. Remanent memory, for example, uses flash memory, which is also called flash memory modules or flash modules. Writing, reading or deleting the memory is done using control commands that a microcontroller sends to the memory via an interface. Flash modules in NOR technology with a serial interface, also commonly referred to as "SPI flashes", are very common. NOR stands for "not or" in English.

Flash-Bausteine haben einen remanenten Speicherbereich, in welchem gespeicherte Datenwerte auch bei Abschalten der elektrischen Energieversorgung erhalten bleiben. Bei einem herkömmlichen SPI-Flash-Speicherbaustein, der im Folgenden als CF-Speicherbaustein bezeichnet ist, führt der bedienende Mikrocontroller die Schreibvorgänge von Daten direkt auf dem remanenten Speicherbereich aus. Folglich müssen der Mikrocontroller und dadurch auch die überlagerte Anwendung der technischen Anlage Wartezyklen in Kauf nehmen.Flash modules have a remanent memory area in which stored data values are retained even when the electrical power supply is switched off. With a conventional SPI flash memory module, which is referred to below as a CF memory module, the operating microcontroller carries out the data writing processes directly in the remanent memory area. Consequently, the microcontroller and thus also the higher-level application of the technical system must accept wait cycles.

Ein zusätzliches Problem bei CF-Speicherbausteinen besteht darin, dass der Mikrocontroller für die Erstellung der Steuerbefehle für einen Flash-Baustein zu berücksichtigen hat, dass die Speicherbereiche des Flash-Bausteins in einzelne Seiten, sogenannte Pages, unterteilt sind. Die Pages sind zu Blöcken zusammengefasst. Mehrere Blöcke sind zu Sektoren zusammengefasst. Hierbei kann ein Mikrocontroller den Flash-Baustein vor einem Wiederbeschreiben mit entsprechenden Befehlen nur auf Block-, Sektor- oder Chip-Granularität löschen, jedoch nicht einzelne Pages. Dies kann je nach Anwendungsfall die Wartezyklen des Mikrocontrollers für die Interaktion mit dem Flash-Baustein unvorteilhaft verlängern. Dadurch verlängert sich auch der Wartezyklus für eine überlagerte Anwendung der technischen Anlage, was den Betrieb der Anlage verlangsamen kann.An additional problem with CF memory chips is that when creating the control commands for a flash chip, the microcontroller has to take into account that the memory areas of the flash chip are divided into individual pages. The pages are grouped together to form blocks. Several blocks are grouped together to form sectors. In this case, a microcontroller can only erase the flash chip at block, sector or chip granularity before rewriting it with the appropriate commands, but not individual pages. Depending on the application, this can disadvantageously extend the microcontroller's wait cycles for interaction with the flash chip. This also extends the wait cycle for a higher-level application of the technical system, which can slow down the operation of the system.

Möglich ist, stattdessen einen Flash-Baustein einzusetzen, der zwei intern, dem eigentlichen Flash-Hintergrundspeicher vorgelagerte, SRAM-Puffer hat. Hierbei steht SRAM für ein statisches RAM (= Random Access Memory = Speicher mit wahlfreiem Zugriff), der ein statischer Direktzugriffsspeicher ist und zu der Gruppe der flüchtigen Speicher gehört. Das heißt, die in dem SRAM gespeicherte Information geht bei Abschaltung der Betriebsspannung verloren. Ein solcher Flash-Baustein ist im Folgenden als DF-Baustein bezeichnet.It is possible to use a flash module instead, which has two internal SRAM buffers in front of the actual flash background memory. SRAM stands for static RAM (= Random Access Memory), which is a static direct access memory and belongs to the group of volatile memories. This means that the information stored in the SRAM is lost when the operating voltage is switched off. Such a flash module is referred to below as a DF module.

Die SRAM-Puffer des DF-Bausteins erlauben, über die serielle Schnittstelle Schreibdaten in einem der SRAM-Puffer zu empfangen (vermöge bzw. durch oder mit (Hilfe) eines Befehls „Buffer Write“) und gleichzeitig Daten aus dem anderen SRAM-Puffer in den remanenten Flash-Hintergrundspeicher zu übertragen. Hierfür wird ein Befehl „Page Program“ bzw. „Page Program with Built-In Erase“ verwendet. Dadurch können die zuvor genannten Wartezyklen verkürzt werden. Ein weiterer Vorteil dieses DF-Bausteins stellt die effiziente Manipulierbarkeit von Einzeldaten innerhalb des Speicherbausteins dar, indem die Datenblöcke, die in Seiten bzw. sogenannte „Pages“ organisiert ist, nicht über die externe Schnittstelle zum Mikrocontroller übertragen werden müssen, sondern in den vorgelagerten SRAM-Puffern bearbeitet und, gegebenenfalls mit automatischem Löschen (Built-In Erase), in eine Page des remanenten Flash-Bereiches zurückgeschrieben werden können.The SRAM buffers of the DF module allow write data to be received in one of the SRAM buffers via the serial interface (by means of or through or with (the help of) a "Buffer Write" command) and at the same time data from the other SRAM buffer to be transferred to the remanent flash background memory. A "Page Program" or "Page Program with Built-In Erase" command is used for this. This can shorten the previously mentioned wait cycles. Another advantage of this DF module is the efficient manipulation of individual data within the memory module, as the data blocks, which are organized in pages, or so-called "pages", do not have to be transferred to the microcontroller via the external interface, but can be processed in the upstream SRAM buffers and, if necessary with automatic deletion (Built-In Erase), written back to a page of the remanent flash area.

Problematisch ist, dass ein Mikrocontroller einen DF-Baustein aufgrund dessen beschriebenen Eigenschaften mit anderen Befehlen ansteuern muss als einen CF-Speicherbaustein. Ist es erforderlich, einen DF-Baustein durch einen CF-Speicherbaustein zu ersetzen, so erzwingt dies auch den Austausch der Software des Mikrocontrollers. Jedoch ist ein solcher Austausch nicht immer möglich oder wegen einer geforderten Qualifizierungs- bzw. Zertifizierungskette aus Sicherheitsgründen nicht zulässig oder erwünscht.The problem is that a microcontroller must control a DF module with different commands than a CF memory module due to its described properties. If it is necessary to replace a DF module with a CF memory module, this also forces the microcontroller's software to be replaced. However, such an exchange is not always possible or is not permitted or desired due to a required qualification or certification chain for safety reasons.

Daher ist es Aufgabe der vorliegenden Erfindung, eine Vorrichtung und ein Verfahren zum Zugriff auf einen CF-Speicherbaustein bereitzustellen, mit welchen die zuvor genannten Probleme gelöst werden können. Insbesondere sollen eine Vorrichtung und ein Verfahren zum Zugriff auf einen CF-Speicherbaustein bereitgestellt werden, welche ermöglichen, auch bei Verwendung eines CF-Speicherbausteins eine Weiterverarbeitung von Daten unter Verwendung des CF-Speicherbausteins zu beschleunigen, so dass Wartezyklen durch den Zugriff auf den CF-Speicherbaustein verkürzt werden können und so der Betrieb einer überlagerten Anwendung einer technischen Anlage beschleunigbar ist und/oder dass zumindest die zeitlichen Eigenschaften des Gesamtsystems, die zuvor unter Verwendung eines DF-Speichers bestanden haben, auch bei Ersatz durch einen CF-Speicher erhalten bleiben.It is therefore an object of the present invention to provide a device and a method for accessing a CF memory chip, with which the aforementioned problems can be solved. In particular, a device and a method for accessing a CF memory chip are to be provided which make it possible to accelerate further processing of data using the CF memory chip even when using a CF memory chip, so that wait cycles can be shortened by accessing the CF memory chip and the operation of a higher-level application of a technical system can be accelerated and/or that at least the temporal properties of the overall system which previously existed when using a DF memory are retained even when replaced by a CF memory.

Diese Aufgabe wird durch eine Vorrichtung zum Zugriff auf einen CF-Speicherbaustein nach Anspruch 1 gelöst. Die Vorrichtung hat einen Befehlsinterpreter zum Interpretieren eines Befehls eines Mikrocontrollers, der zum Zugriff auf einen DF-Speicherbaustein (50) vorgesehen ist, und einen Telegramm-Decoder zum Bestimmen, ob eine mit dem Befehl des Mikrocontrollers angeforderte Transaktion auf den CF-Speicherbaustein wirken muss, auf den anstelle des DF-Speicherbausteins mit der Vorrichtung zugegriffen werden soll, oder ob der Befehl des Mikrocontrollers lokal im Befehlsinterpreter abgearbeitet werden kann.This object is achieved by a device for accessing a CF memory module according to claim 1. The device has a command interpreter for interpreting a command from a microcontroller that is provided for accessing a DF memory module (50), and a telegram decoder for determining whether a transaction requested with the microcontroller's command must act on the CF memory module that is to be accessed with the device instead of the DF memory module, or whether the microcontroller's command can be processed locally in the command interpreter.

Die beschriebene Ausgestaltung der Vorrichtung ermöglicht, eine Speicherung von Daten mit Hilfe eines DF-Bausteins bei Bedarf zusätzlich oder alternativ mit Hilfe eines CF-Speicherbausteins vorzunehmen, ohne dass hierfür die Software des ansteuernden Mikrocontrollers zu verändern ist.The described design of the device makes it possible to store data using a DF module, if required, additionally or alternatively using a CF memory module, without having to change the software of the controlling microcontroller.

Als Folge davon erhöht die Vorrichtung die Variabilität für die Auswahl des Flash-Speicherbausteins einer technischen Anlage. Außerdem können der Aufwand und die damit verbundenen Kosten zur Änderung und/oder den Austausch der Software des Mikrocontrollers eingespart werden.As a result, the device increases the variability for the selection of the flash memory module of a technical system. In addition, the effort and the associated costs for changing and/or replacing the software of the microcontroller can be saved.

Zusätzlich ist die Vorrichtung verwendbar, um eine Redundanz mit Hilfe eines anderen Speicherbausteintyps herzustellen, ohne dass hierfür die Software des ansteuernden Mikrocontrollers zu verändern ist. Dabei ist ein paralleler Betrieb von mindestens zwei Speicherbausteinen möglich, insbesondere um Diversität im Bereich von sogenannter funktionaler Sicherheit zu realisieren. Dadurch kann die Sicherheit der technischen Anlage erhöht werden.In addition, the device can be used to create redundancy using a different type of memory module without having to change the software of the controlling microcontroller. Parallel operation of at least two memory modules is possible, in particular to achieve diversity in the area of so-called functional safety. This can increase the safety of the technical system.

Im Ergebnis kann die Vorrichtung unter anderem dazu beitragen, langwierige und damit teure Stillstände einer übergeordneten technischen Anlage zu vermeiden und/oder das zeitliche Verhalten der Anlage, im Falle des Ersatzes eines DF-Speicherbaustein durch einen CF-Speicherbaustein, zumindest invariant zu halten.As a result, the device can, among other things, help to avoid lengthy and thus expensive downtimes of a higher-level technical system and/or to at least keep the temporal behavior of the system invariant in the event of replacing a DF memory module with a CF memory module.

Vorteilhafte weitere Ausgestaltungen der Vorrichtung sind in den abhängigen Ansprüchen angegeben.Advantageous further embodiments of the device are specified in the dependent claims.

Denkbar ist, dass der Telegramm-Decoder ausgestaltet ist, ein Signal an einen Telegramm-Generator auszugeben, um einen Zugriff auf den CF-Speicherbaustein vorzunehmen.It is conceivable that the telegram decoder is designed to output a signal to a telegram generator in order to access the CF memory module.

In einer Ausgestaltung hat die Vorrichtung zudem eine SRAM-Pufferspeichereinheit zum Zwischenspeichern von Daten für einen Schreibbefehl des Mikrocontrollers zum Schreiben der Daten in den CF-Speicherbaustein, eine Daten-Sammeleinrichtung zum Zwischenspeichern von Daten für einen Lesebefehl des Mikrocontrollers zum Lesen der in dem CF-Speicherbaustein gespeicherten Daten, und einen Lese-Multiplexer zum Ausgeben der in dem CF-Speicherbaustein oder in der SRAM-Pufferspeichereinheit gespeicherten Daten als Reaktion auf einen Lesebefehl des Mikrocontrollers.In one embodiment, the device further comprises an SRAM buffer memory unit for temporarily storing data for a write command from the microcontroller to write the data into the CF memory chip, a data collector for temporarily storing data for a read command from the microcontroller to read the data stored in the CF memory chip, and a read multiplexer for outputting the data stored in the CF memory chip or in the SRAM buffer memory unit in response to a read command from the microcontroller.

Möglicherweise implementiert die Daten-Sammeleinrichtung eine FIFO-Warteschlange, so dass Daten, die zuerst in die Daten-Sammeleinrichtung gespeichert werden, zuerst wieder aus der Daten-Sammeleinrichtung herausgenommen werden.The data collector may implement a FIFO queue so that data that is first stored into the data collector is first taken out of the data collector.

Die Vorrichtung kann zudem aufweisen ein DF-Statusregister zum Signalisieren eines Status des von dem Befehl des Mikrocontrollers adressierten DF-Speicherbausteins, und einen Flash-Status-Decoder zum Decodieren eines Status, welchen ein CF-Statusregister des CF-Speicherbausteins signalisiert, und zum Erzeugen, aus dem signalisierten Status des CF-Statusregisters, eines Signals für einen Status in dem DF-Statusregister. Hierbei kann der Flash-Status-Decoder ausgestaltet sein, das Signal zum Schreiben in ein Bit des DF-Statusregisters als Kennung zu erzeugen, welche den Status bzw. Flash-Status Bereit/NichtBeschäftigt anzeigt.The device can also have a DF status register for signaling a status of the DF memory chip addressed by the microcontroller command, and a flash status decoder for decoding a status signaled by a CF status register of the CF memory chip, and for generating a signal for a status in the DF status register from the signaled status of the CF status register. The flash status decoder can be designed to generate the signal for writing to a bit of the DF status register as an identifier that indicates the status or flash status ready/not busy.

In einer Ausgestaltung ist der Flash-Status-Decoder ausgestaltet, eine Beschäftigt-Kennung in dem DF-Statusregister beim Absetzen eines Program- oder Lösch-Befehls an den CF-Speicherbaustein zu setzen.In one embodiment, the flash status decoder is designed to set a busy identifier in the DF status register when a program or erase command is issued to the CF memory device.

Gemäß einem Ausführungsbeispiel weist der Telegramm-Generator einen Adress-Zuordner auf zum Zuordnen einer Adresse des CF-Speicherbausteins zu einer Adresse des DF-Speicherbausteins, die in dem Befehl des Mikrocontrollers umfasst ist. Hierbei kann die Vorrichtung zudem ein Flash-Adressregister haben, wobei der Befehlsinterpreter ausgestaltet ist, aus dem Befehl des Mikrocontrollers ein Signal für das Flash-Adressregister zu erzeugen, und wobei das Flash-Adressregister zur Erzeugung und Ausgabe eines Signals an den Telegramm-Generator ausgestaltet ist, wobei das Signal die Adresse des DF-Speicherbausteins aufweist, in welche die Daten zu speichern sind.According to one embodiment, the telegram generator has an address allocator for allocating an address of the CF memory chip to an address of the DF memory chip that is included in the microcontroller's command. The device can also have a flash address register, the command interpreter being designed to generate a signal for the flash address register from the microcontroller's command, and the flash address register being designed to generate and output a signal to the telegram generator, the signal having the address of the DF memory chip in which the data is to be stored.

Möglicherweise hat der Telegramm-Generator einen Befehls-Zuordner zum Zuordnen eines Befehls für den CF-Speicherbaustein zu einem Befehl für den DF-Speicherbaustein aus einem von dem Mikrocontroller empfangenen Befehlstelegramm.The telegram generator may have a command mapper for mapping a command for the CF memory chip to a command for the DF memory chip from a command telegram received from the microcontroller.

Möglicherweise hat der Telegramm-Generator ein Schieberegister zur Komposition und zum Versenden eines Befehlstelegramms für den CF-Speicherbaustein.The telegram generator may have a shift register for composition and Sending a command telegram for the CF memory module.

In einer Ausgestaltung weist der Befehlsinterpreter und/oder der Telegramm-Generator mindestens einen der folgenden Bausteine/Elemente auf, nämlich UND-Gatter, NAND-Gatter, OR-Gatter, NOR-Gatter, Flipflop, ein programmierbares Logikbauelement. Hierbei kann das programmierbare Logikbauelement ein CPLD und/oder ein Gate-Array, insbesondere ein FPGA, und/oder eine kundenspezifische integrierte Schaltung (ASIC) sein.In one embodiment, the command interpreter and/or the telegram generator has at least one of the following components/elements, namely AND gate, NAND gate, OR gate, NOR gate, flip-flop, a programmable logic component. The programmable logic component can be a CPLD and/or a gate array, in particular an FPGA, and/or a customer-specific integrated circuit (ASIC).

Die zuvor beschriebene Vorrichtung kann zudem eine Schnittstelle zum Anschluss der Vorrichtung an den CF-Speicherbaustein aufweisen, wobei die Schnittstelle eine geringere Latenz und eine höhere Datenrate aufweisen sollte als die Schnittstelle zwischen dem Mikrocontroller und der Vorrichtung.The device described above may also have an interface for connecting the device to the CF memory chip, wherein the interface should have a lower latency and a higher data rate than the interface between the microcontroller and the device.

Die zuvor beschriebene Vorrichtung kann Teil einer Steuereinrichtung eines Systems sein, das zudem mindestens eine technische Anlage aufweist. Die Steuereinrichtung ist zum Steuern einer Speicherung von Daten von oder für die mindestens eine technische Anlage ausgestaltet.The device described above can be part of a control device of a system that also has at least one technical installation. The control device is designed to control storage of data from or for the at least one technical installation.

Die zuvor beschriebene mindestens eine technische Anlage kann zur Ausführung eines Arbeitsverfahrens und/oder eines Fertigungsverfahrens ausgestaltet sein.The at least one technical system described above can be designed to carry out a work process and/or a manufacturing process.

Die zuvor genannte Aufgabe wird zudem von einem Verfahren zum Zugriff auf einen CF-Speicherbaustein nach Anspruch 15 gelöst. Das Verfahren hat die Schritte Interpretieren, mit einem Befehlsinterpreter, eines Befehls eines Mikrocontrollers, der zum Zugriff auf einen DF-Speicherbaustein vorgesehen ist, und Bestimmen, mit einem Telegramm-Decoder, ob eine mit dem Befehl des Mikrocontrollers angeforderte Transaktion auf den CF-Speicherbaustein wirken muss, auf den anstelle des DF-Speicherbausteins mit der Vorrichtung zugegriffen werden soll, oder ob der Befehl des Mikrocontrollers lokal im Befehlsinterpreter abgearbeitet werden kann.The aforementioned object is also achieved by a method for accessing a CF memory module according to claim 15. The method has the steps of interpreting, with a command interpreter, a command of a microcontroller that is provided for accessing a DF memory module, and determining, with a telegram decoder, whether a transaction requested with the command of the microcontroller must act on the CF memory module that is to be accessed with the device instead of the DF memory module, or whether the command of the microcontroller can be processed locally in the command interpreter.

Das Verfahren erzielt dieselben Vorteile, wie sie zuvor in Bezug auf die Vorrichtung genannt sind.The method achieves the same advantages as previously mentioned with respect to the device.

Weitere mögliche Implementierungen der Erfindung umfassen auch nicht explizit genannte Kombinationen von zuvor oder im Folgenden bezüglich des Ausführungsbeispiels beschriebenen Merkmale oder Ausführungsformen. Dabei wird der Fachmann auch Einzelaspekte als Verbesserungen oder Ergänzungen zu der jeweiligen Grundform der Erfindung hinzufügen.Further possible implementations of the invention also include combinations of features or embodiments described above or below with respect to the exemplary embodiment that are not explicitly mentioned. The person skilled in the art will also add individual aspects as improvements or additions to the respective basic form of the invention.

Nachfolgend ist die Erfindung unter Bezugnahme auf die beiliegende Zeichnung und anhand von Ausführungsbeispielen näher beschrieben. Es zeigen:

  • 1 ein Blockschaltbild eines Systems mit einer Vorrichtung gemäß einem ersten Ausführungsbeispiel;
  • 2 ein Blockschaltbild eines Befehlsinterpreters der Vorrichtung von 1;
  • 3 ein Blockschaltbild eines CF-Speicherbausteins für ein System von 1 oder für ein System mit einer Vorrichtung gemäß einem zweiten Ausführungsbeispiel;
  • 4 ein Schaubild zur Veranschaulichung der Funktionsweise der Vorrichtung gemäß dem zweiten Ausführungsbeispiel für eine Umsetzung von Adressen eines DF-Speicherbausteins in Adressen des CF-Speicherbausteins von 3; und
  • 5 ein Blockschaltbild eines Telegramm-Generators einer Vorrichtung gemäß dem zweiten Ausführungsbeispiel.
The invention is described in more detail below with reference to the accompanying drawings and exemplary embodiments. They show:
  • 1 a block diagram of a system with a device according to a first embodiment;
  • 2 a block diagram of a command interpreter of the device of 1 ;
  • 3 a block diagram of a CF memory module for a system of 1 or for a system with a device according to a second embodiment;
  • 4 a diagram to illustrate the operation of the device according to the second embodiment for converting addresses of a DF memory module into addresses of the CF memory module of 3 ; and
  • 5 a block diagram of a telegram generator of a device according to the second embodiment.

In den Figuren sind gleiche oder funktionsgleiche Elemente, sofern nichts anderes angegeben ist, mit denselben Bezugszeichen versehen.In the figures, identical or functionally equivalent elements are provided with the same reference symbols unless otherwise stated.

1 zeigt ein System 1 mit einer technischen Anlage 3, in welcher ein Arbeits- und/oder Fertigungsverfahren auszuführen ist. Die technische Anlage 3 wird mit Hilfe von Daten 4 von einer Steuervorrichtung 5 des Systems 1 gesteuert. Die Steuervorrichtung 5 kann zumindest teilweise als Software ausgestaltet sein. Die Steuervorrichtung 5 von 1 hat einen Mikrocontroller 10, eine serielle Schnittstelle 20, eine Vorrichtung 30 und einen CF-Speicherbaustein 40 zum Speichern der Daten 4. Der CF-Speicherbaustein 40 hat eine Ein-/Ausgabe-Schnittstelle mit Schnittstellenlogik 41, einen Speicherbereich 42 und ein CF-Statusregister 43. Optional hat die Steuervorrichtung 5 einen DF-Speicherbaustein 50, um beispielsweise eine Redundanz oder eine Erweiterung der Speicherkapazität zu ermöglichen. Auch der DF-Speicherbaustein 50 kann mit der Schnittstelle 20 verbunden sein, um von dem Mikrocontroller 10 angesteuert zu werden. 1 shows a system 1 with a technical system 3 in which a work and/or production process is to be carried out. The technical system 3 is controlled with the aid of data 4 by a control device 5 of the system 1. The control device 5 can be designed at least partially as software. The control device 5 of 1 has a microcontroller 10, a serial interface 20, a device 30 and a CF memory chip 40 for storing the data 4. The CF memory chip 40 has an input/output interface with interface logic 41, a memory area 42 and a CF status register 43. Optionally, the control device 5 has a DF memory chip 50 to enable redundancy or an expansion of the memory capacity, for example. The DF memory chip 50 can also be connected to the interface 20 in order to be controlled by the microcontroller 10.

Die technische Anlage 3 kann ein nicht dargestelltes Antriebssystem und/oder einen Roboter und/oder ein Werkzeug, wie ein Drehwerkzeug und/oder Fräswerkzeug und/oder ein Fügewerkzeug, und/oder ein Rührwerk oder dergleichen aufweisen. Das Fügewerkzeug ist insbesondere ein Schweißwerkzeug oder ein Nietwerkzeug oder ein Schraubwerkzeug, usw..The technical system 3 can have a drive system (not shown) and/or a robot and/or a tool, such as a turning tool and/or milling tool and/or a joining tool, and/or an agitator or the like. The joining tool is in particular a welding tool or a riveting tool or a screwing tool, etc.

Das Arbeitsverfahren ist insbesondere ein Transportverfahren oder Druckverfahren oder Mischverfahren, usw.. Bei dem Transportverfahren kann beispielsweise ein Werkzeug oder Werkstück oder ein sonstiger Gegenstand transportiert werden. Bei einem Fertigungsverfahren ist beispielsweise mindestens eines der Arbeitsverfahren ausführbar. Zusätzlich oder alternativ ist bei dem Fertigungsverfahren mindestens ein Werkstück mit mindestens einem Werkzeug behandelbar, das zuvor genannt ist.The working process is in particular a transport process or printing process or mixing process, etc. In the transport process, for example, a tool or workpiece or another object can be transported. In a manufacturing process, for example, at least one of the work processes can be carried out. Additionally or alternatively, in the manufacturing process, at least one workpiece can be treated with at least one tool that is mentioned above.

Die Steuervorrichtung 5 ist für den Betrieb und/oder bei dem Betrieb des Systems 1 ausgestaltet, mit der technischen Anlage 3 je nach Bedarf Daten 4 auszutauschen. Die Daten 4 werden beispielsweise durch nicht dargestellte Sensoren im Betrieb der technischen Anlage 3 erfasst und mit Hilfe des Mikrocontrollers 10 über die Schnittstelle 20 an die Vorrichtung 30 zur Speicherung in dem CF-Speicherbaustein 40 und/oder an den DF-Speicherbaustein 50 weitergegeben. Zudem kann die Steuervorrichtung 5 mit Hilfe des Mikrocontrollers 10 über die Schnittstelle 20 je nach Bedarf Daten 4 an die technische Anlage 3 senden, insbesondere Sollwerte für Aktoren des nicht dargestellten Antriebssystems usw.The control device 5 is designed for the operation and/or during operation of the system 1 to exchange data 4 with the technical system 3 as required. The data 4 are recorded, for example, by sensors (not shown) during operation of the technical system 3 and are passed on with the help of the microcontroller 10 via the interface 20 to the device 30 for storage in the CF memory module 40 and/or to the DF memory module 50. In addition, the control device 5 can send data 4 to the technical system 3 as required with the help of the microcontroller 10 via the interface 20, in particular target values for actuators of the drive system (not shown), etc.

Der Mikrocontroller 10 hat eine zentrale Verarbeitungseinheit (CPU), die als Mikroprozessor 11 ausgeführt ist, Software 12 und Speicherbausteine 13, wie einen Arbeitsspeicher und einen Nur-LeseSpeicher (ROM). Die zentrale Verarbeitungseinheit (CPU) bzw. der Mikroprozessor 11 kann mittels der Software 12 auf die Speicherbausteine 13 zugreifen.The microcontroller 10 has a central processing unit (CPU) which is designed as a microprocessor 11, software 12 and memory modules 13, such as a main memory and a read-only memory (ROM). The central processing unit (CPU) or the microprocessor 11 can access the memory modules 13 using the software 12.

Der Mikrocontroller 10 ist über die serielle Schnittstelle (SPI) 20 mit der Vorrichtung 30 verbunden. Im Betrieb sendet der Mikrocontroller 10 ein Telegramm CmdTG, das auch CmdTelegram genannt werden kann, über die serielle Schnittstelle 20 an die Vorrichtung 30. Die Übertragung des Telegramms CmdTG erfolgt durch oder mit (Hilfe) der Signale DF_MOSI, DF_CLK, DF_CS, wie genauer in 2 gezeigt. Das Signal DF_MOSI überträgt dabei einen Befehl für den DF-Speicherbaustein 50, bei dem zwei SRAM-Pufferspeicher einem remanenten Flash-Hintergrundspeicher vorgelagert sind, wie zuvor in Bezug auf den Stand der Technik beschrieben. Zusätzlich oder alternativ empfängt der Mikrocontroller 10 von der Vorrichtung 30 über die serielle Schnittstelle 20 ein Signal DF_MISO, durch oder mit (Hilfe) welchem Lesedaten an den Mikrocontroller 10 übertragen werden. Diese Funktionen und Signale sind nachfolgend genauer beschrieben.The microcontroller 10 is connected to the device 30 via the serial interface (SPI) 20. During operation, the microcontroller 10 sends a telegram CmdTG, which can also be called CmdTelegram, to the device 30 via the serial interface 20. The transmission of the telegram CmdTG takes place by or with (the help of) the signals DF_MOSI, DF_CLK, DF_CS, as described in more detail in 2 shown. The signal DF_MOSI transmits a command for the DF memory module 50, in which two SRAM buffer memories are arranged in front of a remanent flash background memory, as previously described with reference to the prior art. Additionally or alternatively, the microcontroller 10 receives a signal DF_MISO from the device 30 via the serial interface 20, by or with (the help of) which read data is transmitted to the microcontroller 10. These functions and signals are described in more detail below.

Die Vorrichtung 30 hat einen Befehlsinterpreter 31, der auch Command Interpreter genannt werden kann, eine SRAM-Pufferspeichereinheit 32, ein Flash-Adressregister 33, einen Telegramm-Generator 34, eine Daten-Sammeleinrichtung 35, einen Lese-Multiplexer 36, der auch Read-Multiplexer genannt werden kann, und eine serielle Schnittstelle 37.The device 30 has a command interpreter 31, which can also be called a command interpreter, an SRAM buffer memory unit 32, a flash address register 33, a telegram generator 34, a data collector 35, a read multiplexer 36, which can also be called a read multiplexer, and a serial interface 37.

Die Vorrichtung 30 kann beliebige Logikbausteine umfassen, um ihre zuvor genannten Komponenten 31 bis 36 zu bilden. Insbesondere umfasst die Vorrichtung 30 mindestens einen der folgenden Bausteine/Elemente, wie UND-Gatter, NAND-Gatter, OR-Gatter, NOR-Gatter, Flipflop, ein programmierbares Logikbauelement (PLD), wie ein CPLD (Complex Programmable Logic Device) und/oder ein Gate-Array, insbesondere FPGA (Field Programmable Gate-Array), und/oder eine kundenspezifische integrierte Schaltung (ASIC). In einer speziellen Ausgestaltung bestehen der Befehlsinterpreter 31 und der Telegramm-Generator 34 ausschließlich aus digitaler Logik und digitalen Speicherelementen, so dass diese in einem programmierbaren Logikbauelement (PLD) realisiert sind. In einer anderen speziellen Ausgestaltung weisen der Befehlsinterpreter 31 und der Telegramm-Generator 34 ausschließlich digitale Logik und digitale Speicherelemente auf, die in einem programmierbaren Logikbauelement (PLD) realisiert sind und die nachfolgend beschriebenen Funktionen des Befehlsinterpreters 31 und des Telegramm-Generators 34 realisieren. Der Befehlsinterpreter 31 hat ein DF-Statusregister 311, in welchem der Status des DF-Speicherbausteins 50, wie Bereit, Beschäftigt (Busy) usw., mit einer Kennung oder Bit 31A, 31B angezeigt wird. Die Daten-Sammeleinrichtung 35 implementiert eine FIFO (First In First Out) Warteschlange, so dass Daten 4, die zuerst in die Einrichtung 35 gespeichert werden, zuerst wieder aus der Einrichtung 35 heraus genommen werden.The device 30 can comprise any logic components to form its aforementioned components 31 to 36. In particular, the device 30 comprises at least one of the following components/elements, such as AND gate, NAND gate, OR gate, NOR gate, flip-flop, a programmable logic device (PLD), such as a CPLD (Complex Programmable Logic Device) and/or a gate array, in particular FPGA (Field Programmable Gate Array), and/or a customer-specific integrated circuit (ASIC). In a special embodiment, the command interpreter 31 and the telegram generator 34 consist exclusively of digital logic and digital memory elements, so that they are implemented in a programmable logic device (PLD). In another special embodiment, the command interpreter 31 and the telegram generator 34 have exclusively digital logic and digital storage elements which are implemented in a programmable logic device (PLD) and implement the functions of the command interpreter 31 and the telegram generator 34 described below. The command interpreter 31 has a DF status register 311 in which the status of the DF memory module 50, such as ready, busy, etc., is displayed with an identifier or bit 31A, 31B. The data collection device 35 implements a FIFO (First In First Out) queue so that data 4 which is first stored in the device 35 is first taken out of the device 35.

Im Betrieb empfängt der Befehlsinterpreter 31 über die serielle Schnittstelle 20 die Befehle der Software 12 und gegebenenfalls Schreibdaten, die auf den Daten basieren können, von dem Mikrocontroller 10. Die Befehle sind in dem Telegramm CmdTG enthalten, für den zuvor genannten DF-Flashspeicherbaustein bzw. DF-Speicherbaustein 50. Der Beehlsinterpreter 31 extrahiert die Befehle aus dem Telegramm CmdTG. Gegebenenfalls in dem Telegramm CmdTG zusätzlich enthaltene Schreibdaten gibt der Befehlsinterpreter 31 zudem in die SRAM-Pufferspeichereinheit 32 ein.During operation, the command interpreter 31 receives the commands of the software 12 and, if applicable, write data that may be based on the data from the microcontroller 10 via the serial interface 20. The commands are contained in the CmdTG telegram for the aforementioned DF flash memory chip or DF memory chip 50. The command interpreter 31 extracts the commands from the CmdTG telegram. The command interpreter 31 also enters any additional write data contained in the CmdTG telegram into the SRAM buffer memory unit 32.

Außerdem erzeugt die Vorrichtung 30 im Betrieb die Signale CF_CLK, CF_CS und sendet diese über die serielle Schnittstelle 37 an die serielle Schnittstelle 41 des CF-Speicherbausteins 40. Das Taktsignal CF_CLK taktet den Zugriff für Schreiben oder Lesen auf/in dem Speicherbereich 42 des CF-Speicherbausteins 40.In addition, the device 30 generates the signals CF_CLK, CF_CS during operation and sends them via the serial interface 37 to the serial interface 41 of the CF memory chip 40. The clock signal CF_CLK clocks the access for writing or reading to/in the memory area 42 of the CF memory chip 40.

Die serielle Schnittstelle 37 hat eine geringere Latenz und eine höhere Datenrate als die Schnittstelle 20, die zwischen dem Mikrocontroller 10 und der Vorrichtung 30 angeordnet ist. Die serielle Schnittstelle 37 kann eine QSPI-Schnittstelle sein. Bei einer solchen Ausgestaltung sind die Signale CF_MISO und CF_MOSI als sogenannter „bidirektionaler Bus“ signaltechnisch zusammengelegt und umfassen dabei insgesamt vier digitale Signale anstelle nur jeweils 1 Signal.The serial interface 37 has a lower latency and a higher data rate than the interface 20, which is located between the microcontroller 10 and the device 30. The serial interface 37 can be a QSPI interface. In such an embodiment, the signals CF_MISO and CF_MOSI are combined as a so-called "bidirectional bus" and comprise a total of four digital signals instead of just one signal each.

Hierfür steuert der Befehlsinterpreter 31 den Telegramm-Generator 34 entsprechend den über das Signal DF_MOSI (2) empfangenen Befehlen der Software 12 an. Zudem hält der Befehlsinterpreter 31 die aktuell bezogene Adresse für den DF-Speicherbaustein 50 in den von der Software 12 empfangenen Befehlen in dem Flash-Adressregister 33. Darüber hinaus implementiert der Befehlsinterpreter 31 mit seinem DF-Statusregister 311 das Statusregister des DF-Speicherbausteins 50. Zudem gibt der Befehlsinterpreter 31 ein Signal AddrSt an das Flash-Adressregister 33 aus. Das Flash-Adressregister 33 erzeugt daraus ein Signal Addr und gibt dieses an den Telegramm-Generator 34 aus. Das Signal Addr enthält die Adresse des zuvor genannten DF-Speicherbausteins 50.For this purpose, the command interpreter 31 controls the telegram generator 34 according to the data transmitted via the signal DF_MOSI ( 2 ) received commands from the software 12. In addition, the command interpreter 31 stores the currently obtained address for the DF memory chip 50 in the commands received from the software 12 in the flash address register 33. In addition, the command interpreter 31 implements the status register of the DF memory chip 50 with its DF status register 311. In addition, the command interpreter 31 outputs a signal AddrSt to the flash address register 33. The flash address register 33 generates a signal Addr from this and outputs this to the telegram generator 34. The signal Addr contains the address of the previously mentioned DF memory chip 50.

Noch dazu sendet der Befehlsinterpreter 31 ein Signal CmdCtrl an den Telegramm-Generator 34. Und der Befehlsinterpreter 31 empfängt von dem Telegramm-Generator 34 ein Signalwort CmdFdb/FLSt_In, welches eine Statusinformation FLSt_In von dem Telegramm-Generator 34 enthält.In addition, the command interpreter 31 sends a signal CmdCtrl to the telegram generator 34. And the command interpreter 31 receives from the telegram generator 34 a signal word CmdFdb/FLSt_In, which contains status information FLSt_In from the telegram generator 34.

Außerdem kontrolliert der Befehlsinterpreter 31 das Einspeichern von gegebenenfalls mit dem Telegramm CmdTG übertragenen Schreibdaten in die SRAM-Pufferspeichereinheit 32 und gibt hierfür ein Signal bzw. einen Befehl WrCtrl zum Schreiben an die SRAM-Pufferspeichereinheit 32 aus. Die Schreibdaten aus der SRAM-Pufferspeichereinheit 32 können durch oder mit (Hilfe) eines Signals WrDt an den Telegramm-Generator 34 weitergegeben werden.In addition, the command interpreter 31 controls the storage of any write data transmitted with the telegram CmdTG in the SRAM buffer memory unit 32 and for this purpose outputs a signal or a command WrCtrl for writing to the SRAM buffer memory unit 32. The write data from the SRAM buffer memory unit 32 can be passed on to the telegram generator 34 by or with (the help of) a signal WrDt.

Noch dazu kontrolliert der Befehlsinterpreter 31 über den Lese-Multiplexer 36 das Auslesen von Daten in der SRAM-Pufferspeichereinheit 32, welche die beiden SRAM-Pufferspeicher des DF-Speicherbausteins 50 emuliert. Die SRAM-Pufferspeichereinheit 32 gibt die Lesedaten durch das oder mit dem Signal RdDt2 an den Lese-Multiplexer 36 aus.In addition, the command interpreter 31 controls the reading of data in the SRAM buffer memory unit 32 via the read multiplexer 36, which emulates the two SRAM buffer memories of the DF memory module 50. The SRAM buffer memory unit 32 outputs the read data to the read multiplexer 36 through or with the signal RdDt2.

Zum Zwecke des Auslesens des emulierten DF-Statusregisters 311, gibt der Befehlsinterpreter 31 den Registerinhalt durch oder mit (Hilfe) des Signals RdDt1 an den Lese-Multiplexer 36 aus.For the purpose of reading the emulated DF status register 311, the command interpreter 31 outputs the register contents to the read multiplexer 36 through or with (the help of) the signal RdDt1.

Zusätzlich oder alternativ gibt der Befehlsinterpreter 31 ein Signal bzw. einen Befehl RdEn/RdAddr zum Aktivieren eines Lesens der Daten im CF-Speicherbaustein 40 an die Daten-Sammeleinrichtung 35 aus. Die Daten-Sammeleinrichtung 35 gibt die Lesedaten durch das oder mit dem Signal RdDt3 an die SRAM-Pufferspeichereinheit 32 aus. Das Signal RdDt3 wird auch an den Lese-Multiplexer 36 weitergegeben oder ausgegeben für jenen Fall, dass die Lesedaten nicht in den SRAM-Pufferspeicher 32 eingespeichert, sondern direkt über die serielle Schnittstelle 20 auszugeben sind.Additionally or alternatively, the command interpreter 31 outputs a signal or a command RdEn/RdAddr to activate reading of the data in the CF memory chip 40 to the data collection device 35. The data collection device 35 outputs the read data to the SRAM buffer memory unit 32 by or with the signal RdDt3. The signal RdDt3 is also passed on to or output from the read multiplexer 36 in the event that the read data is not to be stored in the SRAM buffer memory 32 but is to be output directly via the serial interface 20.

Der Befehlsinterpreter 31 sowie der SRAM-Pufferspeicher 32 sind spezifisch für den DF-Speicherbaustein entworfen und/oder dimensioniert und/oder abgestimmt, der mit den Befehlen des Mikrocontrollers 10 adressiert ist, wie zuvor beschrieben.The command interpreter 31 as well as the SRAM buffer memory 32 are specifically designed and/or dimensioned and/or tuned for the DF memory device that is addressed with the commands of the microcontroller 10, as previously described.

Der Telegramm-Generator 34 setzt Lese-, Schreib- und Löschbefehle (Read, Program, Erase), welche der Befehlsinterpreter 31 durch das oder mit dem Steuerwort CmdCtrl signalisiert, auf CF-spezifische Befehle um und sendet die entsprechenden Telegramme an den CF-Speicherbaustein 40 über die Datenleitungen WrDt der serielle Schnittstelle 37. Der Telegramm-Generator 34 erzeugt somit die spezifischen Telegramme für den CF-Speicherbaustein 40. Somit ist der Telegramm-Generator 34 spezifisch für den CF-Speicherbaustein 40 entworfen und/oder dimensioniert und/oder abgestimmt.The telegram generator 34 converts read, write and erase commands (Read, Program, Erase), which the command interpreter 31 signals through or with the control word CmdCtrl, into CF-specific commands and sends the corresponding telegrams to the CF memory module 40 via the data lines WrDt of the serial interface 37. The telegram generator 34 thus generates the specific telegrams for the CF memory module 40. The telegram generator 34 is thus designed and/or dimensioned and/or coordinated specifically for the CF memory module 40.

Der Telegramm-Generator 34 steuert oder kontrolliert ferner den Empfang von Lesedaten über das Signal RdDt des CF-Speicherbausteins 40 und sammelt diese in der Daten-Sammeleinrichtung 35. Hierfür steuert der Telegramm-Generator 34 die Daten-Sammeleinrichtung 35 mit den Signalen WrENa/WrAddr an und gibt dem Befehlsinterpreter 31 darüber Rückmeldung durch das oder mit dem Signalwort CmdFdb.The telegram generator 34 also controls or monitors the reception of read data via the signal RdDt of the CF memory chip 40 and collects these in the data collection device 35. For this purpose, the telegram generator 34 controls the data collection device 35 with the signals WrENa/WrAddr and gives the command interpreter 31 feedback via or with the signal word CmdFdb.

Der Telegramm-Generator 34 liest im Falle von Program-Vorgängen und/oder Lösch-Vorgängen (Erase-Vorgängen) für den Baustein 40 zyklisch das CF-Statusregister 43 des CF-Speicherbausteins 40 aus. Der Telegramm-Generator 34 gibt einen Beschäftigt-Zustand (Busy-Status) des CF-Speicherbausteins 40 an den Befehlsinterpreter 31 weiter, der die Information (Beschäftigt-Kennung 31B bzw. „BusyFlag“) über den Zustand im emulierten DF-Statusregister 311 einblendet. Auch Leseschutz-Status (WriteProtection-Status) und Ver- oder Entriegelung von Speicherbereichen des DF-Speicherbausteins 50 werden in dem Befehlsinterpreter 31, genauer seinem DF-Statusregister 311, verwaltet bzw. an den Telegramm-Generator 34 weitergegeben.In the case of program processes and/or erase processes for the module 40, the telegram generator 34 cyclically reads the CF status register 43 of the CF memory module 40. The telegram generator 34 forwards a busy status of the CF memory module 40 to the command interpreter 31, which displays the information (busy identifier 31B or "BusyFlag") about the status in the emulated DF status register 311. The read protection status (WriteProtection status) and locking or unlocking of memory areas of the DF memory module 50 are also managed in the command interpreter 31, more precisely its DF status register 311, or forwarded to the telegram generator 34.

Eine weitere Funktion des Befehlsinterpreters 31 stellt auch die Darstellung der JEDEC Device ID Informationen des emulierten DF-Speicherbausteins 50 dar, welche durch oder mit (Hilfe) eines eigenen Kommandotelegramms über die serielle Schnittstelle 20 auslesbar sind. Bei den Informationen handelt es sich um eine Kennung der Länge 6 Bytes, deren Struktur durch eine Norm der US-amerikanischen Organisation „JEDEC Solid State Technology Association“ festgelegt wurde.Another function of the command interpreter 31 is the representation of the JEDEC Device ID information of the emulated DF memory module 50, which can be generated by or with (the help of) its own a command telegram can be read out via the serial interface 20. The information is an identifier with a length of 6 bytes, the structure of which was defined by a standard of the US organization "JEDEC Solid State Technology Association".

Der Aufbau des Befehlsinterpreters 31 und des SRAM-Pufferspeichers 32 ist in 2 genauer gezeigt.The structure of the command interpreter 31 and the SRAM buffer memory 32 is shown in 2 shown in more detail.

Gemäß 2 hat der Befehlsinterpreter 31 zusätzlich zu dem DF-Statusregister 311 einen Zustandsautomaten 312, einen Telegramm-Decoder 313, einen Speicher-Multiplexer 314 und ein DF- DevicelD-Register 315. Der SRAM-Pufferspeicher 32 hat einen ersten SRAM-Puffer 321, einen zweiten SRAM-Puffer 322 und einen Schreib-Multiplexer 323. Der Lese-Multiplexer 36 hat in 2 die fünf Kanäle 1, 2, 3, 4, 5.According to 2 In addition to the DF status register 311, the command interpreter 31 has a state machine 312, a telegram decoder 313, a memory multiplexer 314 and a DF deviceID register 315. The SRAM buffer memory 32 has a first SRAM buffer 321, a second SRAM buffer 322 and a write multiplexer 323. The read multiplexer 36 has 2 the five channels 1, 2, 3, 4, 5.

Die im Folgenden beschriebenen Abläufe werden durch den Zustandsautomaten 312 gesteuert, der auch als Finite State Machine (FSM) bezeichnet werden kann. Dabei werden zwischen dem Telegramm-Decoder 313 und dem Zustandsautomaten 312 Informationen Op/St über die angeforderten Transaktionen ausgetauscht. In 2 sind jedoch aus Übersichtlichkeitsgründen die durch den Zustandsautomaten 312 generierten Steuersignale und Schreib-/Lese-Adressen an die einzelnen Komponenten des Befehlsinterpreters 31 weggelassen, nämlich Steuersignale an die Multiplexer 36, 323, Schreib- und Leseadressen an die SRAM-Puffer 321, 322, jeweils ein WriteEnable-Qualifier an die SRAM-Puffer 321, 322 und an die Register 33, 311, 315.The processes described below are controlled by the state machine 312, which can also be referred to as a finite state machine (FSM). Information Op/St about the requested transactions is exchanged between the telegram decoder 313 and the state machine 312. In 2 However, for reasons of clarity, the control signals and write/read addresses generated by the state machine 312 to the individual components of the command interpreter 31 are omitted, namely control signals to the multiplexers 36, 323, write and read addresses to the SRAM buffers 321, 322, a WriteEnable qualifier to the SRAM buffers 321, 322 and to the registers 33, 311, 315.

Das über den Dateneingang DF_MOSI einlaufende Kommando-Telegramm CmdTG des Mikrocontrollers 10 wird im Telegramm-Decoder 313 zerlegt, also decodiert. Hierfür werden aus dem Kommando-Telegramm CmdTG der DF-Befehl, eine gegebenenfalls nachfolgende DF-bezogene Adresse sowie gegebenenfalls nachfolgende Schreibdaten extrahiert. Der Telegramm-Decoder 313 empfängt also die Signale DF_CS, DF_CLK, DF_MOSI.The command telegram CmdTG of the microcontroller 10 arriving via the data input DF_MOSI is broken down, i.e. decoded, in the telegram decoder 313. For this purpose, the DF command, a possibly subsequent DF-related address and possibly subsequent write data are extracted from the command telegram CmdTG. The telegram decoder 313 therefore receives the signals DF_CS, DF_CLK, DF_MOSI.

In Bezug auf die DF-Befehls-Information bestimmt der Telegramm-Decoder 313 zunächst (erste Option), ob die mit dem Kommando-Telegramm CmdTG angeforderte Transaktion auf den nachgeschalteten CF-Speicherbaustein 40 wirken muss, oder (zweite Option) lokal im Befehlsinterpreters 31 abgearbeitet werden kann. Transaktionen, die auf den nachgeschalteten CF-Speicherbaustein 40 wirken müssen, sind beispielsweise die Befehle MainMemRead, WriteStatus, Erase, WriteBufferToMainMem. Im Unterschied dazu sind Transaktionen, die lokal im Befehlsinterpreter 31 abgearbeitet werden können, beispielsweise die Befehle Write/Read-SRAM-Buffer (= Schreibe oder Lese mindestens einen der SRAM-Puffer 321, 322), Read-DF-DevicelD-Register (= Lese das DF-DevicelD-Register 315), Read-DF-StatusRegister (= Lese das DF-Statusregister 311).With regard to the DF command information, the telegram decoder 313 first determines (first option) whether the transaction requested with the command telegram CmdTG must act on the downstream CF memory module 40 or (second option) can be processed locally in the command interpreter 31. Transactions that must act on the downstream CF memory module 40 are, for example, the commands MainMemRead, WriteStatus, Erase, WriteBufferToMainMem. In contrast, transactions that can be processed locally in the command interpreter 31 are, for example, the commands Write/Read-SRAM-Buffer (= write or read at least one of the SRAM buffers 321, 322), Read-DF-DevicelD-Register (= read the DF-DevicelD register 315), Read-DF-StatusRegister (= read the DF status register 311).

Entscheidet der Telegramm-Decoder 313, dass die oben genannte erste Option gilt, also, dass der nachgeschaltete CF-Speicherbaustein 40 anzusteuern ist, erzeugt der Telegramm-Decoder 313 eine entsprechende Kontrollinformation CmdCtrl und gibt diese an den Telegramm-Generator 34 weiter. Zudem speichert der Telegramm-Decoder 313 eine nach dem DF-Befehl gegebenenfalls empfangene DF-Adresse mit dem Signal AddrSt in dem Flash-Adressregister 33 ein. Die DF-Adresse steht dann ebenfalls dem Telegramm-Generator 34 per Signal Addr zur Verfügung. Das Adressregister 33 besitzt ferner einen Steuereingang 331, über welches die eingespeicherte Adresse Addr entsprechend der Anforderung durch den SPI-Takt DF_CLK der Schnittstelle 20 erhöht werden kann (Address Increment).If the telegram decoder 313 decides that the first option mentioned above applies, i.e. that the downstream CF memory module 40 is to be controlled, the telegram decoder 313 generates a corresponding control information CmdCtrl and passes this on to the telegram generator 34. In addition, the telegram decoder 313 stores a DF address received after the DF command with the signal AddrSt in the flash address register 33. The DF address is then also available to the telegram generator 34 via the signal Addr. The address register 33 also has a control input 331, via which the stored address Addr can be increased according to the request by the SPI clock DF_CLK of the interface 20 (address increment).

Entscheidet der Telegramm-Decoder 313 hingegen, dass die oben genannte zweite Option gilt, also, dass von dem Mikrocontroller 10 nur eine lokale Datentransaktion angefordert ist, so wird keine Kontrollinformation CmdCtrl erzeugt. Stattdessen steuert der Telegramm-Decoder 313 mindestens einen der SRAM-Puffer 321, 322, den Speicher-Multiplexer 314 sowie gegebenenfalls den Lese-Multiplexer 36 entsprechend an.If, however, the telegram decoder 313 decides that the second option mentioned above applies, i.e. that only a local data transaction is requested from the microcontroller 10, no control information CmdCtrl is generated. Instead, the telegram decoder 313 controls at least one of the SRAM buffers 321, 322, the memory multiplexer 314 and, if applicable, the read multiplexer 36 accordingly.

Zudem ist der Telegramm-Decoder 313 ausgestaltet, bei einem Befehl für eine DF-Schreiboperation (FlashProgram) die über die SPI-Schnittstelle 20 empfangenen und im Telegramm-Decoder 313 ausgekoppelten Schreibdaten WDt über den Speicher-Multiplexer 314 in mindestens einen der SRAM-Puffer 321, 322 einzuspeichern, der/die entsprechend des empfangenen DF-Befehls an dem DF_MOSI-Eingang angewählt ist/sind. Die Schreibdaten WDt können über den Schreib-Multiplexer 323 an den Telegramm-Generator 34 weitergegeben werden, sofern ein WriteBufferToMainMem-Kommando bzw. -Befehl decodiert wurde.In addition, the telegram decoder 313 is designed to store the write data WDt received via the SPI interface 20 and output in the telegram decoder 313 via the memory multiplexer 314 in at least one of the SRAM buffers 321, 322, which is/are selected at the DF_MOSI input in accordance with the received DF command, in the case of a command for a DF write operation (FlashProgram). The write data WDt can be passed on to the telegram generator 34 via the write multiplexer 323, provided that a WriteBufferToMainMem command has been decoded.

Außerdem ist der Telegramm-Decoder 313 ausgestaltet, bei einem LeseBefehl über die Kanäle 1 und/oder 2 des Lese-Multiplexers 36 die Lesedaten RDt21, RDt22 aus mindestens einem der SRAM-Puffer 321, 322 über das Signal DF_MISO an den Mikrocontroller 10 auszugeben. Die Lesedaten RDt21, RDt22 entsprechen dem Signal RdDt2 in 1. In addition, the telegram decoder 313 is designed to output the read data RDt21, RDt22 from at least one of the SRAM buffers 321, 322 to the microcontroller 10 via the signal DF_MISO in the case of a read command via channels 1 and/or 2 of the read multiplexer 36. The read data RDt21, RDt22 correspond to the signal RdDt2 in 1 .

An dem Kanal 3 des Lese-Multiplexers 36 wird das Signal RdDt3 empfangen, Lesedaten aus der Daten-Sammeleinrichtung 35, wie zuvor in Bezug auf 1 beschrieben.The signal RdDt3 is received on channel 3 of the read multiplexer 36, read data from the data collection device 35, as previously described with respect to 1 described.

Für den Telegramm-Decoder 313 ist eine lokale Transaktion auch das Lesen des DF-DevicelD-Registers 315 (Kanal 5 des Lese-Multiplexers 36) und Ausgabe der Lesedaten RdDt4. Zudem ist für den Telegramm-Decoder 313 eine lokale Transaktion auch das Lesen des emulierten DF-Statusregisters (Kanal 4 des Lese-Multiplexers 36) und Ausgabe der Lesedaten RdDt1. Das im Befehlsinterpreter 31 emulierte DF-Statusregister 311 muss bei den Befehlen bzw. Transaktionen „Schreibe Status“ (WriteStatus), „Löschen“ (Erase), „Schreibe Daten in Puffer in Hauptspeicher“ (WriteBufferToMainMem) aktualisiert werden. Das Aktualisieren veranlasst der Telegramm-Generator 34 und liefert entsprechende Informationen als Signal FLSt_In („FlashStatusInfo“) an den Befehlsinterpreter 31, aus welchen die Informationen in dem DF-Statusregister 311 nachgebildet werden. Das Aktualisieren des DF-Statusregisters 311 erfolgt einem Erase- und einem WriteBufferToMainMem-Befehl zyklisch, bei einem WriteStatusBefehl einmalig und direkt.For the telegram decoder 313, a local transaction is also the reading of the DF DeviceL register 315 (channel 5 of the read multiplexer 36) and the output of the read data RdDt4. In addition, for the telegram decoder 313, a local transaction is also the reading of the emulated DF status register (channel 4 of the read multiplexer 36) and the output of the read data RdDt1. The DF status register 311 emulated in the command interpreter 31 must be updated with the commands or transactions "Write Status", "Erase", "Write Data to Buffer in Main Memory" (WriteBufferToMainMem). The telegram generator 34 initiates the updating and supplies the corresponding information as the FLSt_In (“FlashStatusInfo”) signal to the command interpreter 31, from which the information is reproduced in the DF status register 311. The DF status register 311 is updated cyclically with an Erase and a WriteBufferToMainMem command, and once and directly with a WriteStatus command.

Die Vorrichtung 30 kann so mittels einer Ein-/Ausgabe-Schnittstelle mit Schnittstellenlogik 41 des CF-Speicherbausteins 40 auf den Speicherbereich 42 des CF-Speicherbausteins 40 zugreifen. Die Ein-/Ausgabe-Schnittstelle 41 ist eine serielle Schnittstelle und hat entsprechende Schnittstellenlogikbausteine einer seriellen Schnittstelle, wie später genauer beschrieben.The device 30 can thus access the memory area 42 of the CF memory module 40 by means of an input/output interface with interface logic 41 of the CF memory module 40. The input/output interface 41 is a serial interface and has corresponding interface logic modules of a serial interface, as described in more detail later.

3 bis 5 beschreiben eine Ausgestaltung des Telegramm-Generators 34 für eine Vorrichtung 300 gemäß einem zweiten Ausführungsbeispiel. Bei dem zweiten Ausführungsbeispiel ist die Vorrichtung 300 ausgestaltet, auch Befehle des Mikrocontrollers 10 zu bearbeiten, welche nicht nur lokal im Befehlsinterpreter 31 abgearbeitet werden können. 3 until 5 describe an embodiment of the telegram generator 34 for a device 300 according to a second embodiment. In the second embodiment, the device 300 is designed to also process commands from the microcontroller 10, which can not only be processed locally in the command interpreter 31.

Demzufolge ist der Telegramm-Generator 34 ausgestaltet, auf Basis der aus dem Flash-Adressregister 33 bezogenen DF-Adresse eine Adressumsetzung, die auch Adresszuordnung genannt werden kann, auf Adressen des CF-Speicherbausteins 40 durchzuführen. Eine derartige Adressumsetzung kann für eine DF-typische seitengranulare Programmier- und Löschbarkeit erforderlich sein, die bei dem CF-Speicherbaustein 40 nicht verfügbar ist. Ein Beispiel für eine solche Adressumsetzung ist anhand von 3 und 4 erläutert.Accordingly, the telegram generator 34 is designed to carry out an address conversion, which can also be called address assignment, to addresses of the CF memory chip 40 on the basis of the DF address obtained from the flash address register 33. Such an address conversion may be necessary for a DF-typical page-granular programming and erasability, which is not available with the CF memory chip 40. An example of such an address conversion is shown in 3 and 4 explained.

3 zeigt den Aufbau des CF-Speicherbausteins 40 genauer. Der CF-Speicherbaustein 40 sendet an seiner Ein-/Ausgabe-Schnittstelle 41 Lesedaten über das Signal CF_MISO an eine angeschlossene Vorrichtung, beispielsweise die Vorrichtung 30 von 1. Zudem empfängt der CF-Speicherbaustein 40 an seiner Ein-/Ausgabe-Schnittstelle 41 Daten über das Signal CF_MOSI, wie zuvor beschrieben. 3 shows the structure of the CF memory chip 40 in more detail. The CF memory chip 40 sends read data to its input/output interface 41 via the CF_MISO signal to a connected device, for example the device 30 of 1 . In addition, the CF memory chip 40 receives data at its input/output interface 41 via the signal CF_MOSI, as previously described.

Die Ein-/Ausgabe-Schnittstelle 41 wird üblicherweise durch einen eingebetteten Mikrocontroller realisiert, welcher über die Schnittstelle 41 empfangene CF-Kommandos bzw. CF-Kommando-Telegramme interpretiert und die Ausführung der entsprechenden Operationen auf dem Speicherbereich 42 steuert..The input/output interface 41 is usually implemented by an embedded microcontroller, which interprets CF commands or CF command telegrams received via the interface 41 and controls the execution of the corresponding operations in the memory area 42.

Der Speicherbereich 42 des CF-Speicherbausteins 40 ist in Seiten P0, P1, P2, P3 bis Pn-1 (in Englisch: Pages) unterteilt, wobei n eine natürliche Zahl > 1 ist. Jede der Seiten P0, P1, P2, P3 bis Pn-1 hat eine spezifische Speicheradresse Addr, wie in 3 genauer als Addr_P0, Addr_P1, Addr_P2, Addr_P3 bis Addr_Pn-1 bezeichnet. Die spezifische Speicheradresse wird über das Datensignal CF_MOSI dem CF-Speicherbaustein 40 mitgeteilt. Somit werden Daten 4 in die Seite P0, P1, P2, P3 bis Pn-1 gemäß der spezifischen Speicheradresse Addr_P0, Addr_P1, Addr_P2, Addr_P3 bis Addr_Pn-1 gespeichert.The memory area 42 of the CF memory module 40 is divided into pages P0, P1, P2, P3 to Pn-1, where n is a natural number > 1. Each of the pages P0, P1, P2, P3 to Pn-1 has a specific memory address Addr, as shown in 3 more precisely referred to as Addr_P0, Addr_P1, Addr_P2, Addr_P3 to Addr_Pn-1. The specific memory address is communicated to the CF memory chip 40 via the data signal CF_MOSI. Thus, data 4 is stored in the page P0, P1, P2, P3 to Pn-1 according to the specific memory address Addr_P0, Addr_P1, Addr_P2, Addr_P3 to Addr_Pn-1.

4 zeigt ein spezielles geometrisches Beispiel für den DF-Speicherbaustein 50 mit einzeln löschbaren Seiten DP0, DP1, DP2 bis DP4095 (Pages). Jede der Seiten DP0, DP1, DP2 bis DP4095 des DF-Speicherbausteins 50 hat eine Größe von 512 Bytes . Die Anzahl der löschbaren Seiten DP0, DP1 usw. ist jedoch nicht auf das spezielle Beispiel beschränkt, sondern beliebig wählbar. 4 shows a special geometric example for the DF memory chip 50 with individually erasable pages DP0, DP1, DP2 to DP4095 (pages). Each of the pages DP0, DP1, DP2 to DP4095 of the DF memory chip 50 has a size of 512 bytes. The number of erasable pages DP0, DP1, etc. is not limited to the special example, but can be selected arbitrarily.

Im Unterschied dazu hat in 4 der Speicherbereich 42 des CF-Speicherbausteins 40 von 1 bei diesem Beispiel Blöcke B0, B1 bis B4095, die einzeln löschbar sind. Jeder der Blöcke B0, B1 bis B4095 hat wiederum 16 Seiten zu jeweils 256 Bytes, nämlich der Block B0 hat die Seiten P0, P1 bis zur Seite 15, der Block B1 hat die Seiten P16, P17 usw., der Block B2 hat die Seiten P32, P33 usw., der Block B4095 hat die Seiten P65520, P65521, usw. Die Seiten P0 bis P65535 des CF-Speicherbausteins sind hingegen nicht einzeln löschbar.In contrast, in 4 the memory area 42 of the CF memory module 40 of 1 In this example, blocks B0, B1 to B4095, which can be individually erased. Each of the blocks B0, B1 to B4095 has 16 pages of 256 bytes each, namely block B0 has pages P0, P1 up to page 15, block B1 has pages P16, P17, etc., block B2 has pages P32, P33, etc., block B4095 has pages P65520, P65521, etc. The pages P0 to P65535 of the CF memory chip, however, cannot be individually erased.

Das heißt, der CF-Speicherbaustein 40 von 1 kann nur eine minimale Granulierung von 4KB-Blöcken B0, B1 bis B4095 (Blöcke mit der Größe von 4KB) einzeln löschen, die wiederum aus 16 Seiten bestehen. Jede der Seiten P0, P1, P2 usw. des CF-Speicherbausteins 40 hat eine Größe von 256 Bytes. Somit wird eine Seite zu 512 Bytes des DF-Speicherbausteins 50 durch zwei Seiten P0, P2 usw. zu jeweils 256 Bytes innerhalb eines Blockes B1, B2 usw. des CF-Speicherbausteins 40 realisiert, wodurch sich insgesamt eine separate Löschbarkeit in Seitengranularität des DF-Speicherbausteins 50 ergibt.This means that the CF memory module 40 of 1 can only individually erase a minimal granulation of 4KB blocks B0, B1 to B4095 (blocks with a size of 4KB), which in turn consist of 16 pages. Each of the pages P0, P1, P2, etc. of the CF memory chip 40 has a size of 256 bytes. Thus, a page of 512 bytes of the DF memory chip 50 is realized by two pages P0, P2, etc. of 256 bytes each within a block B1, B2, etc. of the CF memory chip 40, which results in a separate erasability in page granularity of the DF memory module 50.

Daher führt die Vorrichtung 300, genauer der Telegramm-Generator 34, eine entsprechende Adressumsetzung von den Seiten DP0, DP1, DP2 bis DP4095 des DF-Speicherbausteins 50 in 4 auf die Blöcke B0, B1 bis B4095 des CF-Speicherbausteins 40 aus.Therefore, the device 300, more precisely the telegram generator 34, carries out a corresponding address conversion from the pages DP0, DP1, DP2 to DP4095 of the DF memory module 50 into 4 to blocks B0, B1 to B4095 of the CF memory module 40.

Dementsprechend ist der Telegramm-Generator 34 ausgestaltet, wie in 5 genauer gezeigt.Accordingly, the telegram generator 34 is designed as in 5 shown in more detail.

Gemäß 5 hat der Telegramm-Generator 34 einen Zustandsautomaten 341, einen Adress-Zuordner 342, einen Befehls-Zuordner 343, ein Schieberegister 344 und einen Bustreiber 345. Der Telegramm-Generator 34 ist mit dem Befehlsinterpreter 31, der Daten-Sammeleinrichtung 35, dem Lese-Multiplexer 36 und dem Schreib-Multiplexer 323 verbunden, wie bereits zuvor erläutert.According to 5 the telegram generator 34 has a state machine 341, an address allocator 342, a command allocator 343, a shift register 344 and a bus driver 345. The telegram generator 34 is connected to the command interpreter 31, the data collector 35, the read multiplexer 36 and the write multiplexer 323, as already explained above.

Die Daten-Sammeleinrichtung 35 hat einen Lese-FIFO-Puffer 351, der als DPRAM ausgeführt sein kann, und einen Flash-Status-Decoder 352. The data collector 35 has a read FIFO buffer 351, which may be implemented as a DPRAM, and a flash status decoder 352.

Wie zuvor erwähnt, implementiert die Daten-Sammeleinrichtung 35 eine FIFO (First In First Out) Warteschlange, nämlich für Lesedaten RdDt3 usw., wie bereits in 2 gezeigt. Die Lesedaten RdDt3 usw. sind aufgrund der Adressumsetzung in mehreren Lese-Kommandosequenzen (Lesebefehlssequenzen) von dem CF-Speicherbaustein 40 zu holen, müssen jedoch nach Vorgabe des Taktes DF_CLK von der Schnittstelle 20 kontinuierlich über das Datensignal DF_MISO ausgegeben werden.As previously mentioned, the data collection device 35 implements a FIFO (First In First Out) queue, namely for read data RdDt3 etc., as already described in 2 shown. The read data RdDt3 etc. are to be fetched from the CF memory module 40 in several read command sequences (read command sequences) due to the address conversion, but must be output continuously via the data signal DF_MISO after the clock DF_CLK has been specified by the interface 20.

Die Lesedaten RdDt3 usw. werden aus der Daten-Sammeleinrichtung 35 entweder in einen der SRAM-Puffer 321, 322 von 2 oder über einen Datenbypass direkt zum Lese-Multiplexer 36 übertragen, wie ebenfalls bereits in 2 gezeigt und zuvor erwähnt.The read data RdDt3 etc. are taken from the data collection device 35 either into one of the SRAM buffers 321, 322 of 2 or transmitted via a data bypass directly to the read multiplexer 36, as already described in 2 shown and mentioned previously.

Der Telegramm-Generator 34 achtet in diesem Zusammenhang darauf, dass Lesedaten RdDt3 usw. stets rechtzeitig in dem FIFO-Puffer 351 zur Verfügung stehen, da der Mikrocontroller 10 (SPI-Master) diese in dem von ihm vorgegebenen SPI-Takt DF_CLK abholen wird. Für das Holen der ersten Lesedaten (Befehle MainMemoryPageRead, ContinuousArrayRead) und das rechtzeitige zur Verfügung stehen der Lesedaten RdDt3 usw. ist der Telegramm-Generator 34 in Bezug auf die mit dem Signalwort „CmdCtrl“ eingehende Transaktionsanforderung ausgestaltet, wie folgt. Das heißt, der Telegramm-Generator 34 nutzt neben dem höheren Datendurchsatz sowie der niedrigeren Latenz der Schnittstelle 37 zum CF-Speicherbaustein 40, die Übertragungszeit von DF-Opcode 101, DF-Speicheradresse 102 sowie der folgenden Don`t Care Bytes 103 als zeitlichen Puffer . Die Don`t Care Bytes werden auch als Dummy-Bits oder -Bytes bezeichnet. Der Opcode 101 wird auch op code oder operation code genannt. Der Opcode 101 gibt die Nummer eines DF-Flash-Befehls für den DF-Speicherbaustein 50 an. Alle Opcodes 101 zusammen bilden den Befehlssatz des DF-Flashspeicherbausteins 50 oder der entsprechenden DF-Flash-Speicher-Familie.In this context, the telegram generator 34 ensures that read data RdDt3 etc. are always available in the FIFO buffer 351 in a timely manner, since the microcontroller 10 (SPI master) will fetch these in the SPI clock DF_CLK specified by it. To fetch the first read data (commands MainMemoryPageRead, ContinuousArrayRead) and to ensure that the read data RdDt3 etc. are available in a timely manner, the telegram generator 34 is designed as follows with regard to the transaction request received with the signal word “CmdCtrl”. This means that in addition to the higher data throughput and the lower latency of the interface 37 to the CF memory module 40, the telegram generator 34 uses the transmission time of the DF opcode 101, DF memory address 102 and the following Don't Care Bytes 103 as a time buffer. The Don't Care Bytes are also called dummy bits or bytes. Opcode 101 is also called op code or operation code. Opcode 101 specifies the number of a DF flash command for the DF memory chip 50. All opcodes 101 together form the command set of the DF flash memory chip 50 or the corresponding DF flash memory family.

Die Vorrichtung 300 muss bei einem ContinuousArrayRead-Kommando bzw. Befehl nach 40 SPI-Takten das erste Datenbit an den Mikrocontroller 10 (1) liefern. Wird eine QSPI-Schnittstelle 41 verwendet, kann das Kommando anhand eines QSPI-basierten CF-Speicherbausteins 40 beispielsweise durch ein Kommando FastReadQuad_I/O_(OxEB) emuliert werden, wodurch der CF-Speicherbaustein 40 bereits nach 20 QSPI-Takten das erste Datenbit liefert.The device 300 must send the first data bit to the microcontroller 10 ( 1 ). If a QSPI interface 41 is used, the command can be emulated using a QSPI-based CF memory chip 40, for example by a FastReadQuad_I/O_(OxEB) command, whereby the CF memory chip 40 delivers the first data bit after just 20 QSPI clock cycles.

Das Nachladen der Folgedaten in den FIFO-Puffer 351 führt der Telegramm-Generator 34 somit stets im Voraus aus.The telegram generator 34 therefore always loads the subsequent data into the FIFO buffer 351 in advance.

Die zuvor genannten Program- und/oder Löschbefehle (Program, Erase) sind hingegen für den Telegramm-Generator 34 zeitlich unkritischer. Grund dafür ist, dass das emulierte DF-Statusregister 311 ihre Ausführung in dem CF-Speicherbaustein 40 dem Mikrocontroller 10 signalisiert. Die Signalisierung erfolgt mit einem Ready/NotBusy-Bit in dem DF-Statusregister 311.The previously mentioned program and/or erase commands (Program, Erase), on the other hand, are less time-critical for the telegram generator 34. The reason for this is that the emulated DF status register 311 signals their execution in the CF memory module 40 to the microcontroller 10. The signaling is done with a Ready/NotBusy bit in the DF status register 311.

Die im Folgenden beschriebenen Abläufe werden durch den Zustandsautomaten 341 gesteuert, der auch als Finite State Machine (FSM) bezeichnet werden kann. In 5 sind aus Übersichtlichkeitsgründen Steuersignale des Zustandsautomaten 341 an die anderen Komponenten des Telegramm-Generators 34, des Bustreibers 345 und der Daten-Sammeleinrichtung 35 weggelassen.The processes described below are controlled by the state machine 341, which can also be referred to as a Finite State Machine (FSM). In 5 For reasons of clarity, control signals from the state machine 341 to the other components of the telegram generator 34, the bus driver 345 and the data collection device 35 are omitted.

Zentrale Komponente des Telegramm-Generators 34 von 5 ist das Schieberegister 344. In dem Register 344 werden anhand verschiedener Daten die Ansteuertelegramme für den nachgeschalteten CF-Speicherbaustein 40 konstruiert und über die serielle Schnittstelle 37, genauer das Signal WDt, ausgegeben.Central component of the Telegram Generator 34 of 5 is the shift register 344. In the register 344, the control telegrams for the downstream CF memory module 40 are constructed on the basis of various data and output via the serial interface 37, more precisely the signal WDt.

Anhand der Information „CmdCtrl“ wählt der Befehls-Zuordner 343 das entsprechende CF-Kommando aus und legt den zugehörigen Binärcode im Schieberegister 344 ab. Der Adress-Zuordner 342 bildet aus der DF-Adresse eine CF-Adresse Addr_P0 usw. gemäß dem Abbildungsschema bzw. Zuordnungsschema, wie in 4 als Beispiel gezeigt und zuvor beschrieben. Im Falle von Schreibtransaktionen aus den SRAM-Puffern 321, 322 von 2, reiht das Schieberegister 344 die von dem Schreib-Multiplexer 323 kommenden Schreibdaten WrDt sukzessive in das Kommando-Telegramm des CF-Speicherbausteins 4 ein und versendet sie, bei der QSPI-Schnittstelle 37 von 5, 4-Bit-parallel über den (bidirektionalen) Ausgang von Bustreiber 345 an die Schnittstelle 41 des CF-Speicherbausteins 40. In anderen Worten, der Inhalt des Schieberegisters 344 wird „vier-bit-parallel“ über den Bustreiber 345 als Daten WDt herausgeschoben. Es werden also pro Taktimpuls des Signals CF_CLK parallel vier Datenbits geschoben.Based on the information “CmdCtrl”, the command allocator 343 selects the corresponding CF command and stores the associated binary code in the shift register 344. The address allocator 342 forms a CF address Addr_P0 etc. from the DF address according to the mapping scheme or allocation scheme as shown in 4 as an example and described previously. In case of write transactions from the SRAM buffers 321, 322 of 2 , the shift register 344 successively inserts the write data WrDt coming from the write multiplexer 323 into the command telegram of the CF memory module 4 and sends it, at the QSPI interface 37 of 5 , 4 -bit-parallel via the (bidirectional) output of bus driver 345 to the interface 41 of the CF memory chip 40. In other words, the content of the shift register 344 is shifted out "four-bit-parallel" via the bus driver 345 as data WDt. Four data bits are therefore shifted in parallel per clock pulse of the CF_CLK signal.

Im Falle von Lesetransaktionen auf dem CF-Speicherbaustein 40 schaltet der Zustandsautomat 341 die Datenrichtung des Bustreibers 345 nach Versenden des entsprechenden Lesetelegramms aus dem Schieberegister 344 an den CF-Speicherbaustein 40 um und taktet die Lesedaten RDt in den Lese-FIFO-Puffer 351 der Daten-Sammeleinrichtung 35 ein. Hierbei wird der Takt CF_CLK verwendet, während über die Signale WrEna/WrAddr der FIFO-Puffer 351 zur Einspeicherung der Lesedaten geeignet angesteuert wird. Von der Daten-Sammeleinrichtung 35 werden die Lesedaten RDt im Takt DF_CLK (2) abgeholt und als Lesedaten RdDt3 über den Lese-Multiplexer 36 an den Mikrocontroller 10 ausgegeben. Hierbei wird der FIFO-Puffer 351 über eine zweite Datenschnittstelle durch die oder mit den Signale/n RdEna/RdAddr angesteuert. Dies ist auch bereits in 1 und/oder 2 gezeigt und zuvor allgemeiner beschrieben.In the case of read transactions on the CF memory module 40, the state machine 341 switches the data direction of the bus driver 345 after sending the corresponding read telegram from the shift register 344 to the CF memory module 40 and clocks the read data RDt into the read FIFO buffer 351 of the data collection device 35. The clock CF_CLK is used here, while the FIFO buffer 351 is suitably controlled for storing the read data via the signals WrEna/WrAddr. The read data RDt is sent from the data collection device 35 at the clock DF_CLK ( 2 ) and output as read data RdDt3 via the read multiplexer 36 to the microcontroller 10. The FIFO buffer 351 is controlled via a second data interface by or with the signals RdEna/RdAddr. This is also already described in 1 and/or 2 shown and described more generally above.

Im Falle von Schreibtransaktionen auf das CF-Statusregister 43 sowie im Falle von Program- oder Löschoperationen (Erase-Operationen) wird stets das in dem Befehlsinterpreter 31 emulierte DF-Statusregister 311 aktualisiert. Hierfür setzt der Zustandsautomat 341 zur Bildung der WriteEnable- und Protection-Flags ein StatusRegister-Lesekommando bzw. Lesebefehl über das Schieberegister 344 an den CF-Speicherbaustein 40 ab.In the case of write transactions to the CF status register 43 and in the case of program or erase operations, the DF status register 311 emulated in the command interpreter 31 is always updated. For this purpose, the state machine 341 sends a status register read command or read command to the CF memory module 40 via the shift register 344 in order to form the WriteEnable and Protection flags.

Der Flash-Status-Decoder 352 zerlegt und decodiert die Antwort des CF-Speicherbausteins 40 auf ein StatusRegister-Lesekommando, um daraus die FlashStatusinfo des DF-Statusregisters 311 in dem Signal FLSt_In zu bilden. Die Beschäftigt-Kennung 31B („Busy Flag“) des DF-Statusregisters 311 erfordert hierbei jedoch besondere Behandlung. Die Kennung 31B setzt der Flash-Status-Decoder 352 in dem DF-Statusregister 311 nämlich bereits beim Absetzen eines Program- oder Erase-Kommandos an den CF-Speicherbaustein 40. Nach dem vollständigen Absenden eines dieser Kommandos bzw. Befehle, inklusive gegebenenfalls Versenden der erforderlichen Schreibdaten WDt an den CF-Speicherbaustein 40, veranlasst der Zustandsautomat 341 ein kontinuierliches Auslesen des CF-Statusregisters 43, so dass die Beschäftigt-Kennung 31B („Busy Flag“) des CF-Statusregisters 43 das Ende des Program- bzw. Erase-Vorganges in dem CF-Speicherbaustein 40 anzeigen kann.The flash status decoder 352 breaks down and decodes the response of the CF memory chip 40 to a status register read command in order to form the flash status info of the DF status register 311 in the signal FLSt_In. The busy flag 31B of the DF status register 311, however, requires special treatment. The flash status decoder 352 sets the identifier 31B in the DF status register 311 when a program or erase command is sent to the CF memory module 40. After one of these commands has been completely sent, including if necessary sending the required write data WDt to the CF memory module 40, the state machine 341 causes the CF status register 43 to be continuously read out so that the busy identifier 31B (“busy flag”) of the CF status register 43 can indicate the end of the program or erase process in the CF memory module 40.

Ansonsten ist Vorrichtung 300 gemäß dem vorliegenden Ausführungsbeispiel aufgebaut, wie bei dem vorangehenden Ausführungsbeispiel beschrieben.Otherwise, device 300 according to the present embodiment is constructed as described in the previous embodiment.

Gemäß einem dritten Ausführungsbeispiel ist die Vorrichtung 30 ausgestaltet, anstelle einer Adressumsetzung des Telegramm-Generators 34 eine kompakte Speicherung der Daten der DF-Seiten DP0, DP1, DP2 usw. im CF-Speicherbaustein 40 durchzuführen. Hierbei wird eine Adressabbildungstabelle gehalten, die auch Mapping-Tabelle genannt wird. Zudem ist eine Relokation kompletter Blöcke B0, B1 usw. des CF-Speicherbausteins 40 im Falle eines Befehls Page-Writes zum Schreiben einer Seite P0, P1 bis Pn-1 vorzunehmen.According to a third embodiment, the device 30 is designed to carry out a compact storage of the data of the DF pages DP0, DP1, DP2 etc. in the CF memory module 40 instead of an address conversion of the telegram generator 34. In this case, an address mapping table is kept, which is also called a mapping table. In addition, a relocation of complete blocks B0, B1 etc. of the CF memory module 40 is to be carried out in the case of a page write command for writing a page P0, P1 to Pn-1.

Eine derartige Ausgestaltung der Vorrichtung 30 ist im Vergleich zu dem ersten Ausführungsbeispiel jedoch zeitaufwändiger, da das Umkopieren sowie das remanente Sichern der Mapping-Tabelle viel Zeit kostet. Zudem sind das Umkopieren sowie das remanente Sichern der Mapping-Tabelle in DF-Seiten-Granularität gegebenenfalls nicht spannungsausfallsicher realisierbar.However, such a design of the device 30 is more time-consuming compared to the first embodiment, since copying and remanently saving the mapping table takes a lot of time. In addition, copying and remanently saving the mapping table in DF page granularity may not be able to be implemented in a power failure-safe manner.

Auf diese Weise kann die Vorrichtung 30 eine Speicherung von Daten 4 mit Hilfe des CF-Speicherbausteins 40 vornehmen und auf diese zum Lesen zugreifen, auch wenn die Software 12 des ansteuernden Mikrocontrollers 10 zum Speichern in den DF-Speicherbaustein 50 ausgestaltet ist.In this way, the device 30 can store data 4 using the CF memory chip 40 and access it for reading, even if the software 12 of the controlling microcontroller 10 is designed to store in the DF memory chip 50.

Ansonsten kann die Vorrichtung 30 gemäß dem vorliegenden Ausführungsbeispiel aufgebaut sein, wie bei einem der vorangehenden Ausführungsbeispiele beschrieben.Otherwise, the device 30 according to the present embodiment can be constructed as described in one of the preceding embodiments.

Alle zuvor beschriebenen Ausgestaltungen des Systems 1, der Vorrichtungen 30, 300 und des von diesen ausgeführten Verfahrens können einzeln oder in allen möglichen Kombinationen Verwendung finden. Insbesondere können alle Merkmale und/oder Funktionen der zuvor beschriebenen Ausführungsbeispiele beliebig kombiniert werden. Zusätzlich sind insbesondere folgende Modifikationen denkbar.All previously described embodiments of the system 1, the devices 30, 300 and the method carried out by them can be used individually or in all possible combinations. In particular, all features and/or functions of the previously described embodiments can be combined as desired. In addition, the following modifications are conceivable.

Die in den Figuren dargestellten Teile sind schematisch dargestellt und können in der genauen Ausgestaltung von den in den Figuren gezeigten Formen abweichen, solange deren zuvor beschriebenen Funktionen gewährleistet sind.The parts shown in the figures are schematic and may differ in their exact design from the forms shown in the figures, as long as their previously described functions are guaranteed.

Zur weiteren Kostenersparnis kann die Vorrichtung 30, 300 zumindest teilweise in einem vorhandenen CPLD oder FPGA untergebracht werden, sofern dies bei der jeweiligen Anwendung bzw. System 1 möglich ist, insbesondere auch zulässig ist.To further save costs, the device 30, 300 can be at least partially accommodated in an existing CPLD or FPGA, provided that this is possible for the respective application or system 1, in particular also permissible.

Selbstverständlich ist es möglich, dass der CF-Speicherbaustein 40 eine andere Speichergröße für die Seiten P0, P1 bis Pn-1 hat und/oder der DF-Speicherbaustein 50 eine andere Speichergröße für die Seiten DP0, DP1 usw. hat als in 4 als Beispiel gezeigt. Zudem kann die Anzahl der Seiten der Bausteine 40, 50 anders sein, als in 4 als Beispiel gezeigt und zuvor beschrieben. Der Telegramm-Generator 34 ist entsprechend ausgestaltet, um die Adressumsetzung von dem DF-Speicherbaustein 50 auf den CF-Speicherbaustein 40 vorzunehmen, wie zuvor beschrieben.Of course, it is possible that the CF memory module 40 has a different memory size for the pages P0, P1 to Pn-1 and/or the DF memory module 50 has a different memory size for the pages DP0, DP1, etc. than in 4 shown as an example. In addition, the number of sides of the building blocks 40, 50 can be different than in 4 shown as an example and described above. The telegram generator 34 is designed accordingly to carry out the address conversion from the DF memory module 50 to the CF memory module 40, as described above.

Die Anlage 3 hat gegebenenfalls zusätzlich oder alternativ mindestens eine NC-Steuerung (Numerical Control = Numerische Steuerung) und/oder mindestens eine CNC-Steuerung (Computerized Numerical Control = rechnergestützte numerische Steuerung).System 3 may additionally or alternatively have at least one NC control (numerical control) and/or at least one CNC control (computerized numerical control).

Die Anlage 3 kann eine Bewegungslogiksteuerung für beispielsweise Transportsysteme oder zur Führung von Werkzeugen, usw. sein oder aufweisen.The system 3 can be or have a motion logic control for, for example, transport systems or for guiding tools, etc.

Die industrielle Anlage 1 hat möglicherweise zusätzlich oder alternativ ein Biegewerkzeug und/oder ein Stanzwerkzeug und/oder ein Bohrwerkzeug und/oder ein Torquewerkzeug.The industrial plant 1 may additionally or alternatively have a bending tool and/or a punching tool and/or a drilling tool and/or a torque tool.

Claims (15)

Vorrichtung (30) zum Zugriff auf einen CF-Speicherbaustein (40), mit einem Befehlsinterpreter (31) zum Interpretieren eines Befehls eines Mikrocontrollers (10), der zum Zugriff auf einen DF-Speicherbaustein (50) vorgesehen ist, und einem Telegramm-Decoder (313) zum Bestimmen, ob eine mit dem Befehl des Mikrocontrollers (10) angeforderte Transaktion auf den CF-Speicherbaustein (40) wirken muss, auf den anstelle des DF-Speicherbausteins (50) mit der Vorrichtung (30) zugegriffen werden soll, oder ob der Befehl des Mikrocontrollers (10) lokal im Befehlsinterpreter (31) abgearbeitet werden kann.Device (30) for accessing a CF memory chip (40), with a command interpreter (31) for interpreting a command from a microcontroller (10) which is provided for accessing a DF memory chip (50), and a telegram decoder (313) for determining whether a transaction requested with the command from the microcontroller (10) must act on the CF memory chip (40) which is to be accessed with the device (30) instead of the DF memory chip (50), or whether the command from the microcontroller (10) can be processed locally in the command interpreter (31). Vorrichtung (30) nach Anspruch 1, wobei der Telegramm-Decoder (313) ausgestaltet ist, ein Signal (CmdCtrl) an einen Telegramm-Generator (34) auszugeben, um einen Zugriff auf den CF-Speicherbaustein (40) vorzunehmen.Device (30) according to claim 1 , wherein the telegram decoder (313) is designed to output a signal (CmdCtrl) to a telegram generator (34) in order to access the CF memory module (40). Vorrichtung (30) nach Anspruch 1 oder 2, zudem mit einer SRAM-Pufferspeichereinheit (32) zum Zwischenspeichern von Daten (4) für einen Schreibbefehl des Mikrocontrollers (10) zum Schreiben der Daten (4) in den CF-Speicherbaustein (40), einer Daten-Sammeleinrichtung (35) zum Zwischenspeichern von Daten (4) für einen Lesebefehl des Mikrocontrollers (10) zum Lesen der in dem CF-Speicherbaustein (40) gespeicherten Daten (4), und einem Lese-Multiplexer (36) zum Ausgeben der in dem CF-Speicherbaustein (40) oder in der SRAM-Pufferspeichereinheit (32) gespeicherten Daten (4) als Reaktion auf einen Lesebefehl des Mikrocontrollers (10).Device (30) according to claim 1 or 2 , further comprising an SRAM buffer memory unit (32) for temporarily storing data (4) for a write command from the microcontroller (10) to write the data (4) into the CF memory chip (40), a data collection device (35) for temporarily storing data (4) for a read command from the microcontroller (10) to read the data (4) stored in the CF memory chip (40), and a read multiplexer (36) for outputting the data (4) stored in the CF memory chip (40) or in the SRAM buffer memory unit (32) in response to a read command from the microcontroller (10). Vorrichtung (30) nach Anspruch 3, wobei die Daten-Sammeleinrichtung (35) eine FIFO-Warteschlange implementiert, so dass Daten (4), die zuerst in die Daten-Sammeleinrichtung (35) gespeichert werden, zuerst wieder aus der Daten-Sammeleinrichtung (35) heraus genommen werden.Device (30) according to claim 3 , wherein the data collection device (35) implements a FIFO queue so that data (4) which are first stored in the data collection device (35) are first taken out of the data collection device (35). Vorrichtung (30) nach einem der vorangehenden Ansprüche, zudem mit einem DF-Statusregister (311) zum Signalisieren eines Status des von dem Befehl des Mikrocontrollers (10) adressierten DF-Speicherbausteins (50), und einem Flash-Status-Decoder (352) zum Decodieren eines Status, welchen ein CF-Statusregister (43) des CF-Speicherbausteins (40) signalisiert, und zum Erzeugen, aus dem signalisierten Status des CF-Statusregisters (43), eines Signals (FL_St_In) für einen Status in dem DF-Statusregister (311).Device (30) according to one of the preceding claims, further comprising a DF status register (311) for signaling a status of the DF memory chip (50) addressed by the command of the microcontroller (10), and a flash status decoder (352) for decoding a status signaled by a CF status register (43) of the CF memory chip (40), and for generating, from the signaled status of the CF status register (43), a signal (FL_St_In) for a status in the DF status register (311). Vorrichtung (30) nach Anspruch 5, wobei der Flash-Status-Decoder (352) ausgestaltet ist, das Signal (FL_St_In) zum Schreiben in ein Bit des DF-Statusregisters (311) als Kennung (31A) zu erzeugen, welche den Status Bereit/NichtBeschäftigt anzeigt.Device (30) according to claim 5 , wherein the flash status decoder (352) is configured to generate the signal (FL_St_In) for writing to a bit of the DF status register (311) as an identifier (31A) indicating the ready/not busy status. Vorrichtung (30) nach Anspruch 5 oder 6, wobei der Flash-Status-Decoder (352) ausgestaltet ist, eine Beschäftigt-Kennung (31B) in dem DF-Statusregister (311) beim Absetzen eines Program- oder Lösch-Befehls an den CF-Speicherbaustein (40) zu setzen.Device (30) according to claim 5 or 6 , wherein the flash status decoder (352) is designed to set a busy identifier (31B) in the DF status register (311) when a program or erase command is issued to the CF memory module (40). Vorrichtung (30) nach einem der vorangehenden Ansprüche, wobei der Telegramm-Generator (34) einen Adress-Zuordner (342) aufweist zum Zuordnen einer Adresse (Addr_P0, ... Addr_Pn-1) des CF-Speicherbausteins (40) zu einer Adresse (Addr) des DF-Speicherbausteins (50), die in dem Befehl des Mikrocontrollers (10) umfasst ist.Device (30) according to one of the preceding claims, wherein the telegram generator (34) has an address allocator (342) for allocating an address (Addr_P0, ... Addr_Pn-1) of the CF memory module (40) to an address (Addr) of the DF memory module (50) which is included in the command of the microcontroller (10). Vorrichtung (30) nach Anspruch 8, zudem mit einem Flash-Adressregister (33), wobei der Befehlsinterpreter (31) ausgestaltet ist, aus dem Befehlstelegramm des Mikrocontrollers (10) ein Signal (AddrSt) für das Flash-Adressregister (33) zu extrahieren, und wobei das Flash-Adressregister (33) zur Erzeugung und Ausgabe eines Signals (Addr) an den Telegramm-Generator (34) ausgestaltet ist, wobei das Signal (Addr) die Adresse des DF-Speicherbausteins (50) aufweist, in welche die Daten (4) zu speichern sind.Device (30) according to claim 8 , also with a flash address register (33), wherein the command interpreter (31) is designed to extract a signal (AddrSt) for the flash address register (33) from the command telegram of the microcontroller (10), and wherein the flash address register (33) is designed to generate and output a signal (Addr) to the telegram generator (34), wherein the signal (Addr) has the address of the DF memory module (50) in which the data (4) are to be stored. Vorrichtung (30) nach Anspruch 8 oder 9, wobei der Telegramm-Generator (34) einen Befehls-Zuordner (343) aufweist zum Zuordnen eines Befehls für den CF-Speicherbaustein (40) zu einem Befehl für den DF-Speicherbaustein (50) aus einem von dem Mikrocontroller (10) empfangenen Befehlstelegramm (CmdTG).Device (30) according to claim 8 or 9 , wherein the telegram generator (34) has a command allocator (343) for allocating a command for the CF memory module (40) to a command for the DF memory module (50) from a command telegram (CmdTG) received from the microcontroller (10). Vorrichtung (30) nach einem der Ansprüche 8 bis 10, wobei der Telegramm-Generator (34) ein Schieberegister (344) aufweist zur Komposition und Versenden eines Befehlstelegramms (WDt) für den CF-Speicherbaustein (40).Device (30) according to one of the Claims 8 until 10 , wherein the telegram generator (34) has a shift register (344) for composing and sending a command telegram (WDt) for the CF memory module (40). Vorrichtung (30) nach einem der vorangehenden Ansprüche, wobei der Befehlsinterpreter (31) und/oder der Telegramm-Generator (34) mindestens einen der folgenden Bausteine/Elemente aufweist, nämlich UND-Gatter, NAND-Gatter, OR-Gatter, NOR-Gatter, Flipflop, ein programmierbares Logikbauelement, und wobei das programmierbare Logikbauelement ein CPLD und/oder ein Gate-Array, insbesondere ein FPGA, und/oder eine kundenspezifische integrierte Schaltung ist.Device (30) according to one of the preceding claims, wherein the command interpreter (31) and/or the telegram generator (34) has at least one of the following components/elements, namely AND gate, NAND gate, OR gate, NOR gate, flip-flop, a programmable logic component, and wherein the programmable logic component is a CPLD and/or a gate array, in particular an FPGA, and/or a customer-specific integrated circuit. Vorrichtung (30) nach einem der vorangehenden Ansprüche, zudem mit einer Schnittstelle (37) zum Anschluss der Vorrichtung (30) an den CF-Speicherbaustein (40), wobei die Schnittstelle (37) eine geringere Latenz und eine höhere Datenrate aufweist als eine Schnittstelle (20) zwischen dem Mikrocontroller (10) und der Vorrichtung (30).Device (30) according to one of the preceding claims, further comprising an interface (37) for connecting the device (30) to the CF memory module (40), wherein the interface (37) has a lower latency and a higher data rate than an interface (20) between the microcontroller (10) and the device (30). System (1), mit mindestens einer technischen Anlage (3), und einer Steuereinrichtung (5) zum Steuern einer Speicherung von Daten (4) von oder für die mindestens eine technische Anlage (3), wobei die Steuereinrichtung (5) mindestens eine Vorrichtung (30) nach einem der vorangehenden Ansprüche aufweist, wobei die mindestens eine technische Anlage (3) zur Ausführung eines Arbeitsverfahrens und/oder eines Fertigungsverfahrens ausgestaltet ist.System (1) with at least one technical system (3) and a control device (5) for controlling storage of data (4) from or for the at least one technical system (3), wherein the control device (5) has at least one device (30) according to one of the preceding claims, wherein the at least one technical system (3) is designed to carry out a work process and/or a manufacturing process. Verfahren zum Zugriff auf einen CF-Speicherbaustein (40), mit den Schritten Interpretieren, mit einem Befehlsinterpreter (31), eines Befehls eines Mikrocontrollers (10), der zum Zugriff auf einen DF-Speicherbaustein (50) vorgesehen ist, und Bestimmen, mit einem Telegramm-Decoder (313), ob eine mit dem Befehl des Mikrocontrollers (10) angeforderte Transaktion auf den CF-Speicherbaustein (40) wirken muss, auf den anstelle des DF-Speicherbausteins (50) mit der Vorrichtung (30) zugegriffen werden soll, oder ob der Befehl des Mikrocontrollers (10) lokal im Befehlsinterpreter (31) abgearbeitet werden kann.Method for accessing a CF memory chip (40), comprising the steps of interpreting, with a command interpreter (31), a command of a microcontroller (10) which is provided for accessing a DF memory chip (50), and determining, with a telegram decoder (313), whether a transaction requested with the command of the microcontroller (10) must act on the CF memory chip (40) which is to be accessed with the device (30) instead of the DF memory chip (50), or whether the command of the microcontroller (10) can be processed locally in the command interpreter (31).
DE102023203783.1A 2023-04-25 2023-04-25 DEVICE AND METHOD FOR ACCESSING A CODE FLASH MEMORY Pending DE102023203783A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102023203783.1A DE102023203783A1 (en) 2023-04-25 2023-04-25 DEVICE AND METHOD FOR ACCESSING A CODE FLASH MEMORY

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102023203783.1A DE102023203783A1 (en) 2023-04-25 2023-04-25 DEVICE AND METHOD FOR ACCESSING A CODE FLASH MEMORY

Publications (1)

Publication Number Publication Date
DE102023203783A1 true DE102023203783A1 (en) 2024-10-31

Family

ID=93015471

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102023203783.1A Pending DE102023203783A1 (en) 2023-04-25 2023-04-25 DEVICE AND METHOD FOR ACCESSING A CODE FLASH MEMORY

Country Status (1)

Country Link
DE (1) DE102023203783A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090106481A1 (en) * 2007-10-17 2009-04-23 Spansion Llc Hybrid flash memory device
US7881123B2 (en) * 2005-09-23 2011-02-01 Macronix International Co., Ltd. Multi-operation mode nonvolatile memory
US20120084491A1 (en) * 2010-10-03 2012-04-05 Eungjoon Park Flash Memory for Code and Data Storage

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7881123B2 (en) * 2005-09-23 2011-02-01 Macronix International Co., Ltd. Multi-operation mode nonvolatile memory
US20090106481A1 (en) * 2007-10-17 2009-04-23 Spansion Llc Hybrid flash memory device
US20120084491A1 (en) * 2010-10-03 2012-04-05 Eungjoon Park Flash Memory for Code and Data Storage

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Texas Instruments: EEPROM Emulation for Gen 2 C2000 TReal-Time MCUs. Applcation Report. Texas Instruments, Dallas, Texas, US, 2020.<https://www.ti.com/lit/an/sprab69a/sprab69a.pdf>(recherchiert am 11.3.2024) *

Similar Documents

Publication Publication Date Title
DE69713784T2 (en) RECONFIGURABLE COMPUTER SYSTEM
DE3586260T2 (en) MICROPROCESSOR SYSTEM.
EP0951682B1 (en) IO-AND MEMORY BUS SYSTEM FOR DFPs AND UNITS WITH TWO-OR MULTI- DIMENSIONALLY PROGRAMMABLE CELL STRUCTURES
DE69933328T2 (en) Reusable cache device and method
EP1329816A2 (en) Method for automatic dynamic unloading of data flow processors (dfp) as well as modules with bidimensional or multidimensional programmable cell structures (fpgas, dpgas or the like)
DE102004033445A1 (en) Integrated circuit device has interface to convert advanced microcontroller bus architecture format into interface format e.g. static RAM format compatible to access resources of slave chip by master chip, according to request
DE112008001679T5 (en) Cache memory with configurable associativity
DE69423077T2 (en) Control devices for non-volatile memory devices
DE102006046417A1 (en) A data processing system and method for extracting data from a OneNAND flash memory to a RAM memory device
DE69119149T2 (en) Structure for direct memory-to-memory transfer
DE602004008712T2 (en) A memory bandwidth control device
DE102018202446A1 (en) Method for modularizing a software architecture
DE3410497A1 (en) COMPUTER ARRANGEMENT
DE102023203783A1 (en) DEVICE AND METHOD FOR ACCESSING A CODE FLASH MEMORY
DE2747304A1 (en) MICRO COMMAND DEVICE
EP1548603B1 (en) Method and apparatus for controlling memory access
EP1308846B1 (en) Data Transfer Device
DE69025231T2 (en) CPU core for single-chip microcomputers
WO2006131471A1 (en) Method for carrying out the data transfer between program elements of a process, buffer object for carrying out the data transfer, and printing system
DE2902477A1 (en) DATA PROCESSING ARRANGEMENT
DE102005059593A1 (en) Method and device for switching to a memory for a control unit
DE102005040109B4 (en) Semiconductor memory chip
DE4114545C2 (en) Circuit arrangement for a microcomputer
EP1770455B1 (en) Control device and data carrier for a control device
EP1316891A1 (en) Data communication system

Legal Events

Date Code Title Description
R163 Identified publications notified