DE102016201340B4 - Konfigurierung serieller Geräte - Google Patents

Konfigurierung serieller Geräte Download PDF

Info

Publication number
DE102016201340B4
DE102016201340B4 DE102016201340.8A DE102016201340A DE102016201340B4 DE 102016201340 B4 DE102016201340 B4 DE 102016201340B4 DE 102016201340 A DE102016201340 A DE 102016201340A DE 102016201340 B4 DE102016201340 B4 DE 102016201340B4
Authority
DE
Germany
Prior art keywords
configuration
request
memory
configuration data
sda
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102016201340.8A
Other languages
English (en)
Other versions
DE102016201340A1 (de
Inventor
Daniel Harfert
Richard V. De Caro
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.)
Atmel Corp
Original Assignee
Atmel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Atmel Corp filed Critical Atmel Corp
Publication of DE102016201340A1 publication Critical patent/DE102016201340A1/de
Application granted granted Critical
Publication of DE102016201340B4 publication Critical patent/DE102016201340B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3027Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • G06F11/327Alarm or error message display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1694Configuration of memory controller to different memory types
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0002Serial port, e.g. RS232C

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Systems (AREA)
  • Storage Device Security (AREA)

Abstract

Gerät, umfassend:einen Eingang zum Empfangen einer ersten und einer zweiten Anforderung von einem seriellen Bus (SCL, SDA);einen Decoder, der mit dem Eingang gekoppelt ist und dazu konfiguriert ist, festzustellen, ob entweder die erste oder die zweite Anforderung eine Konfigurationsmodusanforderung ist;eine Steuereinheit (105), die mit dem Decoder gekoppelt ist und dazu konfiguriert ist:als Reaktion auf eine Feststellung, dass die erste Anforderung eine Konfigurationsmodusanforderung ist, einen Konfigurationsblock (112) mit Konfigurationsdaten zu programmieren, die von dem seriellen Bus (SCL, SDA) erhalten wurden, und ein Geräteverhalten gemäß den Konfigurationsdaten zu ändern; undals Reaktion auf eine Feststellung, dass die zweite Anforderung nicht eine Konfigurationsmodusanforderung ist, eine oder mehrere Aktionen auf dem Gerät gemäß der zweiten Anforderung auszuführen.

