Logic Analyzer
The figure displays the main program window when operating in the logical analyzer mode. Such elements as markers, scroll bar and sampling frequency settings panel (time base) are completely similar to the corresponding elements when operating in the oscilloscope mode. That's why we enlarge upon new elements incidental only to this mode.
To the left of the work screen there is the panel containing the names of all 16 channels, which are functionally divided into two buses. The first 8 channels are related to the bus A
and next eight channels are related to the bus B
. Channels of the bus A (further bus A) are always used as 8-channel analyzer. Channels of the bus B (further bus B) can be used both in the mode of 8-channel logical generator and as additional 8-channel analyzer or generally disabled. Operation mode of the bus B is set by the corresponding buttons on the control panel
. Moreover, color and name of each channel can be changed and for this you need to point the name of the selected channel with the mouse cursor and left click and then the channel settings window opens.
To change the channel name you need to input the new name in the field "Channel name". To change the channel color you need to left click on the dropdown list "Channel color" and then select the necessary color, if there is not desirable color in the list then click on color "Custom..." and the standard color settings window will open. To apply these changes you need to press OK button and to undo all changes inserted you need to press Undo button.
There are two buttons
below the panel "Channels" that allow opening and saving all the names and colors of the channels in the file.
In the bottom left corner of the main window there is a panel "Generator data", which is active only if the bus B is used in the mode of 8-channel logical generator. As the panel name suggests, it is designed for setting (creating) the generator timing charts. In the left part of the panel there is a table
containing the generator data in binary and hexadecimal formats. Data in the table can be changed in two ways: when immediately keying or selecting the necessary part in the table and pressing the relative buttons of timing chart generation
. To go immediate editing you need to press the button positioned next to the upper right corner of the table or left double-click on the table. To go selecting the data you need to press the button positioned next to the upper right corner of the table once again or press the shortcut keys Ctrl D. To select the data portion in the table it is necessary first to select the range start by left click on the selected cell and then while holding the left mouse button to move the mouse up and down. If you need to select the large data portion then it is expedient upon selecting the range start to move to the range end when moving the slider and then left click on the last cell of range while holding the Shift key. To select all the cells you need to press the shortcut keys Ctrl A. Data portion in the table can be selected with the markers, which positions on the work screen determine the limits of the portion to be selected. It can be convenient if, e.g. it is necessary to generate pulse in one of the generator channels, which length is equal to pulse in any analyzer channel. For this purpose it is necessary first to determine the analyzer pulse limits with the markers and then select the data portion in the table, when pressing, e.g. Ctrl M and then press the "Ch.=1" button. There is a line with information about the limits of the current selected data portion below the generator data table.
There is also a row of buttons
on the generator data panel that allows clearing the generator data, reading the generator data from the file or saving the generator data in the file, shifting the selected data portion for backspace character up and down, cutting or coping the selected portion in the buffer (other than Windows buffer) as well as pasting the data from the buffer in the table from the selected cell.
Generator timing charts can be set both as table and plot immediately on the work screen with the mouse. To plot the timing chart of one of the generator channels it is necessary to set the mouse cursor between the dash horizontal lines determining the limits of the selected channel and press the left or right mouse button and then when holding this button to move the mouse to a certain direction (left or right). If the left mouse button is pressed then the plotted timing chart portion will accept the logical unit status and if the right mouse button is pressed then - logical zero.
Panel "Frequency"
allows setting the sampling frequency (time base). This panel is functionally similar to other time base settings panels. Exclusion is only that there are several actual submodes of the logical analyzer, which are automatically selected depending on the set time base:
- 4...8 MHz - buffer size is just 128 bytes, only one bus A is functioning, triggering by mask is only for the bus A (ignoring don't care condition), triggering by edge is only for the channels of the bus B (i.e. you can analyze 8-bit bus and trigger by signals WR, RD and etc.), no pretrigger, no pulse miss. This submode is for analysis of the moderate-speed 8-bit buses that enable triggering for the additional channels.
- 2...2.67 MHz - buffer size is equal to 1160 bytes, only bus A is functioning, triggering by mask is only for the bus A (considering don't care condition), triggering by edge is only for the channels of the bus B (i.e. if required triggering by edge for one of the channels of the bus A the cord of the bus B is to be connected as well, that is inconvenient), fixed pretrigger buffer length equal to 8 bytes, no pulse miss. This submode is for analysis of the low-speed 8-bit buses that enable triggering for the additional signals and small pretrigger.
- from 1 MHz and lower (when buffer reading) - buffer size is equal to 1544 bytes, all the modes are available (analyzer, analyzer generator, analyzer analyzer). All the types of triggering are active and there is pulse miss, adjustable pretrigger buffer depth 8 to 120 bytes. External clocking (triggering) option is also added. This submode is for general purpose, you can analyze both low-frequency data buses and bit-sequence interfaces (just analyze but acquire data) and logical generator is active in this submode as well.
- from 500 KHz and lower (when pipe reading) - buffer size is equal, limited by the computer memory. It is not recommended to set the buffer size more than several Mbytes as it is extremely inconvenient to analyze such long signals. One channel show will take memory that 16 (2*SizeOf(double)) times more than the buffer size, i.e. to show the whole bus it requires memory that 16*8 = 128 times more, providing that the waveform value changes for every sample capture. If there are pauses or pulses longer than one sample capture then they are coded with just 16 bytes (2*SizeOf(double)). When pipe reading the bus A is only active, all the types of triggering are available, adjustable pretrigger buffer depth is 1 to 99% of the given buffer depth. Option of external clocking (triggering) is also added. This submode is mainly for analysis of interface sequence. When using the computer memory as a waveform buffer you can record very long waveform portions for its subsequent analysis.
There are elements
below the sampling frequency settings knob that ensure turning on the external clocking (triggering) mode. With these elements you can select the edge of external clock signal to perform sample capture. External clock signal frequency can be set both by knob or when inputting the exact frequency value in the field Fs. External clock signal frequency value is setting only for the correct show of charts in the time base.
It makes sense to explain the point of external clocking application by example:
The figure displays the following binary waveforms:
- blue color - input
- red color - received (shown) signal
- green color - external clock signal
In the first case the internal sampling frequency is used, e.g. 1 MHz where the point of waveform sample capture is shown with the dash lines in 1 uS. Input frequency is APPROXIMATELY equal to 250 KHz, i.e. 4 times less than the sampling frequency that is good enough. As is evident from two upper charts the first pulse and pause when receiving signal completely correspond to input. The next pulse will be almost by 50% longer because in the point of sample capture the input was at the peak logical level for just several fractions of uS longer than for the first pulse. As is evident from the figure as the input frequency is APPROXIMATELY equal to 250 KHz, i.e. there is a minor pulse and pause time jitter and the resulting signal is sufficiently distorted (it is necessary to consider if input parameters are to be correctly measured).
In the second case the external clocking is used. As is evident from the figure the input level changes as to the rising-edge of clock signal and the falling edge of clock signal is approximately at the midlevel of input pulse or pause and it follows that it is expedient to set clocking as to the falling edge. The point of waveform sample capture is shown with the dot lines, which concurs with the falling edge of clock signal. As is evident from the figure this signal completely corresponds to input except for bias for a half of period of clock signal, which has no influence.
Based upon this information it may be concluded that given external clock signal synchronous with the input (generally it is a common practice for protocol sequence) "value" of each sample capture increases. So, when internal clocking there were 16 sample captures and minor signal distortion and when external clocking there were only 8 sample captures and this signal completely corresponds to input. "Value" of each sample capture increases because the sample capture is performed within the "correct" point in time to be determined by external clock signal. Moreover, if we suppose that instead of 4 input pulses we will receive only 2 input pulses and 4 clock ones (e.g. in default of exchange) then when internal clocking we will anyway receive 16 sample captures, which half is out of exchange and at the same time when external clocking we will receive only 2 "correct" sample captures. For the external clocking functions the microcontroller hardware is used about which the external clock signal can be fed only to the channels of the bus B, i.e. when applying the bus B as 8-channel generator the external clocking is inaccessible.
All the triggering controls (called trigger for digital signals) except for the markers are positioned on the panel "Trigger"
. On/Off button allows turning on and off triggering below which there are the triggering operation option buttons: with rising or falling edge of the selected channel signal or triggering with mask. There is the dropdown list below the triggering signal edge option buttons that is to select the triggering source channel only by edge. To the right of the mask triggering settings buttons there are two small select bus buttons, to which the given mask will be applied at triggering. Mask is set in the filed positioned below the mask triggering settings button in binary format at that the symbol 'x' or '-' means the don't care condition of the corresponding channel. In the bottom half of the triggering panel there are the elements determining necessity to skip a set number of pulses
. Miss pulses will be active only if triggering is on. To start the miss pulses mode it is necessary to press one of the buttons determining the pulse start if no button is pressed the miss pulses mode is failed. In the field "N pulses" upon meeting triggering condition the required number of missing pulses is set and in the dropdown list positioned beneath the panel the channel is selected for which calculating and missing the given pulses number will be performed. It is expedient to use the miss pulses mode if concatenation mode is off.
On the panel "Signal parameters below markers"
similar to operating in the oscilloscope mode the position of each marker on the time base and status of each bus below the marker are shown. Markers time lag is also calculated.
Panel
is to find the bit sequence/edge on one of two buses. Before you start it is necessary to select the bus/channel to find and set the bit sequence/edge in binary, hexadecimal or decimal format. To start finding it is necessary to press one of the search buttons. If the set bit sequence/edge has been found then the marker 1 will be automatically shifted to it otherwise the message window with information about no set bit sequence/edge to found will open.
On the control panel
there are the buttons determining the operation mode of the bus B. Button with G icon moves the bus B into the operation mode of logical generator and the button with A icon - into the mode of additional 8-channel analyzer. If no buttons are pressed then the bus B is deemed off. On the control panel there is also the start single measurement button. It is necessary to note that if the bus B is used in the logical generator mode and triggering is on then the data will be fed to the generator bus upon completing the triggering event but not immediately upon pressing the Run button.