Als Hersteller von On-Chip-Debuggern (OCDs) und Analyzern hat iSystem profundes Wissen über Debug-Schnittstellen/Trace-Ports wie Nexus oder ETM. Die steigenden Anforderungen an Mikrocontroller nach höherer Integration und schnellerem Takt bei immer weniger Stromverbrauch stellen sowohl die Halbleiter- als auch die Werkzeughersteller vor große Herausforderungen: Es wird immer schieriger, ausreichende Bandbreiten über die jeweiligen Trace-Ports bereitzustellen. Je höher ein Mikrocontroller integriert und getaktet ist, desto leichter werden On-Chip-Trace-Signale verzerrt. Der Anwender sollte schon beim Design aufpassen und mit entsprechenden Designrichtlinien die Qualität des finalen Messergebnisses erhöhen.
On-Chip-Debug-Funktionalität ist heutzutage bei den meisten Controllern durch Komprimierung der CPU-Aktivität auf dem Chip selbst und durch den Transfer eines Datenstroms über einen Trace-Port zu einem externen Tool (etwa einem OCD) realisiert. Das Tool zeichnet dann die Daten auf, analysiert diese und zeigt sie an. Physikalisch besteht ein Trace-Port üblicherweise aus Takt- und Datenleitungen. Die Taktleitung wird benötigt, um Daten genau in dem Moment aufzunehmen, in dem das Signal stabil und gültig ist.
Daten können bei aufsteigender Flanke des Taktsignals („Full Rate“) aufgezeichnet werden, oder zur auf- und absteigenden Flanke („Half Rate“). Bei niedrigen Frequenzen und guter Signalqualität kann man Takt- und Datensignale als reine, digitale Signale (Quadratkurven) ohne Phasenverschiebung betrachten. Ein OCD kann in diesem Fall Daten präzise aufnehmen.
Die Grenzen der Übertragung
Nebenstehende Bilder zeigen die Aufzeichnung von Daten- und Taktsignalen durch ein Oszilloskop. Die Datensignale sind blau, das Taktsignal in Gelb dargestellt. Die unterschiedlichen blauen Linien zeigen ein Signal zu unterschiedlichen Zeitpunkten – das Oszilloskop zeichnete im so genannten Dauermodus auf, bei dem die Kurven auf dem Oszilloskopbildschirm akkumuliert dargestellt werden.
Der dunkle Bereich innerhalb der Signale heißt Datenauge – die Datenaufzeichnung in dieser Zone führt zu verlässlichen Daten (Bild 1: lila Quadrate). Steigt jedoch die Frequenz, wird die Datenaufzeichnung zur Herausforderung durch steigende Signalverzerrung wie Rauschen, Dämpfung, Übersprechen, Reflexion und Potenzialverschiebung. Wie Bild 2 zeigt, schrumpft bei höheren Frequenzen das Datenauge (lila Kreise) und das Taktsignal muss verschoben werden (lila Pfeile).
PCB-Designmängel wie zu lange oder unterschiedlich lange Traceleitungen, Abzweigungen an den Traceleitungen oder gesockelte CPU können die Tracesignale soweit verzerren, dass eine korrekte Abtastung nicht mehr möglich ist.
Zehn Empfehlungen
Um Signalverzerrungen zu vermeiden und um eine möglichst hohe Tracequalität zu erreichen, sollte bereits der PCB-Designer einige Punkte beachten:
- Die CPU sollte auf der Platine eingelötet sein. Jeglicher Sockel kann die Integrität der Signale dramatisch verändern.
- Alle Traceleitungen auf der PCB sollten so kurz wie möglich sein (maximal ~2,5 cm).
- Alle Traceleitungen sollten auf dem gleichen Layer der Platine oder auf Layern mit gleicher Impedanz liegen.
- Richtwert für die Layer-Impedanz ist 50 Ohm.
- Mictor-Erdungspins sollten direkt mit der PCB-Erdung (GND) verbunden sein.
- Die Taktleitung sollte seriell mit einem 47-Ohm-Widerstand abgeschlossen werden, der möglichst nahe am Treiber liegt. Der Widerstandswert kann unterschiedlich sein abhängig von den Treibermerkmalen.
- Die Taktleitung sollte frei von Übersprechen sein – wenn möglich durch doppelten Abstand zur nächsten Leitung.
- Die Taktleitung sollte eine Punkt-zu-Punkt Verbindung sein – jegliche Abzweigungen sind zu vermeiden.
- Es wird dringend empfohlen, auch die anderen (Daten-) Leitungen als Punkt-zu-Punkt Verbindung auszuführen. Wird eine Abzweigung benötigt, sollte diese so kurz wie möglich sein. Werden längere Abzweigungen verlangt, sollte eine Abklemmmöglichkeit vorhanden sein, zum Beispiel durch Jumper.
- Übersprechen innerhalb des Tracedatenbusses ist unkritisch, aber die Isolation des kompletten Busses von anderen Signalen ist äußerst wichtig (einschließlich Trace-Taktleitung).
Das unten verlinkte englischsprachige PDF geht detailierter auf die Hintergründe und Empfehlungen ein.
(lei)