Physical Trace Port Analysis


The embedded tools company
Introduction
Debugging your target hardware with Lauterbach′s Eye-Finder


Physical Trace Port Analysis

 

Introduction


Lauterbach′s Trace32 software in combination with the AutoFocus Preprocessors enable the user to perform an extensive analysis of the physics of the trace port. In addition to the test.ShowFocus window that is showing the data eyes for the current reference voltage level for all active trace port channels, there is another window called trace.ShowFocusEye that makes a third dimension visible. Besides time (x-axis), channel (y-axis for trace.ShowFocus, z-axis for trace.ShowFocusEye), the data reference voltage is shown on the y-axis of the trace.ShowFocusEye window, thus enabeling the user to view the data eyes (within the AutoFocus Preprocessor) for all trace channels.

 

Debugging your target hardware with Lauterbach′s Eye-Finder


The trace.ShowFocus(Eye) windows get their information from any activity at the trace port. When the target CPU is not running, a test program will be downloaded to the target RAM to generate activity at the trace port. If the CPU is running data eye information will be gathered from the actual application.
This is a powerful feature to debug the target hardware itself. The following example shows how it was possible to detect multiple drivers on the same line.
In the example the user observed flow errors, when turning on a special hardware feature on his target board. With the feature being turned off the trace was free of errors. Scanning the data eyes with that feature either being turned on or off revealed why:

With the feature turned off data eyes were scanned for all trace channels using trace.ShowFocusEye. This revealed that all but one trace channel (TP1) had a logic zero close 0V and a logic one close to 1.9V when the Preprocessor′s (active) termination was turned off (command: trace.TERMination OFF). TP1 however had its logic zero close 0.9V (approx. 50% of the output driver′s voltage level). Typically the user had his data reference voltage set to a value greater than 0.9V which is why the TP1 signal was detected logically correct when the feature was turned off.







Setting the data reference voltage to 0.9V (command: a.THRESHOLD <clk_value> 0.9) shows that there is absolutely no sampling point were TP1 would deliver valid data reliably:



With the feature turned on TP1 was showing the opposite behavior: now the logic zero was at 0V and the logic one was around 1V (approx. 50% of the output driver′s voltage level). Since the user had his data reference voltage set to a value greater than 0.9V the TP1 signal was never logically correct when the feature was turned on. Hence the trace had errors.







The important thing to note is that this behavior was caused by erroneous target hardware, which the user was able to detect with the extensive analysis capabilities of Lauterbach′s tool-set: On the target board two drivers (of approximately equal drive strength) were driving on the same net. The first driver was the actual TP1 trace port signal, the other driver would drive a logic zero when the feature was turned off and a logic one when the feature was turned on.




Copyright © 2023 Lauterbach GmbH, Altlaufstr.40, 85635 Höhenkirchen-Siegertsbrunn, Germany   Impressum     Privacy Policy
The information presented is intended to give overview information only.
Changes and technical enhancements or modifications can be made without notice. Report Errors
Last generated/modified: 02-Jan-2023