Ohne Kompromisse

Echtzeitregelung- und Kommunikationsfunktionen mit einem Dual-Subsystem-Mikrocontroller

10. Juli 2012, 14:34 Uhr | Von Sangmin Chon

Fortsetzung des Artikels von Teil 1

Für Regelungs- und Kommunikationsfunktionen optimierte Peripherie

Die Concerto-Familie vereint in sich die gesamte Regelungs- und Kommunikations-Peripherie, die für zahlreiche Anwendungen erforderlich ist. Die Regelungs-Peripherie der Mikrocontroller-Architektur basiert auf den C2000-MCUs. Die integrierten PWM-Funktionen sorgen mit einer Auflösung von rund 150 ps für höchste Regelgenauigkeit. Darüber hinaus sind die Bausteine mit einem flexiblen, mehrfach instanziierten PWM-Modul ausgestattet, das mehrere Compare-Ereignisse unterstützt und über spezielle Leistungsmerkmale für die Hochfrequenz-Leistungsregelung verfügt, darunter Shadow-Register, einstellbares Totband und programmierbare Cycle-by-Cycle- oder One-Shot-Fehlerbehandlung.

Positiven Einfluss auf die Leistungsfähigkeit und Genauigkeit haben zwei unabhängige Zweifach-Sample-and-Hold-A/D-Umsetzer mit jeweils bis zu 2,9 MS/s. Um das Design zu vereinfachen, sind alle Eingangskanäle an beiden A/D-Umsetzern über einen Multiplexer verbunden. Die Entscheidung, welcher A/D-Umsetzer ein Signal verarbeitet, obliegt der Treiber-Software. Jeder Umsetzer kann außerdem mit seiner Sample-and-Hold-Stufe zwei Signale abtasten und halten, so dass insgesamt vier Messungen gleichzeitig möglich sind. Anstatt den Strom abzutasten und zu verarbeiten und anschließend mit einer gewissen Verzögerung die Spannung zu erfassen, kann die Messung von Strom und Spannung gleichzeitig erfolgen. Vervollständigt wird die Signalverarbeitungs-Kette durch asynchrone Analog-Komparatoren. Die Reaktion auf das Über- oder Unterschreiten eines Grenzstroms erfolgt bei den Concerto-MCUs nicht erst mit dem nächsten Taktzyklus, sondern sofort. Ebenso steht es den Entwicklern frei, die Ansprechschwelle mit Hilfe einer Referenzspannung festzulegen.

Die Signalgenauigkeit wird auch auf der Architekturebene gewahrt. Viele Signale, die die Peripherie - und hier speziell die Kommunikationsschnittstellen - durchlaufen, sind von sehr hoher Frequenz. Die Peripherie wurde deshalb so ausgelegt, dass die elektromagnetischen Interferenzen (EMI) zwischen den verschiedenen hochfrequenten Regelungs- und Kommunikationssignalen minimiert werden.

Unabhängige Regelung, höhere Zuverlässigkeit

Die Tatsache, dass in Multi-Core-Architekturen traditionell viele Ressourcen gemeinsam genutzt werden (‚Resource Sharing’), bringt eine ganze Reihe diffiziler Probleme im Zusammenhang mit dem Konkurrenzbetrieb (Contention) mit sich. Zusätzliche Komplexität resultiert aus der Zuweisung der Ressourcen, z. B. der Peripheriefunktionen: Die Kerne müssen die „Eigentümerschaft“ über diese gemeinsam genutzten Ressourcen mit Hilfe komplexer Mechanismen, die die Auswirkungen von Konkurrenzbetrieb und Latenzen minimieren sollen, koordinieren. Dennoch können auch solche Mechanismen nicht verhindern, dass es zu Verzögerungen beim Zugriff auf die Peripherie kommt, was wiederum die Signalisierungs-Genauigkeit beeinträchtigt und sich negativ auf die Echtzeit-Fähigkeit auswirkt.

Die Concerto-Architektur kommt ohne diese Contention- und Sharing-Mechanismen aus, da der C28x- und der Cortex-M3-Kern als unabhängige Subsysteme implementiert sind. Dementsprechend verfügen beide über ihren eigenen Interrupt-Controller, ihren eigenen Speicher sowie über Peripheriefunktionen, die auf die zu erwartenden Arbeitsaufgaben abgestimmt sind. Der Cortex-M3-Kern kann nicht direkt auf die regelungsspezifische Peripherie des C28x zugreifen und umgekehrt ist die Kommunikations-Peripherie des Cortex-M3 dem C28x-Kern versperrt. Damit ist sichergestellt, dass der Host-Prozessor nicht in Echtzeitprozesse eingreifen kann und die Regelungsfunktionen keinen Einfluss auf die Kommunikations-Schnittstellen haben.