Description

  • Technischer Bereich
  • Diese Offenbarung bezieht sich allgemein auf die Konfigurierung serieller Geräte.
  • Hintergrund
  • Ein I2C-Bus (Inter-Integrated Circuit Bus) ist ein multimaster, multislave, einendiger, serieller Computerbus, der häufig für den Anschluss von Peripheriegeräten mit niedriger Geschwindigkeit (z.B. serielle Speichergeräte) an Computer-Motherboards und eingebettete Systeme verwendet wird. Das I2C-Protokoll stellt keine Mechanismen zur Änderung des internen Verhaltens eines Peripheriegeräts zur Verfügung, was dazu führt, dass unterschiedliche Versionen von seriellen Geräten für verschiedene Anwendungen hergestellt werden.
  • Aus der DE 699 31 745 T2 ist ein Verfahren zur automatischen Konfiguration von Computerperipheriegeräten bekannt. Hierfür verfügt ein Computersystem über eine spezielle Gerätekonfigurationssoftware, die ausgeführt wird, wenn ein neues Gerät installiert wird oder wenn eine Konfigurationsänderung erwünscht ist. Hierbei werden Peripherietreiberbefehle unter Verwendung eines speziellen Protokolls erzeugt, die von dem Peripheriegerät verarbeitet werden können.
  • Die US 7 043 569 B1 beschreibt ein Verfahren und ein System zur Konfiguration einer Verbindungseinrichtung über eine Konfigurationsschnittstelle. Hierbei werden in einem nicht flüchtigen Speicher vorgespeicherte Konfigurationsdaten auf Anforderung über eine spezielle Konfigurationsschnittstelle abgerufen.
  • Zusammenfassung
  • Es werden Systeme, Verfahren, Schaltungen, Geräte und computerlesbare Medien zur Konfigurierung von seriellen Geräten offenbart. Der vorliegenden Erfindung liegt die Aufgabe zu Grunde, ein verbessertes Verfahren zur Konfiguration eines Peripheriegeräts mittels eines Bussystems und ein entsprechendes Gerät zur Verfügung zu stellen. Diese Aufgabe wird mit den Merkmalen der unabhängigen Patentansprüche gelöst.
  • In manchen Implementierungen umfasst ein Gerät: Einen Eingang zum Empfangen von ersten und zweiten Anforderungen von einem seriellen Bus; einen Decoder, der mit dem Eingang gekoppelt ist und dazu konfiguriert ist, festzustellen, ob entweder die erste oder die zweite Anforderung eine Konfigurationsmodusanforderung ist; eine Steuereinheit, die mit dem Decoder gekoppelt ist und dazu konfiguriert ist: Als Reaktion auf eine Feststellung, dass die erste Anforderung eine Konfigurationsmodusanforderung ist, einen Konfigurationsblock mit Konfigurationsdaten zu programmieren, die von dem seriellen Bus erhalten wurden, und ein Geräteverhalten gemäß den Konfigurationsdaten zu ändern; und als Reaktion auf eine Feststellung, dass die zweite Anforderung nicht eine Konfigurationsmodusanforderung ist, eine oder mehrere Aktionen gemäß der zweiten Anforderung auf dem Gerät auszuführen.
  • In manchen Implementierungen umfasst ein Verfahren: Empfangen, durch das Gerät, einer ersten und einer zweiten Anforderung von einem seriellen Bus; Feststellen, durch eine Decoderschaltung, ob entweder die erste oder die zweite Anforderung eine Konfigurationsmodusanforderung ist; als Reaktion auf eine Feststellung, dass die erste Anforderung eine Konfigurationsmodusanforderung ist: Programmieren, durch die Steuereinheit des Geräts, eines Konfigurationsblocks mit Konfigurationsdaten, die von dem seriellen Bus erhalten werden, und Ändern, durch die Steuereinheit des Geräts, eines Geräteverhaltens gemäß den Konfigurationsdaten; und als Reaktion auf eine Feststellung, dass die zweite Anforderung nicht eine Konfigurationsmodusanforderung ist: Durchführen, durch eine Steuereinheit des Geräts, von einer oder mehreren Aktionen gemäß der zweiten Anforderung.
  • In manchen Implementierungen hat ein nicht-transitorisches, computerlesbares Speichermedium Anweisungen gespeichert, die bei ihrer Ausführung durch einen oder durch mehrere Prozessoren eines Geräts den einen oder die mehreren Prozessoren des Geräts dazu veranlassen, Operationen auszuführen, die umfassen: Empfangen, durch das Gerät, einer ersten und einer zweiten Anforderung von einem seriellen Bus; Feststellen, durch eine Decoderschaltung, ob entweder die erste oder die zweite Anforderung eine Konfigurationsmodusanforderung ist; als Reaktion auf eine Feststellung, dass die erste Anforderung eine Konfigurationsmodusanforderung ist: Programmieren, durch die Steuereinheit des Geräts, eines Konfigurationsblocks mit Konfigurationsdaten, die von dem seriellen Bus erhalten werden, und Ändern, durch die Steuereinheit des Geräts, eines Geräteverhaltens gemäß den Konfigurationsdaten; und als Reaktion auf eine Feststellung, dass die zweite Anforderung nicht eine Konfigurationsmodusanforderung ist: Durchführen, durch eine Steuereinheit des Geräts, von einer oder von mehreren Aktionen gemäß der zweiten Anforderung.
  • Kurze Beschreibung der Zeichnungen
    • 1 ist ein konzeptionelles Blockdiagramm eines seriellen Speichergeräts mit einem Konfigurationsmodus.
    • 2A und 2B zeigen beispielhafte Schreibübertragungssequenzen zum Schreiben auf ein serielles Speichergerät.
    • 2C und 2D zeigen beispielhafte Leseübertragungssequenzen zum Lesen eines seriellen Speichergeräts.
    • 3 ist ein Flussdiagramm eines Beispielprozesses zur Konfigurierung eines seriellen Speichergeräts.
  • Detaillierte Beschreibung
  • Die vorliegende Beschreibung ist ein beispielhaftes serielles Gerät, das einen Konfigurationsmodus zur Änderung des internen Verhaltens des seriellen Geräts enthält. In diesem Beispiel ist das serielle Gerät ein EEPROM (Electrically Erasable and Programmable Read-Only Memory), auf das durch ein Mastergerät über einen seriellen Bus unter Verwendung des I2C-Protokolls zugegriffen wird. Die offenbarten Implementierungen können an andere serielle Geräte oder serielle Protokolle angepasst werden, wenn es gewünscht ist, das interne Verhalten eines seriellen Geräts zu ändern.
  • Beispielarchitektur eines seriellen Geräts
  • 1 ist ein konzeptionelles Blockdiagramm eines seriellen Speichergeräts 100, das einen Konfigurationsmodus hat. In manchen Implementierungen kann das serielle Speichergerät 100 ein Speicherfeld 101, einen Start/Stopp-Detektor 102, ein Schreibschutzsteuermodul 103, einen POR (power-on-reset)-Generator 104, ein Speichersystemsteuermodul (memory system control module, MSCM) 105, eine Hochspannungserzeugungsschaltung 106, ein Eingabe/Ausgabe-Steuermodul 107, Adressregister und Zähler 108, einen Hardware-Adresskomparator 109 und einen Sensor 113 enthalten.
  • Das Speicherfeld 101 besteht aus Bits des EEPROM. Daten werden in das Speicherfeld 101 geschrieben und aus diesem gelesen, indem Spalten- und Zeilendecoder 114, 115 verwendet werden. Das EEPROM ist ein nicht flüchtiger Speicher, was bedeutet, dass die Daten nach Abschalten der Stromversorgung erhalten bleiben. Das Speicherfeld 101 kann in eine Reihe von Speicherzonen aufgeteilt werden, wie dies untenstehend im Einzelnen beschrieben wird.
  • Der Start/Stopp-Detektor 102 überwacht den Zustand der Datenleitung (SDA) und der Taktleitung (SCL), um nach Start- und Stopp-Signalen Ausschau zu halten. SDA und SCL umfassen einen seriellen Bus. Starts und Stopps sind in dem I2C-Protokoll als Änderungen auf der SDA-Leitung definiert, wenn SCL high ist.
  • Die Schreibschutzsteuerung 103 überwacht den Zustand des Schreibschutzeingangs (WP-Anschluss) und leitet dieses Zustand an MSCM 105 weiter. MSCM 105 verwendet die WP-Eingabe, um zu entscheiden, ob eine gegebene Schreiboperation auf dem Speicherfeld 101 erlaubt oder abgebrochen werden soll.
  • Der POR-Generator 104 ist eine Schaltung, die verhindert, dass das serielle Speichergerät 100 im falschen Zustand hochfährt. Der POR-Generator 104 wird verwendet, um verschiedene Schaltungen in dem seriellen Speichergerät 100 in einen sicheren Default-Zustand zu versetzen. Der POR-Generator 104 überwacht den Zustand der Versorgungsspannung VCC. Der POR-Generator 104 ist dazu ausgelegt, das serielle Speichergerät 100 in einen zurückgesetzten Zustand zu versetzen und diesen bei einem VCC-Pegel zu beenden, bei dem andere Schaltungen des seriellen Speichergeräts 100 sicher und korrekt arbeiten können.
  • MSCM 105 steuert Funktionen des seriellen Speichergeräts 100 mit einer (nicht dargestellten) Zustandsmaschine. MSCM 105 empfängt Eingaben von anderen Schaltungen in dem seriellen Speichergerät 100, um festzustellen, wie das serielle Speichergerät 100 auf verschiedene Ereignisse reagieren oder nicht reagieren soll.
  • Die Hochspannungserzeugungsschaltung 106 vervielfacht die VCC-Pegeleingabe auf einen oder mehrere höhere Pegel, die durch die Decodierungsschaltung (Zeilendecoder, Spaltendecoder) am Speicherfeld 101 verwendet werden sollen. Das Schreiben und Löschen des Speicherfelds 101 erfordert eine Spannung, die höher ist als die durch VCC zur Verfügung gestellte.
  • Das Eingabe/Ausgabe-Steuermodul 107 empfängt das aktuelle Bit, das von der SDA-Leitung in das serielle Speichergerät 100 hereinkommt, und das aktuelle Bit, das das serielle Speichergerät 100 über die SDA-Leitung herausschiebt. Ausgehende Daten werden von dem Datenregister 110 an die SDA-Leitung geschoben. Eingehende Daten werden von der SDA-Leitung aufgefangen und an das Datenregister 110 gesendet.
  • Adressregister und Zähler 108 umfassend ein Register, das die aktuelle Speicheradresse hält, auf die zugegriffen wird, und zeigt auf die nächste Speicheradresse (N+1) für nachfolgende Speicherzugriffsoperationen.
  • Der Hardware-Adresskomparator 109 überwacht den Zustand der Hardware-Adressanschlüsse (A0, A1 und A2). Diese Zustände werden an MSCM 105 gesendet, welches diese Werte mit den Werten vergleicht, die auf dem SDA-Bus während des anfänglichen Zugriffs auf das Gerät 100 aufgefangen wurden, um festzustellen, ob das Protokoll auf dem seriellen Bus für das Gerät 100 bestimmt ist.
  • Gemäß dem I2C-Protokoll kann ein (nicht dargestelltes) Mastergerät einen Speicherzugriffsbefehl (eine Lese- oder Schreibanforderung) an das serielle Speichergerät 100 senden, um das Speicherfeld 101 zu schreiben oder zu lesen. Für eine Schreibanforderung, und nach einem START-Signal, sendet das Mastergerät auf dem seriellen Bus die Adresse für das Speichergerät 100 mit einem gelöschten Richtungsbit (Schreiben), gefolgt von einer Zwei-Byte-Speicheradresse. Das Mastergerät sendet dann Datenbytes an das serielle Speichergerät 100, die in das Speicherfeld 101 geschrieben werden sollen, beginnend an der Zwei-Byte-Speicheradresse, gefolgt von einem STOPP-Signal. Wenn mehrere Bytes geschrieben werden, liegen die Bytes in der gleichen n-Byte-Seite (z.B. 32-Byte-Seite). Während das serielle Speichergerät 100 diese Bytes in das Speicherfeld 101 speichert, antwortet das serielle Speichergerät 100 nicht auf weitere I2G-Anforderungen von dem Mastergerät oder anderen Mastergeräten.
  • Für eine Leseanforderung, und nach einem START-Signal, schreibt das Mastergerät die Adresse des Speichergeräts 100 mit einem gelöschten Richtungsbyte (Schreiben) und dann die zwei Bytes der Speicherdatenadresse. Das Mastergerät sendet dann ein wiederholtes START-Signal und die Adresse des Speichergeräts 100 mit gesetztem Richtungsbit (Lesen). Das serielle Speichergerät 100 antwortet dann mit den Datenbytes beginnend an der angegebenen Speicheradresse. Das Mastergerät gibt mit Ausnahme des letzten Bytes nach jedem gelesenen Byte ein ACK aus und gibt dann ein STOPP-Signal aus. Das serielle Speichergerät 100 erhöht die Adresse nach jedem übertragenen Datenbyte. Mehrfachbyte-Leseoperationen können den gesamten Inhalt des Speicherfelds 101 unter Verwendung einer kombinierten Nachricht abrufen.
  • Konfigurationsmodus
  • In manchen Implementierungen ist das serielle Speichergerät 100 dazu konfiguriert, einen Konfigurationsmodus auf dem seriellen Speichergerät 100 zu implementieren, der es ermöglicht, bestimmte Verhaltensweisen des Geräts durch Schreibanforderungen zu ändern, ohne externe hohe Spannungen (z.B. 10V+) zu benötigen. Beispiele für Verhaltensweisen des Geräts, die im Konfigurationsmodus geändert werden können, umfassen, sind aber nicht beschränkt auf: Speicherfeldschutz, Sperren der gegenwärtigen Konfiguration, Sperren der Hardware-Adressanschlüsse, Sperren des Konfigurationsmodus, UVLO (under-voltage lock out)-Steuerung und Gerätezustandsreporting. In manchen Implementierungen ist der Konfigurationsmodus durch einen Konfigurationsblock 112 implementiert, der in einem Teil des Speicherfelds 101 befindlich ist, der während einer Schreibanforderung unter Verwendung eines ausgewählten seriellen Protokolls (z.B. I2C) programmiert werden kann, wie dies im Zusammenhang mit den 2A und 2B beschrieben wurde. In manchen Implementierungen kann der Konfigurationsblock 112 ein oder mehrere Konfigurationsregister enthalten, abhängig von den Anwendungen, die auf dem Gerät ausgeführt werden sollen. In manchen Implementierungen handelt es sich bei dem einen oder den mehreren Konfigurationsregister(n) um n-Bit (z.B. 16 Bit) nicht flüchtige Lese/Schreib-Register.
  • Die Speicherfeldschutzfunktion kann für einen herkömmlichen Schutzmodus oder einen verbesserten Schutzmodus eingestellt werden. Im herkömmlichen Schutzmodus kann das ganze Speicherfeld schreibgeschützt werden. Im verbesserten Schutzmodus wird das Speicherfeld in Speicherzonen aufgeteilt, wobei jede Speicherzone ein zugehöriges Register hat, das gesetzt werden kann, um auf Eingaben an dem Schreibschutzanschluss (WP, write protection) für die Speicherzone zu reagieren, oder gesetzt werden kann, um die Speicherzone dauerhaft auf nur Lesezugriffe zu setzen (unabhängig von den Eingaben an dem WP-Anschluss). Die Funktion zur Sperrung der gegenwärtigen Konfiguration kann gesetzt werden, um neue Schreibzugriffe auf den Konfigurationsblock zu sperren. Die Funktion zur Sperrung der Hardware-Adressanschlüsse kann gesetzt werden, so dass das serielle Speichergerät 100 auf alle möglichen Hardware-Adressstellen auf dem seriellen Bus antwortet. Die Funktion zur Sperrung des Konfigurationsmodus kann gesetzt werden, um den Konfigurationsmodus auf dem seriellen Speichergerät 100 permanent zu sperren, indem die Antwort auf Schreibanforderungen auf dem Bus gesperrt wird, die das serielle Speichergerät 100 in den Konfigurationsmodus versetzen würde.
  • Die UVLO-Steuerfunktion kann implementiert werden, indem ein oder mehrere Register in dem Konfigurationsblock 112 mit einem Versorgungsspannungsdetektionsschwellwert geladen werden, der bei Nichterreichen durch die Versorgungsspannung verschiedene Gerätefunktionen ein- oder ausschaltet (z.B. Lese- oder Schreibanforderungen auf dem Speicherfeld 101 sperrt), abhängig davon, wie der Schwellwert gesetzt wurde. In manchen Implementierungen ist der Sensor 113 (z.B. ein Spannungskomparator) zwischen die Versorgungsspannung VCC und MSCM 105 geschaltet. Wenn die Versorgungsspannung VCC unter den Versorgungsspannungsdetektionsschwellwert fällt (z.B. ein Benutzer-programmierbarer Wert, der in dem Konfigurationsblock 112 gespeichert ist und durch MSCM 105 an den Sensor 113 geliefert wird), wird das serielle Speichergerät 100 in den UVLO-Steuermodus versetzt. In manchen Implementierungen kann der Sensor 113 in dem POR-Generator 104 enthalten sein. Der Grad der Empfindlichkeit der Schwelle (z.B. die Zahl der programmierbaren Pegel) kann entwurfsabhängig variieren, um verschiedene Anwendungsanforderungen zu erfüllen.
  • Die Funktion zum Berichten des Gerätezustands kann ein oder mehrere Register des Konfigurationsblocks 112 verwenden, um verschiedene Gerätezustände zu berichten. Beispiele für Gerätezustände enthalten, sind aber nicht beschränkt auf, Berichte, wenn das serielle Speichergerät 100 beschäftigt ist (z.B. beschäftigt mit Lesen oder Schreiben), fertig oder anderweitig nicht in der Lage ist, aktiv zu werden. In manchen Implementierungen kann der Zustand einer Fehlerkorrektureinheit berichtet werden, wie z.B. Berichte darüber, ob die letzte ausgeführte Lese- oder Schreiboperation den Fehlerkorrekturmechanismus des seriellen Speichergeräts 100 aktiviert hat, oder den Zustand eines monotonen Zählers, der die Zahl der Fehlerkorrekturereignisse über die Lebensdauer des seriellen Speichergeräts 100 verfolgt. Die Zahl der Register (z.B. 8 Bit-Register in dem Konfigurationsblock 112), die erforderlich sind, um die obigen Funktionen zu implementieren, hängen von der Zahl der implementierten Funktionen ab. Die UVLO-Steuerfunktion kann z.B. mit einem einzigen dedizierten 8 Bit-Register implementiert werden. Zusätzlich kann die Größe des Speicherfelds 101 oder die Größe der Speicherzonen die geeignete Zahl von Zonenschutzregistern bestimmen, wie dies untenstehend im Zusammenhang mit den 2A und 2B beschrieben wird.
  • Beispielhafte Lese/Schreib-Übertragungssequenzen im Konfigurationsmodus
  • 2A und 2B zeigen beispielhafte Schreib-Übertragungssequenzen für ein serielles Busprotokoll, das einen Konfigurationsmodus in dem seriellen Speichergerät 100 implementiert. In den dargestellten Beispielen handelt es sich bei dem seriellen Busprotokoll um I2C. Die Beispieloperationen können an andere serielle Busprotokolle angepasst werden, abhängig von der Anwendung.
  • In manchen Implementierungen erfolgt der Zugriff auf die Register in dem Konfigurationsblock 112 über die Verwendung von Geräteadressbytes, die sich von dem Adressbyte unterscheiden, die für den Zugriff auf das Speicherfeld 101 verwendet werden. Jeder hexadezimale Geräteadressenwert kann verwendet werden, obwohl es wünschenswert ist, eine auszuwählen, der nicht mit anderen Geräteadressen auf dem seriellen Bus kollidiert. Für eine maximale Flexibilität können die vier höchstwertigen Bits (MSB) der Geräteadresse in Firmware modifiziert werden. Um die Möglichkeit einer Kollision zu reduzieren, kann die Geräteadresse 6h für serielle Speichergeräte (z.B. EEPROM-Geräte) ein Default-Wert sein, da andere serielle Speichergeräte diesen Wert für andere Zwecke verwendet haben. Die Modifikation der Firmware ermöglicht es, serielle Speichergeräte z.B. durch einen Herstellen zu modifizieren, wenn dies erforderlich ist, um einen Systemkonflikt zu vermeiden, wenn dieser in Anwendungen auftreten würde.
  • Nachdem das Geräte-Adressbyte durch ein Mastergerät auf dem seriellen Bus gesendet wurde, kann das folgende Beispielprotokoll entweder dem Format <Geräteadresse + Registeradresse + Registerdaten (Lesen/Schreiben» oder dem Format <Geräteadresse + Registerdaten (Lesen/Schreiben)> folgen. Die Auswahl von einem dieser Formate kann von der Zahl der Konfigurationsregister in dem Konfigurationsblock 112 abhängigen, die durch die Anwendung verwendet werden. In einer Beispielimplementierung, in der nur ein oder zwei Register in dem Konfigurationsblock 112 verwendet werden, kann das <Geräteadresse + Registerdaten (LesenISchreiben)> Format verwendet werden, wobei der gesamte Konfigurationsregisterinhalt verwendet werden kann, um bei jeder Bustransaktion zu lesen oder zu schreiben. Wenn es mehr als nur ein paar Konfigurationsregister (z.B. mehr als zwei) gibt, dann kann ein <Geräteadresse + Registeradresse + Registerdaten (Lesen/Schreiben)> verwendet werden, um die Größe der Bustransaktionen zu minimieren und um einen schnellen Zugriff auf die gewünschten Registerinhalte zu ermöglichen.
  • Bezug nehmend auf die 2A-2D kann in manchen Implementierungen auf den Konfigurationsblock 112 in einer n-Byte (z.B. 4-Byte)-Übertragungssequenz zugegriffen werden, die ein oder mehrere Register in dem Konfigurationsblock 112 mit einer oder mit mehreren Schreibanforderungen programmiert, wobei eines der beiden oben beschriebenen Beispielprotokollformate verwendet wird. Das Lesen von einem oder von mehreren Registern in dem Konfigurationsblock 112 kann durch Setzen eines Adresszeigers auf ein Adressregister mit einer ersten „Dummy“-Schreibsequenz erfolgen. 2A zeigt eine Schreibübertragungssequenz, die das Beispielprotokollformat <Geräteadresse + Registerdaten (Schreiben)> verwendet, 2B zeigt eine Schreibübertragungssequenz unter Verwendung des Beispielprotokollformats εGeräteadresse + Registeradresse + Registerdaten (Schreiben)>, 2C zeigt eine Leseübertragungssequenz unter Verwendung des Beispielprotokollformats <Geräteadresse + Registerdaten (Lesen)> und 2D zeigt eine Leseübertragungssequenz unter Verwendung des Beispielprotokollformats <Geräteadresse + Registeradresse + Registerdaten (Lesen)>.
  • Die Schreibübertragungssequenz beginnt mit einem Geräteadressbyte, das durch ein Mastergerät auf die SDA-Leitung geschoben wird, gefolgt von einem START-Signal auf dem seriellen Bus, das durch das Mastergerät erzeugt wird. Das Geräteadressbyte beginnt mit den Bits <0110> (6h), gefolgt von drei Hardware-Adressbits <A2A1A0>, die mit den Werten des Zustands der A2-, A1-, A0-Anschlüsse des seriellen Speichergeräts 100 übereinstimmen, das in 1 dargestellt ist. Das niederwertigste Bit (LSB) ist ein Richtungsbit, das eine Lese- oder Schreibanforderung angibt. Jedes Bit in der Übertragungssequenz wird seriell auf der SDA-Leitung gesendet, ein Bit pro SCL-Impuls. Bei Geräten, bei denen manche der Hardware-Adressanschlüsse nicht vorhanden sind, werden die Hardware-Adressbits auf logisch „0“ in der Übertragungssequenz gesetzt. Logisch „0“ wird sowohl für die Leserichtung als auch die Schreibrichtung im Konfigurationsblock 112 verwendet. Im Falle eines Lesezugriffs kann logisch „0“ als Teil einer „Dummy“-Schreibübertragungssequenz verwendet werden, um den Adresszeiger im Adressregister 108 zu setzen.
  • Die nächsten n-Bytes in der Schreibübertragungssequenz werden durch das implementierte Protokollformat bestimmt. Wenn es eine große Zahl von Konfigurationsregistern gibt, die adressiert werden müssen, kann es wünschenswert sein, das im Zusammenhang mit den 2B und 2D beschriebene Protokoll zu implementieren. In diesem Fall sind, nachdem das Geräteadressbyte gesendet wurde, die nächsten n-Bytes in der Übertragungssequenz die n-Konfigurationsregisteradressbytes. Das letzte Byte ist schließlich das Datenwortbyte oder die Datenwortbytes, das/die ausgelesen werden soll(en), oder das/die Datenwortbyte oder -bytes, das/die geschrieben werden soll(en). Das Datenwortbyte oder die Datenwortbytes enthalten Konfigurationsdaten und können z.B. wie in Tabelle I beschrieben ist, definiert werden.
  • Wenn es eine kleine Zahl von zu adressierenden Konfigurationsregistern gibt (z.B. weniger als 3 Konfigurationsregister), kann es wünschenswert sein, das Beispielprotokoll zu implementieren, das im Zusammenhang mit den 2A und 2C beschrieben wurde. In diesem Fall sind, nachdem das Geräteadressbyte gesendet wurde, die nächsten n-Bytes in der Übertragungssequenz die zu lesenden oder zu schreibenden Datenwortbytes. Beim Lesen können die Register zusammenhängend gelesen werden, wobei ihre Zustände bei jedem Leseereignis aktualisiert werden.
  • Ein Beispiel für Konfigurationsdaten ist untenstehend in Tabelle I dargestellt. Tabelle I - Beispielkonfigurationsdaten
    Registeradresse Bit Funktionsname Beschreibung
    000h 7 RFU reserviert 0 bit hat keine Funktion, wird stets als Null gelesen
    6 ECS Aktueller Zustand 0 VCC über der Schwelle
    Unterspannungsdetektor 1 VCC unter der Schwelle
    5 ECS Aktueller Zustand 0 Fehlerkorrektur nicht aktiv
    Fehlerkorrektur 1 Fehlerkorrektur aktiv
    4 PRT Schreibschutz- 0 Herkömmlicher Schutz
    verhalten 1 Verbesserter Schutz
    3 DCFG Konfigurations- 0 Gerät bestätigt 6h Byte
    modus gesperrt 1 Gerät bestätigt 6h Byte nicht
    2 FRZR Zonenregister gesperrt 0 Zonenregister kann geschrieben werden
    1 Zonenregister kann nur gelesen werden
    1 FRCR Konfigurationsmodus gesperrt 0 Konfigurationsblock freiqeschaltet
    1 Konfiqurationsblock gesperrt
    0 DHA Hardware-Adressierung 0 Decodiere HW Adressanschlüsse
    gesperrt 1 ACK für alle HW Slave-Adressen
    0001 h 7:4 UVLO Unterspannungsabschaltung Programmierbare Pegel für UVLO-Funktion. Kann 16 verschiedene Werte annehmen oder auf verschiedene Operationen aufgeteilt werden (z.B. 8 Pegel für Lese-Steuerung und 8 Pegel für Schreib-Steuerung)
    3:0 RFU reserviert 0 - Bit hat keine Funktion; wird stets als Null gelesen
    0002h-0003h 7:0 ECC-Zähler Monotoner Zählerwert Zählt die Fehlerkorrekturereignisse der ECC-Engine; zählen mit 2 Bytes umfasst 65K Ereignisse, kann aber wachsen; 3 Bytes ergeben 16.7M Ereignisse
    0004h-max von 0204h 7:0 ZPR Zonenschutzregister 00h Zonen, in die das Gerät logisch aufgeteilt ist
    F0h
    0Fh
    FFh
  • In dieser Beispielkonfiguration entsprechen die an der Adresse 0004h beginnenden Daten den 16Kb-Speicherzonen, in die das Speicherfeld 101 logisch segmentiert ist. Die Speicherzonen können mit einem auf 1 basierenden Zähler aufgezählt werden. Ein 64Kb-Gerät hat z.B. 4 Speicherzonen und das Verhalten dieser Speicherzonen hängt ab von den Werten in den Adressen 0004h, 0005h, 0006h und 0007h, wenn der gesamte Inhalt der Tabelle I implementiert wird. Die untenstehende Tabelle II gibt die Zahl der Speicherzonen in jeder Dichte an. Tabelle II - Beispielzahlen der Speicherzonen in jeder Dichte (basierend auf 64Kb/Zone)
    64Kb 128Kb 256Kb 512Kb 1Mb 2Mb 4Mb 8Mb
    4 Zonen 8 Zonen 16 Zonen 32 Zonen 64 Zonen 128 Zonen 256 Zonen 512 Zonen
  • In der Beispielkonfiguration der Tabelle I haben die Zonenschutzregister vier mögliche Werte: 00h, F0h, 0Fh und FFh. Die Zonenschutzregister können programmiert werden, um das Verhalten einer entsprechenden Speicherzone zu modifizieren. Ein oder mehrere Schutzzonenregister können dazu vorgesehen sein, den Einfluss des WP-Anschlusses auf die zugehörige Zone zu beeinflussen, oder zu berichten, ob die entsprechende Speicherzone auf Nur-Lesen gesetzt ist, oder nicht. Um die Menge der Zonenschutzregister zu reduzieren, können ein oder mehrere Zonenschutzregister sowohl die WP-Eingabe und Nur-Lesesteuerwerte in dem gleichen Byte berichten. In manchen Implementierungen kann das obere Halbbyte des Zonenschutzregisters das Hardware-Schutzverhalten der entsprechenden Speicherzone steuern. Das untere Halbbyte des Zonenschutzregisters kann steuern, ob die entsprechende Speicherzone auf Nur-Lesen gesetzt wurde. Die untenstehende Tabelle III definiert das Verhalten der einzelnen Zonenschutzregister in einer Implementierung, in der der Einfluss der WP-Eingabe und die Nur-Lesezustände innerhalb des gleichen Bytes enthalten sind. Tabelle III - beispielhafte Zonenschutzregisterkonfigurationen
    Registeradresse Oberes Halbbyte Unteres Halbbyte Beschreibung des Verhaltens
    Alle Registeradressen 0 0 HW WP nicht gesetzt; Zone kann nur gelesen werden
    0 F HW WP nicht gesetzt; Zone kann nur gelesen werden
    F 0 HW WP gesetzt; Zone kann gelesen und geschrieben werden
    F F HW WP gesetzt; Zone kann gelesen und geschrieben werden
  • Beispielhafter Konfigurationsmodusprozess
  • 3 ist ein Flussdiagramm eines Beispielprozesses 300 zur Konfigurierung eines seriellen Geräts. In manchen Implementierungen kann der Prozess 300 durch Empfangen einer Anforderung von einem seriellen Bus beginnen (302). Das serielle Gerät kann z.B. ein serielles Speichergerät sein und der Bus kann ein I2C-Bus sein. Die Anforderung kann eine n-Byte (z.B. 4 Byte)-Übertragungssequenz enthalten, die durch ein Mastergerät auf dem seriellen Bus gesendet wird. Der Konfigurationsblock kann in einem Speicherfeld implementiert sein und kann ein oder mehrere Konfigurations-Lese/Schreibregister enthalten.
  • Der Prozess 300 kann fortgesetzt werden, indem festgestellt wird, dass die Anforderung eine Anforderung zum Lesen oder Schreiben des Konfigurationsblocks ist (304). Die durch das Mastergerät gesendete Übertragungssequenz kann z.B. ein Geräteadressbyte enthalten, das einen Satz von Bits enthält, die durch das serielle Gerät verwendet werden können, um ein Lesen oder Schreiben auf dem Konfigurationsblock zu identifizieren.
  • Der Prozess 300 kann fortgesetzt werden, indem der Konfigurationsblock mit Konfigurationsdaten programmiert wird (306). Das Geräteadressbyte kann z.B. von einem Zwei-Byte-Speicheradressbyte eines Konfigurationsregisters in dem Konfigurationsblock gefolgt werden. Das Speicheradressbyte kann von einem Datenbyte gefolgt werden, das die Konfigurationsdaten enthält.
  • Der Prozess 300 kann fortgesetzt werden, indem das Geräteverhalten gemäß den Konfigurationsdaten geändert wird (308). Eine Steuereinheit (Zustandsmaschine) kann z.B. die Konfigurationsdaten von dem Konfigurationsblock lesen und eine Aktion ausführen, die das Verhalten des seriellen Geräts gemäß den Konfigurationsdaten ändert. Beispiele für Verhaltensweisen des Geräts, die in dem Konfigurationsmodus geändert werden können, umfassen, sind aber nicht begrenzt auf: Speicherfeldschutz, Sperren der aktuellen Konfiguration, Sperren der Hardware-Adressanschlüsse, Sperren des Konfigurationsmodus, UVLO und Berichten des Gerätezustands (z.B. Schreiben oder Fehlerkorrektur in Gange).

Claims (23)

  1. Gerät, umfassend: einen Eingang zum Empfangen einer ersten und einer zweiten Anforderung von einem seriellen Bus (SCL, SDA); einen Decoder, der mit dem Eingang gekoppelt ist und dazu konfiguriert ist, festzustellen, ob entweder die erste oder die zweite Anforderung eine Konfigurationsmodusanforderung ist; eine Steuereinheit (105), die mit dem Decoder gekoppelt ist und dazu konfiguriert ist: als Reaktion auf eine Feststellung, dass die erste Anforderung eine Konfigurationsmodusanforderung ist, einen Konfigurationsblock (112) mit Konfigurationsdaten zu programmieren, die von dem seriellen Bus (SCL, SDA) erhalten wurden, und ein Geräteverhalten gemäß den Konfigurationsdaten zu ändern; und als Reaktion auf eine Feststellung, dass die zweite Anforderung nicht eine Konfigurationsmodusanforderung ist, eine oder mehrere Aktionen auf dem Gerät gemäß der zweiten Anforderung auszuführen.
  2. Gerät nach Anspruch 1, des Weiteren umfassend: ein Speicherfeld (101), das den Konfigurationsblock (112) enthält, und wobei, wenn die Anforderung nicht eine Konfigurationsanforderung ist, die Steuereinheit (105) eine oder mehrere Speicheroperationen auf dem Speicherfeld (101) gemäß der Anforderung ausführt.
  3. Gerät nach Anspruch 1, wobei der Konfigurationsblock (112) dazu konfiguriert ist, einen Gerätezustand an ein anderes Gerät über den seriellen Bus (SCL, SDA) zu berichten.
  4. Gerät nach Anspruch 1, wobei der serielle Bus (SCL, SDA) konform ist zu dem I2C [Inter-Integrated Circuit]-Busprotokoll.
  5. Gerät nach Anspruch 2, wobei der Konfigurationsblock (112) des Weiteren umfasst: ein Basiskonfigurationsregister zum Speichern von ersten Konfigurationsdaten zur Konfigurierung des Geräts; und ein oder mehrere zusätzliche Register, die einer oder mehreren Speicherzonen des Speicherfelds (101) entsprechen, wobei das eine oder die mehreren zusätzlichen Register zweite Konfigurationsdaten speichern, die ein Schreibschutzschema der zugehörigen einen oder mehreren Speicherzonen angeben.
  6. Gerät nach Anspruch 2, des Weiteren umfassend: einen Sensor (113), der mit einer Versorgungsspannung (Vcc) und der Steuereinheit (105) gekoppelt ist, wobei der Sensor (113) dazu konfiguriert ist, einen Unterspannungszustand des Geräts auf Basis von Konfigurationsdaten in dem Konfigurationsblock (112) zu erfassen.
  7. Gerät nach Anspruch 2, des Weiteren umfassend: ein Schreibschutzsteuermodul (103), das mit der Steuereinheit (105) gekoppelt ist und dazu konfiguriert ist, einen Schreibschutz auf dem Speicherfeld (101) gemäß den Konfigurationsdaten in dem Konfigurationsblock (112) durchzusetzen.
  8. Gerät nach Anspruch 3, wobei der Gerätezustand den Status von einer Speicherzugriffsoperation auf dem Speicherfeld (101), einer Fehlerkorrekturoperation, oder einen Zählerwert von Fehlerkorrekturlebensdauerereignissen mit einem monotonen Zähler (109) angibt.
  9. Verfahren zur Konfigurierung eines Geräts (100), umfassend: Empfangen (302), durch das Gerät (100), einer ersten und einer zweiten Anforderung von einem seriellen Bus (SCL, SDA); Feststellen (304), durch eine Decoderschaltung, ob entweder die erste oder die zweite Anforderung eine Konfigurationsmodusanforderung ist; als Reaktion auf eine Feststellung, dass die erste Anforderung eine Konfigurationsmodusanforderung ist: Programmieren (306), durch die Steuereinheit (105) des Geräts (100), eines Konfigurationsblocks (112) mit Konfigurationsdaten, die von dem seriellen Bus (SCL, SDA) erhalten wurden, und Ändern (308), durch die Steuereinheit (105) des Geräts (100), eines Geräteverhaltens gemäß den Konfigurationsdaten; und als Reaktion auf eine Feststellung, dass die zweite Anforderung nicht eine Konfigurationsmodusanforderung ist: Durchführen, durch eine Steuereinheit (105) des Geräts (100), von einer oder mehreren Aktionen gemäß der zweiten Anforderung.
  10. Verfahren nach Anspruch 9, des Weiteren umfassend: Durchführen, durch die Steuereinheit (105) des Geräts (100), von einer oder von mehreren Speicheroperationen auf einem Speicherfeld (101) des Geräts (100) gemäß der Anforderung.
  11. Verfahren nach Anspruch 9, wobei der Konfigurationsblock (112) dazu konfiguriert ist, einen Gerätezustand an ein anderes Gerät über den seriellen Bus (SCL, SDA) zu berichten.
  12. Verfahren nach Anspruch 9, wobei der serielle Bus (SCL, SDA) konform ist mit dem I2C [Inter-Integrated Circuit]-Busprotokoll.
  13. Verfahren nach Anspruch 10, des Weiteren umfassend: Speichern von ersten Konfigurationsdaten in einem Basisregister des Konfigurationsblocks (112) des Speicherfelds (101) zur Konfigurierung des Geräts (1009 und einer zweiten Konfiguration in einem oder mehreren zusätzlichen Registern des Geräts (100) entsprechend einer oder mehrerer Speicherzonen des Speicherfelds (101), wobei die zweiten Konfigurationsdaten ein Schreibschutzschema für die eine oder die mehreren Speicherzonen angeben.
  14. Verfahren nach Anspruch 10, des Weiteren umfassend: Feststellen, durch einen Sensor (113) des Geräts (100), eines Unterspannungszustands des Geräts (100); und Implementieren, durch die Steuereinheit (105) des Geräts (100), einer Unterspannungsabschaltung auf dem Gerät (100) unter Verwendung von Konfigurationsdaten in dem Konfigurationsblock (112).
  15. Verfahren nach Anspruch 11, wobei der Gerätezustand den Zustand einer Speicherzugriffsoperation, einer Fehlerkorrekturoperation, oder einen Zählerwert von Fehlerkorrekturlebensdauerereignissen angibt.
  16. Verfahren nach Anspruch 10, des Weiteren umfassend: Durchsetzen, durch ein Schreibschutzsteuermodul (103) des Geräts (100), eines Schreibschutzes auf dem Speicherfeld (101) gemäß Konfigurationsdaten in dem Konfigurationsblock (112).
  17. Nicht-transitorisches, computerlesbares Speichermedium mit darauf gespeicherten Anweisungen, die bei ihrer Ausführung durch einen oder durch mehrere Prozessoren eines Geräts (100) den einen oder die mehreren Prozessoren des Geräts (100) dazu veranlassen, Operationen auszuführen, die umfassen: Empfangen, durch das Gerät (100), einer ersten und einer zweiten Anforderung von einem seriellen Bus (SCL, SDA); Feststellen, durch eine Decoderschaltung, ob entweder die erste oder die zweite Anforderung eine Konfigurationsmodusanforderung ist; als Reaktion auf eine Feststellung, dass die erste Anforderung eine Konfigurationsmodusanforderung ist: Programmieren, durch die Steuereinheit (105) des Geräts (100), eines Konfigurationsblocks (112) mit Konfigurationsdaten, die von dem seriellen Bus (SCL, SDA) erhalten wurden, und Ändern, durch die Steuereinheit (105) des Geräts (100), eines Geräteverhaltens gemäß den Konfigurationsdaten; und als Reaktion auf eine Feststellung, dass die zweite Anforderung nicht eine Konfigurationsmodusanforderung ist: Durchführen, durch eine Steuereinheit (105) des Geräts (100), von einer oder von mehreren Aktionen gemäß der zweiten Anforderung.
  18. Nicht-transitorisches, computerlesbares Speichermedium nach Anspruch 17, wobei die Operationen des Weiteren umfassen: Durchführen, durch die Steuereinheit (105) des Geräts (100), von einer oder von mehreren Speicheroperationen auf einem Speicherfeld (101) des Geräts (100) gemäß der Anforderung.
  19. Nicht-transitorisches, computerlesbares Speichermedium nach Anspruch 17, wobei der Konfigurationsblock (112) dazu konfiguriert ist, Gerätestatusinformationen an andere Geräte über den seriellen Bus (SCL, SDA) zu berichten.
  20. Nicht-transitorisches, computerlesbares Speichermedium nach Anspruch 18, wobei die Operationen des Weiteren umfassen: Speichern von ersten Konfigurationsdaten in einem Basisregister des Konfigurationsblocks (112) des Speicherfelds (101) zur Konfigurierung des Geräts (100) und einer zweiten Konfiguration in einem oder mehreren zusätzlichen Registern des Geräts (100) entsprechend einer oder mehrerer Speicherzonen des Speicherfelds (101), wobei die zweiten Konfigurationsdaten ein Schreibschutzschema für die eine oder die mehreren Speicherzonen angeben.
  21. Nicht-transitorisches, computerlesbares Speichermedium nach Anspruch 18, des Weiteren umfassend: Feststellen, durch einen Sensor (113) des Geräts (100), eines Unterspannungszustands des Geräts (100); und Implementieren, durch den einen oder die mehreren Prozessoren des Geräts (100), einer Unterspannungsabschaltung auf dem Gerät (100) unter Verwendung von Konfigurationsdaten in dem Konfigurationsblock (112).
  22. Nicht-transitorisches, computerlesbares Speichermedium nach Anspruch 19, wobei der Gerätezustand den Status einer Speicherzugriffsoperation oder einer Fehlerkorrekturoperation angibt.
  23. Nicht-transitorisches, computerlesbares Speichermedium nach Anspruch 18, des Weiteren umfassend: Durchsetzen, durch ein Schreibschutzsteuermodul (103) des Geräts (100), eines Schreibschutzes auf dem Speicherfeld (100) gemäß den Konfigurationsdaten in dem Konfigurationsblock (112).
DE102016201340.8A 2015-02-02 2016-01-29 Konfigurierung serieller Geräte Active DE102016201340B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/612,042 US9846672B2 (en) 2015-02-02 2015-02-02 Serial device with configuration mode for changing device behavior
US14/612,042 2015-02-02

Publications (2)

Publication Number Publication Date
DE102016201340A1 DE102016201340A1 (de) 2016-08-04
DE102016201340B4 true DE102016201340B4 (de) 2023-09-21

Family

ID=56410511

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016201340.8A Active DE102016201340B4 (de) 2015-02-02 2016-01-29 Konfigurierung serieller Geräte

Country Status (5)

Country Link
US (2) US9846672B2 (de)
JP (1) JP2016143422A (de)
CN (1) CN105843766B (de)
DE (1) DE102016201340B4 (de)
TW (1) TW201643737A (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9846672B2 (en) * 2015-02-02 2017-12-19 Atmel Corporation Serial device with configuration mode for changing device behavior
US10659054B2 (en) * 2018-02-23 2020-05-19 Nxp B.V. Trusted monotonic counter using internal and external non-volatile memory
CN110865959B (zh) * 2018-08-27 2021-10-15 武汉杰开科技有限公司 一种用于唤醒i2c设备的方法及电路
DE112021004144T5 (de) 2020-08-04 2023-07-27 Microchip Technology Incorporated Programmierbarer spannungsabschaltungsschutz und zugehörige systeme, verfahren und vorrichtungen

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7043569B1 (en) 2001-09-07 2006-05-09 Chou Norman C Method and system for configuring an interconnect device
DE69931745T2 (de) 1999-01-29 2006-12-21 Hewlett-Packard Development Co., L.P., Houston Automatische Konfiguration einer ersten und zweiten peripheren Einrichtung für einen Rechner

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1498905B1 (de) * 1998-02-26 2008-12-17 STMicroelectronics S.r.l. Schaltung zur Auswahl einer Betriebsspannung für nichtflüchtige Halbleiterspeicher
US6606670B1 (en) * 2000-08-16 2003-08-12 Microchip Technology Incorporated Circuit serial programming of default configuration
US6745270B1 (en) * 2001-01-31 2004-06-01 International Business Machines Corporation Dynamically allocating I2C addresses using self bus switching device
US6799233B1 (en) * 2001-06-29 2004-09-28 Koninklijke Philips Electronics N.V. Generalized I2C slave transmitter/receiver state machine
US7085863B2 (en) * 2003-10-30 2006-08-01 International Business Machines Corporation I2C device including bus switches and programmable address
TWI305617B (en) * 2003-11-27 2009-01-21 Hon Hai Prec Ind Co Ltd Multi-channel inter integrated circuit and decode circuit therein
WO2005106689A1 (en) * 2004-04-29 2005-11-10 Koninklijke Philips Electronics N.V. Bus system for selectively controlling a plurality of identical slave circuits connected to the bus and method therefore
US7484027B1 (en) * 2004-09-20 2009-01-27 Cypress Semiconductor Corporation Apparatus and method for configurable device pins
WO2006117748A1 (en) * 2005-04-29 2006-11-09 Koninklijke Philips Electronics, N.V. Slave device with latched request for service
WO2006117753A1 (en) * 2005-04-29 2006-11-09 Koninklijke Philips Electronics, N.V. Dynamic 12c slave device address decoder
US7587539B2 (en) * 2006-04-25 2009-09-08 Texas Instruments Incorporated Methods of inter-integrated circuit addressing and devices for performing the same
US7526584B2 (en) * 2006-09-26 2009-04-28 Evalue Technology Inc. Method for setting up a serial communication port configuration
GB2484524A (en) * 2010-10-14 2012-04-18 Powervation Ltd Pin programming a power supply controller
US8832328B2 (en) * 2012-03-13 2014-09-09 Qualcomm Incorporated Data redirection for universal serial bus devices
US8832343B2 (en) * 2012-07-17 2014-09-09 International Business Machines Corporation Double density I2C system
US8909841B2 (en) * 2012-10-04 2014-12-09 Linear Technology Corporation Configurable serial interface
KR101679466B1 (ko) * 2013-05-13 2016-11-24 엘에스산전 주식회사 프로피버스 dp의 네트워크 설정장치
US9720872B2 (en) * 2013-10-10 2017-08-01 Qorvo Us, Inc. Auto-configuration of devices based upon configuration of serial input pins and supply
US9852090B2 (en) * 2013-12-11 2017-12-26 Adesto Technologies Corporation Serial memory device alert of an external host to completion of an internally self-timed operation
US9846672B2 (en) * 2015-02-02 2017-12-19 Atmel Corporation Serial device with configuration mode for changing device behavior

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69931745T2 (de) 1999-01-29 2006-12-21 Hewlett-Packard Development Co., L.P., Houston Automatische Konfiguration einer ersten und zweiten peripheren Einrichtung für einen Rechner
US7043569B1 (en) 2001-09-07 2006-05-09 Chou Norman C Method and system for configuring an interconnect device

Also Published As

Publication number Publication date
CN105843766B (zh) 2020-10-27
US20180173669A1 (en) 2018-06-21
TW201643737A (zh) 2016-12-16
JP2016143422A (ja) 2016-08-08
US9846672B2 (en) 2017-12-19
US10387361B2 (en) 2019-08-20
DE102016201340A1 (de) 2016-08-04
CN105843766A (zh) 2016-08-10
US20160224505A1 (en) 2016-08-04

Similar Documents

Publication Publication Date Title
DE3128740C2 (de)
DE69027165T2 (de) Verfahren und Gerät zum Schutz eines Rechnersystems
DE69719086T2 (de) Zeitverteilte entfernung von fehlerkorrekturcodes (ecc) zur korrektur von speicherfehlern
DE102016201340B4 (de) Konfigurierung serieller Geräte
DE2806024C2 (de)
DE69803087T2 (de) Integriertes bimodales einzelchip-steuergerät
DE69321426T2 (de) Plattenantriebsteuergerät mit Nachschreibcachespeicher
DE3881414T2 (de) Datenverarbeitungssystem mit einer steckbaren optionellen Karte.
DE60030876T2 (de) Bereichsverwaltung eines nichtflüchtigen Speichers mit hoher Kapazität
DE19882696B4 (de) Speichertransaktionen auf einem Bus geringer Leitungsanzahl
DE102020112512A1 (de) Datenspeichergerät und Betriebsverfahren dafür
DE3685876T2 (de) Meister-sklave-mikroprozessorsystem mit einem virtuellen speicher.
DE68923863T2 (de) Ein-/Ausgabecachespeicherung.
DE102018105943A1 (de) Kontextbewusste dynamische Befehlsplanung für ein Datenspeichersystem
DE69626962T2 (de) Verfahren und anordnung zum betrieb eines mit einem hauptrechner verbundenen massenspeicher-computerperipheriegerätes
DE3128729A1 (de) Halbleiter-speichersystem
DE102017128999A1 (de) Lesebetrieb und weiches Dekodierungs-Timing
DE112020001219T5 (de) Aufgeschobene Fehlercodekorrektur mit verbesserter effektiver Datenbandbreitenleistung
DE112007000688B4 (de) Fehlerverwaltungstopologien
EP2163979A2 (de) Anschlussvorrichtung zum Anschluss einer Mehrzahl von Peripheriegeräten und Betriebsverfahren
DE102020115970B3 (de) Befehlsoptimierung durch intelligente schwellwertdetektion
DE112015003569T5 (de) Verfahren und System zum Verwenden von NAND-Seitenpuffern, um die Übertragungspuffernutzung eines Festkörperlaufwerks zu verbessern
DE102018124836A1 (de) Neuartiger speicherbaustein
EP1611517B1 (de) Programmgesteuerte einheit
DE102021127279A1 (de) Konfiguration eines rechnerischen antriebs

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final