1 Introduction
With the rapid development of digital technology, in the development, debugging and fault diagnosis of digital systems, especially computer systems, traditional test methods and test instruments developed from time domain and frequency domain analysis of analog systems are often difficult to work, so new data domain test theories, methods and corresponding test instruments continue to emerge. As the most useful and representative instrument in data domain test instruments, logic analyzers have increasingly improved their performance and functions and have become a powerful tool for debugging and developing complex digital systems, especially computer systems.
In a logic analyzer, a sequence of trigger words or trigger events is used to control the storage and display of data so as to select an appropriate observation window in the data stream. Trigger capability is the most important indicator of a logic analyzer, especially when using a logic state analyzer to track complex programs. A strong trigger function and reasonable trigger condition settings can enable the instrument to quickly find the target to be tracked in a large and complex program flow, and analyze the location and nature of the fault or error, which will greatly shorten the development and debugging cycle of software and hardware and generate good economic benefits.
2. Trigger selection of logic state analyzer
2.1 Trigger Word Selection
The method of using a logic analyzer to observe a large amount of data is to set a specific observation start point, end point or a reference point that has a certain relationship with the data being analyzed. Once this specific point appears in the data stream, it forms a trigger event and stores the data in the memory accordingly. This process is called triggering. This specific reference point is not an analog signal parameter, but a data word, or it may be a sequence of words or events. In short, it is a multi-channel logical combination. This data word is called a trigger word. A trigger composed of a sequence of words or events is called a sequence trigger. In short, a trigger word is a data word used to select a data window.
Using trigger words for triggering is the simplest and most basic triggering method of logic analyzers, and it is also an important part of complex triggering methods. Since logic state analyzers are often used to analyze software, specific data words on computer address lines or data lines are often selected as trigger words. Sometimes some control signals are used together with addresses or data to form trigger words. For example, when observing a certain program, M, MREQ and RD are all valid and combined with a certain memory address as trigger words, indicating that the trigger word is valid when the instruction machine code stored in the address is fetched during the instruction fetch cycle. Different from the above situation, control signals, I/O signals, external device port addresses or signals related to peripherals and their combinations are often used as trigger words in logic timing analyzers, and complete data words such as addresses and data are not necessarily used for triggering.
The selection of trigger words is the basis for determining the position of the display window. If the selection is inappropriate, the displayed content may not explain the problem or may not be displayed at all. The appropriate trigger word can display the content to be observed or quickly approach the fault point to be analyzed. In a faulty computer, it is sometimes difficult to set the trigger word because the program cannot run normally. In order to capture where the program is running, sometimes all the bits of the trigger word are set to arbitrary items, and the content of interest is found in the continuous tracking method or from the display results of multiple single tracking. The trigger word can also be selected from this content for further analysis.
After the trigger word is set, it must be ensured that the logic analyzer can collect it before triggering. However, the program being tracked is often non-repetitive, so it is usually necessary to start the program being tracked after the logic analyzer is tracked. Pressing the reset button in the system under test or restarting after powering on can ensure that the program is immediately recognized when it passes the trigger word for the first time. If the program is started first and then the logic analyzer is tracked, the program where the trigger word is located may have been run, and the logic analyzer will not display it. Most intelligent logic analyzers will also prompt "trigger word not found".
2.2 Trigger position selection and delayed triggering
The trigger position selection of the logic analyzer includes trigger start tracking, center trigger and trigger end tracking. In the absence of delay, they make the trigger point at the beginning, center and end of the data window respectively. The specific selection always ensures that the data to be observed is within the display window. For example, if you want to observe the data after the trigger, you can use trigger start tracking without delay. But even in this case, sometimes you still want to observe a small amount of data before the trigger, so many logic analyzers with large memory capacity also store and display some data before the trigger when trigger start tracking. Of course, a large amount of data is behind the trigger point at this time. Similarly, in the case of trigger end tracking, even if there is no delay, some logic analyzers also store and display some data after the trigger point.
Delay triggering can be divided into two types: clock delay and event delay.
Clock delay means that after the trigger word is recognized, the trigger is delayed for the set number of clocks before triggering. It is most commonly used in the following two situations:
(1) If the program being traced is long and the memory capacity of the logic analyzer is limited, the program can be traced in sections by changing the delay amount without changing the trigger word.
(2) Used to adjust the position of the trigger word in the data window. Especially for logic analyzers without center trigger and trigger start tracking, these two functions can be produced by combining delayed trigger with trigger end tracking.
An important use of event delay is to analyze programs with nested loops. In particular, software delay programs have very large loops. When using a logic analyzer to track the execution of the program in real time, it is often unnecessary to repeatedly track these loops. In this case, event delay can be used to skip them.
2.3 Application of various trigger functions
In addition to simply using trigger words for triggering, modern logic analyzers also have a wealth of other trigger functions. Using these functions and their combination can greatly enhance the ability of logic analyzers to select data windows from data streams.
2.3.1 “AND”, “OR”, and “NOT” triggers
By using the "AND" relationship between the signal or search interval and the trigger condition, the trigger condition can be constrained so that the trigger point can be more accurately pointed to the data window to be observed. In fact, a trigger word contains multiple signals, which can also be regarded as the "AND" relationship between these signals. For example, if a memory address is used as a trigger word, but you only want to trigger when the content is written to the address, you can also use the control signal as part of the trigger word, so that both the memory request and the write signal are valid in the trigger word. Trigger qualification is also a commonly used "AND" relationship. Only when the qualification conditions are met can the set trigger word or trigger event sequence be triggered. In some intelligent logic analyzers, a trigger window can also be set to stipulate that the trigger condition is only found between a certain starting point and an end point. This is also a "AND" relationship. When the program may enter the trigger point from several different paths, the "AND" relationship can often select a unique path, increasing the selectivity of the trigger point.
When the logic analyzer uses the "OR" trigger function, multiple trigger words or trigger conditions are set, and a trigger is generated as long as one of them is met. When the program being tracked has several possible flows, if you want to observe several possible situations, you can set the address of each entry as a trigger word and use the "OR" trigger function to track. In this way, no matter what direction the program actually flows, relevant data can be captured in time.
If a trigger is generated and the tracking state is entered when a certain data cannot be detected under certain conditions, this function is called the "non" trigger function. In this trigger mode, two trigger words are usually set. The first trigger word is used to determine the position of the second trigger word in the data stream. Only when the two are different, the logic analyzer will start triggering tracking, otherwise it will not track. The "non" trigger is more effective for diagnosing random faults.
The "AND", "OR" and "NOT" trigger functions can be used in combination or in conjunction with other trigger functions, which greatly increases the flexibility of trigger point selection.
2.3.2 Sequence Trigger
If using a trigger word or an external trigger signal to trigger is the simplest trigger method, then sequence triggering is a complex trigger method that can adapt to multiple trigger requirements. Usually, a trigger word or a trigger condition that has undergone "and", "or", or "not" operations can be used as a first-level trigger event. Each trigger event can be directly connected to form an event sequence, or a certain clock delay or event delay can be added between each trigger event to form an event sequence with delay. Using this event sequence for triggering can track various complex programs, which brings a lot of convenience to analyzing program branches, jumps, nesting, and loops.
Previous article:Keysight's test platform helps Gemtek build a more reliable ecosystem
Next article:TDR function of ENA network analyzer
- Popular Resources
- Popular amplifiers
- Seizing the Opportunities in the Chinese Application Market: NI's Challenges and Answers
- Tektronix Launches Breakthrough Power Measurement Tools to Accelerate Innovation as Global Electrification Accelerates
- Not all oscilloscopes are created equal: Why ADCs and low noise floor matter
- Enable TekHSI high-speed interface function to accelerate the remote transmission of waveform data
- How to measure the quality of soft start thyristor
- How to use a multimeter to judge whether a soft starter is good or bad
- What are the advantages and disadvantages of non-contact temperature sensors?
- In what situations are non-contact temperature sensors widely used?
- How non-contact temperature sensors measure internal temperature
- LED chemical incompatibility test to see which chemicals LEDs can be used with
- Application of ARM9 hardware coprocessor on WinCE embedded motherboard
- What are the key points for selecting rotor flowmeter?
- LM317 high power charger circuit
- A brief analysis of Embest's application and development of embedded medical devices
- Single-phase RC protection circuit
- stm32 PVD programmable voltage monitor
- Introduction and measurement of edge trigger and level trigger of 51 single chip microcomputer
- Improved design of Linux system software shell protection technology
- What to do if the ABB robot protection device stops
- Is it better for the motor to have a large or small moment of inertia?
- What is the difference between low inertia and high inertia of servo motors?
- What will happen if the servo motor inertia is insufficient?
- How to select parameters for servo motor inertia size
- The difference between the servo motor moment of inertia and the load moment of inertia
- How to calculate the inertia of servo motor and reducer
- What is the difference between a servo press and a normal press?
- CGD and Qorvo to jointly revolutionize motor control solutions
- CGD and Qorvo to jointly revolutionize motor control solutions
- Keysight Technologies FieldFox handheld analyzer with VDI spread spectrum module to achieve millimeter wave analysis function
- The relationship between FPGA memories
- How to choose a wireless communication module with long distance and fast speed?
- Survival rules for electronic engineers in the workplace, every word is true!
- [Project source code] [Modelsim FAQ] No error but always shows Loading
- DB HiTek Completes Global Shutter and SPAD Technology Development to Further Expand Image Sensors
- 【XMC4800 Relax EtherCAT Kit Review】+ Getting Started with DAVE, Modbus Bus Comprehensive Application
- Celebrating the Golden 50th Anniversary of the Microprocessor
- Check the internal working status and problems of the power supply
- DSP AD current sampling data fitting curve
- microPython + esp8266 + tm1650 = Network clock