Diese Aufteilung macht auch die Applikationsentwicklung einfacher: Da jeder Kern seine eigene Peripherie bedient, können die Entwickler ausschließen, dass Code des jeweils anderen Kerns die Leistung des Systems bzw. seine Echtzeitfähigkeit beeinträchtigt. Software-Bi-bliotheken können unverändert verwendet werden. Anders wäre es, wenn z.B. Bibliotheks-Codes für Echtzeitregelungs-Algorithmen und Kommunikations-Stacks vom selben Kern ausgeführt würden; hier müssten die Entwickler analysieren und verifizieren, dass die maximale Latenz der Funktionen jeder Bibliothek nicht den für die Interruptbearbeitung gesetzten Zeitrahmen der jeweils anderen Bibliothek sprengt. Läuft der Code jeder Bibliothek dagegen auf separaten Kernen, werden derartige Analysen und etwaige Modifikationen am Code von vornherein überflüssig.

Die Eigenständigkeit jedes Kerns erstreckt sich bis in das Takt- und Power-Management. Würde der Regelungs- und der Kommunikations-Code vom selben Kern ausgeführt, wären beide unweigerlich miteinander verflochten, denn sobald eine dieser Funktionen nach der vollen Taktfrequenz verlangen würde, müsste der gesamte Prozessor mit dieser hohen Frequenz getaktet werden. Anders ist es bei der Dual-Subsystem-Architektur: Hier hängen beide Cores zwar ebenfalls an einer Taktquelle, aber dennoch können beide abhängig von der Applikation mit verschiedenen Frequenzen getaktet werden.

Die Möglichkeit, die Taktfrequenz jedes Cores separat dynamisch zu variieren, kann die Leistungsaufnahme erheblich verringern, wie sich am Beispiel eines Motorreglers mit Ethernet-Anbindung gut verdeutlichen lässt. Solange dieses System nicht aktiv sendet, kann die Taktfrequenz des Cortex-M3 dynamisch so weit herabgesetzt werden, wie es für das Erkennen ankommender Daten erforderlich ist, während der C28x für den Betrieb des Motors mit der vollen Taktfrequenz arbeitet. Umgekehrt gilt das gleiche: Wenn bei abgeschaltetem Motor Daten mit der vollen Bandbreite empfangen werden, lässt sich der Cortex-M3 mit maximaler Frequenz takten, während der Takt des C28x vermindert wird.

Integrierte Überwachungsinstanz

Von der strikten Trennung der Peripheriefunktionen abgewichen wird bei den beiden integrierten A/D-Umsetzern: Hier können nämlich beide Kerne auf die Ergebnisregister zugreifen, damit die A/D-Umsetzer bei Regelungs-, Kommunikations- und/oder Systemdiagnose-Aufgaben unabhängig genutzt werden können. Beispielsweise kann ein A/D-Umsetzer für die Feedback-Funktion zweier Motoren genutzt werden, während der andere für Host-Aufgaben wie die Temperaturerfassung oder eine Kommunikationsverbindung genutzt wird.

In Anwendungen, die nach ausgefeilten Sicherheits-Features verlangen, können die gemeinsam genutzten A/D-Umsetzer zur Verbesserung von Sicherheit und Zuverlässigkeit verwendet werden. In einer solchen Konfiguration wird der A/D-Umsetzer vom C28x-Kern kontrolliert und vom Cortex-M3 überwacht. Der Cortex-M3-Kern kann somit als Überwachungsinstanz für das Echtzeit-Subsystem fungieren und intern sicherstellen, dass der C28x wie vorgesehen arbeitet.

Des Weiteren ist eine Takt-Rückfallebene eingebaut. Fällt die Taktquelle eines Concerto-Controllers aus, wird ein interner 10-MHz-Takt aktiviert, um das System funktionsfähig zu halten und z.B. ein geordnetes Herunterfahren des Systems zu ermöglichen.

Für den schnellen Einstieg in die Concerto-Plattform stellt TI das F28M35x-Experimentier-Kit zur Verfügung. Es umfasst eine F28M35x-controlCARD und eine Docking Station, die Entwicklern die Evaluierung und Entwicklung ermöglichen. Die modulare controlCARD ist Hardware-kompatibel mit anwendungsspezifischen C2000-Entwicklungs-Kits.

Sangmin Chon
ist Marketing-Leiter für die C2000-Mikrocontroller bei Texas Instruments. In dieser Posi-tion ist er zuständig für die Warendefinition und -positionierung, Designfragen, die Geschäftsentwicklung und die Kundenbetreuung der C2000-MCU-Produktlinie. Chon hat über zehn Jahre Erfahrung in den Bereichen Design und Marketing. Neben seiner Arbeit im C2000-MCU-Team war er MCU Business Development Manager in China und Marketing Manager für den Automotive-Bereich. Chon hat einen Bachelor of Science in Elektrotechnik von der University of Texas.

  1. Echtzeitregelung- und Kommunikationsfunktionen mit einem Dual-Subsystem-Mikrocontroller
  2. Für Regelungs- und Kommunikationsfunktionen optimierte Peripherie

Verwandte Artikel

Texas Instruments Deutschland GmbH