DE102018101028B3 - Mikrocontrollersystem mit schaltungsinternem Debugger - Google Patents

Mikrocontrollersystem mit schaltungsinternem Debugger Download PDF

Info

Publication number
DE102018101028B3
DE102018101028B3 DE102018101028.1A DE102018101028A DE102018101028B3 DE 102018101028 B3 DE102018101028 B3 DE 102018101028B3 DE 102018101028 A DE102018101028 A DE 102018101028A DE 102018101028 B3 DE102018101028 B3 DE 102018101028B3
Authority
DE
Germany
Prior art keywords
debug
memory
interface circuit
supply
debug information
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
DE102018101028.1A
Other languages
English (en)
Inventor
Matthias Schneider
Arndt Pauschardt
Yuanfen Zheng
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.)
Infineon Technologies Austria AG
Original Assignee
Infineon Technologies Austria AG
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 Infineon Technologies Austria AG filed Critical Infineon Technologies Austria AG
Priority to DE102018101028.1A priority Critical patent/DE102018101028B3/de
Priority to US16/242,919 priority patent/US10942838B2/en
Priority to CN201910047994.5A priority patent/CN110058541B/zh
Application granted granted Critical
Publication of DE102018101028B3 publication Critical patent/DE102018101028B3/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0423Input/output
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3243Power saving in microcontroller unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • G06F11/3656Software debugging using additional hardware using a specific debug interface
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/30134Register stacks; shift registers
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24215Scada supervisory control and data acquisition
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Automation & Control Theory (AREA)
  • Computing Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Power Sources (AREA)

Abstract

Elektronische Vorrichtung, die aufweist:
einen Controller (22) mit einer Debug-Logik (221);
eine Energieverwaltungseinheit (PMU) (232), die dazu ausgebildet ist, den Controller (22) bei einem Wechsel von einem Normalbetrieb in einen Modus mit geringem Energieverbrauch auszuschalten;
einen Schnittstellenschaltkreis (241), der mit der Debug-Logik (221) gekoppelt ist; und
einen Speicher (231), der mit dem Schnittstellenschaltkreis (241) gekoppelt ist;
wobei der Schnittstellenschaltkreis (241) dazu ausgebildet ist, in der Debug-Logik (221) gespeicherte Debug-Informationen zu lesen und die gelesenen Debug-Informationen an den Speicher (231) zu übertragen;
wobei der Schnittstellenschaltkreis (241) weiter dazu ausgebildet ist, die in dem Speicher (231) gespeicherten Debug-Informationen zu empfangen und die empfangenen Debug-Informationen in die Debug-Logik (221) zu schreiben;
wobei die PMU (232) dazu ausgebildet ist, die Übertragung der Debug-Informationen von dem Schnittstellenschaltkreis (241) an den Speicher (231) beim Wechseln vom Normalbetrieb in einen Modus mit geringem Energieverbrauch auszulösen, und
wobei die PMU (232) weiter dazu ausgebildet ist, beim Wechseln zurück in den Normalbetrieb den Empfang der Debug-Informationen von dem Speicher (231) durch den Schnittstellenschaltkreis (241) auszulösen.

