WO2005081728A2 - Simultaneous physical and protocol layer analysis - Google Patents

Simultaneous physical and protocol layer analysis Download PDF

Info

Publication number
WO2005081728A2
WO2005081728A2 PCT/US2004/043333 US2004043333W WO2005081728A2 WO 2005081728 A2 WO2005081728 A2 WO 2005081728A2 US 2004043333 W US2004043333 W US 2004043333W WO 2005081728 A2 WO2005081728 A2 WO 2005081728A2
Authority
WO
WIPO (PCT)
Prior art keywords
value
ofthe
predetermined
data signal
data
Prior art date
Application number
PCT/US2004/043333
Other languages
French (fr)
Other versions
WO2005081728A3 (en
Inventor
Roland Gamper
Kenneth William Johnson
Gilles Ritter
Lawrence Steven Salant
Original Assignee
Lecroy Corporation
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 Lecroy Corporation filed Critical Lecroy Corporation
Priority to CNA200480041517XA priority Critical patent/CN1942925A/en
Priority to JP2006552114A priority patent/JP2007522453A/en
Publication of WO2005081728A2 publication Critical patent/WO2005081728A2/en
Publication of WO2005081728A3 publication Critical patent/WO2005081728A3/en

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R13/00Arrangements for displaying electric variables or waveforms
    • G01R13/02Arrangements for displaying electric variables or waveforms for displaying measured electric variables in digital form
    • G01R13/029Software therefor
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R13/00Arrangements for displaying electric variables or waveforms
    • G01R13/02Arrangements for displaying electric variables or waveforms for displaying measured electric variables in digital form
    • G01R13/0209Arrangements for displaying electric variables or waveforms for displaying measured electric variables in digital form in numerical form
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R13/00Arrangements for displaying electric variables or waveforms
    • G01R13/02Arrangements for displaying electric variables or waveforms for displaying measured electric variables in digital form
    • G01R13/0218Circuits therefor
    • G01R13/0245Circuits therefor for inserting reference markers
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R13/00Arrangements for displaying electric variables or waveforms
    • G01R13/02Arrangements for displaying electric variables or waveforms for displaying measured electric variables in digital form
    • G01R13/0218Circuits therefor
    • G01R13/0254Circuits therefor for triggering, synchronisation
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/319Tester hardware, i.e. output processing circuits
    • G01R31/31903Tester hardware, i.e. output processing circuits tester configuration
    • G01R31/31912Tester/user interface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/36Circuit design at the analogue level
    • G06F30/367Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • H04L43/045Processing captured monitoring data, e.g. for logfile generation for graphical visualisation of monitoring data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring

Definitions

  • the present invention relates generally to the simultaneous interpretation and display of both a digital data stream and its underlying analog transmission signal. Such a simultaneous interpretation allows for the analyzing of any particular portion ofthe digital data, such as an error, and the underlying analog signal giving rise to the particular data, or error.
  • Data communications is the transmission of messages from one electronic device to other electronic devices. These messages are transmitted through a communications channel. A physical wire, optical cable, radio or other appropriate transmission medium may be used to implement the communications channel. A stream of individual data bits represents each message, thus comprising a digital data message.
  • a communications protocol is an agreed-upon convention that defines the order and meaning of bits in a serial digital data stream. It may also specify a procedure for exchanging messages.
  • a protocol will define how many data bits compose a message unit, the framing and formatting bits, error detection/correction bits, and any other information needed to transmit the message from the source to its destination, and to allow confirmation that the proper message was received on the receiving end.
  • the builders must be aware that problems can occur during the transmission ofthe data, a device may incorrectly interpret a message, or a device may improperly respond to a received message. Tools are presently available for an individual to look at either the physical layer (comprising the actual received analog data signal) or the protocol layer (comprising the decoded digital data) separately.
  • Protocol analyzers for example, capture, decode, interpret, and react to the contents of data packets as they transit a network's media. They are typically concerned with layers 2 (Data Link) through 5 (Session) ofthe industry standard ISO/OSI Reference Model. However, they are blind to the shape and timing ofthe signals or Layer 1 (hardware, connections, etc). On the other hand, oscilloscopes and serial data analyzers allow the operator to accurately capture the data bits and view their shape as well as measure eye patterns, jitter, bit errors and other signal parameters such as rise time and overshoot for a wide variety of serial data standards which allow the operator to analyze the Layer 1, but do nothing for higher levels ofthe protocol stack.
  • layers 2 Data Link
  • Session the industry standard ISO/OSI Reference Model
  • oscilloscopes and serial data analyzers allow the operator to accurately capture the data bits and view their shape as well as measure eye patterns, jitter, bit errors and other signal parameters such as rise time and overshoot for a wide variety of serial data standards which allow
  • the inventors ofthe present invention have determined that because there is no provision for triggering on a misinterpreted waveform, for example, it is not possible to monitor the digital data for an error in accordance with the defined protocol, and then view the portion ofthe analog signal corresponding to the digital error.
  • the inventors have therefore determined that sometimes it is necessary to see the relationship between these physical and protocol layers. For example, one might want to determine the cause of an invalid or corrupt message. Thus, if an error is detected in the digital data, one might want to analyze the underlying analog signal used to transmit the digital data. Another use is that an individual may wish to understand the timing between a serial data signal and other analog signals in a system.
  • the analog signal is physically displayed on a DSO (Digital Sampling Oscilloscope) and is often crudely interpreted by counting bits (to then manually decode into a text message to interpret the destination or message) as is shown in figure 1, or interpreted in a separate protocol analyzer that displays message (protocol) information as is shown in figure 2.
  • DSO Digital Sampling Oscilloscope
  • the apparatus interprets data at the protocol layer and then allows for analyzing the underlying analog signals
  • a user need not view an entire analog data stream to determine a particular portion of interest.
  • a user may set one or more criteria in the digital data signal.
  • a specific serial data signal can be triggered upon, and portions of the analog signal that generated the digital data that met the criteria can be reviewed.
  • This technique is particularly useful when reviewing long, non-repetitive data streams for an error, or for some other uncommon trigger criteria.
  • the portion ofthe analog signal is displayed when it is determined that the corresponding digital data meets one or more predetermined criteria, thus saving a user tremendous amounts of time.
  • the decoded digital data itself may be used to define the trigger location for obtaining the corresponding analog serial data stream.
  • a user may set the criteria corresponding to any ofthe protocol layers.
  • a user may set a data trigger criteria in a way that he can understand (i.e. not necessarily binary or hexadecimal format) and with various conditions applied.
  • Figure 1 is a screen shot of an oscilloscope used by an operator to count bits of an analog data signal and display associated digital data
  • Figure 2 is a screen shot of an output from a protocol analyzer
  • Figure 3 is a screen shot depicting multiple messages captured in a single acquisition, and a decoded ID field shown for each message in accordance with the invention
  • Figure 4 is a screen shot depicting decoded data (from a single message) viewed simultaneously with the original captured analog signal
  • Figure 5 is a CANBus block diagram for implementation of one embodiment ofthe present invention
  • Figure 6 is a screen shot depicting a CAN Analysis dialog box allowing a user to setup parameters about the signal, such as Bit Rate and Sample point in accordance with the invention
  • Figure 7 is a screen shot depicting a CAN Trace dialog box allowing a user to select between various types of input signals in accordance with the invention
  • Figure 8 depicts a particular implementation ofthe CAN Trigger
  • a physical layer serial data stream is first captured by a digital oscilloscope (such as a LeCroy® X-Stream based digital oscilloscope).
  • the captured data stream is then is analyzed by a protocol specific waveform decoder to create combined physical layer and data layer view for more complete interpretation of data and easy debugging of bus, communication, and other possible problems.
  • the waveform decoder translates the captured data stream ofthe physical layer in to a sequence of bits (l 's and 0's) and groups the bits into the various parts ofthe message as defined by the specified protocol.
  • the data bits can be viewed simultaneously with the original captured signal.
  • a screen shot depicting an acquired and decoded data stream 310 is shown of a display 300.
  • Each message may include a separate ID field. Decoded data from these ID fields is shown in figure 3 at 320. Thus all ofthe data signal information for each message is depicted bunched up corresponding to each noted ID information 320. For example, physical layer data stream information corresponding to a message located at ID 0x4bc is shown on display 300 bunched below a corresponding ID label.
  • a display 400 displays decoded data and original captured signal corresponding to ID 0x4bc, noted above. Shown in display 400 is a portion 410 ofthe original captured signal 310 corresponding to a selected message ID (in this case ID 0x4bc), as well as stuff bits 420 inserted into the data signal 410. According to the protocol employed for decoding the data stream, different parts of the message are identified and differentiated, for example highlighted in different colors. Of course, any other appropriate methods of delineating the portions ofthe decoded message may be employed. As shown in figure 4, the decoded message is divided into an ID field 430, a data length control (DLC) field 432, a data field 435, a CRC checksum field 440, and an acknowledge field 442.
  • DLC data length control
  • Bit rate of a signal is an important measurement, and is used in many analysis tools. Being shown the bit rate would allow a visual confirmation, and therefore notice of any deviation, from an intended bit rate.
  • a user may filter the messages based upon message ID, and/or any data sequences within the signal. A data sequence will contain many messages. While paging through a sequence of data structures, stopping each time on a message having the desired ID is possible, it is far more convenient for a user to view all messages that have a particular ID, corresponding to a particular system event, hi this way, the messages would be displayed adjacent each other, if desired, or shown in context ofthe data signal.
  • the user could additionally, request that all messages including a particular sequence of data be shown.
  • a table could be displayed, indicating each portion ofthe signal that meets the filter criteria, and an indication ofthe locating thereof in the signal (i.e. bit offset, time offset, etc.).
  • bit offset i.e. bit offset, time offset, etc.
  • the value ofthe signal during the entire bit period is averaged, hi such a manner, a single spike from noise would not result in an incorrect determination ofthe value at the bit period. While on display 400, the averaging ofthe value during the bit period would avoid an error, a user could still view the signal associated with the bit period to see whether the shape ofthe waveform gives any clue as to why the signal spiked across the threshold. Furthermore, analysis ofthe data stream in other ways is also possible.
  • each ofthe bit values can be grouped as selected by a user, either in accordance with a parameter defined by a protocol, or any other desired bit sequence, to for a measurable value, which can then be graphed to show any drift in the value, or other patterns that might arise as a result of some systematic changes in the system.
  • More information is available about the system, and can be viewed by a user as a trend graph, histogram, or results of a statistical analysis, perhaps to account for various changes in the signal, hi any event, the accumulation of this data can be used in any number of ways, as desired by the user and implemented on a digital oscilloscope, to generate additional information regarding the consistency and/or integrity ofthe acquired signal.
  • symbolic names that correspond to the data bits in the header and data parts of the message may be applied to the decoded data.
  • that bit sequence can be interpreted by any interpretation scheme that was applied during coding to determine a message that was encoded into the data.
  • the oscilloscope can use such a database or other interpretation scheme to translate the data bits into corresponding symbolic names and display them simultaneously with the original waveform.
  • the database can be as simple as in the case of RS232 where it would contain the ASCII code to map to each byte, or it can be complex to have different mapping for each field or sub field within the message.
  • a user could filter the symbolic results to view all messages in a data signal corresponding to a particular symbolic name. These results could also be shown in a table, as noted above.
  • CANBus is a serial data bus used in automotive applications.
  • a typical vehicle electronics system (with CAN and LIN modules) is shown generally at 500 in figure 5.
  • the electronics system includes a CANbus 510, various sensors 520 and electronic control units (ECU) 530 for driving the various components and transmitting and receiving various data via bus 510.
  • ECU electronice control units
  • a debugger must currently use a DSO to verify the functioning ofthe various system components, and debug "modules", each including an ECU (electronic control unit) 530, and various sensor inputs 520.
  • the complete module comprises a "node” on the electronic bus in the car.
  • the module monitors the sensor inputs and serial data messages that are generated by the various portions ofthe module, and sends serial data messages generated in accordance with this data onto the bus. These transmitted serial data messages are received, interpreted and used by other modules in the system.
  • More electronic features in the car means more "nodes" on the bus, and the growth of installed nodes tracks with the growth of automotive electronics, about 15%/year. It is essential for a debugger to measure timing between serial data messages on a signal bus and sensor signals received from various other nodes in the car to verify proper operation. If a particular module is not operating correctly, the debugger may need to investigate the functioning ofthe various systems in relation to the timing ofthe transmitted serial data signal. This will in turn require that the electronic test equipment be able to trigger on the serial data signal to understand what is happening before and after the portion ofthe signal around the trigger. Due to the large number of signals present, a 4-channel DSO would therefore be desirable.
  • a module Once a module is installed in a vehicle, unforeseen interactions can occur with other modules or parts in the vehicle.
  • Module suppliers, or their end customer (a car manufacturer) may perform testing after the various modules have been assembled into a vehicle to debug "system" problems. This may require a visit by the module supplier a vehicle lot or other location where an assembled vehicle is available.
  • a vehicle(s) may be driven around until a particular desired error or other signal occurs, at which point the DSO must trigger on the signal, and capture the signal for extensive analysis.
  • System debugging can take a significant amount of time and require a highly skilled debugger.
  • the CAN analysis sub-system supports four combinable functions:
  • the system in accordance with the CAN bus embodiment ofthe invention consists of one or more software packages running on either multipurpose or dedicated test measurement equipment. A preferred embodiment would be to run the software on a multi-channel DSO and a dedicated hardware platform including various inputs and underlying computing functions to support the trigger requirements ofthe system.
  • the hardware package therefore preferably includes a serial hardware trigger.
  • the hardware trigger interfaces with the DSO, and the software packages implement the various user interfaces, drive the trigger module and the various analysis modules.
  • the software and hardware interact in accordance with the invention allowing all common observations in accordance with the CAN protocol from the CAN bus. Such a configuration is shown in figure 17.
  • FIG 17 shows an arrangement of a complete system 1700 constructed in accordance with a preferred embodiment invention when the system is set up for triggering on events occurring on a CAN bus and viewing the corresponding CAN analog signals as well as other signals.
  • a CAN trigger unit 1710 is provided and includes an input port 1712 for receiving CAN bus data.
  • Unit 1710 further comprises a physical layer receiving module 1714 for receiving the CAN analog signal, and an evaluation module 1716 for evaluating the captured message. During evaluation, unit 1710 analyzes the input CAN signal, looking for any of a predefined number of trigger criteria.
  • a trigger signal is output from evaluation module 1716 of unit 1710 to an oscilloscope 1720.
  • a CAN ProBus Adapter 1723 feeds the CAN trigger pulse output by CAN trigger unit 1710 into the oscilloscope 1720.
  • oscilloscope 1720 may also receive directly the CANbus signals on input ports 1722 and any other signals desired on input channels 1724.
  • the presence ofthe CANProBus Adapter 1723 identifies which input channel is to be used, and thus which input channel was the source of CAN trigger and allows automation of various related set-ups.
  • oscilloscope 1720 Upon receipt of a trigger from CAN trigger unit 1710, oscilloscope 1720 marks the corresponding portion ofthe input CAN signal, and preferably annotates the type of trigger condition that resulted in the trigger, if desired. This portion ofthe CAN signal (if not the entire signal) is then stored for later review by a user. In addition to viewing the CAN signal, any other signals can be viewed while triggering on CAN, which is one ofthe benefits ofthe invention. Some users will not always want to view the CAN signal in a particular case, but rather will trigger on the CAN signal while viewing some other correlated signals of interest to the user.
  • the CAN Analyser ofthe invention is implemented by providing a software CAN Manager, indicated generally at 1800, to a manager's collection of control software on a digital sampling oscilloscope (DSO). Three executives (control programs) are included, a CAN SRC executive, a CAN waveform/Protocol Decode executivel840 and a BadBit Locator Executive 1870.
  • DSO digital sampling oscilloscope
  • CANBus data is received by one or more channels 1802, corresponding to channels input at input ports 1722 of figure 17.
  • CAN SRC Executive 1810 receives the input CANBus data and perfomis various functional processing of the data to generate a processed data signal in accordance with the received analog data signal.
  • This generated digital data stream is first passed to a Trace Renderer 1820 to be displayed on a screen, along with the other generated display information, as will be described below.
  • a measure manager 1890 also receives the generated digital data stream from
  • a BadBit Executive 1870 receives the data signals from CAN SRC Executive 1810 in response to one or more trigger events. As will now be described, this BadBit
  • a CAN TIE (Time Interval Error) unit 1872 measures the variation ofthe standard
  • TIE component that is immune to inter-message gaps.
  • the algorithm utilized by unit 1872 resynchronises to the nominal bit rate at the beginning of each CAN message because the messages are emitted asynchronously onto the CAN bus.
  • the TIEs are then fed into a Track component 1874 in order to view their distribution, time aligned with the source trace.
  • a Mask Compare unit 1878 then compares the calculated TIE to a predeteniiined mask 1876 to determine if the TIE measurements are out of specification.
  • a trace renderer 1880 generates a display ofthe TIE data received from Track component 1874, the tolerance mask 1876 is displayed by a mask renderer 1882 based upon display information generated by Mask Compare unit 1878, and a cursor is displayed by cursor renderer 1884 based upon cursor information also provided from Mask Compare unit 1878, with violation markers displayed thereon.
  • the tolerance mask width is controlled by a user selection as a percentage ofthe nominal bit rate. Time interval errors exceeding the predefined tolerance will appear as spikes outside the mask. In a preferred embodiment, on very poor signals, the maximum number of violation markers will be limited to 200 so that a user may still properly interpret the information.
  • CAN Waveform Decode Executive 1840 receives the output from CAN SRC executive 1810.
  • a CAN sheer component 1842 of CAN waveform Decode Executive 1840 decomposes the CAN data stream into packets, one packet for each message.
  • the CAN sheer component implements a PLL to properly recover the clock for the data signal and properly time the phase ofthe PLL with the start of each data packet.
  • This method of synchronizing an analog signal of a serial data stream may be implemented in accordance with the method and apparatus described in co-pending and commonly-owned U.S. Application Serial No.
  • a typical frame message including an 11 bit identifier in accordance with invention may 154 bits.
  • An example of the bits and their definitions may be as follows.
  • a CAN decoder 1846 receives all ofthe packets digitized by the Analog NRZ to
  • the Digital Converter 1844 each containing a raw bit vector with associated bit times, and processes them, one message at a time.
  • the CAN decoder 1846 primarily extracts the ID and data information, but it also verifies the coherency ofthe message (stuff ereor, CRC errors, DLC incoherent with data length, form error, no acknowledgement). At this stage, there is no longer any analogue information in the processed data signal.
  • the algorithm in CAN decoder 1846 starts by removing the stuff bits inserted by the CAN chip when the signal was emitted. The algorithm then computes the CRC on the message. Then the message is determined to include an 11 bit ID or 29 bit ID. The ID is then extracted, as well as the DLC, the data bytes and the CRC.
  • a CAN annotator 1848 uses the information contained in the structures described above to annotate the waveforai displayed on screen, according to the user selected viewing criteria.
  • the annotator uses the basic primitives to annotate by providing inforaiation for cursors and labels.
  • the annotation elements are positioned onto the trace by using the bit time array, converted into pixel positions.
  • Table 1 governs the preferable colors (of course other types of designations are possible).
  • a Protocol Decode Executive 1850 may be employed to further interpret the decoded information, to convert it from a hex format into various more easily understood symbols in accordance with definitions in the applied encoding protocol.
  • the Protocol Decode Executive 1850 allows the selection of a database corresponding to the protocol ofthe decoded data needed for the analog signal received.
  • the Protocol Decoder receives the output ofthe CAN Waveform Decoder 1846, and transforms the hex ID into a symbol.
  • the trigger can be set using symbols and the decoding shows symbols.
  • CAN Manager 1800 offers a set of dialogs to a user, from which various CAN analysis actions ofthe invention can be controlled. These dialogs will be described below.
  • dialogs may be updated and supplemented as desired, either by addition ofthe functionality, or by the user voluntarily choosing a different software package for implementation.
  • the CAN software sub-system is implemented via a Graphical User Interface (GUI) on a dedicated hardware platform, of running on a pre-existing DSO.
  • GUI Graphical User Interface
  • the GUI includes a number of dialogs for defining and performing various analysis functions in accordance with the invention. An example of a first of these dialogs is shown in figure 6.
  • a CAN Analysis dialog is opened (see figure 6).
  • the dialog shows 2 tabs allowing for selection between them by a user, CAN analysis tab 610 and CAN Trace tab 710. (As the various dialogs are selected, more tabs will appear, including the following: Source Selection, The Physical Layer Analysis, Waveform Decode, Protocol Decode and Pattern search).
  • CAN analysis tab 610 a user is presented with a number of selections to define the analysis that is to be perfomied on an acquired waveform.
  • a user is presented with a number of analysis options 620 (including Decode, Monitor, Physical Analysis, Pattern Search, Generator, and is also provided with analysis setup options 630 which allows for setting various bit rates, threshold levels for distinguishing between bits, and the like.
  • a CAN trigger may also be accessed via a short cut button 640 on CAN analysis tab 610.
  • a CAN trace tab 710 Upon selection of a CAN trace tab 710, a user is presented with a plurality of selections for setting the various display and interpretation functions for the incoming CAN data signal. Thus, a user may turn the display ofthe trace function on by selecting the radio button 715, and select the source that is being analyzed by the system at source type selection 720 (such as an H signal, L signal, or the difference between these signals). The user is also invited to define various parameters for the display ofthe CAN trace on a screen at zoom section 730. Typically the functions described with respect to figures 6 and 7 would be set up before signal acquisition, but of course these menus could be accessed at any time to modify the various settings.
  • the user regularly switches between the CAN trigger menu, the various Waveform Decode dialog tabs and the regular functions ofthe DSO, as will be described below.
  • the user would normally set-up the CAN trigger conditions for the events that are to be captured. Then, either before or after the waveform is captured, the user would setup the waveform decoding features of the invention to observe message content and other predefined conditions ofthe waveform, before and after a defined trigger point. Users may be using the analysis system ofthe invention to look for pathology in a message content caused by distorted, noisy and/or misaligned signals. Thus, the system would be set up to trigger on various enor conditions, or other predefined signal irregularities.
  • FIG 13 depicts a display 1300 including a data signal 1310, and a portion 1320 of signal 1310 which when decoded from the analog data signal in accordance with the applicable protocol, generates an unrecognized bit sequence.
  • the display attaches a label "UNDEFINED ERROR" to indicate that the bit sequence is not recognized.
  • a trigger request can be defined in accordance with a particular data sequence in the digital data, or can be defined to trigger on an unrecognizable data sequence.
  • a user may select a can trigger button 640, which will bring the user to a CAN trigger module UI dialog, as shown in figure 8.
  • the CAN trigger tab 810 allows a user to access the CAN trigger setup, allowing for simple or advanced features to be selected. If a user selects the simple button 820, the user can set the trigger to operate by finding a single CAN message, preferably by a message ID.
  • the CANProBus Adapter will automatically detect on which DSO channel the CAN trigger is input.
  • the trigger condition may be only on the CAN ID, only on the data, or any combination of both. Alternately, when the advanced capability is present and selected at button 830
  • the user can set the trigger using symbolic names, or combinatorial logic on various ID, data and other fields present in the message.
  • the symbolic info translates the message ID into text like NEHICLE_SPEED, and the data into physical values i.e 12 m/s so that the user can employ more user- friendly terms in order to define the events to be reviewed.
  • a user is able to visualize the content ofthe CAN signal, with different levels of detail, in a format that is appropriate for the user in a particular application. For example, the output may be displayed in hexadecimal, ASCII, or the like. The precise methods for defining the various display and selection parameters will be discussed below.
  • each message includes the message ID above the packet including the message when the packet is healthy.
  • An enor designation, and preferably, a recognizable icon flags one or more sick messages (see lOlOd for example).
  • a user is able to see the underlying analog data signal that is the cause ofthe incoherent message.
  • Various labels, indicating various interpreted messages, portions ofthe signal, etc. are attached to the first edge of a conesponding packet and float along with the packet when the gain or offset for viewing the signal is changed.
  • the regular time cursors (grid) shown in figure 10 can also be used to measure absolute time and time intervals between events of interest.
  • the events of interest can be on different waveforms. For example, if the time delay between a temperature sensor change and its broadcast on the CAN bus is desired to be reviewed, the reference cursor may be positioned on the temperature sensor read out, and the difference cursor on the conesponding CAN message identified by its ID . If the delay between a query to a CAN node and its reply is desired, the cursors can be positioned on the remote and data frame, both on the analog CAN signal. When zooming onto a decoded CAN waveform, more details ofthe particular waveform will be shown.
  • Figure 11 shows a zooming in on message containing annotated fields main fields 1110.
  • Stuff bits 1120 and CRC checksum bits 1130 are delineated in some desired manner, such as by making them a different color, or the like.
  • Figure 12 depicts zooming in on a particular enor message, such as lOlOd of figure 10
  • Figure 12 includes similar fields as those shown in figure 1 1.
  • the annotation behavior described above is governed by the concept of annotation density.
  • the annotation density represents the total number of annotations displayed on the signal (text, icons, anows, and color-coded sections) per screen.
  • the amiotation density should not exceed a certain predefined threshold limit.
  • This dialog implements the Waveform Decode Executive 1840 of figure 18.
  • the user can select various portions ofthe decoded waveform to be displayed. By selecting one or more radio buttons from show annotation section 1160, the user can display stuff bits, ID information, decoded data, CRC data and acknowledgement data. During signal acquisition, it may be desirable to determine the integrity ofthe acquired data signal.
  • the user is presented with a CAN Physical Layer Bad Bits Locator, and Associated Measurement Tools UI dialog, as will be described below.
  • This dialog module comprises a physical layer verification module and is made up of two parts, a Bad Bit locator (implementing the BadBit Executive 1870 of figure 18) and a general signal measurement tool Implementing Measure Manager 1890 of figure 18.
  • Both tools may be turned on from main CAN tab 610, using the tick boxes in the analysis options section ofthe dialog.
  • the CAN manager automatically turns on various measurements that enable a user to measure the various signal amplitudes, time variations between bits within a packet, and timing variations between various packets.
  • the CAN manager automatically sets up the processing chain needed to identify bad bits, one ofthe biggest wonies of hardware engineers working on CAN.
  • a dedicated Bad Bit tab allows the setting of a few parameters as is further desired.
  • Both physical layer analysis tools operate on the source data stream selected in figure 7.
  • the raw data (CANH and CANL) can optionally be displayed by ticking the "Trace On" selection 715 of figure 7.
  • the BadBits Locator shows, on a display 1410, a CAN trace 1420 (designated the CAN signal), and a BadBit trace 1430, both being drawn by trace rendered 1880 of figure 18.
  • the BadBit trace is indicative ofthe time interval enor ofthe various bits of CAN trace 1420. Both traces are time aligned.
  • a bad bit in CAN is a bit whose observed width is not within a user specified tolerance ofthe nominal bit width of a standard bit on the CAN bus. This bad bit appears in the BadBit trace 1430 as a spike outside the normal value ofthe trace.
  • the bad bit in CAN trace 1420 is time aligned with the spike on BadBit trace 1430 so it is easy to pinpoint the portion ofthe CAN trace generating the bad bit, and to zoom onto the CAN trace to more closely examine the portion generating the bad bit reading.
  • a mask 1440 (implementing mask 1876, mask compare 1878, and mask renderer 1882 of figure 18) around BadBit trace 1430 assists in locating the bad bits, with circles 1450 showing actual mask violations.
  • the vertical mask tolerance (vertical width ofthe mask, and deviation ofthe mask from a center, average value) reflects the user's expressed tolerance for bad bits on his CAN signal. For example, when working on a lOOkbit/second CAN line, the bit width is lO ⁇ s. If the user specifies a 10% tolerance on the bit timing, the mask width has to be set to 10% of 1 O ⁇ s, therefore 1 ⁇ s.
  • the user can observe the bad bits in more details, while retaining the Bad Bit Locator time aligned with the CAN trace.
  • the zoom function maintains the CAN trace and the BadBit frace time aligned.
  • These parameters, such as bad bit tolerance and zoom are set using a dialog box depicted in figure 15. As is shown, by selecting a signal integrity tab 1510, a user can access the setup menu 1520 to set the bit timing tolerance, the measurements menu 1530 to select the measurement setup sub-menu to make various measurements on the waveform, and the view menu 1540 to define whether the timing reference level and/or the bit mask should be shown on the display.
  • the user may also select from a number of buttons for storing data and menu selections, automatically selecting a scale ofthe display, and the like. Also shown in figure 15, the user may select the zoom tab 1550 to implement various zoom features on the display ofthe traces to allow for a more detailed view thereof, as discussed above.
  • the user can request that the decoded data be interpreted into various CAN messages, thus implementing the CAN protocol decoder 1850 of figure 18.
  • the CAN Protocol Decode module allows performance of this function, as is shown in figure 16.
  • the user upon selection of a protocol decode tab 1610 the user is first able to indicate the protocol file 1620 that is to be used in interpreting the decoded digital data. Additionally, at section 1630 the user is able to request some choices to govern the symbolic annotation level and thus define what is shown in the display, including symbolic IDs, Physical data and Physical units, and the density ofthe annotation on various zoomed traces.
  • a user is able to capture an analog waveform representative of a digital information signal, and decode the analog waveforai to generate digital data. Any enors in the digital data (or analog data, if desired) will generate a trigger in the detector, thus associating the digital data with the enor to a particular portion ofthe underlying information signal. The user is then able to view the portion ofthe analog signal that generated the digital enor.
  • the invention allows for a user to monitor CANBus messages, and upon the occurrence of a particular predetermined event, view wither the data on the CANBus, or the reaction of other parameters to the situation that generated the trigger condition.

Abstract

A method and apparatus for capturing an analog waveform on a serial bus. The method comprises the steps of designating a predetermined digital data sequence, decoding a serial data signal carried on a serial data bus, and comparing the decoded serial data signal to the predetermined digital data sequence. When it is determined that a portion of the decoded serial data matches the predetermined digital data sequence, the portion of the serial data signal corresponding to the matching portion of the decoded serial data signal is marked.

Description

Simultaneous Physical and Protocol Layer Analysis
BACKGROUND OF THE INVENTION
The present invention relates generally to the simultaneous interpretation and display of both a digital data stream and its underlying analog transmission signal. Such a simultaneous interpretation allows for the analyzing of any particular portion ofthe digital data, such as an error, and the underlying analog signal giving rise to the particular data, or error. Data communications is the transmission of messages from one electronic device to other electronic devices. These messages are transmitted through a communications channel. A physical wire, optical cable, radio or other appropriate transmission medium may be used to implement the communications channel. A stream of individual data bits represents each message, thus comprising a digital data message. A communications protocol is an agreed-upon convention that defines the order and meaning of bits in a serial digital data stream. It may also specify a procedure for exchanging messages. A protocol will define how many data bits compose a message unit, the framing and formatting bits, error detection/correction bits, and any other information needed to transmit the message from the source to its destination, and to allow confirmation that the proper message was received on the receiving end. When designing and building devices that communicate with each other to transmit messages therebetween, the builders must be aware that problems can occur during the transmission ofthe data, a device may incorrectly interpret a message, or a device may improperly respond to a received message. Tools are presently available for an individual to look at either the physical layer (comprising the actual received analog data signal) or the protocol layer (comprising the decoded digital data) separately. Protocol analyzers, for example, capture, decode, interpret, and react to the contents of data packets as they transit a network's media. They are typically concerned with layers 2 (Data Link) through 5 (Session) ofthe industry standard ISO/OSI Reference Model. However, they are blind to the shape and timing ofthe signals or Layer 1 (hardware, connections, etc). On the other hand, oscilloscopes and serial data analyzers allow the operator to accurately capture the data bits and view their shape as well as measure eye patterns, jitter, bit errors and other signal parameters such as rise time and overshoot for a wide variety of serial data standards which allow the operator to analyze the Layer 1, but do nothing for higher levels ofthe protocol stack. While some oscilloscopes now allow for a user to trigger on a specific serial analog data pattern so that a user can detect a predefined sequence of information, there has traditionally been no information provided above this physical layer as to the information content ofthe serial digital data stream represented by the captured analog waveform. Attempts at providing correlated analog and digital data have been less than satisfactory. In one approach a serial data signal is displayed, and a cursor may define a portion ofthe serial data signal to be decoded to digital data in accordance with a predefined protocol. While this allows for the viewing of serial and same correlated digital data, this system has significant drawbacks. For example, the inventors ofthe present invention have determined that because there is no provision for triggering on a misinterpreted waveform, for example, it is not possible to monitor the digital data for an error in accordance with the defined protocol, and then view the portion ofthe analog signal corresponding to the digital error.
SUMMARY OF THE INVENTION
In accordance with the invention, the inventors have therefore determined that sometimes it is necessary to see the relationship between these physical and protocol layers. For example, one might want to determine the cause of an invalid or corrupt message. Thus, if an error is detected in the digital data, one might want to analyze the underlying analog signal used to transmit the digital data. Another use is that an individual may wish to understand the timing between a serial data signal and other analog signals in a system. Presently, in order to verify a timing between various digital serial data signals and analog signals, the analog signal is physically displayed on a DSO (Digital Sampling Oscilloscope) and is often crudely interpreted by counting bits (to then manually decode into a text message to interpret the destination or message) as is shown in figure 1, or interpreted in a separate protocol analyzer that displays message (protocol) information as is shown in figure 2. As the inventors ofthe present invention have determined, there is no single test device with the required bandwidth and number of channels that can trigger on serial data signals, measure the physical layer properties, and interpret the data layer information. In addition, in accordance with the invention, because the apparatus interprets data at the protocol layer and then allows for analyzing the underlying analog signals, a user need not view an entire analog data stream to determine a particular portion of interest. Instead, a user may set one or more criteria in the digital data signal. Upon meeting one or more of these criteria, a specific serial data signal can be triggered upon, and portions of the analog signal that generated the digital data that met the criteria can be reviewed. This technique is particularly useful when reviewing long, non-repetitive data streams for an error, or for some other uncommon trigger criteria. Rather than crudely counting bits in the analog signal, as noted above, the portion ofthe analog signal is displayed when it is determined that the corresponding digital data meets one or more predetermined criteria, thus saving a user tremendous amounts of time. Thus, the decoded digital data itself may be used to define the trigger location for obtaining the corresponding analog serial data stream. Moreover, because the criteria are set in one or more ofthe protocol layers, a user may set the criteria corresponding to any ofthe protocol layers. Thus, for example, if a user were using the present invention to monitor the status of an automobile, a user would be able to request a data trigger when a criteria, such as engine_idle_speed <=800 rpm. Thus, a user may set a data trigger criteria in a way that he can understand (i.e. not necessarily binary or hexadecimal format) and with various conditions applied. In this manner, a user is easily able to set and define criteria, and quickly view analog signal data corresponding to digital data meeting the predefined criteria. Still other objects and advantages ofthe invention will in part be obvious and will in part be apparent from the specification and the drawings. The invention accordingly comprises the several steps and the relation of one or more of such steps with respect to each ofthe others, and the apparatus embodying features of construction, combination(s) of elements and arrangement of parts that are adapted to effect such steps, all as exemplified in the following detailed disclosure, and the scope ofthe invention will be indicated in the claims.
BRIEF DESCRIPTION OF THE DRAWINGS
For a more complete understanding ofthe invention, reference is made to the following description and accompanying drawings, in which: Figure 1 is a screen shot of an oscilloscope used by an operator to count bits of an analog data signal and display associated digital data; Figure 2 is a screen shot of an output from a protocol analyzer; Figure 3 is a screen shot depicting multiple messages captured in a single acquisition, and a decoded ID field shown for each message in accordance with the invention; Figure 4 is a screen shot depicting decoded data (from a single message) viewed simultaneously with the original captured analog signal; Figure 5 is a CANBus block diagram for implementation of one embodiment ofthe present invention ; Figure 6 is a screen shot depicting a CAN Analysis dialog box allowing a user to setup parameters about the signal, such as Bit Rate and Sample point in accordance with the invention; Figure 7 is a screen shot depicting a CAN Trace dialog box allowing a user to select between various types of input signals in accordance with the invention; Figure 8 depicts a particular implementation ofthe CAN Trigger of Figure 6 in accordance with the invention; Figure 9 depicts a particular implementation ofthe CAN Trigger of Figure 6 in accordance with the invention; Figure 10 is a screen shot depicting multiple messages that have been captured, one having an error, in accordance with the invention; Figure 11 is a screen shot depicting the details of a single message including stuff bits with decoded data shown in decimal in accordance with the invention; Figure 12 is a screen shot depicting the details of an error frame decoded in hexadecimal, with stuff bits not included, in accordance with the invention; Figure 13 is a screen shot depicting the details of a single message including an error when the decoded signal is unrecognizable; Figure 14 is a screen shot depicting the implementation of a bad bit locator function in accordance with the invention; Figure 15 is a screen shot depicting a Signal Integrity dialog box for setting various parameters for testing the integrity of a data signal in accordance with the invention; Figure 16 is a screen shot depicting a protocol decode dialog box for setting parameters in accordance with the protocol format of a received signal in accordance with the invention; Figure 17 is a block diagram depicting a CAN ProBus Adapter incorporated into a system in accordance with the invention; and Figure 18 is a block diagram depicting a CAN processing web architecture in accordance with the invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
In accordance with the present invention, a physical layer serial data stream is first captured by a digital oscilloscope (such as a LeCroy® X-Stream based digital oscilloscope). The captured data stream is then is analyzed by a protocol specific waveform decoder to create combined physical layer and data layer view for more complete interpretation of data and easy debugging of bus, communication, and other possible problems. The waveform decoder translates the captured data stream ofthe physical layer in to a sequence of bits (l 's and 0's) and groups the bits into the various parts ofthe message as defined by the specified protocol. The data bits can be viewed simultaneously with the original captured signal. As is shown in figure 3, a screen shot depicting an acquired and decoded data stream 310 is shown of a display 300. Multiple messages may be captured in a single acquisition. Each message may include a separate ID field. Decoded data from these ID fields is shown in figure 3 at 320. Thus all ofthe data signal information for each message is depicted bunched up corresponding to each noted ID information 320. For example, physical layer data stream information corresponding to a message located at ID 0x4bc is shown on display 300 bunched below a corresponding ID label. Once data for the various messages has been acquired, separated out and decoded according to the applicable protocol, decoded data (from a single message) can be viewed, along with the original captured signal. Referring next to figure 4, a screen shot depicting such data corresponding to a single message is shown. A display 400 displays decoded data and original captured signal corresponding to ID 0x4bc, noted above. Shown in display 400 is a portion 410 ofthe original captured signal 310 corresponding to a selected message ID (in this case ID 0x4bc), as well as stuff bits 420 inserted into the data signal 410. According to the protocol employed for decoding the data stream, different parts of the message are identified and differentiated, for example highlighted in different colors. Of course, any other appropriate methods of delineating the portions ofthe decoded message may be employed. As shown in figure 4, the decoded message is divided into an ID field 430, a data length control (DLC) field 432, a data field 435, a CRC checksum field 440, and an acknowledge field 442. While not shown, one embodiment displays the bit rate associated with each ofthe data messages. Bit rate of a signal is an important measurement, and is used in many analysis tools. Being shown the bit rate would allow a visual confirmation, and therefore notice of any deviation, from an intended bit rate. In addition to being able to view a single message displayed on the screen, a user may filter the messages based upon message ID, and/or any data sequences within the signal. A data sequence will contain many messages. While paging through a sequence of data structures, stopping each time on a message having the desired ID is possible, it is far more convenient for a user to view all messages that have a particular ID, corresponding to a particular system event, hi this way, the messages would be displayed adjacent each other, if desired, or shown in context ofthe data signal. The user could additionally, request that all messages including a particular sequence of data be shown. Finally, upon filtering, instead of scrolling through each ofthe designated messages, a table could be displayed, indicating each portion ofthe signal that meets the filter criteria, and an indication ofthe locating thereof in the signal (i.e. bit offset, time offset, etc.). Traditionally, to determine whether a signal had reached a predetermined threshold, and was therefore considered a "1" or a "0", the signal was looked at to determine whether it had crossed the threshold during the bit period. However, this results in a bias against the prior value. Thus, if a value starts below a threshold, a single spike above the threshold would result in a determination that the bit value had changed. This would be true, even if for most ofthe bit period the value was below the threshold, and the spike was a result of noise. This would result in an error. Therefore in accordance with the invention the value ofthe signal during the entire bit period is averaged, hi such a manner, a single spike from noise would not result in an incorrect determination ofthe value at the bit period. While on display 400, the averaging ofthe value during the bit period would avoid an error, a user could still view the signal associated with the bit period to see whether the shape ofthe waveform gives any clue as to why the signal spiked across the threshold. Furthermore, analysis ofthe data stream in other ways is also possible. For example, once an average of each ofthe bit values has been determined, these values can be grouped as selected by a user, either in accordance with a parameter defined by a protocol, or any other desired bit sequence, to for a measurable value, which can then be graphed to show any drift in the value, or other patterns that might arise as a result of some systematic changes in the system. More information is available about the system, and can be viewed by a user as a trend graph, histogram, or results of a statistical analysis, perhaps to account for various changes in the signal, hi any event, the accumulation of this data can be used in any number of ways, as desired by the user and implemented on a digital oscilloscope, to generate additional information regarding the consistency and/or integrity ofthe acquired signal. According to the protocol employed, or in accordance with another interpretation database, symbolic names that correspond to the data bits in the header and data parts of the message may be applied to the decoded data. Thus, after decoding a particular bit sequence (preferably in accordance with the averaging scheme noted above), that bit sequence can be interpreted by any interpretation scheme that was applied during coding to determine a message that was encoded into the data. In this manner, the oscilloscope can use such a database or other interpretation scheme to translate the data bits into corresponding symbolic names and display them simultaneously with the original waveform. The database can be as simple as in the case of RS232 where it would contain the ASCII code to map to each byte, or it can be complex to have different mapping for each field or sub field within the message. As noted above, a user could filter the symbolic results to view all messages in a data signal corresponding to a particular symbolic name. These results could also be shown in a table, as noted above. While this invention is applicable to any serial data communications standard, the initial embodiment ofthe invention is applied to CANBus which is a serial data bus used in automotive applications. As a way to reduce costs and weight, improve emissions and efficiency, and meet consumer demand for convenience features, vehicles are becoming more laden with electronics. A typical vehicle electronics system (with CAN and LIN modules) is shown generally at 500 in figure 5. The electronics system includes a CANbus 510, various sensors 520 and electronic control units (ECU) 530 for driving the various components and transmitting and receiving various data via bus 510. With the increase in the complexity ofthe electronics systems in cars, the process of debugging errors in the system has similarly become more complicated. A debugger must currently use a DSO to verify the functioning ofthe various system components, and debug "modules", each including an ECU (electronic control unit) 530, and various sensor inputs 520. The complete module comprises a "node" on the electronic bus in the car. The module monitors the sensor inputs and serial data messages that are generated by the various portions ofthe module, and sends serial data messages generated in accordance with this data onto the bus. These transmitted serial data messages are received, interpreted and used by other modules in the system. More electronic features in the car means more "nodes" on the bus, and the growth of installed nodes tracks with the growth of automotive electronics, about 15%/year. It is essential for a debugger to measure timing between serial data messages on a signal bus and sensor signals received from various other nodes in the car to verify proper operation. If a particular module is not operating correctly, the debugger may need to investigate the functioning ofthe various systems in relation to the timing ofthe transmitted serial data signal. This will in turn require that the electronic test equipment be able to trigger on the serial data signal to understand what is happening before and after the portion ofthe signal around the trigger. Due to the large number of signals present, a 4-channel DSO would therefore be desirable. Once a module is installed in a vehicle, unforeseen interactions can occur with other modules or parts in the vehicle. Module suppliers, or their end customer (a car manufacturer) may perform testing after the various modules have been assembled into a vehicle to debug "system" problems. This may require a visit by the module supplier a vehicle lot or other location where an assembled vehicle is available. A vehicle(s) may be driven around until a particular desired error or other signal occurs, at which point the DSO must trigger on the signal, and capture the signal for extensive analysis. System debugging can take a significant amount of time and require a highly skilled debugger. In accordance with the invention, the CAN analysis sub-system supports four combinable functions:
1) Trigger (on message ID and data).
2) Physical layer analysis (bad bit detection, signal specs verification). 3) CAN protocol decoding functions.
4) CAN symbolic interpretation functions. System Architecture The system in accordance with the CAN bus embodiment ofthe invention consists of one or more software packages running on either multipurpose or dedicated test measurement equipment. A preferred embodiment would be to run the software on a multi-channel DSO and a dedicated hardware platform including various inputs and underlying computing functions to support the trigger requirements ofthe system. The hardware package therefore preferably includes a serial hardware trigger. The hardware trigger interfaces with the DSO, and the software packages implement the various user interfaces, drive the trigger module and the various analysis modules. The software and hardware interact in accordance with the invention allowing all common observations in accordance with the CAN protocol from the CAN bus. Such a configuration is shown in figure 17. Of course, other appropriate configurations, such as including the trigger hardware and software in a single DSO unit may also be used. Referring to figure 17, the preferred hardware design will now be described. Figure 17 shows an arrangement of a complete system 1700 constructed in accordance with a preferred embodiment invention when the system is set up for triggering on events occurring on a CAN bus and viewing the corresponding CAN analog signals as well as other signals. A CAN trigger unit 1710 is provided and includes an input port 1712 for receiving CAN bus data. Unit 1710 further comprises a physical layer receiving module 1714 for receiving the CAN analog signal, and an evaluation module 1716 for evaluating the captured message. During evaluation, unit 1710 analyzes the input CAN signal, looking for any of a predefined number of trigger criteria. Upon determination that an event in the CAN data has met one ofthe one or more predefined trigger criteria, a trigger signal is output from evaluation module 1716 of unit 1710 to an oscilloscope 1720. A CAN ProBus Adapter 1723 feeds the CAN trigger pulse output by CAN trigger unit 1710 into the oscilloscope 1720. As is shown, oscilloscope 1720 may also receive directly the CANbus signals on input ports 1722 and any other signals desired on input channels 1724. The presence ofthe CANProBus Adapter 1723 identifies which input channel is to be used, and thus which input channel was the source of CAN trigger and allows automation of various related set-ups. Upon receipt of a trigger from CAN trigger unit 1710, oscilloscope 1720 marks the corresponding portion ofthe input CAN signal, and preferably annotates the type of trigger condition that resulted in the trigger, if desired. This portion ofthe CAN signal (if not the entire signal) is then stored for later review by a user. In addition to viewing the CAN signal, any other signals can be viewed while triggering on CAN, which is one ofthe benefits ofthe invention. Some users will not always want to view the CAN signal in a particular case, but rather will trigger on the CAN signal while viewing some other correlated signals of interest to the user. Thus, the user can easily determine the effect of a particular trigger condition occurring on the CAN bus may have on those other correlated signal, hi an alternate embodiment, the CAN trigger is input via an external trigger input and four other signals can be viewed, each on one channel of a four channel DSO . Referring next to figure 18, a general software design construction ofthe system in accordance with a preferred embodiment ofthe invention will now be described. The CAN Analyser ofthe invention is implemented by providing a software CAN Manager, indicated generally at 1800, to a manager's collection of control software on a digital sampling oscilloscope (DSO). Three executives (control programs) are included, a CAN SRC executive, a CAN waveform/Protocol Decode executivel840 and a BadBit Locator Executive 1870. As is shown in figure 18, CANBus data is received by one or more channels 1802, corresponding to channels input at input ports 1722 of figure 17. CAN SRC Executive 1810 receives the input CANBus data and perfomis various functional processing of the data to generate a processed data signal in accordance with the received analog data signal. This generated digital data stream is first passed to a Trace Renderer 1820 to be displayed on a screen, along with the other generated display information, as will be described below. A measure manager 1890 also receives the generated digital data stream from
CAN SRC Executive 1810 and controls which measurements are to be computed and displayed. Thus data input thereto is measured in accordance with various desired computations, and the results are displayed by parameter renderer 1892. A BadBit Executive 1870 receives the data signals from CAN SRC Executive 1810 in response to one or more trigger events. As will now be described, this BadBit
Executive 1870 contains the necessary controls for implementing the ability to locate bad bits in a data signal. The input to Bad Bit Executive is the output from the CAN SRC executivelδlO . hi accordance with the invention, the timing ofthe BadBit Executive 1870 must be time aligned with the CAN trace (output of CAN SRC executive.) A CAN TIE (Time Interval Error) unit 1872 measures the variation ofthe standard
TIE component that is immune to inter-message gaps. The algorithm utilized by unit 1872 resynchronises to the nominal bit rate at the beginning of each CAN message because the messages are emitted asynchronously onto the CAN bus. The TIEs are then fed into a Track component 1874 in order to view their distribution, time aligned with the source trace. A Mask Compare unit 1878 then compares the calculated TIE to a predeteniiined mask 1876 to determine if the TIE measurements are out of specification. In order to facilitate viewing, A trace renderer 1880 generates a display ofthe TIE data received from Track component 1874, the tolerance mask 1876 is displayed by a mask renderer 1882 based upon display information generated by Mask Compare unit 1878, and a cursor is displayed by cursor renderer 1884 based upon cursor information also provided from Mask Compare unit 1878, with violation markers displayed thereon. The tolerance mask width is controlled by a user selection as a percentage ofthe nominal bit rate. Time interval errors exceeding the predefined tolerance will appear as spikes outside the mask. In a preferred embodiment, on very poor signals, the maximum number of violation markers will be limited to 200 so that a user may still properly interpret the information. Referring once again to figure 18, CAN Waveform Decode Executive 1840 receives the output from CAN SRC executive 1810. A CAN sheer component 1842 of CAN waveform Decode Executive 1840 decomposes the CAN data stream into packets, one packet for each message. The CAN sheer component implements a PLL to properly recover the clock for the data signal and properly time the phase ofthe PLL with the start of each data packet. This method of synchronizing an analog signal of a serial data stream may be implemented in accordance with the method and apparatus described in co-pending and commonly-owned U.S. Application Serial No. 10/673,735, filed September 29, 2003, entitled "METHOD AND APPARATUS FOR ANALYZING SERIAL DATA STREAMS", the entire contents of which are incorporated herein by reference. The algorithm employed by the sheer scans the waveform, looking for the packets and any spaces separating them. Then each CAN message segment (or packet) can be submitted to an Analog NRZ to Digital Converter 1844 because the data within the packet is now guaranteed to be NRZ. This component converts the analogue data into a logical bit vector, with associated bit times. The conversion relies on the nominal bit rate, the transition level between 0 and 1 and the sample point within the bit. The user may select all these values, but the defaults are preferably set to 125Kbits, 50% level, 50% sampling point. A typical frame message including an 11 bit identifier in accordance with invention may 154 bits. An example of the bits and their definitions may be as follows.
Start bit Identifier bits SRR bit 1 IDE bit Identifier bits RTR bit Control bits 64 Data bits 15 CRC bits
23 (maximum) Stuff bits 1 CRC delimiter 1 ACK slot 1 ACK delimiter
7 EOF bits 3 IFS (Inter Frame Space) bits
154 bits A CAN decoder 1846 receives all ofthe packets digitized by the Analog NRZ to
Digital Converter 1844, each containing a raw bit vector with associated bit times, and processes them, one message at a time. The CAN decoder 1846 primarily extracts the ID and data information, but it also verifies the coherency ofthe message (stuff ereor, CRC errors, DLC incoherent with data length, form error, no acknowledgement). At this stage, there is no longer any analogue information in the processed data signal. The algorithm in CAN decoder 1846 starts by removing the stuff bits inserted by the CAN chip when the signal was emitted. The algorithm then computes the CRC on the message. Then the message is determined to include an 11 bit ID or 29 bit ID. The ID is then extracted, as well as the DLC, the data bytes and the CRC. The extracted CRC is compared against the computed CRC. All of this information, as well as the possible enors are wrapped into a structure containing the raw bit vector, the raw bit times and the decoded message, further including the packet type, the packet ID, the number of data bytes, the actual data, the checksum data, and the state ofthe acknowledge field. Finally a CAN annotator 1848 uses the information contained in the structures described above to annotate the waveforai displayed on screen, according to the user selected viewing criteria. The annotator uses the basic primitives to annotate by providing inforaiation for cursors and labels. The annotation elements are positioned onto the trace by using the bit time array, converted into pixel positions. The following table 1 governs the preferable colors (of course other types of designations are possible).
Figure imgf000015_0001
Table 1
In accordance with the invention, once the digital information has been decoded into hexID information by CAN Waveform Decoder 1846, a Protocol Decode Executive 1850 may be employed to further interpret the decoded information, to convert it from a hex format into various more easily understood symbols in accordance with definitions in the applied encoding protocol. The Protocol Decode Executive 1850 allows the selection of a database corresponding to the protocol ofthe decoded data needed for the analog signal received. The Protocol Decoder receives the output ofthe CAN Waveform Decoder 1846, and transforms the hex ID into a symbol. When the protocol database is in use, two noticeable things happen: the trigger can be set using symbols and the decoding shows symbols. The interpreted data is then forwarded to a CAN protocol renderer 1852 to be displayed in the screen with the other displayed information. The user is able to control the compound processing chain from a single point in the system. Some ofthe controls that are accessible to the user act upon the source choice for input data, some upon the bit extractor (level and sample point) that allow the user to customize the analysis performed by the system, some upon the viewing characteristics of the signal (View group). These features will now be described in greater detail. CAN Manager 1800 offers a set of dialogs to a user, from which various CAN analysis actions ofthe invention can be controlled. These dialogs will be described below. Because ofthe modularity ofthe software functions, these dialogs may be updated and supplemented as desired, either by addition ofthe functionality, or by the user voluntarily choosing a different software package for implementation. In accordance with the invention, the CAN software sub-system is implemented via a Graphical User Interface (GUI) on a dedicated hardware platform, of running on a pre-existing DSO. The GUI includes a number of dialogs for defining and performing various analysis functions in accordance with the invention. An example of a first of these dialogs is shown in figure 6. Upon implementation of a CAN Analysis routine as selected by a user, in accordance with an embodiment ofthe invention, a CAN Analysis dialog is opened (see figure 6). Initially the dialog shows 2 tabs allowing for selection between them by a user, CAN analysis tab 610 and CAN Trace tab 710. (As the various dialogs are selected, more tabs will appear, including the following: Source Selection, The Physical Layer Analysis, Waveform Decode, Protocol Decode and Pattern search). Upon selection of CAN analysis tab 610, a user is presented with a number of selections to define the analysis that is to be perfomied on an acquired waveform. Thus, a user is presented with a number of analysis options 620 (including Decode, Monitor, Physical Analysis, Pattern Search, Generator, and is also provided with analysis setup options 630 which allows for setting various bit rates, threshold levels for distinguishing between bits, and the like. A CAN trigger, may also be accessed via a short cut button 640 on CAN analysis tab 610. Upon selection of a CAN trace tab 710, a user is presented with a plurality of selections for setting the various display and interpretation functions for the incoming CAN data signal. Thus, a user may turn the display ofthe trace function on by selecting the radio button 715, and select the source that is being analyzed by the system at source type selection 720 (such as an H signal, L signal, or the difference between these signals). The user is also invited to define various parameters for the display ofthe CAN trace on a screen at zoom section 730. Typically the functions described with respect to figures 6 and 7 would be set up before signal acquisition, but of course these menus could be accessed at any time to modify the various settings. While using the analysis system in accordance with the invention, it is contemplated that the user regularly switches between the CAN trigger menu, the various Waveform Decode dialog tabs and the regular functions ofthe DSO, as will be described below. The user would normally set-up the CAN trigger conditions for the events that are to be captured. Then, either before or after the waveform is captured, the user would setup the waveform decoding features of the invention to observe message content and other predefined conditions ofthe waveform, before and after a defined trigger point. Users may be using the analysis system ofthe invention to look for pathology in a message content caused by distorted, noisy and/or misaligned signals. Thus, the system would be set up to trigger on various enor conditions, or other predefined signal irregularities. In accordance with the invention, subsequent review ofthe waveform conesponding to an enor in the decoded information is easily implemented, because when a waveform labeling function is activated, messages interpreted from the decoded data in the waveform are labeled and "hooked" to the waveform. All types of messages defined in the CAN specs are identified (Data, Remote, Enor and Overload). Each time a message is interpreted, the message is hooked to the waveform (as noted above) so that upon review ofthe waveform, a user can view all ofthe interpreted messages, along with the digital data and underlying received waveform associated with the interpreted message. When a message is beyond recognition (bad bit definition, undershoot, spikes, inconect stuff bits) for the CAN decoder because the analog waveform is too distorted and/or corrupted, an icon indicating that the message was not recognized as one ofthe predefined messages will be used, as is shown in figure 13. Figure 13 depicts a display 1300 including a data signal 1310, and a portion 1320 of signal 1310 which when decoded from the analog data signal in accordance with the applicable protocol, generates an unrecognized bit sequence. Thus, the display attaches a label "UNDEFINED ERROR" to indicate that the bit sequence is not recognized. Thus, a trigger request can be defined in accordance with a particular data sequence in the digital data, or can be defined to trigger on an unrecognizable data sequence. From the CAN Analysis tab 610 a user may select a can trigger button 640, which will bring the user to a CAN trigger module UI dialog, as shown in figure 8. The CAN trigger tab 810 allows a user to access the CAN trigger setup, allowing for simple or advanced features to be selected. If a user selects the simple button 820, the user can set the trigger to operate by finding a single CAN message, preferably by a message ID. The CANProBus Adapter will automatically detect on which DSO channel the CAN trigger is input. The trigger condition may be only on the CAN ID, only on the data, or any combination of both. Alternately, when the advanced capability is present and selected at button 830
(see figure 9), the user can set the trigger using symbolic names, or combinatorial logic on various ID, data and other fields present in the message. The symbolic info translates the message ID into text like NEHICLE_SPEED, and the data into physical values i.e 12 m/s so that the user can employ more user- friendly terms in order to define the events to be reviewed. In accordance with the invention, a user is able to visualize the content ofthe CAN signal, with different levels of detail, in a format that is appropriate for the user in a particular application. For example, the output may be displayed in hexadecimal, ASCII, or the like. The precise methods for defining the various display and selection parameters will be discussed below. As is shown in figure 10, when displaying many CAN messages 1010a - 101 Og within one screen, an overview ofthe CAN stream 1005 is first displayed. Each message includes the message ID above the packet including the message when the packet is healthy. An enor designation, and preferably, a recognizable icon, flags one or more sick messages (see lOlOd for example). When zooming on those flagged messages, a user is able to see the underlying analog data signal that is the cause ofthe incoherent message. Various labels, indicating various interpreted messages, portions ofthe signal, etc. are attached to the first edge of a conesponding packet and float along with the packet when the gain or offset for viewing the signal is changed. The regular time cursors (grid) shown in figure 10 can also be used to measure absolute time and time intervals between events of interest. The events of interest can be on different waveforms. For example, if the time delay between a temperature sensor change and its broadcast on the CAN bus is desired to be reviewed, the reference cursor may be positioned on the temperature sensor read out, and the difference cursor on the conesponding CAN message identified by its ID . If the delay between a query to a CAN node and its reply is desired, the cursors can be positioned on the remote and data frame, both on the analog CAN signal. When zooming onto a decoded CAN waveform, more details ofthe particular waveform will be shown. Figure 11 shows a zooming in on message containing annotated fields main fields 1110. Stuff bits 1120 and CRC checksum bits 1130 are delineated in some desired manner, such as by making them a different color, or the like. Figure 12 depicts zooming in on a particular enor message, such as lOlOd of figure 10 Figure 12 includes similar fields as those shown in figure 1 1. The annotation behavior described above is governed by the concept of annotation density. The annotation density represents the total number of annotations displayed on the signal (text, icons, anows, and color-coded sections) per screen. At any given zoom factor and talcing into account the user selectable viewing items, the amiotation density should not exceed a certain predefined threshold limit. In order to present a display with a reasonable amount of information, the total volume of amiotation at any given zoom factor should be limited. The determination of which annotations to remove when necessary (i.e., when a display is zoomed out) is generally governed by the importance of each ofthe annotations. For example, when showing 500 CAN messages on screen, only a colored strip may appear. It would be impractical to show every message's ID. Therefore only enor messages, which are the most important to the user when taking a wide overview of the bus, should be displayed. In figure 6 at CAN Analysis tab 610, if a user selects the decode analysis option from the analysis options 620, a CAN Waveform Decode UI dialog is opened, as is shown generally at 1150 in figure 11. This dialog implements the Waveform Decode Executive 1840 of figure 18. As is shown in figure 11, the user can select various portions ofthe decoded waveform to be displayed. By selecting one or more radio buttons from show annotation section 1160, the user can display stuff bits, ID information, decoded data, CRC data and acknowledgement data. During signal acquisition, it may be desirable to determine the integrity ofthe acquired data signal. In accordance with the invention, the user is presented with a CAN Physical Layer Bad Bits Locator, and Associated Measurement Tools UI dialog, as will be described below. This dialog module comprises a physical layer verification module and is made up of two parts, a Bad Bit locator (implementing the BadBit Executive 1870 of figure 18) and a general signal measurement tool Implementing Measure Manager 1890 of figure 18. Both tools may be turned on from main CAN tab 610, using the tick boxes in the analysis options section ofthe dialog. When accessing the various measurement tools, when this view is selected, the CAN manager automatically turns on various measurements that enable a user to measure the various signal amplitudes, time variations between bits within a packet, and timing variations between various packets. When utilizing the BadBit Locator, the CAN manager automatically sets up the processing chain needed to identify bad bits, one ofthe biggest wonies of hardware engineers working on CAN. A dedicated Bad Bit tab allows the setting of a few parameters as is further desired. Both physical layer analysis tools operate on the source data stream selected in figure 7. The raw data (CANH and CANL) can optionally be displayed by ticking the "Trace On" selection 715 of figure 7. Refening next to figure 14, a screen shot depicting the results of use ofthe Bad Bits Locator tool is shown. The BadBits Locator shows, on a display 1410, a CAN trace 1420 (designated the CAN signal), and a BadBit trace 1430, both being drawn by trace rendered 1880 of figure 18. The BadBit trace is indicative ofthe time interval enor ofthe various bits of CAN trace 1420. Both traces are time aligned. A bad bit in CAN is a bit whose observed width is not within a user specified tolerance ofthe nominal bit width of a standard bit on the CAN bus. This bad bit appears in the BadBit trace 1430 as a spike outside the normal value ofthe trace. The bad bit in CAN trace 1420 is time aligned with the spike on BadBit trace 1430 so it is easy to pinpoint the portion ofthe CAN trace generating the bad bit, and to zoom onto the CAN trace to more closely examine the portion generating the bad bit reading. A mask 1440 (implementing mask 1876, mask compare 1878, and mask renderer 1882 of figure 18) around BadBit trace 1430 assists in locating the bad bits, with circles 1450 showing actual mask violations. The vertical mask tolerance (vertical width ofthe mask, and deviation ofthe mask from a center, average value) reflects the user's expressed tolerance for bad bits on his CAN signal. For example, when working on a lOOkbit/second CAN line, the bit width is lOμs. If the user specifies a 10% tolerance on the bit timing, the mask width has to be set to 10% of 1 Oμs, therefore 1 μs.
When zooming into the waveform, the user can observe the bad bits in more details, while retaining the Bad Bit Locator time aligned with the CAN trace. The zoom function maintains the CAN trace and the BadBit frace time aligned. These parameters, such as bad bit tolerance and zoom are set using a dialog box depicted in figure 15. As is shown, by selecting a signal integrity tab 1510, a user can access the setup menu 1520 to set the bit timing tolerance, the measurements menu 1530 to select the measurement setup sub-menu to make various measurements on the waveform, and the view menu 1540 to define whether the timing reference level and/or the bit mask should be shown on the display. The user may also select from a number of buttons for storing data and menu selections, automatically selecting a scale ofthe display, and the like. Also shown in figure 15, the user may select the zoom tab 1550 to implement various zoom features on the display ofthe traces to allow for a more detailed view thereof, as discussed above. In addition to decoding the acquired analog signal into digital representations thereof, as noted above, the user can request that the decoded data be interpreted into various CAN messages, thus implementing the CAN protocol decoder 1850 of figure 18. In accordance with the invention, the CAN Protocol Decode module allows performance of this function, as is shown in figure 16. Therefore, as noted with respect to figure 18, this module goes one step further than the Waveform Decode module by interpreting and showing the symbolic CAN messages instead ofthe decoded hexadecimal values. For example, instead of showing "ID = 0x123, data byte 2 = 0x78" the display may read "VEHICLE_SPEED = 1.2 m/s". As is shown in figure 16, upon selection of a protocol decode tab 1610 the user is first able to indicate the protocol file 1620 that is to be used in interpreting the decoded digital data. Additionally, at section 1630 the user is able to request some choices to govern the symbolic annotation level and thus define what is shown in the display, including symbolic IDs, Physical data and Physical units, and the density ofthe annotation on various zoomed traces. Therefore, in accordance with the invention, a user is able to capture an analog waveform representative of a digital information signal, and decode the analog waveforai to generate digital data. Any enors in the digital data (or analog data, if desired) will generate a trigger in the detector, thus associating the digital data with the enor to a particular portion ofthe underlying information signal. The user is then able to view the portion ofthe analog signal that generated the digital enor. hi the use of a CANBus system, the invention allows for a user to monitor CANBus messages, and upon the occurrence of a particular predetermined event, view wither the data on the CANBus, or the reaction of other parameters to the situation that generated the trigger condition. Thus, a complex analysis that conventionally required a great number of calculations by a user can be performed relatively simply and efficiently. It will thus be seen that the objects set forth above, among those made apparent from the preceding description, are efficiently attained and, because certain changes may be made in carrying out the above method and in the construction(s) set forth without departing from the spirit and scope ofthe invention, it is intended that all matter contained in the above description and shown in the accompanying drawings shall be interpreted as illustrative and not in a limiting sense. It is also to be understood that the following claims are intended to cover all ofthe generic and specific features ofthe invention herein described and all statements ofthe scope ofthe invention which, as a matter of language, might be said to fall therebetween.

Claims

What is Claimed: 1. A method for capturing an analog waveform on a serial bus, comprising the steps of: designating a predetermined digital data sequence; decoding a serial data signal carried on a serial data bus; comparing the decoded serial data signal to the predetermined digital data sequence; and when it is detennined that a portion ofthe decoded serial data matches the predetermined digital data sequence, marking the portion ofthe serial data signal conesponding to the matching portion ofthe decoded serial data signal.
2. The method of claim 1, wherein the predetermined digital data sequence is designated in a binary notation.
3. The method of claim 2, wherein the predetermined digital data sequence is designated in a foraiat that is designated by a user in conjunction with a particular application.
4. The method of claim 1 , further comprising the step of separating the decoded serial data signal into a plurality of individual messages in accordance with a predetennined protocol.
5. The method of claim 1, wherein the decoding step further comprises the steps of: defining a threshold value for decoding the serial data signal; averaging a value ofthe serial data signal during a time conesponding to a bit period to generate an average value for the bit period; and comparing the average value for the bit period to the defined threshold value.
6. The method of claim 1, further comprising the step of grouping values of the serial data signal during each decoding period to define a measurement value.
7. The method of claim 6, further comprising the step of generating a histogram ofthe measurement values ofthe serial data signal during each decoding period.
8. The method of claim 6, further comprising the step of generating a graphical representation of a trend in the measurement values ofthe serial data signals over time.
9. A method for determining a bad bit in a digital data stream, comprising the steps of: receiving an analog data signal on a serial data bus; comparing a value ofthe analog data signal at predetermined times to a predetermined decoding value; determining when the value ofthe analog signal does not match the predetermined decoding value; and graphically representing a portion of the analog signal that does not match the predetennined coding value.
10. The method of claim 9, wherein the predetermined coding value comprises a time interval enor.
11. The method of claim 9, wherein the predetermined coding value comprises an amplitude enor.
12. The method of claim 11, wherein the amplitude enor is measured by determining whether a signal value within a bit period crosses a predetermined threshold.
13. The method of claim 11 , wherein the amplitude enor is measured by averaging a signal value within a bit period, and comparing the average signal value to a predetermined threshold.
14. The method of claim 9, wherein a decoded value for the analog data signal conesponding to each predetermined time is displayed along with a portion ofthe analog signal conesponding to the decoded value.
15. The method of claim 14, wherein an enor indicator is displayed along with a portion ofthe analog signal conesponding to the decoded value when the decoded value is not recognizable in accordance with a predefined protocol.
16. A method for viewing a parameter of a second data signal conesponding to a predetermined value of a first data stream presented on a CAN bus, comprising the steps of: receiving an analog first data signal on a CAN serial data bus; comparing a value ofthe analog first data signal at predetermined times to a predetermined decoding value; determining when the value ofthe analog first data signal matches the predetermined decoding value; and graphically representing a portion ofthe second data stream conesponding in time to the portion ofthe analog first data signal that matches the predetermined coding value.
17. The method of claim 16, further comprising the steps of: decoding the analog first data signal on the CAN serial data bus to generate decoded digital data; comparing the decoded digital data to a predetermined digital data value; and graphically representing a portion ofthe second data signal conesponding in time to the portion ofthe decoded first data signal matches the predetermined digital data value.
18. The method of claim 17, further comprising the steps of: interpreting the decoded digital data in accordance with a predefined protocol; and displaying the interpreted value.
19. The method of claim 18, further comprising the steps of: comparing the interpreted digital data with a plurality of digital values defined by the predefined protocol; and indicating when the interpreted digital data does not conespond with any ofthe plurality of digital values defined by the predefined protocol.
20. A method for triggering a test equipment in accordance with a value of a data stream presented on a CAN bus, comprising the steps of: receiving an analog data signal on a CAN serial data bus; comparing a value ofthe analog data signal at predetermined times to a predetermined decoding value; determining when the value ofthe analog first data signal matches the predetermined decoding value; and generating a trigger to the test equipment when it is determined that the value of the analog first data signal matches the predetermined decoding value.
21. The method of claim 20, wherein the test equipment receives the trigger, and the data stream presented on the CAN bus.
22. The method of claim 21 , wherein the test equipment further receives a signal from a sensor via an alternative transmission path that also provides data via the CAN bus through a transceiver/receiver.
23. An apparatus for capturing an analog waveform on a serial bus, comprising: a memory for storing a predetermined digital data sequence; a decoder for decoding a serial data signal carried on a serial data bus; a comparator for comparing the decoded serial data signal to the predetermined digital data sequence; and a data marker for marking the portion ofthe serial data signal conesponding to the matching portion ofthe decoded serial data signal when it is determined that a portion of the decoded serial data matches the predetermined digital data sequence.
24. The apparatus of claim 23, wherein the predetermined digital data sequence is designated in a binary notation.
25. The apparatus of claim 24, wherein the predetermined digital data sequence is designated in a format that is designated by a user in conjunction with a particular application.
26. The apparatus of claim 23, further comprising a data divider for separating the decoded serial data signal into a plurality of individual messages in accordance with a predetermined protocol.
27. The apparatus of claim 23, further comprising: a memory for storing a defined a threshold value for decoding the serial data signal; an averager for averaging a value ofthe serial data signal during a time conesponding to a bit period to generate an average value for the bit period; and a comparator for comparing the average value for the bit period to the defined threshold value.
28. The apparatus of claim 23, further comprising a memory for grouping values ofthe serial data signal during each decoding period to define a measurement value.
29. The apparatus of claim 28, wherein a histogram ofthe measurement values ofthe serial data signal during each decoding period is generated.
30. The apparatus of claim 28, wherein a graphical representation of a trend in the measurement values ofthe serial data signal over time is generated.
31. An apparatus for determining a bad bit in a digital data stream, comprising: a channel for receiving an analog data signal on a serial data bus; a comparator for comparing a value ofthe analog data signal at predetennined times to a predetermined decoding value, and for detennining when the value ofthe analog signal does not match the predetermined decoding value; and a display for graphically representing a portion ofthe analog signal that does not match the predetermined coding value.
32. The apparatus of claim 31 , wherein the predetermined coding value comprises a time interval enor.
33. The apparatus of claim 31 , wherein the predetermined coding value comprises a threshold value.
34. The apparatus of claim 33, wherein the amplitude enor is measured by determining whether a signal value within a bit period crosses a predetermined threshold.
35. The apparatus of claim 33, wherein the amplitude enor is measured by averaging a signal value within a bit period, and comparing the average value to a predetermined threshold.
36. The apparatus of claim 31, wherein a decoded value for the analog data signal conesponding to each predetermined time is displayed along with a portion ofthe analog signal conesponding to the decoded value.
37. The method of claim 36, wherein an enor indicator is displayed along with a portion ofthe analog signal conesponding to the decoded value when the decoded value is not recognizable in accordance with a predefined protocol.
38. An apparatus for viewing a parameter of a second data signal conesponding to a predetermined value of a first data stream presented on a CAN bus, comprising: a chamiel for receiving an analog first data signal on a CAN serial data bus; a comparator for comparing a value ofthe analog first data signal at predetermined times to a predetermined decoding value, and dete nining when the value ofthe analog first data signal matches the predetermined decoding value; and a display for graphically representing a portion ofthe second data stream conesponding in time to the portion ofthe analog first data signal that matches the predetermined coding value.
39. The apparatus of claim 38, further comprising: a decoder for decoding the analog first data signal on the CAN serial data bus to generate decoded digital data; a comparator for comparing the decoded digital data to a predetermined digital data value; and a display for graphically representing a portion ofthe second data stream conesponding in time to the portion ofthe decoded first data signal matches the predetermined digital data value.
40. The apparatus of claim 39, further comprising the steps of: interpreting the decoded digital data in accordance with a predefined protocol; and displaying the interpreted value.
41. The apparatus of claim 40, further comprising a comparator for comparing the interpreted digital data with a plurality of digital values defined by the predefined protocol, and for indicating when the interpreted digital data does not conespond with any ofthe plurality of digital values defined by the predefined protocol.
42. An apparatus for triggering a test equipment in accordance with a value of a data stream presented on a CAN bus, comprising: a channel for receiving an analog data signal on a CAN serial data bus ; a comparator for comparing a value ofthe analog data signal at predetermined times to a predetermined decoding value, and for detennining when the value ofthe analog first data signal matches the predetermined decoding value; and a trigger generator for generating a trigger to the test equipment when it is determined that the value ofthe analog first data signal matches the predetermined decoding value.
43. The apparatus of claim 42, wherein the test equipment receives the trigger, and the data stream presented on the CAN bus.
44. The apparatus of claim 43, wherein the test equipment further receives a signal from a sensor via an alternative transmission path that also provides data via the
CAN bus through a transceiver/receiver.
PCT/US2004/043333 2004-02-09 2004-12-23 Simultaneous physical and protocol layer analysis WO2005081728A2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CNA200480041517XA CN1942925A (en) 2004-02-09 2004-12-23 Simultaneous physical and protocol layer analysis
JP2006552114A JP2007522453A (en) 2004-02-09 2004-12-23 Capture method, determination method, display method, test method, capture device, determination device, display device, and test device

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US54298504P 2004-02-09 2004-02-09
US60/542,985 2004-02-09
US10/836,385 2004-04-30
US10/836,385 US7403560B2 (en) 2004-02-09 2004-04-30 Simultaneous physical and protocol layer analysis

Publications (2)

Publication Number Publication Date
WO2005081728A2 true WO2005081728A2 (en) 2005-09-09
WO2005081728A3 WO2005081728A3 (en) 2006-09-21

Family

ID=34681703

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2004/043333 WO2005081728A2 (en) 2004-02-09 2004-12-23 Simultaneous physical and protocol layer analysis

Country Status (5)

Country Link
US (3) US7403560B2 (en)
EP (1) EP1562131B1 (en)
JP (1) JP2007522453A (en)
CN (1) CN1942925A (en)
WO (1) WO2005081728A2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006300618A (en) * 2005-04-18 2006-11-02 Iwatsu Test Instruments Corp Measurement system having analysis/display function and its instrument
JP2007205751A (en) * 2006-01-31 2007-08-16 Yokogawa Electric Corp Method and apparatus for measuring waveform of serial communication data
EP2257030A1 (en) * 2008-02-01 2010-12-01 Mitsubishi Electric Corporation Communication analysis device and communication analysis method
EP2595343A1 (en) * 2011-11-16 2013-05-22 Tektronix, Inc. Protocol sensitive visual navigation apparatus
WO2014139600A1 (en) * 2013-03-15 2014-09-18 Rohde & Schwarz Gmbh & Co. Kg Measuring device and measuring method for detecting errors in signals

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7403560B2 (en) * 2004-02-09 2008-07-22 Lecroy Corporation Simultaneous physical and protocol layer analysis
US20050201488A1 (en) * 2004-03-12 2005-09-15 Duff Christopher P. Display of digital interface symbol information from an analog signal
US7801206B2 (en) * 2005-04-29 2010-09-21 Tektronix, Inc. Encoded serial data bit error detector
US7929461B2 (en) * 2005-06-09 2011-04-19 Tekronix, Inc. Controller area network performance parameters measurement
US7839792B2 (en) * 2005-08-30 2010-11-23 Tektronix, Inc. Time-correlated, simultaneous measurement and analysis of network signals from multiple communication networks
DE102005041369B3 (en) * 2005-08-31 2007-01-11 Siemens Ag Address transferring method e.g. into electronic template for participant of communication connection, involves having communication connection existing between first mechanism of participant and second mechanism of second participant
US7301484B2 (en) * 2005-11-01 2007-11-27 Lecroy Corporation Data decoder
US8006195B1 (en) * 2005-11-28 2011-08-23 Meta Greek, LLC Spectrum analyzer interface
US8576231B2 (en) 2005-11-28 2013-11-05 Ryan Woodings Spectrum analyzer interface
US7610516B2 (en) * 2006-04-20 2009-10-27 Sai Pong Siu Recording analog characteristics of data from a data line in a protocol analyzer
US20070285407A1 (en) * 2006-05-17 2007-12-13 Dickinson Evan A Enhanced user interface for an oscilloscope
US8837294B2 (en) * 2006-12-19 2014-09-16 Tektronix, Inc. Schematic display of protocol-specific information
US8085812B2 (en) * 2006-12-19 2011-12-27 Tektronix, Inc. Symbolic representation of protocol-layer information
US20080144654A1 (en) * 2006-12-19 2008-06-19 Leo Frishberg Symbolic representation of protocol-specific information
DE102008022691B4 (en) * 2007-05-07 2010-06-10 Hochschule für Technik und Wirtschaft Dresden Method for analyzing data in networks used in motor vehicles
DE102007039425A1 (en) * 2007-08-21 2009-02-26 Beckhoff Automation Gmbh Control node and control
US7975182B2 (en) * 2008-02-25 2011-07-05 International Business Machines Corporation Method, system and computer program product for generating trace data
DE102008017289B4 (en) * 2008-03-03 2021-10-14 Rohde & Schwarz GmbH & Co. Kommanditgesellschaft Customizable gauge and method of customization
US8284200B2 (en) * 2009-01-29 2012-10-09 Agilent Technologies, Inc. Systems and methods for focus plus context viewing of dense, ordered line graphs
KR101282417B1 (en) * 2009-12-08 2013-07-04 한국전자통신연구원 Apparatus and method for making CAN data file for test
US9026945B2 (en) * 2011-04-28 2015-05-05 Tektronix, Inc. Method of grouping waveforms for a single channel on a single display
JP5901341B2 (en) * 2012-02-20 2016-04-06 三菱電機株式会社 Display device, display method, and program
CN104205102B (en) * 2012-03-26 2017-06-16 三菱电机株式会社 Sequencer Design assistant device
US8996928B2 (en) * 2012-04-17 2015-03-31 Qualcomm Incorporated Devices for indicating a physical layer error
US9329967B2 (en) * 2012-11-13 2016-05-03 Tektronix, Inc. Methods and systems for aiding the analysis of a signal
CN103884890B (en) * 2012-12-21 2018-03-16 北京普源精电科技有限公司 A kind of oscillograph with decoding function
CN103353543B (en) * 2013-05-30 2015-06-24 电子科技大学 Digital oscillator with functions of triggering and decoding serial protocols
TWI485407B (en) * 2013-07-05 2015-05-21 Univ China Sci & Tech Error Detection Method and System of CAN - BUS Communication Format for Embedded Oscilloscope
CN104730306A (en) * 2013-12-24 2015-06-24 苏州普源精电科技有限公司 Automatic decoding threshold setting method and oscilloscope with automatic decoding threshold setting function
US10401390B2 (en) * 2014-11-20 2019-09-03 Keithley Instruments, Llc Formatting and navigating graphed information
US10014978B2 (en) * 2015-08-31 2018-07-03 Rohde & Schwarz Gmbh & Co. Kg Method and apparatus for processing a data signal
US10650621B1 (en) 2016-09-13 2020-05-12 Iocurrents, Inc. Interfacing with a vehicular controller area network
DE102017200826A1 (en) * 2017-01-19 2018-07-19 Conti Temic Microelectronic Gmbh Method for operating a monitoring device of a data network of a motor vehicle and monitoring device, control device and motor vehicle
US10608916B2 (en) * 2017-03-23 2020-03-31 Rohde & Schwarz Gmbh & Co. Kg Measuring device and method for dynamically selecting a channel bandwidth
EP3382405A1 (en) * 2017-03-30 2018-10-03 Rohde & Schwarz GmbH & Co. KG Method for performing a bus autoset function and measurement device
US10620264B2 (en) 2017-05-18 2020-04-14 Rohde & Schwarz Gmbh & Co. Kg Measuring system as well as method for analyzing an analog signal
US10852323B2 (en) * 2018-12-28 2020-12-01 Rohde & Schwarz Gmbh & Co. Kg Measurement apparatus and method for analyzing a waveform of a signal
CN110091072B (en) * 2019-05-28 2020-10-13 中国人民解放军国防科技大学 Transient laser ablation simulation method for polymer material
US11425227B2 (en) 2020-01-30 2022-08-23 Ford Global Technologies, Llc Automotive can decoding using supervised machine learning
DE102020121102B3 (en) * 2020-08-11 2022-02-03 Infineon Technologies Ag BATTERY MANAGEMENT SYSTEM AND METHOD OF DATA TRANSMISSION IN A BATTERY MANAGEMENT SYSTEM
US20220067333A1 (en) * 2020-08-31 2022-03-03 Teledyne Lecroy, Inc. Method and apparatus for simultaneous protocol and physical layer testing
CN114338451B (en) * 2021-12-31 2023-10-13 武汉思普崚技术有限公司 Controller local area network bus test system, method and storage medium
CN116488775B (en) * 2023-06-25 2023-09-15 北京云枢创新软件技术有限公司 Waveform labeling method and system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010046222A1 (en) * 2000-05-27 2001-11-29 Takeshi Hoshiko Packet communication monitor
US6327544B1 (en) * 1999-03-01 2001-12-04 Agilent Technologies, Inc. Automatic storage of a trigger definition in a signal measurement system
US6639607B1 (en) * 2000-07-14 2003-10-28 Agilent Technologies, Inc. Graphical user interface for a logic analyzer which allows trigger construction for data communications packets and protocols
US6850852B1 (en) * 2000-07-14 2005-02-01 Agilent Technologies, Inc. System and method for configuring a logic analyzer to trigger on data communications packets and protocols
US20050038615A1 (en) * 2003-08-11 2005-02-17 Kobalka Jordan D. Qualification signal measurement, trigger, and/or display system

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4040025A (en) 1976-03-31 1977-08-02 Hewlett-Packard Company Logic state analyzer
US4109243A (en) * 1976-04-26 1978-08-22 American Optical Corporation Data sequence display system and time-compression system therefor
US4094310A (en) * 1976-10-04 1978-06-13 American Optical Corporation Apparatus for enhanced display of physiological waveforms and for defibrillation
US4774498A (en) 1987-03-09 1988-09-27 Tektronix, Inc. Analog-to-digital converter with error checking and correction circuits
US4991581A (en) 1988-03-04 1991-02-12 Andries Tek R&D Limited Partnership Acoustic processing apparatus
US5214784A (en) 1988-11-28 1993-05-25 Tektronix, Inc. Sequence of events detector for serial digital data which selectively outputs match signal in the series which defines detected sequence
US5107377A (en) 1989-04-10 1992-04-21 Ballard Synergy Corporation Method and apparatus for digital storage and retrieval of data
US5039937A (en) 1990-05-11 1991-08-13 Nicolet Instrument Corporation Method and apparatus for providing compressed and expanded displays on a digital oscilloscope
JP2717506B2 (en) 1993-05-24 1998-02-18 テクトロニクス・インコーポレイテッド Data cursor display method
US5442730A (en) * 1993-10-08 1995-08-15 International Business Machines Corporation Adaptive job scheduling using neural network priority functions
US5446650A (en) 1993-10-12 1995-08-29 Tektronix, Inc. Logic signal extraction
US5517105A (en) * 1994-10-25 1996-05-14 Tektronix, Inc. Dual linked zoom boxes for instrument display
US6556202B1 (en) * 1996-04-10 2003-04-29 Snap-On Technologies, Inc. System for reconfiguring oscilloscope screen in freeze mode
JPH1038927A (en) 1996-07-23 1998-02-13 Advantest Corp Waveform-analyzing apparatus
US6442730B1 (en) * 1997-01-27 2002-08-27 Lecroy Corporation Recording medium failure analysis apparatus and method
US5923161A (en) 1997-04-14 1999-07-13 Universal Enterprises, Inc. Graphical display device
US6195617B1 (en) 1998-03-09 2001-02-27 Lecroy, S.A. Digital storage oscilloscope with simultaneous primary measurement and derived parameter display on common time axis and method therefor
US6002104A (en) * 1998-04-17 1999-12-14 Lincoln Global, Inc. Electric arc welder and controller therefor
US6038262A (en) * 1998-06-09 2000-03-14 Transcendata, Inc. Method and apparatus for compensation of electro-magnetic distortion using weighted feedback delay for amplitude coded sinusoidal waveform generation and transmission
JP3407667B2 (en) 1998-09-17 2003-05-19 横河電機株式会社 Data display method and measuring device using the same
US6570592B1 (en) * 1999-10-29 2003-05-27 Agilent Technologies, Inc. System and method for specifying trigger conditions of a signal measurement system using graphical elements on a graphical user interface
US6707474B1 (en) 1999-10-29 2004-03-16 Agilent Technologies, Inc. System and method for manipulating relationships among signals and buses of a signal measurement system on a graphical user interface
US6690398B1 (en) * 2000-01-27 2004-02-10 Agilent Technologies, Inc. Logic analyzer with mixed textual and graphical trigger specification
US6518744B1 (en) 2000-03-23 2003-02-11 Tektronix, Inc. General purpose oscilloscope having digital television signal display capability
US6795515B1 (en) * 2000-04-11 2004-09-21 International Business Machines Corporation Method and apparatus for locating sampling points in a synchronous data stream
US6525525B1 (en) 2000-05-02 2003-02-25 Tektronix, Inc. Oscilloscope with simplified setup procedure, and procedure for setting up oscilloscope
US6847349B2 (en) 2001-11-21 2005-01-25 Tektronix, Inc. Serial data cursor
US6892150B2 (en) 2002-05-24 2005-05-10 Tektronix, Inc. Combined analog and DSP trigger system for a digital storage oscilloscope
JP4247517B2 (en) * 2002-11-15 2009-04-02 富士通テン株式会社 Waveform editing program, waveform editing apparatus, and waveform editing method
US7403560B2 (en) * 2004-02-09 2008-07-22 Lecroy Corporation Simultaneous physical and protocol layer analysis

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6327544B1 (en) * 1999-03-01 2001-12-04 Agilent Technologies, Inc. Automatic storage of a trigger definition in a signal measurement system
US20010046222A1 (en) * 2000-05-27 2001-11-29 Takeshi Hoshiko Packet communication monitor
US6639607B1 (en) * 2000-07-14 2003-10-28 Agilent Technologies, Inc. Graphical user interface for a logic analyzer which allows trigger construction for data communications packets and protocols
US6850852B1 (en) * 2000-07-14 2005-02-01 Agilent Technologies, Inc. System and method for configuring a logic analyzer to trigger on data communications packets and protocols
US20050038615A1 (en) * 2003-08-11 2005-02-17 Kobalka Jordan D. Qualification signal measurement, trigger, and/or display system

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006300618A (en) * 2005-04-18 2006-11-02 Iwatsu Test Instruments Corp Measurement system having analysis/display function and its instrument
JP2007205751A (en) * 2006-01-31 2007-08-16 Yokogawa Electric Corp Method and apparatus for measuring waveform of serial communication data
EP2257030A1 (en) * 2008-02-01 2010-12-01 Mitsubishi Electric Corporation Communication analysis device and communication analysis method
EP2257030A4 (en) * 2008-02-01 2011-01-26 Mitsubishi Electric Corp Communication analysis device and communication analysis method
EP2264945A3 (en) * 2008-02-01 2011-01-26 Mitsubishi Electric Corporation Communication analysis apparatus and communication analysis method
US8542722B2 (en) 2008-02-01 2013-09-24 Mitsubishi Electric Corporation Communication analysis apparatus and communication analysis method
US9197532B2 (en) 2008-02-01 2015-11-24 Mitsubishi Electric Corporation Communication analysis apparatus and communication analysis method
EP2595343A1 (en) * 2011-11-16 2013-05-22 Tektronix, Inc. Protocol sensitive visual navigation apparatus
US9178792B2 (en) 2011-11-16 2015-11-03 Tektronix, Inc. Protocol sensitive visual navigation apparatus
WO2014139600A1 (en) * 2013-03-15 2014-09-18 Rohde & Schwarz Gmbh & Co. Kg Measuring device and measuring method for detecting errors in signals

Also Published As

Publication number Publication date
US7403560B2 (en) 2008-07-22
US7965764B2 (en) 2011-06-21
EP1562131A2 (en) 2005-08-10
US7756199B2 (en) 2010-07-13
JP2007522453A (en) 2007-08-09
EP1562131B1 (en) 2013-04-10
US20050175079A1 (en) 2005-08-11
EP1562131A3 (en) 2005-10-05
US20100141657A1 (en) 2010-06-10
CN1942925A (en) 2007-04-04
WO2005081728A3 (en) 2006-09-21
US20080255784A1 (en) 2008-10-16

Similar Documents

Publication Publication Date Title
US7403560B2 (en) Simultaneous physical and protocol layer analysis
US8103762B2 (en) Monitoring system for monitoring a message-sending system
US6560723B1 (en) Automatic communication protocol test system with message/sequence edit function and test method using the same
US5737520A (en) Method and apparatus for correlating logic analyzer state capture data with associated application data structures
US6850852B1 (en) System and method for configuring a logic analyzer to trigger on data communications packets and protocols
US6639607B1 (en) Graphical user interface for a logic analyzer which allows trigger construction for data communications packets and protocols
US20080186870A1 (en) Controller Area Network Condition Monitoring and Bus Health on In-Vehicle Communications Networks
US20100161835A1 (en) System for managing a power monitoring system containing a multiplicity of intelligent electronic devices
JPS6399654A (en) Local area network analyzer
US8542722B2 (en) Communication analysis apparatus and communication analysis method
US20040125139A1 (en) Logic analyzer with mixed textual and graphical trigger specification
JP2007532050A (en) System and method for associating DLPDUs received by an interface chip with data measurements made by an external circuit
US6615369B1 (en) Logic analyzer with trigger specification defined by waveform exemplar
CN106647695A (en) Method and system for monitoring running state of on-orbit spacecraft
CN107707446A (en) A kind of SENT bus encoding/decodings, triggering and analysis method based on FPGA
US20070005852A1 (en) Graphical verification tool for packet-based interconnect bus
CN103116052B (en) Protocol sensitive visual navigation apparatus
US7827209B2 (en) Data object based data analysis
JP2002278797A (en) System and method for diagnosing security
US20070253474A1 (en) Generating eye-diagrams and network protocol analysis of a data signal
CN114414255A (en) Automatic driving test method and system based on CAN message period monitoring
JP3011925B1 (en) Network monitoring support device
US9143414B2 (en) Scenario, call, and protocol data unit hierarchical comparator
US20220108021A1 (en) Method and apparatus for analyzing side channel-related security vulnerabilities in digital devices
JP4027772B2 (en) Bus monitor device

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

WWE Wipo information: entry into national phase

Ref document number: 2006552114

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 200480041517.X

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Country of ref document: DE

122 Ep: pct application non-entry in european phase