Description

  • Die vorliegende Erfindung betrifft das Gebiet von Mikrocontrollern und Steuerungssystemen mit Mikrocontrollern.
  • Mikrocontroller werden in einer großen Vielfalt von Anwendungen verwendet und sie werden insbesondere zur Steuerung von elektrischen, mechanischen oder elektromechanischen Systemen eingesetzt. Ein Beispiel eines derartigen elektrischen Systems ist ein Schaltnetzteil, d.h. eine getaktete Energieversorgung (switched-mode power supply, SMPS); ein SMPS kann einen Mikrocontroller enthalten, der sämtliche der Kernfunktionen durchführt, die erforderlich sind, um das System zu steuern, um ein gewünschtes Systemverhalten zu erzielen.
  • Abhängig von der Anwendung ist ein Mikrocontroller oftmals zusammen mit anderen Schaltungen wie beispielsweise Schnittstellenschaltkreisen, die erforderlich sind, um eine Verbindung mit Sensorschaltungen, Treiberschaltungen, Kommunikationsschnittstellen, etc. herzustellen, in einen anwendungsspezifischen, integrierten Schaltkreis (Application Specific Integrated Circuit, ASIC) eingebettet. Bei vielen Anwendungen ist Energieverbrauch (power consumption ein Thema, und deshalb enthalten viele Mikrocontroller eine sogenannte Energieverwaltungseinheit (Power Management Unit, PMU) (oder sind damit gekoppelt), die dazu ausgebildet ist, den Mikrocontroller (oder eine andere Schaltung) in dem Fall, in dem der Zustand des Systems mit einer oder mehr vorgegebenen Bedingungen übereinstimmt, in einen Modus mit geringem Energieverbrauch zu versetzen. Die PMU ist auch dazu ausgebildet, den Mikrocontroller in dem Fall, in dem eine oder mehr Funktion(en), die durch den Mikrocontroller implementiert wird (werden), erneut benötigt wird (werden), um das System zu steuern, aus dem Modus geringem Energieverbrauchs „aufzuwachen“ .
  • Wie allgemein bekannt ist, wird (werden) die durch einen Mikrocontroller bereitgestellten Funktion(en) im Wesentlichen durch Software (im Fall von eingebetteten Systemen manchmal als Firmware bezeichnet) bestimmt. Abhängig von der Anwendung kann Software vergleichsweise komplex und fehleranfällig sein; deshalb beinhaltet der Softwareentwicklungsprozess üblicherweise eine Aktivität, die allgemein als Debugging bezeichnet wird, was zum Beispiel zum Zweck der Analyse von Software geschieht, um Fehler zu finden und die software-implementierten Funktionen zu überprüfen.
  • Um ein Debuggen unter „realistischen“ Bedingungen zu ermöglichen, enthalten moderne Mikrocontroller üblicherweise Hardwareunterstützung zum Debuggen, wodurch eine systeminterne Programmierung, Unterstützung für Hardware-Haltepunkte, etc. ermöglicht werden. Zum Debuggen kann das Debug-Ziel (d. h. der Mikrocontroller) über einen Debug-Adapter mit einem Debug-Host (z. B. einem Personal-Computer, der eine als Debug-Frontend bezeichnete Softwareanwendung ausführt), verbunden werden. Der Adapter bildet im Wesentlichen eine Schnittstelle/einen Konverter zwischen einer Standard-Computerschnittstelle wie beispielsweise USB (Universal Serial Bus) und einem standardisierten JTAG-(Join Test Action Group)-Verbinder auf der Leiterplatte, die das Debug-Ziel trägt. Die Informationen, die während des Debuggens in dem Debug-Ziel verwendet werden, werden üblicherweise als Debug-Kontext bezeichnet und können über den erwähnten Adapter von dem Debug-Host zu dem Debug-Ziel geladen werden. Die Publikation US009632137B2 zeigt beispielsweise eine serielle Debug-Vorrichtung (debug bridge) für einen integrierten Schaltkreis.
  • Systeme, die während des Betriebs wiederholt den Modus mit geringem Energieverbrauch aufnehmen und wieder aufwachen können, stellen im Hinblick auf das Debugging Herausforderungen dar, da der Debug-Kontext üblicherweise verloren geht, wenn der Mikrocontroller in den Modus geringem Energieverbrauchs wechselt. Die der Erfindung zugrunde liegende Aufgabe kann daher darin gesehen werden, eine elektronische Vorrichtung mit einem Controller zu schaffen, die verbesserte Debugging-Möglichkeiten bietet.
  • Die genannte Aufgabe wird durch eine elektronische Vorrichtung gemäß Anspruch 1, durch ein Schaltnetzteil gemäß Anspruch 16 sowie durch das Verfahren gemäß Anspruch 9 gelöst. Verschieden Ausführungsbeispiele und Weiterentwicklungen sind Gegenstand der abhängigen Ansprüche
  • Es wird im Folgenden eine elektronische Vorrichtung beschrieben, die beispielsweise in einem Schaltnetzteil verwendet werden kann. Gemäß einem Ausführungsbeispiel enthält die elektronische Vorrichtung einen eingebetteten Controller mit einer Debug-Logik, eine Energieverwaltungseinheit (power management unit, PMU), die dazu ausgebildet ist, den Controller bei einem Wechsel von einem Normalbetrieb in einen Modus mit geringem Energieverbrauch auszuschalten, einen Schnittstellenschaltkreis, der mit der Debug-Logik gekoppelt ist, und einen Speicher, der mit dem Schnittstellenschaltkreis gekoppelt ist. Der Schnittstellenschaltkreis ist dazu ausgebildet, in der Debug-Logik gespeicherte Debug-Informationen zu lesen und die gelesenen Debug-Informationen an den Speicher zu übertragen. Der Schnittstellenschaltkreis ist weiterhin dazu ausgebildet, die in dem Speicher gespeicherten Debug-Informationen zu empfangen und die empfangenen Debug-Informationen in die Debug-Logik zu schreiben. Die PMU ist dazu ausgebildet, die Übertragung der Debug-Informationen von dem Schnittstellenschaltkreis an den Speicher beim Wechseln vom Normalbetrieb in einen Modus mit geringem Energieverbrauch auszulösen, und ist weiter dazu ausgebildet, beim Wechseln zurück in den Normalbetrieb den Empfang der Debug-Informationen von dem Speicher durch den Schnittstellenschaltkreis auszulösen.
  • Des Weiteren wird hier ein Verfahren beschrieben, das gemäß einer Ausgestaltung - während eines Wechsels in einen Modus mit geringem Energieverbrauch einer elektronischen Vorrichtung, die einen eingebetteten Controller enthält - das Lesen von Debug-Informationen von einer Debug-Logik eines eingebetteten Controllers durch einen Schnittstellenschaltkreis und das Übertragen der gelesenen Debug-Informationen an einen Speicher beinhaltet. Weiterhin beinhaltet das Verfahren - beim Verlassen des Modus mitgeringem Energieverbrauch - das Empfangen der Debug-Informationen von dem Speicher durch den Schnittstellenschaltkreis und das Wiederherstellen der empfangenen Debug-Informationen in der Debug-Logik.
  • Darüber hinaus wird hier eine getaktete Energieversorgung (SMPS) beschrieben. Gemäß einer Ausgestaltung enthält die SMPS einen Schaltwandler und einen integrierten Steuerschaltkreis, der mit dem Schaltwandler gekoppelt und dazu ausgebildet ist, den Schaltbetrieb des Schaltwandlers zu steuern. Der integrierte Steuerschaltkreis enthält einen eingebetteten Controller mit einer Debug-Logik, einen mit der Debug-Logik gekoppelten Schnittstellenschaltkreis,einen mit dem Schnittstellenschaltkreis gekoppelten Speicher und eine PMU, die dazu ausgebildet ist, den Controller (22) bei einem Wechsel von einem Normalbetrieb in einen Modus mit geringem Energieverbrauch auszuschalten. Der Schnittstellenschaltkreis ist dazu ausgebildet, in der Debug-Logik gespeicherte Debug-Informationen zu lesen und die gelesenen Debug-Informationen an den Speicher zu übertragen, und der Schnittstellenschaltkreis weiterhin dazu ausgebildet, in dem Speicher gespeicherte Debug-Informationen zu empfangen und die empfangenen Debug-Informationen in die Debug-Logik zu schreiben. Wie erwähnt ist die PMU dazu ausgebildet, die Übertragung der Debug-Informationen von dem Schnittstellenschaltkreis an den Speicher beim Wechseln vom Normalbetrieb in einen Modus mit geringem Energieverbrauch auszulösen, und weiter dazu ausgebildet, beim Wechseln zurück in den Normalbetrieb den Empfang der Debug-Informationen von dem Speicher durch den Schnittstellenschaltkreis auszulösen.
  • Die Erfindung lässt sich unter Bezugnahme auf die folgenden Zeichnungen und Beschreibungen besser verstehen. Die Komponenten in den Figuren sind nicht notwendigerweise maßstabgetreu; stattdessen wird der Schwerpunkt auf die Darstellung der Prinzipien der Erfindung gelegt. Darüber hinaus bezeichnen in den Figuren gleiche Bezugsziffern entsprechende Teile. Zu den Zeichnungen:
    • 1 veranschaulicht einen beispielhaften Aufbau, der verwendet werden kann, um einen Mikrocontroller, der zum Beispiel in einem eingebetteten System eingesetzt wird, zu debuggen.
    • 2 ist ein Blockschaltbild, das einen Ziel-IC (z. B. einen ASIC), das einen eingebetteten Mikrocontroller, eine PMU und eine Debugger-Hardware gemäß einer ersten Ausgestaltung enthält, veranschaulicht.
    • 3 ist ein Blockschaltbild, das eine beispielhafte Implementierung der Ausgestaltung von 2 ausführlicher veranschaulicht.
    • 4 ist ein Blockschaltbild, das eine weitere beispielhafte Implementierung der Ausgestaltung von 2 ausführlicher veranschaulicht.
    • 5 enthält Zeitverlaufsdiagramme, die die Funktionsweise des Beispiels von 4 veranschaulichen.
    • 6 ist ein Blockschaltbild, das eine SMPS mit einem Schaltwandler, der einen eingebetteten Mikrocontroller enthält, veranschaulicht.
    • 7 ist ein Flussdiagramm, das ein Beispiel eines Verfahrens zur Handhabung einer Betriebsartumschaltung zwischen einem Normalbetrieb und einem Modus mit geringem Energieverbrauchs eines Mikrocontrollers veranschaulicht, gemäß einer Ausgestaltung.
  • 1 veranschaulicht einen beispielhaften Aufbau, der verwendet werden kann, um einen Mikrocontroller, der zum Beispiel in einem eingebetteten System eingesetzt wird, zu debuggen. Im Allgemeinen enthalten Mikrocontroller einen Mikroprozessor (mit einem oder mehr Prozessorkernen), sowie zumindest irgendeine Schaltung, die einige grundlegende Peripheriefunktionen wie beispielsweise Eingabe-/Ausgabe-Schnittstellen (z. B. serielle Kommunikationsschnittstellen), Speicher, etc. bereitstellt. Obwohl sich der Prozess des Debuggens hauptsächlich auf den Mikroprozessor bezieht, wird in der gesamten Beschreibung der Ausdruck Mikrocontroller verwendet.
  • Gemäß dem Beispiel von 1 trägt eine Leiterplatte (printed circuit board, PCB, auch als Ziel-Platine bezeichnet) 20, neben anderen elektronischen Komponenten, einen einen Mikrocontroller 21 enthaltenden Ziel-IC 21, der bei den hierin beschriebenen Beispielen auch als Debug-Ziel bezeichnet wird. Der eingebettete Mikrocontroller enthält eine Logikschaltung 221, die auch als Debug-Logik bezeichnet wird und die die zum Debuggen von Hardware benötigten Grundfunktionen wie beispielsweise Hardware-Haltepunkte, etc. bereitstellt. Die Debug-Logik 221 ist, z. B. über ein Kabel 13, mit einem Debug-Hardware-Adapter 12 gekoppelt. Bei dem dargestellten Beispiel handelt es sich bei dem Debug-Hardware-Adapter 12 um eine separate Einrichtung. Allerdings können die elektronischen Schaltungen, die den Debug-Hardware-Adapter 12 bilden, auch auf der PCB 20 angeordnet sein. Der Debug-Hardware-Adapter 12 kann eine Kommunikationsschnittstelle wie beispielsweise eine universelle serielle BUS-(USB)-Schnittstelle enthalten. Die USB-Schnittstelle ermöglicht es, den Debug-Hardware-Adapter 12, z. B. über ein USB-Kabel 11, mit einem Personalcomputer (PC, als Debug-Host 10 bezeichnet) zu verbinden und so eine Kommunikation mit dem PC, der eine Softwareanwendung ausführt, die die Debugger-Front implementiert und die graphische Benutzerschnittstelle enthalten kann, ermöglicht. Die Struktur des in 1 gezeigten Aufbaus ist als solche bekannt und für das In-System-Programmieren (in-systemprogramming, ISP) und das In-System-Debuggen eines Debug-Ziels weit verbreitet.
  • Wie oben erwähnt tritt ein Problem auf, wenn der eingebettete Mikrocontroller 22 einen Modus mit geringem Energieverbrauch aufnimmt, da Informationen, die in der Debug-Logik gespeichert sind und während des Debuggens verwendet werden, verloren gehen können. Diese Informationen werden als Debug-Kontext-Informationen oder kurz Debug-Kontext bezeichnet und beinhalten Informationen betreffend Hardware-Haltepunkte oder dergleichen. Sobald ein Aufwachen des Mikrocontrollers 22 ausgelöst wird, kann es einige Mikrosekunden dauern, bis der Betrieb des Mikrocontrollers einen stationären Zustand erreicht. Im Gegensatz dazu würde es mehrere Millisekunden dauern, bis der Debug-Host den Debug-Kontext lädt und den Debugging-Kontext startet. Infolgedessen ist ohne weitere Maßnahmen ein Debuggen des Mikrocontrollers während der Einschalt-Phase nach einem Aufwachsignal nicht möglich, weil sich die Debug-Logik nach dem Aufwachen des Mikrocontrollers noch in einem Ruhezustand befindet. Dennoch wäre zumindest für einige Anwendungen wie beispielsweise SMPS eine Debugging-Fähigkeit während der erwähnten Einschalt-Phase wünschenswert oder kann in einigen Situationen sogar erforderlich sein. Das Systemverhalten für Anwendungen wie SMPS (und im Allgemeinen für Anwendungen, die unter harten Echtzeit-Anforderungen arbeiten) nach Aufwachereignissen stellt hohe Anforderungen an das Verhalten, muss also beobachtbar und folglich debugbar sein.
  • 2 veranschaulicht in einem Blockdiagramm ein Beispiel eines integrierten Schaltkreises (Ziel-IC 21), z. B. einen ASIC, der zwei oder mehr Teile enthält, die als Versorgungsdomänen (power domains) bezeichnet werden. Jede Versorgungsdomäne enthält zumindest eine Spannungsversorgung (Energieversorgung, power supply) zur Versorgung der elektronischen Komponenten und Schaltungen, die in der betreffenden Versorgungsdomäne enthalten sind. Die Spannungsversorgung einer Versorgungsdomäne arbeitet unabhängig von der Spannungsversorgung einer anderen Versorgungsdomäne. Die verschiedenen Spannungsversorgungen können durch separate Versorgungsschaltungen (einschließlich Spannungsregler etc.) implementiert werden, die dieselbe Versorgungsspannung über einen externen Pin des ICs oder verschiedene Versorgungsspannungen über verschiedene externe Pins des ICs empfangen.
  • Bei dem in 2 gezeigten Beispiel enthält der Ziel-IC 21 eine erste Versorgungsdomäne 23 und eine zweite Versorgungsdomäne 24; die erste Versorgungsdomäne 23 wird als „Immer-Ein“-Versorgungsdomäne bezeichnet, während die zweite Versorgungsdomäne 24 als „Ein-Aus-Versorgungsdomäne bezeichnet wird. Das heißt, die Spannungsversorgung der zweiten Versorgungsdomäne 24 kann während des Modus mit geringem Energieverbrauch ausgeschaltet werden, während die Spannungsversorgung der ersten Versorgungsdomäne 23 während des Normalbetriebs sowie während des Modus mit geringem Energieverbrauch immer aktiv (ein) ist. Abhängig von der tatsächlichen Implementierung können in dem Ziel-IC weitere Versorgungsdomänen (Ein-Aus-Versorgungsdomänen sowie Immer-Ein-Versorgungsdomänen) bereitgestellt werden. Es wird darauf hingewiesen, dass eine Signalübermittlung zwischen zwei verschiedenen Versorgungsdomänen üblicherweise eine Art von Schnittstellenschaltkreis wie beispielsweise Pegelumsetzer oder dergleichen erfordert. Um auf der Chip-Schaltung Platz zu sparen, versuchen Entwickler üblicherweise, die Anzahl von Signalen, die von einer Versorgungsdomäne zu einer anderen Versorgungsdomäne zu senden sind, gering zu halten.
  • Bei vielen Anwendungen ist es wünschenswert, den eingebetteten Mikrocontroller (Debug-Ziel 22) während des Modus mit geringem Energieverbrauch auszuschalten, da es sich bei dem Mikrocontroller um eine elektrische Last handeln, die wesentlich zum Gesamt-Energieverbrauch des Ziel ICs 21 beiträgt. Daher befindet sich das Debug-Ziel 22, das die Debug-Logik 221 enthält, in der Ein-Aus-Versorgungsdomäne 24, deren Versorgungsspannung beim Aufnehmen des Modus mit geringem Energieverbrauch deaktiviert wird. Infolgedessen geht der Debug-Kontext, der in der Debug-Logik 221 gespeichert ist, verloren, wenn das Debug-Ziel ausgeschaltet wird.
  • Die first Versorgungsdomäne 23 (Immer-Ein-Versorgungsdomäne) enthält eine Schaltung, die während des Modus mit geringem Energieverbrauch aktiv bleiben muss. Bei dem vorliegenden Beispiel ist die PMU 232 in der Immer-Ein-Versorgungsdomäne enthalten, da eine Aufgabe der PMU 232 darin besteht, ein Aufwachen auszulösen (d. h., den Modus mit geringem Energieverbrauch zu verlassen), was das Reaktivieren der Spannungsversorgung der Ein-Aus-Versorgungsdomäne beinhaltet. Im Allgemeinen ist die PMU 232 dazu ausgebildet, den Betrieb des Ziel-ICs 21 und anderer damit gekoppelter Schaltungen zu überwachen und als Reaktion auf die Detektion bestimmter Ereignisse einen Übergang in den Modus mit geringem Energieverbrauch sowie ein Aufwachen auszulösen. Die Ereignisse, die einen Übergang in den Modus mit geringem Energieverbrauch (Abschalt-Ereignis) und ein Aufwachen (Aufwach-Ereignis) bewirken, können für verschiedene Anwendungen unterschiedlich sein. Zum Beispiel kann bei einer SMPS ein Aufwachen ausgelöst werden, wenn der Ausgangsstrom einen bestimmten Aufwach-Schwellenwert übersteigt, und ein Übergang in den Modus mit geringem Energieverbrauch kann ausgelöst werden, wenn der Ausgangsstrom unter den bestimmten Abschalt-Schwellenwert abfällt.
  • Gemäß den hierin beschriebenen Beispielen werden die in der Debug-Logik 221 gespeicherten Debug-Kontext-Informationen in einem Speicher 231, der sich in der ersten Versorgungsdomäne 23 (Immer-Ein-Versorgungsdomäne) befindet, gesichert (z. B. darin gespeichert). Dementsprechend werden die Debug-Kontext-Informationen in dem Speicher 231 gehalten, während sich das Debug-Ziel 221 im Modus mit geringem Energieverbrauch befindet. Eine Sicherung der Debug-Kontext-Informationen kann durch die PMU 232 direkt bevor die Spannungsversorgung der zweiten Versorgungsdomäne bei der Aufnahme des Modus mit geringem Energieverbrauch abgeschaltet wird, ausgelöst werden. Wenn die PMU 232 ein Aufwachen von dem Modus mit geringem Energieverbrauch auslöst, werden die Debug-Kontext-Informationen von dem Speicher 231 wiederhergestellt und zurück zu der Debug-Logik 221 kopiert (oder bewegt). Diese Sicherungs- und Widerherstellungsprozesse können innerhalb weniger Mikrosekunden durchgeführt werden, und Debug-Funktionen werden während der Einschalt-Phase des Debug-Ziels nach einem Aufwachsignal verfügbar (und damit verwendbar), ohne dass ein Debug-Adapter oder ein Debug-Host zu dieser Zeit mit dem Debug-Ziel kommuniziert.
  • Wie bei dem Beispiel von 2 gezeigt, ist in der zweiten Versorgungsdomäne 24 (Ein-Aus-Versorgungsdomäne) einen Schnittstellenschaltkreis 241 bereitgestellt, der mit der Debug-Logik 221 gekoppelt und dazu ausgebildet ist, die in der Debug-Logik 221 enthaltenen Debug-Kontext-Informationen an den Speicher 231 zu übertragen. Man kann sich Debug-Kontext-Informationen als Folge von Bits (z. B. ein 62-Bit-Wort) vorstellen, das in einem in der Debug-Logik 221 enthaltenen Register (Debug-Kontext-Register) gespeichert ist. Wenn die PMU 232 eine Aufforderung signalisiert, den Debug-Kontext zu sichern, liest der Schnittstellenschaltkreis 241 die Debug-Kontext-Informationen von der Debug-Logik 221 und überträgt die Informationen über die Versorgungsdomänengrenze hinweg an den Speicher 231. Ähnlich empfängt der Schnittstellenschaltkreis 241, wenn die PMU 232 eine Aufforderung, den Debug-Kontext wiederherzustellen, signalisiert, die Debug-Kontext-Informationen von dem Speicher 231 über die Versorgungsdomänengrenze hinweg und schreibt die empfangenen Informationen in das Debug-Kontext-Register in der Debug-Logik 221.
  • Bei dem vorliegenden Beispiel enthält die erste Versorgungsdomäne 23 (Immer-Ein-Versorgungsdomäne) weiterhin eine Debugger-Eingangs-/Ausgangs-(I/O)-Steuerschaltung 234, die als Schnittstellenschaltkreis zwischen dem Ziel-IC 21 und dem Debug-Hardware-Adapter 12 (siehe auch 1), der über I/O-Pins oder Steckverbinder (connector) 131 angeschlossen ist, angesehen werden kann. Während des Modus mit geringem Energieverbrauch veranlasst die PMU 232 die Debugger-I/O-Steuerschaltung 234, dem Debug-Host 10 über den Debug-Hardware-Adapter 12 den Modus mit geringem Energieverbrauch zu melden. Dieses Melden kann erreicht werden, indem die Spannung der (in dem Kabel 13 enthaltenen, siehe 1) Datenleitung aktiv auf einen niedrigen Spannungspegel (Low-Level) gezogen wird, der durch den Debug-Hardware-Adapter 12 detektiert und weiter an den Debug-Host übermittelt werden kann. Die durch den Debug-Host ausgeführte Softwareanwendung wird auf diese Weise über den Zustand geringen Energieverbrauchs des Ziel-ICs 21 informiert und wird nicht versuchen, sich wieder mit dem Debug-Ziel 22 zu verbinden oder anderweitig damit zu kommunizieren, solange der Spannungspegel der Datenleitung einen Modus mit geringem Energieverbrauch anzeigt. Natürlich kann anstelle der Datenleitung eine beliebige andere Leitung verwendet werden, um einen Modus mit geringem Energieverbrauch zu melden.
  • 3 ist ein Blockdiagramm, das eine beispielhafte Implementierung der Ausgestaltung von 2 ausführlicher veranschaulicht. Gemäß 3 enthält der Schnittstellenschaltkreis 241 eine serielle Schnittstelle, die dazu ausgebildet ist, die Debug-Kontext-Informationen (z. B. das erwähnte 62-Bit-Wort) von der Debug-Logik 221 zu lesen und diese Informationen in Form eines seriellen Datenstroms an den Speicher 231 zu übertragen, um die Debug-Kontext-Informationen zu sichern (Sicherung bei der Aufnahme des Modus mit geringem Energieverbrauch). Der Schnittstellenschaltkreis 241 ist weiterhin dazu ausgebildet, die Debug-Kontext-Informationen als seriellen Datenstrom von dem Speicher 231 zu empfangen und so den Debug-Kontext in der Debug-Logik 221 wiederherzustellen (Wiederherstellen beim Verlassen des Modus mit geringem Energieverbrauch und Wiederaufnahme des Normalbetriebs). Bei diesem Beispiel kann es sich bei dem Speicher 231 zum Beispiel um ein Schieberegister mit seriellem Eingang und seriellem Ausgang (serial in/serial out) handeln.
  • Der Schnittstellenschaltkreis 241 kann auch ein oder mehr Schieberegister enthalten, die zum Beispiel eine Art von „SerDes“ (Serialisierer/Deserialisierer) bilden, enthalten. In diesem Fall bildet ein Schieberegister des SerDes einen PISO-Block mit parallelem Eingang und seriellem Ausgang (PISO (parallel in/serial out) Block), der dazu ausgebildet ist, die Debug-Kontext-Informationen von der Debug-Logik 221 (z. B. das erwähnte 62-Bit-Wort) zu lesen und die Debug-Kontext-Informationen zu serialisieren und so den erwähnten, an den Speicher 231 übertragenen, seriellen Datenstrom zu erzeugen. Ähnlich bildet ein weiteres Schieberegister des SerDes einen SIPO-Block mit seriellem Eingang und parallelem Ausgang (SIPO (serial in/parallel out) Block), der dazu ausgebildet ist, den seriellen Datenstrom von dem Speicher 231 (einschließlich des gesicherten Debug-Kontextes) zu empfangen und die empfangenen Debug-Kontext-Informationen in der Debug-Logik 221, z. B. durch Schreiben des empfangenen 62-Bit-Worts in ein Debug-Kontext-Register der Debug-Logik 221, wiederherzustellen.
  • Abgesehen von dem Schnittstellenschaltkreis 241 und dem Speicher 231 ist das Beispiel von 3 dasselbe wie das vorangehende Beispiel von 2, und es wird Bezug genommen auf die entsprechenden Erläuterungen oben. 4 ist ein Blockdiagramm, das eine weitere beispielhafte Implementierung des Beispiels von 2 veranschaulicht. Gemäß 4 ist der Speicher 231 als Schieberegister implementiert und der Schnittstellenschaltkreis 241 als SerDes, was bereits oben erörtert wurde. Bei dem vorliegenden Beispiel ist in der ersten Versorgungsdomäne 23 ein Zähler 233 enthalten und dazu ausgebildet, die von dem Speicher 231 (Schieberegister) an den Schnittstellenschaltkreis 241 (SerDes) oder umgekehrt übertragenen Bits zu zählen. Sobald eine Datenübertragung abgeschlossen ist (z. B. sobald sämtliche 62 Bits des Debug-Kontextes gesichert oder wiederhergestellt wurden), kann der Zähler den Abschluss der Datenübertragung an die PMU 232 melden (siehe 4, Logiksignal SDONE).
  • Eine Datenübertragung von oder zu dem Speicher 231 (Schieberegister) kann durch die PMU 232 durch Signalisieren einer Aufforderung an den Speicher 231 und den Schnittstellenschaltkreis 241 (SerDes) ausgelöst werden. Zu diesem Zweck kann die PMU 232 ein Logiksignal SREQ (Aufforderungssignal) mit einem definierten Logikpegel (z. B. einem High-Pegel) erzeugen, das dem Speicher 231 und dem Schnittstellenschaltkreis 241 zugeführt wird. Das Aufforderungssignal SREQ kann den Zähler 233 zurücksetzen und eine Datenübertragung von dem Speicher 231 an den Schnittstellenschaltkreis 241 oder umgekehrt abhängig davon auslösen, ob der Ziel-IC dabei ist, den Modus mit geringem Energieverbrauch aufzunehmen oder davon aufzuwachen. Die PMU 232 meldet auch der Debugger-I/O-Steuereinheit 234 den Modus mit geringem Energieverbrauch, z. B. durch ein Logiksignal SSTATE. Wie oben erläutert, kann die Debugger-I/O-Steuerschaltung 234 dem Debug-Host 10 weiterhin den Zustand des Ziel-ICs 21 (Modus mit geringem Energieverbrauch aktiv oder inaktiv) melden. Ebenfalls in 4 gezeigt sind die Spannungsversorgungsschaltungen 230 und 240 der ersten Versorgungsdomäne 23 bzw. der zweiten Versorgungsdomäne 24. Die PMU 232 kann die Spannungsversorgung 24 der zweiten Versorgungsdomäne (Ein-Aus-Versorgungsdomäne) durch Erzeugen eines entsprechenden Logiksignals SVOFF ausschalten. Im Gegensatz dazu bleibt die Spannungsversorgungsschaltung 230 selbst während des Modus mit geringem Energieverbrauch aktiv.
  • Die Funktion der in 4 gezeigten Ausgestaltungen werden unter Bezugnahme auf die Zeitverlaufsdiagramme von 5 weiter erläutert. Das erste (obere) Zeitverlaufsdiagramm von 5 veranschaulicht ein Taktsignal DCLK, das zum Beispiel durch einen Taktgenerator, der sich in der zweiten Versorgungsdomäne 24 (Ein-Aus-Versorgungsdomäne) befindet, erzeugt werden kann. Der Takt kann zum Beispiel, falls der Taktgenerator Teil des Debug-Ziels ist, durch den eingebetteten Controller 22 (Debug-Ziel) erzeugt werden. Allerdings können, abhängig von der tatsächlichen Implementierung, separate Taktgeneratoren verwendet werden. Bei dem vorliegenden Beispiel detektiert die PMU 232 ein Ereignis, das anzeigt, die zweite Spannungsdomäne auszuschalten. Allerdings setzt die PMU 232 vor dem tatsächlichen Ausschalten der Spannungsversorgung 240 das Aufforderungssignal SREQ zur Zeit tB0 auf einen High-Pegel und löst dadurch die Sicherung des Debug-Kontextes aus (siehe zweites Zeitverlaufsdiagramm von 5). Zum Zeitpunkt tB0 wird der durch das 62-Bit-Datenwort r[61:0] repräsentierte Debug-Kontext durch den Schnittstellenschaltkreis 241 gelesen, z. B. in ein Schieberegister in dem PISO-Block des SerDes geladen. Nachfolgend wird ein serieller Datenstrom durch Verschieben des Datenworts von dem SerDes (Schnittstellenschaltkreis 241) über Versorgungsdomänengrenze hinweg zu dem Sicherungsspeicher 231 (Schieberegister) geschoben (siehe drittes und viertes Zeitverlaufsdiagramm von 5). Nach 62 Taktzyklen wurde das Datenwort [61:0] zur Zeit tB1 vollständig in den Sicherungsspeicher 231 geschoben, während das Schieberegister in dem PISO-Block des SerDes mit Nullen (oder irgendwelchen anderen Daten) gefüllt wurde. Die Taktzyklen werden durch den Zähler 233 gezählt (siehe fünftes Zeitverlaufsdiagramm von 5), und der Abschluss der Sicherung wird durch das Signal SDONE angezeigt (siehe sechstes Zeitverlaufsdiagramm von 5).
  • Der Sicherungsprozess, d. h. die Datenübertragung von dem SerDes an den Speicher 231, beansprucht nur wenige Mikrosekunden. Bei dem abgebildeten Beispiel wird die Spannungsversorgung 240 der zweiten Versorgungsdomäne 24 zur Zeit tPD abgeschaltet, und die in der Debug-Logik 221 gespeicherten Daten sowie der Inhalt der Schieberegister in dem Schnittstellenschaltkreis 241 gehen verloren. Während des Modus mit geringem Energieverbrauch fährt die PMU 232 damit fort, das System zu überwachen und löst ein Aufwachen aus, sobald ein Aufwachereignis detektiert wird. Bei dem vorliegenden Beispiel zeigt das Signal SREQ (siehe zweites Zeitverlaufsdiagramm von 5) eine Wiederherstellung des Debug-Kontextes zur Zeit tR0 an, und die Daten werden über die Versorgungsdomänengrenze hinweg von dem Speicher 231 zurück zu dem Schieberegister in den SIPO-Block des SerDes (Schnittstellenschaltkreis 241) geschoben. Nach 62 Taktzyklen wurde das Datenwort [61:0] zur Zeit tR1 vollständig an das Schieberegister in dem Schnittstellenschaltkreis 241 geschoben und wird in die Debug-Logik 221 geschrieben. Der Abschluss der Wiederherstellung wird durch das Signal SDONE (sechstes Zeitverlaufsdiagramm von 5) angezeigt. Der Wiederherstellungsprozess, d. h. die Datenübertragung von dem Speicher 231 an das SerDes, benötigt nur wenige Mikrosekunden, und die Debug-Funktionen sind praktisch sofort nach dem Aufwachen des eingebetteten Controllers verfügbar. Zwischen der Zeit tB0 , zu der eine Sicherung des Debug-Kontextes initiiert wird, und der Zeit tR1 , zu der die Wiederherstellung des Debug-Kontextes abgeschlossen ist, zeigt das Signal SSTATE des Debug-Hosts, wie oben erwähnt, den Modus mit geringem Energieverbrauch an (siehe siebtes Zeitverlaufsdiagramm von 5).
  • 6 veranschaulicht eine beispielhafte Anwendung eines integrierten Steuerschaltkreises (Steuer-IC) mit einem eingebetteten Controller, der Hardware-Debug-Funktionen bereitstellt. Bei dem abgebildeten Beispiel wird ein Steuer-IC 21 eingesetzt, um den Betrieb eines Schaltnetzteils (SMPS) zu steuern. Zur Energiewandlung kann die SMPS einen Schaltwandler 30 enthalten, bei dem es sich um einen DC/DC-Wandler (z. B. einen Tiefsetzsteller, einen Tiefsetz-Hochsetzsteller etc.), einen AC/DC-Wandler, eine Leistungsfaktorsteuerung, oder dergleichen handeln kann. Verschiedene Schaltwandlertopologien sind als solche bekannt und werden daher nicht weiter erörtert. Im Wesentlichen ist der Steuer-IC 21 dazu ausgebildet, von dem Schaltwandler ein oder mehr Rückkopplungssignale zu empfangen; die Rückkopplungssignale können Informationen betreffend den gegenwärtigen Zustand des Schaltwandlers, der unter anderem durch den Ausgangsstrom, die Ausgangsspannung, die Eingangsspannung, etc. repräsentiert werden kann, tragen. Dementsprechend können die Rückkopplungssignale ein Stromerfassungssignal SIL und ein Spannungserfassungssignal SVOUT , die den Ausgangsstrom bzw. Ausgangsspannung repräsentieren, aufweisen. Basierend auf den Rückkopplungssignalen und weiteren Informationen (z. B. einem Spannungssollwert für die Ausgangsspannung) erzeugt der Steuer-IC 21 Treibersignale S1 und S2 , die den Schaltbetrieb des Schaltwandlers 30 steuern, z. B. das Einschalten und Ausschalten des/der in dem Schaltwandler 30 enthaltenen Schalter(s).
  • Schaltwandler können in verschiedenen Betriebsarten wie beispielsweise kontinuierlichem Leitungsmodus (continuous conduction mode, CCM) mit Pulsweitenmodulation (PWM), diskontinuierlichem Leitungsmodus (discontinuous conduction mode, DCM) mit PWM, DCM mit Pulsfrequenzmodulation (PFM), etc. betrieben werden. Steuerstrukturen und -algorithmen zum Steuern eines Schaltwandlers in einem bestimmten Modus sowie während einer Betriebsartumschaltung sind als solche bekannt und werden hier nicht weiter ausführlicher erläutert. Insbesondere wenn die an eine SMPS angeschlossene elektrische Last gering (oder sogar null) ist, sollte der Energieverbrauch des Schaltwandlers ebenfalls gering sein. Deshalb kann die SMPS in einem Modus mit geringem Energieverbrauch betrieben werden, wenn der durch eine Last verbrauchte Ausgangsstrom unter einem vorgegebenen Schwellenwert liegt. Wie oben erwähnt bringt der Modus mit geringem Energieverbrauch das Abschalten des in dem Steuer-IC 21 enthaltenen, eingebetteten Controllers mit sich (siehe z. B. 2-4, eingebetteter Controller 22). Um ein Hardware-Debugging des eingebetteten Controllers zu ermöglichen, kann ein Sicherungs-/Wiederherstellungsmechanismus für die Debug-Informationen, wie unter Bezugnahme auf die 2-5 ausführlich erläutert, bereitgestellt werden.
  • Ein System-Debugging (z. B. Software- und Firmware-Debugging) ist insbesondere während Betriebsartumschaltungen wie beispielsweise in der Einschalt-Phase des eingebetteten Controllers interessant, wenn der Modus mit geringem Energieverbrauch belassen wird. Bei einer typischen Implementierung kann die Einschalt-Phase näherungsweise 50 bis 500 Mikrosekunden andauern. Das Wiederherstellen der Debug-Informationen von dem Sicherungsspeicher an die Debug-Logik kann innerhalb weniger 100 Nanosekunden erreicht werden, und das Hardware-Debuggen ist von Beginn der Einschalt-Phase des Mikrocontrollers an verfügbar.
  • 7 ist ein Flussdiagramm, das ein Beispiel eines Verfahrens zur Handhabung einer Betriebsartumschaltung zwischen einem Normalbetrieb und einem Modus mit geringem Energieverbrauch eines Mikrocontrollers gemäß einer Ausgestaltung veranschaulicht. Das Verfahren kann, wie oben unter Bezugnahme auf die 2-4 erörtert, in einem Ziel-IC (z. B. einem Steuer-IC einer SNPS) implementiert werden. Wie oben erwähnt kann die PMU 232 (siehe 2-4) Ereignisse detektieren, die Betriebsartumschaltbedingungen detektieren. Ein derartiges Ereignis kann zum Beispiel darin bestehen, dass der Ausgangsstrom einer SMPS unter einen vorgegebenen Schwellenwert abfällt oder einen anderen vorgegebenen Schwellenwert übersteigt.
  • Der Normalbetrieb wird beibehalten (siehe 7, Schritt S1, „Nein“-Zweig), bis ein Ereignis detektiert wird, das eine Betriebsartumschaltbedingung für einen Wechsel in einen Modus mit geringem Energieverbrauch anzeigt (siehe 7, Schritt S1, „Ja“-Zweig). Auf die Detektion eines derartigen Ereignisses hin initiiert die PMU 232 einen Wechsel in einen Modus mit geringem Energieverbrauch, was das Lesen der Debug-Informationen von der Debug-Logik (221) des in dem Ziel-IC 21 enthaltenen, eingebetteten Controllers (22), z. B. durch den Schnittstellenschaltkreis 241, mit sich bringt (siehe 7, Schritt S2), und das Senden der gelesenen Debug-Informationen an den (Sicherungs)-Speicher 231 (siehe 7, Schritt S3). Schließlich wird die Versorgung des eingebetteten Controllers deaktiviert, z. B. ausgeschaltet oder abgeschlossen (siehe 7, Schritt S4). Es versteht sich, dass sich die PMU ebenso wie der Sicherungsspeicher in einer Versorgungsdomäne befinden, die immer ein ist, wohingegen sich der eingebettete Controller in einer anderen Versorgungsdomäne befindet, die während des Modus mit geringem Energieverbrauch inaktiv ist.
  • Der Modus mit geringem Energieverbrauch wird beibehalten (siehe 7, Schritt S5, „nein“-Zweig), bis ein Ereignis detektiert wird, das eine Betriebsartumschaltbedingung zum Zurückkehren zum Normalbetrieb anzeigt (siehe 7, Schritt S5, „ja“-Zweig). Auf die Detektion eines derartigen Ereignisses hin initiiert die PMU 232 einen Wechsel zum Normalbetrieb. Um den Modus mit geringem Energieverbrauch zu verlassen, wird die Versorgung des eingebetteten Controllers (siehe 7, Schritt S6) wieder aktiviert, der Schnittstellenschaltkreis empfängt die Debug-Informationen von dem Sicherungsspeicher 231 (siehe 7, Schritt S7) und stellt die empfangenen Informationen in der Debug-Logik wieder her (siehe 7, Schritt S8).
  • Obwohl die Erfindung in Bezug auf eine oder mehrere Implementierungen dargestellt und beschrieben wurde, können Änderungen und Anpassungen an den dargestellten Beispielen durchgeführt werden, ohne den Geist und die Reichweite der angehängten Ansprüche zu verlassen. Insbesondere hinsichtlich der verschiedenen Funktionen, die von den oben beschriebenen Bauelementen oder Strukturen (Einheiten, Baugruppen, Vorrichtungen, Schaltungen, Systemen, usw.) durchgeführt werden, sowie der Bergriffe (einschließlich eines Bezugs auf ein „Mittel“), die verwendet werden, um solche Bauelemente zu beschreiben, sollen diese - sofern nicht anders angegeben - jeglichem Bauelement oder Struktur entsprechen, die die erwähnte Funktion des beschriebenen Bauelements durchführen (d.h. die funktionell gleichwertig sind), auch wenn diese nicht der offenbarten Struktur, welche die Funktion in den hier dargestellten beispielhaften Implementierungen der Erfindung durchführen, strukturell gleich ist.

Claims (16)

  1. Elektronische Vorrichtung, die aufweist: einen Controller (22) mit einer Debug-Logik (221); eine Energieverwaltungseinheit (PMU) (232), die dazu ausgebildet ist, den Controller (22) bei einem Wechsel von einem Normalbetrieb in einen Modus mit geringem Energieverbrauch auszuschalten; einen Schnittstellenschaltkreis (241), der mit der Debug-Logik (221) gekoppelt ist; und einen Speicher (231), der mit dem Schnittstellenschaltkreis (241) gekoppelt ist; wobei der Schnittstellenschaltkreis (241) dazu ausgebildet ist, in der Debug-Logik (221) gespeicherte Debug-Informationen zu lesen und die gelesenen Debug-Informationen an den Speicher (231) zu übertragen; wobei der Schnittstellenschaltkreis (241) weiter dazu ausgebildet ist, die in dem Speicher (231) gespeicherten Debug-Informationen zu empfangen und die empfangenen Debug-Informationen in die Debug-Logik (221) zu schreiben; wobei die PMU (232) dazu ausgebildet ist, die Übertragung der Debug-Informationen von dem Schnittstellenschaltkreis (241) an den Speicher (231) beim Wechseln vom Normalbetrieb in einen Modus mit geringem Energieverbrauch auszulösen, und wobei die PMU (232) weiter dazu ausgebildet ist, beim Wechseln zurück in den Normalbetrieb den Empfang der Debug-Informationen von dem Speicher (231) durch den Schnittstellenschaltkreis (241) auszulösen.
  2. Vorrichtung gemäß Anspruch 1, wobei der Schnittstellenschaltkreis (241) und der Speicher (231) über zumindest eine serielle Datenleitung verbunden sind; und wobei der Schnittstellenschaltkreis (241) dazu ausgebildet ist, Debug-Informationen als seriellen Datenstrom über die zumindest eine serielle Datenleitung zu empfangen und zu senden.
  3. Vorrichtung gemäß Anspruch 1 oder 2, wobei der Speicher (231) und der Schnittstellenschaltkreis (241) ein Schieberegister enthalten.
  4. Vorrichtung gemäß Anspruch 1 oder 2, wobei der Schnittstellenschaltkreis (241) einen Serialisierer/Deserialisierer enthält, der dazu ausgebildet ist, die Debug-Informationen in Form eines binären Datenworts von der Debug-Logik (221) zu lesen bzw. in diese zu schreiben, und weiter dazu ausgebildet ist, die Debug-Informationen in Form eines seriellen Datenstroms an ein in dem Speicher (231) enthaltenes Schieberegister zu senden bzw. von diesem zu empfangen.
  5. Vorrichtung gemäß einem der Ansprüche 1 bis 4, die weiter aufweist: einen oder mehr externe Kontakte; eine Eingangs-/Ausgangs-(I/O)-Steuerschaltung (234), die dazu ausgebildet ist, über den einen oder die mehr externen Kontakte eine Verbindung mit einem externen Host-Computer (10) aufzubauen, um eine Kommunikation zwischen dem externen Host-Computer (10) und der Debug-Logik (221) zu ermöglichen; wobei die I/O-Steuerschaltung (234) dazu ausgebildet ist, dem externen Host-Computer (10) den Wechsel in den Modus mit geringem Energieverbrauch zu melden.
  6. Vorrichtung gemäß einem der Ansprüche 1 bis 5, die weiter aufweist: einen Halbleiterchip, der den Controller (22), den Schnittstellenschaltkreis (241) und den Speicher (231) enthält.
  7. Vorrichtung gemäß Anspruch 6, wobei der Halbleiterchip zwei oder mehr Versorgungsdomänen (23, 24) enthält, wobei jede Versorgungsdomäne eine Versorgungsspannung zum Versorgen von innerhalb der betreffenden Versorgungsdomäne befindlichen Schaltkreisen aufweist, die unabhängig von Spannungsversorgungen von anderen Versorgungsdomänen ist, wobei in einer ersten Versorgungsdomäne (23) der zwei oder mehr Versorgungsdomänen die Spannungsversorgung sowohl im Normalbetrieb als auch im Modus mit geringem Energieverbrauch aktiv ist, und wobei in einer zweiten Versorgungsdomäne (24) der zwei oder mehr Versorgungsdomänen die Spannungsversorgung in dem Modus mit geringem Energieverbrauch inaktiv ist.
  8. Vorrichtung gemäß Anspruch 8, wobei sich der Controller (22) in der zweiten Versorgungsdomäne (24) befindet und sich der Speicher in der ersten Versorgungsdomäne (23) befindet.
  9. Verfahren, das aufweist: bei eines Wechsels in einen Modus mit geringem Energieverbrauch einer elektronischen Vorrichtung, die einen Controller enthält: Lesen von Debug-Informationen von einer Debug-Logik (221) eines eingebetteten Controllers (22) durch einen Schnittstellenschaltkreis (241) und Übertragen der gelesenen Debug-Informationen an einen Speicher (231); und beim Verlassen des Modus mitgeringem Energieverbrauch: Empfangen der Debug-Informationen von dem Speicher (231) durch den Schnittstellenschaltkreis (241), und Wiederherstellen der empfangenen Debug-Informationen in der Debug-Logik (221).
  10. Verfahren gemäß Anspruch 9, das weiter aufweist: Melden eines Modus mit geringem Energieverbrauch der elektronischen Einrichtung an einen externen Host-Computer (10), der über einen oder mehr externe Kontakte der elektronischen Vorrichtung mit dieser gekoppelt ist.
  11. Verfahren gemäß Anspruch 9 oder 10, wobei der Schnittstellenschaltkreis (241) und der Speicher (231) jeweils zumindest ein Schieberegister enthalten.
  12. Verfahren gemäß Anspruch 11, wobei das Lesen der Debug-Informationen von einer Debug-Logik (221) des Controllers (22) das Laden eines binären digitalen Datenworts in das Schieberegister des Schnittstellenschaltkreises (241) aufweist; und wobei das Übertragen der Debug-Informationen an den Speicher (231) das bitweise Verschieben des Inhalts des Schieberegisters des Schnittstellenschaltkreises (241). in das Schieberegister des Speichers (231) über eine erste serielle Datenleitung aufweist.
  13. Verfahren gemäß Anspruch 11 oder 12, wobei das Empfangen der Debug-Informationen von dem Speicher (231) das bitweise Verschieben des Inhalts des Schieberegisters des Speichers (231) in das Schieberegister des Schnittstellenschaltkreises (241) über eine zweite serielle Datenleitung aufweist, und wobei das Wiederherstellen der empfangenen Debug-Informationen in der Debug-Logik (221) das Schreiben des Inhalts des Schieberegisters des Schnittstellenschaltkreises (241) in die Debug-Logik aufweist.
  14. Verfahren gemäß einem der Ansprüche 9 bis 13, wobei die elektronische Vorrichtung zwei oder mehr Versorgungsdomänen (23, 24) aufweist, wobei jede Versorgungsdomäne eine Spannungsversorgung zum Versorgen von innerhalb der betreffenden Versorgungsdomäne befindlichen Schaltkreisen aufweist, die unabhängig von Spannungsversorgungen von anderen Versorgungsdomänen ist; wobei sich der Speicher (231) in einer ersten Versorgungsdomäne (23) befindet und sich der Controller (22) in einer zweiten Versorgungsdomäne (24) der zwei oder mehr Versorgungsdomänen befindet, und wobei das Verfahren weiter das Deaktivieren der Spannungsversorgung der zweiten Versorgungsdomäne (24) beim Wechsels in einen Modus mit geringem Energieverbrauch aufweist, während die Spannungsversorgung der ersten Versorgungsdomäne (23) aktiv bleibt.
  15. Verfahren nach Anspruch 14, wobei das Verfahren weiter beim Verlassen des Modus mit geringem Energieverbrauch das Reaktivieren der Spannungsversorgung der zweiten Versorgungsdomäne (24) aufweist.
  16. Schaltnetzteil, die aufweist: einen Schaltwandler (30), und einen integrierten Steuerschaltkreis (21), der mit dem Schaltwandler (30) gekoppelt und dazu ausgebildet ist, den Schaltbetrieb des Schaltwandlers (30) zu steuern, wobei der integrierte Steuerschaltkreis (21) einen eingebetteten Controller (22) mit einer Debug-Logik (221), einen mit der Debug-Logik (221) gekoppelten Schnittstellenschaltkreis (241), einen mit dem Schnittstellenschaltkreis (241) gekoppelten Speicher (231) und eine Energieverwaltungseinheit (PMU) (232) enthält, die dazu ausgebildet ist, den Controller (22) bei einem Wechsel von einem Normalbetrieb in einen Modus mit geringem Energieverbrauch auszuschalten; wobei der Schnittstellenschaltkreis (241) dazu ausgebildet ist, in der Debug-Logik (221) gespeicherte Debug-Informationen zu lesen und die gelesenen Debug-Informationen an den Speicher (231) zu übertragen; wobei der Schnittstellenschaltkreis (241) weiter dazu ausgebildet ist, in dem Speicher (231) gespeicherte Debug-Informationen zu empfangen und die empfangenen Debug-Informationen in die Debug-Logik (221) zu schreiben; wobei die PMU (232) dazu ausgebildet ist, die Übertragung der Debug-Informationen von dem Schnittstellenschaltkreis (241) an den Speicher (231) beim Wechseln vom Normalbetrieb in einen Modus mit geringem Energieverbrauch auszulösen, und wobei die PMU (232) weiter dazu ausgebildet ist, beim Wechseln zurück in den Normalbetrieb den Empfang der Debug-Informationen von dem Speicher (231) durch den Schnittstellenschaltkreis (241) auszulösen.
DE102018101028.1A 2018-01-18 2018-01-18 Mikrocontrollersystem mit schaltungsinternem Debugger Active DE102018101028B3 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102018101028.1A DE102018101028B3 (de) 2018-01-18 2018-01-18 Mikrocontrollersystem mit schaltungsinternem Debugger
US16/242,919 US10942838B2 (en) 2018-01-18 2019-01-08 Microcontroller system with in-circuit debugger
CN201910047994.5A CN110058541B (zh) 2018-01-18 2019-01-18 具有电路内调试器的微控制器系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102018101028.1A DE102018101028B3 (de) 2018-01-18 2018-01-18 Mikrocontrollersystem mit schaltungsinternem Debugger

Publications (1)

Publication Number Publication Date
DE102018101028B3 true DE102018101028B3 (de) 2019-05-29

Family

ID=66442212

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018101028.1A Active DE102018101028B3 (de) 2018-01-18 2018-01-18 Mikrocontrollersystem mit schaltungsinternem Debugger

Country Status (3)

Country Link
US (1) US10942838B2 (de)
CN (1) CN110058541B (de)
DE (1) DE102018101028B3 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021003694A1 (en) * 2019-07-10 2021-01-14 Micro Focus Llc Device debugging connection control and maintenance
US11847006B2 (en) * 2020-01-02 2023-12-19 Texas Instruments Incorporated Integrated circuit with debugger and arbitration interface
US11360143B2 (en) * 2020-10-29 2022-06-14 Stmicroelectronics International N.V. High speed debug-delay compensation in external tool
CN112540888B (zh) * 2020-12-18 2022-08-12 清华大学 面向大规模可重构处理单元阵列的调试方法及装置
CN113626274B (zh) * 2021-10-11 2022-01-04 灵动集成电路南京有限公司 实现硬件调试的接口、微控制器实现调试的方法
CN114138588B (zh) * 2021-11-03 2024-01-09 苏州浪潮智能科技有限公司 一种控制器的调试信息导出方法、系统、设备以及介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9632137B2 (en) 2015-04-22 2017-04-25 Apple Inc. Serial wire debug bridge

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6142683A (en) * 1997-04-08 2000-11-07 Advanced Micro Devices, Inc. Debug interface including data steering between a processor, an input/output port, and a trace logic
KR100240662B1 (ko) * 1997-09-25 2000-01-15 윤종용 제이태그에 의한 다이나믹램 테스트장치
US6718390B1 (en) * 1999-01-05 2004-04-06 Cisco Technology, Inc. Selectively forced redirection of network traffic
JP2000259448A (ja) * 1999-03-11 2000-09-22 Sharp Corp プログラムデバッグ装置
WO2004006540A2 (en) * 2002-07-08 2004-01-15 Globespanvirata Incorporated System and method for packet transmission from fragmented buffer
US7216276B1 (en) * 2003-02-27 2007-05-08 Marvell International Ltd. Apparatus and method for testing and debugging an integrated circuit
US7577874B2 (en) * 2003-06-18 2009-08-18 Nethra Imaging, Inc. Interactive debug system for multiprocessor array
US7152186B2 (en) * 2003-08-04 2006-12-19 Arm Limited Cross-triggering of processing devices
US7418629B2 (en) * 2005-02-11 2008-08-26 International Business Machines Corporation Synchronizing triggering of multiple hardware trace facilities using an existing system bus
US7437618B2 (en) * 2005-02-11 2008-10-14 International Business Machines Corporation Method in a processor for dynamically during runtime allocating memory for in-memory hardware tracing
US7437617B2 (en) * 2005-02-11 2008-10-14 International Business Machines Corporation Method, apparatus, and computer program product in a processor for concurrently sharing a memory controller among a tracing process and non-tracing processes using a programmable variable number of shared memory write buffers
JP2006275986A (ja) * 2005-03-30 2006-10-12 Advantest Corp 診断プログラム、切替プログラム、試験装置、および診断方法
US8881114B2 (en) * 2005-05-16 2014-11-04 Texas Instruments Incorporated Stored program writing stall information when a processor stalls waiting for another processor
JP4303719B2 (ja) * 2005-12-08 2009-07-29 Necエレクトロニクス株式会社 半導体集積回路およびその制御方法
US7975260B1 (en) * 2006-01-27 2011-07-05 Symantec Corporation Method of direct access and manipulation of debuggee memory from debugger
JP4751216B2 (ja) * 2006-03-10 2011-08-17 株式会社東芝 半導体集積回路及びその設計装置
US7913118B2 (en) * 2008-10-15 2011-03-22 Andes Technology Corporation In-circuit debugging system and related method
JP2011145972A (ja) * 2010-01-18 2011-07-28 Renesas Electronics Corp 半導体集積回路及び電源制御方法
US8601315B2 (en) * 2010-11-01 2013-12-03 Freescale Semiconductor, Inc. Debugger recovery on exit from low power mode
US8799713B2 (en) * 2011-03-01 2014-08-05 Texas Instruments Incorporated Interruptible non-destructive run-time built-in self-test for field testing
CN203445866U (zh) * 2013-08-07 2014-02-19 国家电网公司 电力业务智能移动终端
US9590976B2 (en) * 2014-10-08 2017-03-07 Google Inc. Network-assisted fabric pairing
US9558086B2 (en) * 2015-06-02 2017-01-31 Aspeed Technology Inc. System on chip with debug controller and operating method thereof
TWI546660B (zh) * 2015-09-22 2016-08-21 新唐科技股份有限公司 除錯系統與方法
TWI602115B (zh) * 2016-06-23 2017-10-11 慧榮科技股份有限公司 資料儲存裝置之資料儲存方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9632137B2 (en) 2015-04-22 2017-04-25 Apple Inc. Serial wire debug bridge

Also Published As

Publication number Publication date
US10942838B2 (en) 2021-03-09
CN110058541A (zh) 2019-07-26
US20190220386A1 (en) 2019-07-18
CN110058541B (zh) 2023-11-14

Similar Documents

Publication Publication Date Title
DE102018101028B3 (de) Mikrocontrollersystem mit schaltungsinternem Debugger
DE69432514T2 (de) Leistungssteuerung in einem Computersystem
DE102008043947B4 (de) Anschlusszustandserkennungssystem für ein Netzwerkkabel
DE69729889T2 (de) Verfahren und system zum ermöglichen einer unterbrechungsfreien einsetzung und entfernung von erweiterungskarten in einem unterspannungrechnersystem
DE69523005T2 (de) Koppelbare Rechnervorrichtung und -verfahren
DE69031705T2 (de) Zum Anschluss einer Erweiterungseinheit geeignetes Rechnersystem
DE69131440T2 (de) Verbindungszustandsbestätigungssystem und -methode für eine Expansionseinheit
DE112020003957T5 (de) Sekundärgesteuerte aktivklemmen-implementierung für verbesserte effizienz
DE102016206170B4 (de) Serielle draht-debug-brücke
DE112019001910T5 (de) Überstromschutz für universal-serial-bus-typ-c(usb-c)-steckverbindersysteme
DE112009000147T5 (de) Mobilgerät, das eine UART- und USB-Kommunikation unter Verwendung desselben Steckers gestattet, und Verfahren zum Betreiben desselben
DE102013110340A1 (de) Ein-Chip-System mit der Fähigkeit zum Steuern einer Leistungsversorgung gemäß einer Datentransaktion und Verfahren zum Betreiben desselben
DE112005003279T5 (de) Energieverwaltungs-Punkt-zu-Punkt Wechselstrom-gekoppeltes Peripheriegerät
DE4230204A1 (de) Netzteilsteuersystem fuer ein elektronisches geraet und daran angeschlossene erweiterungseinheit
DE102011079361A1 (de) Näherungs-Erfassungsschaltung für ein in einem Fahrzeug integriertes Ladegerät
DE10238563A1 (de) System und Verfahren zum Testen von Schaltungen und Programmieren integrierter Schaltungsvorrichtungen
DE102007009300A1 (de) Rechnersystem und Verfahren zum Betreiben eines Rechnersystems
DE102006022985A1 (de) Schaltungsanordnung mit einer seriellen Testschnittstelle bzw. serielles Testbetriebsverfahren
DE112019001912T5 (de) Schutz vor umgekehrtem überstrom für universal-serial-bus-typ-c(usb-c)-verbindersysteme
DE102015202513A1 (de) Vorrichtung und Verfahren zur Datenspeicherung sowie Datenverarbeitungssystem damit
EP2159667B1 (de) Computersystem und Verfahren zum Energie sparenden Betrieb eines Computersystems
DE102004059813A1 (de) Betriebsverfahren für ein elektronisches Host-Karte-System und Speichersystem
DE69722848T2 (de) Computersystem mit Parallelanschlussschnittstelle als Stromversorgung für Peripheriegerät und Erweiterungsgerät dafür
DE20004448U1 (de) Vorrichtung zum Sichern von Aufweckfunktionen eines Computersystems nach einem Stromausfall
CN112834898B (zh) 一种存储设备电源芯片稳定性的测试方法、装置及设备

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
R082 Change of representative