Feature

Hands-on review: Analyzers reveal digital secrets

PC-based logic analyzers can reveal much about digital signals. Here's the lowdown on seven models we tested.

By Jon Titus, Contributing Editor -- EDN, 12/5/2005

Logic analyzers capture digital signals and display state information, timing information, or both. When testing or troubleshooting electronic equipment, engineers use these instruments to extract microcontroller timing information, monitor sequences of digital events, watch instructions go to and from a microprocessor, and so on. Wherever you need to monitor sequences of bits and bytes, you'll find that a logic analyzer fills the bill. In addition to watching the usual flow of signals on parallel lines, some logic analyzers can decode I2C, SPI, CAN (controller-area-network), and other serial protocols. And, if you plan to debug an embedded computer, you also can decode instructions so that you can watch the flow of a program, step by step, as op-code abbreviations go by on a screen.

Logic analyzers traditionally fit into large desktop enclosures, but several manufacturers now offer small, "pocket-sized" logic analyzers that rely on a host PC for display, control, and storage capabilities. We tested seven of these instruments and report our results for you here. Tests involved the use of a standard microcontroller-development kit and simple programs written in C.

There are several areas of concern to keep in mind while evaluating these or similar instruments in your lab.

Connections: Several analyzers come with small grabber clips. Connecting to eight signals on a row of pins spaced at 0.10-in. intervals provides a challenge. Other instruments provide a choice of female contacts that push onto 0.025-in.2 pins.

Triggers: All logic analyzers in this review provide triggering, because that's what logic analysis is all about: You want to see what happens when an event occurs. Unfortunately, some analyzers provide triggers that act on only logic levels and, in one case, could set up a trigger based on only four signals. These days, analyzers need level and edge triggering, and some engineers need sequential triggers, such as "trigger if Condition A follows Condition B." Know your triggering requirements, so that a purchase doesn't disappoint you.

Cursors: These movable marks that locate signal features prove troublesome in many displays. Software should give you complete control over cursors and should show you where the cursors are, how to control them, and the time mark they represent in a display. The ability to calculate the time between sets of cursors makes them particularly valuable. A display should not "lose" cursors so that you have to go and look for them.

And last, you cannot have a good logic analyzer without solid documentation.

*Click here to view a table that summarizes the following seven logic anaylzers.

BitScope BS-50 Pocket Analyzer

Price: $345

www.bitscope.com

This small module provides logic-analyzer and DSO (digital-storage-oscilloscope) functions, and it includes a single-channel AWG (arbitrary waveform generator) (Picture). Setup went smoothly, although engineers may find it easier to work with a 26-pin header than with individual wires. The color-coded wires that accompany the analyzer provide a grabber on one end and a 0.025-in. female connector on the other. The grabbers crowd the I/O pins on our test board, but they fit snuggly and held in place during testing.

The BitScope DSO 1.2 software starts easily, but it takes a moment to realize that you have to click the power button to "start" the instrument. The software's initial screen looks like a DSO, but a click on the logic button on the right-hand menu produces the eight logic signals the module can acquire. When the software changes to logic-analyzer mode, the upper-left trigger area displays each logic signal and an associated button that lets you select a logic-zero, logic-one, or don't-care condition for triggering. The software does not provide for edge triggering or for a sequence of events that trigger acquisition of signals.

We ran the Test 1 code on the Rabbit board and set triggering for a logic-one on D0 and a logic-zero on D1. The display seems upside-down, with D7 at the top and D0 at the bottom. The software provides no way to change the color or to name the traces.

To acquire data, users click "repeat" to continuously acquire and display data whenever the analyzer "sees" the trigger condition and is not busy acquiring data. A click on a trace, though, initiates a one-shot capture. The timebase controls let users select a timebase of 25 nsec to 200 µsec and a zoom factor of 10 to 20×. The display shows a time-delay value, the timebase value, and the sample rate. We chose a 1-µsec timebase and a 1× zoom factor, and the data generated by Test 1 appeared in the display area. Although the display triggers properly, we could not relate the TD value to anything we had set or could control.

The display provides an x-axis cursor and a display of the x cursor's time relative to the trigger. But good luck if you can't remember where you placed the cursor the last time you used it. No subdisplay shows the location of the cursor relative to your current view of the acquired data. And you can't click within a display of data to retrieve the x cursor from a distant or forgotten position; you must hunt for it.

We performed the BIOS interrupt-timing measurements on the Pocket Analyzer's data and calculated an average period of 488 µsec.

Bottom line: Before you use this analyzer, the manufacturer should upgrade its software. The inability to easily move a timing cursor and the lack of signal-name assignments and color codes make the instrument difficult to use. Because the manual concentrates on DSO measurements, logic-analyzer operations get scant coverage.

Cwav USBee ZX Test Pod

Price: $895

www.usbee.com

This module provides eight digital inputs, a ground line, an external trigger, and clock lines (Picture). The built-in wires come with female adapters that slide onto 0.025-in.2 pins. The unit includes microclips that can grab component leads. Sampling of digital signals takes place at nine rates from 1M to 24M samples/sec. Because the module uses a PC's internal memory for storage, acquisitions can run from 1M to 810M samples, depending on the PC memory available. Users can add modules to acquire data from more than eight signals at a time. Each module provides both 5 and 3.3V outputs.

The display window shows all eight color-coded signals, which users can name as they like. Four columns near the signal names let you select sequential-trigger conditions based on logic-one, logic-zero, or don't-care states. If you do not set a trigger condition, the module starts to acquire data as soon as you click on the "acquire" button in the acquisition area. The trigger levels prove easy to manipulate and the module easily acquires data from the Test 1 and Test 2 program runs.

The display area includes two cursors, X and O, that you can move freely through the data. Three windows show the time position of the cursors, as well as the time difference between X and O. You can set X, O, or T (the trigger condition) as the reference for time measurements. Measuring the times between the expected glitch in the data during Test 1 provides an average time of 485 µsec from eight consecutive measurements. The cursors and the display controls are easy to use. An additional measurement, Insta-measure, lets you select width, frequency, period, or byte. Select one of these measurements, and it appears next to the cursor as you move it among the waveforms.

Because the module comes with what looks like an external trigger input, we decided to use it to trigger the logic analyzer. Although the USBee ZX software includes help files that exist as video segments, the triggering options that the video segment describes do not match the latest version of the logic-analyzer software. A printed manual would help.

How hard can it be to configure a simple trigger input line? We set up conditions to try and clicked on the "acquire" button. A blue "waiting-for-trigger" indicator flashed for longer than appropriate for the signal we had selected as the trigger source. So, we clicked on the "stop" button to abort the run. That action sent the software into the "not-responding" condition, and, in this state, the Windows task manager could not shut down the program. To double-check the operation, we tried similar external trigger actions, and all locked up the program. If you leave it long enough, the program eventually shuts down.

Tim Harvey at USBee at first remarked that we had uncovered an unknown bug in the software, which should otherwise let users gracefully "back out" of a condition in which the software waits for a trigger and a clock signal. He later explained that we probably needed to upgrade our USB-port drivers because early drivers had a problem that prevented certain timing operations from working properly.

Bottom line: The logic-analyzer functions work well, and the ability to cascade USBee ZX modules in parallel makes the logic-analyzer functions useful. This unit will appeal to designers who develop small embedded systems and who need basic logic-analyzer functions.

Dynon Instruments Elab-080

Price: $495

www.dynoninstruments.com

The Dynon Instruments Elab-080 provides a 16-channel logic analyzer, a two-channel digital oscilloscope, and a one-channel arbitrary- waveform generator (Picture). The package includes two 60-MHz 1×/10× scope probes. We confined investigations to the logic-analyzer portion of the unit and its software. The package includes the main instrument box, a large plug-in power supply, and connection leads. The leads connect to a header that furnishes eight signal leads and a ground for each. Labels CH1, CH2, and so on mark the leads so that you need not rely solely on the color-coded wires for identification at your system under test.

Unfortunately, the package lacks a CD-ROM, manual, and quick-start guide. Instead, a slip of paper asks users to visit the Dynon Web site to download the latest software. We downloaded the software onto a USB memory stick and moved it to an isolated lab PC. The setup went well, and the installed software displayed windows for the logic-analyzer waveforms, oscilloscope signals, and spectrum display.

Controls make it easy to set a sample rate (1 kHz to 100 MHz in one, two, or five steps) and a sample size (1k sample to 32k samples in 2n steps). To test the logic-analyzer functions, we ran Test 1 so that we had some data to capture. Clicking a green arrow button in the control window started an acquisition, but we could see no changes in the data, and, no matter how we adjusted the sample rate, the display timing remained fixed.

Off to one corner, the control window displays a group of two buttons: (DSO/LA Zoom). Yes, the label is in parentheses. The buttons carry labels S and nS. Clicking the buttons zooms the display out and in, respectively, so we could see more or less of the data. After zooming appropriately, we could see the eight logic-zero signals.

Clicking on the logic-analyzer tab in the control window opens a subwindow that lets you quickly label signals, designate a signal's source, and change a signal's displayed color. Changing a name does not change the signal's channel number—a nice feature that makes it easy to name signals and still know what points they come from on a circuit. A "buses" tab lets users group signals and display bus information in octal, binary, decimal, or hex format.

A "trigger" tab lets you select an optional trigger, but trigger choices appear limited. You can select to trigger only on patterns that involved channels 00 to 03. The trigger-setting window accepts any binary pattern except for 00002. The unit's help file explains that a hardware limitation causes that problem. The analyzer may accept an external trigger signal on a separate pin, but nothing in the trigger window provides a clue about using this input line. Several trigger combinations work as you would expect. When you remove the check mark from the enable-trigger option, the analyzer simply acquires data as soon as you click on the green arrow button.

The display provides two timing cursors, A and B, that have little value.

The Elab-080 software displays numeric-timing information in a separate window so that you can view state changes as they relate to sample times (timing analysis). Unfortunately, the display simultaneously shows only 19 time-stamped samples, and you cannot expand the size of this window.

The lack of a manual and a quick-start guide troubles us. A user new to logic analyzers and other PC-based instruments needs some hand-holding that this product doesn't provide. The software comes with a help file that includes some explanations of controls and displays, but the information about the timing cursors, for example, simply explains that they exist and that a user can move them.

Bottom line: The instrument provides more functions than you would expect, which may make it attractive in some lab situations. The lack of triggering options and cursor-timing information, however, limits the use of this instrument as a logic analyzer. When compared with the other instruments, this one fails to deliver the performance you should expect from an instrument that costs almost $500.

Link Instruments LA-2124-128K

Price: $800

www.linkinstruments.com

Link Instruments provides a family of logic analyzers that operate with a PC over either a parallel-port or a USB-port connection (Picture). We chose the least-expensive model, which uses the parallel port. Users who have another device connected through the parallel port may opt for a USB-compatible model with a faster sampling rate and more channels but at higher cost. The software setup goes quickly until Windows asks you to install a device driver. The company's technical- support person claims that the driver exists within the installed software directory (C:/la2124), not on the supplied CD-ROM. He also suggests downloading Version 1.34 of the software.

Hardware setup goes easily, too, although we dislike pushing individual wires onto small pins. We'd prefer a cable connected to a single header. The analyzer comes with 30 color-coded E-Z-Hook (www.e-z-hook.com ) clips, though, so you can attach the clips to the signal pins and the clips to the analyzer's wires. This model accommodates as many as 24 logic inputs, and it provides for an external clock and trigger signal.

After connecting eight wires plus ground, we ran the LA-2124 software and set up Test 1 on the Rabbit test board. A click on the displayed "go" button causes the unit to acquire data in single, normal, or automatic mode. In single or normal mode, the analyzer waits for a trigger and then acquires data. Normal operation acquires a new buffer's worth of data after each trigger. Automatic mode acquires data regardless of the trigger settings.

After adjusting the sample rate with a plus and a minus button, we could see useful test results. (The sample-rate control offers 14 1-2-5 steps from 5k samples/sec to 100M samples/sec.) A right click on the signal-name column lets you change the designation for each signal and its color. Trigger setup involves clicking on "trigger" and then on "trigger word." You can set up a pattern of logic levels and don't-care conditions (logic zero or logic one) for a group of eight signals. You can select a trigger or trigger-false condition, and the software lets you establish triggers in binary, hexadecimal, ASCII, or decimal formats. The trigger menu also provides a threshold setting that ranges from –1.15V to +2.80V. The default is 1.4V.

Set the relative size of the pretrigger and post-trigger record lengths by dragging the red trigger cursor along a time line that represents the data-buffer's depth. A small box, or timing window, on this line represents the amount of information in the display window below it. Cursors A through D let you mark positions in the data, and you can use cursors A and B to measure the time between two points or between each cursor and the trigger point. The BIOS interrupt period is 488 msec.

The cursors are easy to use and helpful. You can track a cursor by its color, and a check mark in a small display also lets you know which cursor you have under control of the mouse. Cursor movements involve "grabbing" one with the mouse, or you can select one in the upper-left cursor box and use six buttons to move it left or right in time increments. The cursors also appear along the time line, so you always know their locations. Menu choices let you quickly move the cursors into the display area. The display produces the state data as hexadecimal, binary, decimal, or ASCII characters. You can assign your own values to the display and can include a translation table. The translation table lets you establish op-codes for a processor so you can examine instructions and data as they flow over buses in a system. By adding extra columns of data in different formats, you can examine state information as binary and hexadecimal codes.

The software neither "collapses" a group of signals into a bus nor displays a hex, decimal, or other code for bused signals. But the state window provides some of those capabilities. The state window and the timing window do not link to each other, although you can coordinate cursors between them. You can insert a "spacer"—essentially, a colored bar—between groups of signals to separate them from other signals.

Bottom line: There's a lot to like about this instrument. The built-in ability to handle 24 inputs as well as an external clock and trigger makes this instrument useful for embedded-system designers. The ability to add modules makes it easy to expand digital inputs. The menus are generally intuitive, although we had to ask tech support how to remove a spacer. If the analyzer lacks anything, it's the ability to set up edges as triggers and to establish sequential trigger conditions. We give this unit high marks, and, in this case, the lack of a printed manual causes no problems.

NCI GoLogic-72 System

Price: from $4300

www.nci-usa.com

The GoLogic-72 System provides for as many as 72 digital inputs and eight clock inputs, which makes it a powerful tool for testing and debugging embedded systems that require monitoring of several buses, I/O ports, and control signals (Picture). The unit comes with all 72 connections, split into two groups. Each group of eight labeled connections passes through a small harness that makes it easy to handle them all simultaneously. This feature simplifies setup when attaching connections to a board. The wires each furnish a female connector that pushes onto 0.025-in.2 pins, which is how we used the logic analyzer. NCI also provides micro-grippers ($4 each) and nano-grippers ($7 each) to connect with small and tiny component leads.

The GoLogic system comes with a CD-ROM, and it takes little time to install the software and get it running. The module connects to a supplied power cube and to a PC through a USB cable. The comprehensive manual provides basic information on how the analyzer works and then goes into details about sampling, clocking, state analysis, timing analysis, and triggering. Unfortunately, the manual looks formidable, and no quick-start tutorial exists to take you on a tour through the many options and menus.

Lacking such a tutorial, we plunged in and connected the lines labeled A0 to A7 plus two ground lines to the test board. A setup menu lets you select a sample rate, memory depth, and the type of sampling. Nine options for sampling include I2C and SPI modes for troubleshooting serial communications in embedded systems.

Next, you select the channel groups, which show the wire color codes and indicate signal activity on lines A0 to A7. The threshold for the signals is 1.58V, but you can reset it for ECL signals or adjust it from –4.90 to +5.27V for other logic families.

We downloaded Test 1 to the Rabbit test board to make information available to the analyzer. If you need to perform more than basic triggering, plan to spend time learning about the various triggering modes by experimenting with them. To start acquisition of data for Test 1, we wanted to trigger on a falling edge on signal A0. Clicking on the setup tab lets you select a simple edge trigger, but we couldn't figure out how to select the A0 signal. After we gave up and switched back to the waveforms display, we noticed small, gray squares associated with each signal. Clicking on these squares lets you select a rising, falling, rising-or-falling, or unused triggering attribute. You can scan through the trigger settings you used previously, which makes it easy to keep several settings at hand for complex tests.

Displays that include at least one channel (signal) include three pairs of cursors you can move with the left or the right mouse button to measure times between events. Luckily, you need not drag a cursor from place to place. Clicking on an area of the waveform display moves the selected cursor to the clicked-on position. The cursor notations need some enhancements, though. It is difficult to tell which set of cursors is active and which mouse button controls a given cursor.

Moving on to the binary-count test (Test 2) lets you set up a pattern trigger for FF (hexadecimal) and set the duration of the trigger for at least 8 µsec, which put it about in the middle of a 1-LSB level. That trigger setup works, and the display provides the expected data. In this test, the gray trigger squares indicate logic levels rather than transitions. You can click on these squares to change trigger conditions without going back to the setup menu.

The logic-analyzer software also provides a sample-by-sample numeric display of information. So, the software lets you monitor data value on a bus rather than waveforms. You can still use the cursors to mark values and determine the time between them. If you have a waveform and a numeric display open simultaneously, moving around in one display also moves your view in the other. Thus, you can easily track logic levels and numeric data. The logic analyzer detects the anomaly that the Rabbit board's BIOS causes and measures the time over 10 occurrences over a period of 489 µsec. The display also shows two "glitches" on the A7 and A6 lines where the other signals change state. The period of these glitches always equals the sampling period: 8 nsec at 125M samples/sec and 20 nsec at 50 MHz. So, it seems unlikely that the glitches existed; they do not expand and shrink in sync with the sampling clock. But glitches might arise from simultaneously switching so many loads (the LEDs).

Do the glitches you observe with the logic analyzer but not with the scope exist, or does the logic analyzer "see" something that doesn't exist? You'd need a storage scope to tell.

Bottom line: Although priced much higher than any other analyzer, the wealth of triggering options provides a strong justification for buying this unit. The display options and the cursors make it a solid analytical tool. Plan to spend time learning about the triggering modes and options. Unfortunately, lack of time prevented us from exercising many capabilities, such as searching data for patterns and triggering a storage scope and simultaneously displaying analog and digital data. The analyzer links with disassemblers and displays C/C++ source code so you can observe op-code-by-op-code operation of a program. Software add-ins that provide these functions cost extra.

Saelig Ant16 USB Logic Analyzer

Price: $333; 16-channel clip-lead set and cable, $39

www.saelig.com

The Ant16 analyzer comes with an analyzer module, clip-lead set, getting-started guide, and mini-CD-ROM (Picture). The equipment provides a basic logic-analyzer module and software that communicate through a USB connection. Software setup takes little time, although Windows XP displays a caution message about using software that had not passed "Windows Logo" testing. We ignored the message and proceeded to start the logic-analyzer software. The unit provides sample steps in 21 increments, from 100 Hz to 500 MHz, plus a synchronous mode controlled by an external clock input.

Setup with the test board takes little time, although placing eight signal clips and two ground clips on a row of 0.025-in. header pins makes for a crowded space. Users may want to make up their own color-coded cables with smaller clips from a supplier such as E-Z-Hook (www.e-z-hook.com). Test leads that push directly onto square pins would help, too.

After you connect the analyzer and the test board and start the Ant16 software, a small display indicates signal activity on all the inputs you connect. This feature indicates that the module "sees" activity on its connections.

The logic analyzer has no difficulty displaying the results of a standard test, although figuring out the triggering modes causes some head-scratching. The manual's academic descriptions of how trigger conditions work provide no hands-on explanations of how to make the triggers work. Without screenshots, references to menus, and step-by-step instructions about using triggers, the manual has little value, and it diminishes the value of this product.

Triggering involves setting levels, signal edges, and don't-care conditions for the signals in use near each displayed signal. Once you figure out how to set a simple trigger condition to match a pattern or detect a signal change, you'll have no difficulty capturing data. A slider on top of the display lets users set the pretrigger record from 10 to 90% of the display in 10% increments.

Don't expect the Ant16 to operate like an analog scope, though. The display doesn't refresh until the software detects a trigger condition and acquires all the data. You might expect to see a constant flow of digital information when the unit is in continuous mode, but the software instead constantly updates the entire display after each trigger. It takes a bit of getting used to.

Although the cable provides a connection for an external trigger signal or clock input, the manual lacks information about how to set up and use this line. Likewise, a separate output line, trigger out, may serve a useful purpose, but no documentation describes it.

The display provides a cursor that shows the hexadecimal and decimal value for an eight-input group of signals. We found no way, though, to change the display to octal or to group other signals and display their numeric value. The display also includes two cursors (red and blue). The red one moves, but the blue remains fixed. The manual dismisses these cursors with one unhelpful sentence. Clicking on the logic signals moves the red cursor and provides timing information, which is helpful. The purpose of the blue cursor remains unknown.

While running the high-speed binary-counter program (Test 2), the display shows the expected odd timing patterns. You use the red cursor to extract the time stamps for the observed "glitches," although you have to subtract sequential values to get time differences. Positioning two user-controlled cursors to compute a time difference would have sped the process. After measuring seven periods between glitches and averaging them, we came up with a 488-µsec period between them. That value matches the period expected from the test board.

Bottom line: Although this analyzer's logic-signal capture works well, we cannot recommend it until the manufacturer revises its manual to include how-to information and examples that show specific settings and operations. The software may provide many capabilities beyond those we discovered, but who knows? And we'd still like to know what the blue cursor does.

TechTools DigiView

Price: $499

www.tech-tools.com

Although the software setup instructions don't follow the printed user's guide, poking through menus leads you to the right choices: CDWebRMore Links: SoftwareRd_dv1 (Picture). The program starts the installation of the DigiView code. Connection of the module through a USB cable and installation of the DigiView driver went flawlessly, though.

The small logic-analyzer module simplifies connections by providing access to 18 input channels and two ground signals through color-coded wires. Each wire comes with a female adapter that connects directly with 0.025-in.2 pins like those on our test board. The DigiView package includes small clips, too, so users can grab component leads.

As the code starts, it produces a colorful display of sample information on which you can try operations. But why take the simple path? We guessed and clicked on Config, which popped open a window that lets you select signals by their color-coded wires, assign them a name, choose polarity (invert the displayed logic level), and designate the displayed signal's color. In addition, you can easily group the eight test signals to form a bus.

The Config menu also assigns trigger conditions—combinations of logic levels on input lines followed by the detection of signal edges. This type of trigger is not as sophisticated as it is on other analyzers, but, for many situations, it does nicely. We set up several trigger conditions for the eight inputs.

After you choose and arrange your signals, you turn to the display, which presents signals in a clean and colorful format. Two waveform displays show the same information at different zoom levels.

Running the DigiView logic analyzer requires only a click on the Run button. The module acquires data at a fixed 100Msample/sec (10-nsec) rate. Unlike other analyzers that store information, the DigiView saves data in compressed form, the equivalent of a 90-Gbyte file, according to the company. The software uncompresses only the data a user wants to examine on the PC's display. If the module sees no changes on its inputs, it doesn't save anything. Thus, when signals do not change rapidly, the "length" of the saved data record expands. So, if you need to monitor sequences of infrequent changes, this unit fills the bill.

After acquiring data from the test board, we "unlinked" the two displays so that we could independently investigate the digital information. Linking the signals, though, lets you home in on an area of interest and then zoom in on it in the other display. Because we defined a bus that combines the eight values, they appear as one logic trace with superimposed hexadecimal values, as space permits. Bus traces include a small plus sign, which, when you click on it, expands the display to show individual bus signals.

The DigiView software also includes a sophisticated search feature that lets users find conditions, such as signals at a specified level, times above or below a limit, and so on. When the software finds a condition, it can attach a cursor mark to it. Search criteria you plan to use often can reside in the search-manager window. The software comes with several examples that show how to apply a search.

The display includes six cursors—A, B, C, D, X, and Y—that you can move along traces to indicate events and measure relative times. The display notes the period between cursors, which makes them handy for determining the times between events. Because the cursor can "stick" to a given trace, you can easily measure times between events on different signals. Cursors also "snap" to signal transitions.

The display of Test 2 data shows the timing anomaly you would expect due to the regular interrupt from the real-time clock on the Rabbit processor board. Placing the X and Y cursors at the start of two "glitches" shows a period of 489 µsec.

Bottom line: This excellent small logic analyzer offers sophisticated display and analysis options. It is easy to set up and use. We recommend it to anyone involved with analyzing logic signals in an embedded system. This unit provides a fixed 1.6V threshold, which makes it suitable for logic families that operate at 2 to 5V logic levels. It is a solid value for the money.

How we ran the tests

To test the logic analyzers described in this series of hands-on reviews, we used an older Rabbit-2000 development kit from Rabbit Semiconductor. (The Rabbit processors expand upon the capabilities of the popular Z-80 instruction set.) The two-board set includes a Jackrabbit processor-and-memory board and a development board that provides the usual LEDs, pushbuttons, and rows of contacts. These contacts provide access to the Rabbit processor’s built-in I/O ports. This board served as a test setup for previous experiments, so we had several simple C-language programs on hand that would readily exercise one of the processor’s general-purpose 8-bit parallel ports. (See Notes.)

Software development relied on Rabbit's Dynamic-C and Dynamic-C Premier IDEs (integrated development environments). Software downloading took place over an RS-232C connection between a Dell Dimension 8300 lab PC and the Rabbit processor board. The board provides both SRAM and flash memory. But because programming—and reprogramming—the flash memory could take extra time, we opted to run compiled programs from SRAM. The two test programs provided the following functions (See Notes):

Test 1: Shift a logic zero individually through all eight bits.
Test 2: Perform a standard 8-bit binary count.

Although the tests seem simplistic, they let us test the logic analyzers' abilities to measure time intervals. The Rabbit board includes a basic-I/O system program that handles start-up and shutdown operations as well as a watchdog timer and an RTC (real-time clock). So, instead of observing only the operation of the test programs, we expected the logic analyzers to show the effect of the cycles that the BIOS code "stole" to capture and process interrupts or to handle other housekeeping tasks. According to Rabbit's documentation, the RTC causes a periodic interrupt every 16 clock cycles (32.768-kHz clock source), or every 488 μsec. Interrupt servicing involves incrementing several memory-based counters.

Notes:

1. Digi International (Minnetonka, MN) acquired Rabbit Semiconductor, Inc, formerly Z-World, in May 2005. Although Rabbit Semiconductor no longer produces the Jackrabbit board, the company still offers a wide range of processor boards and development kits that provide comparable functions.

Click here to view the Test Code.



ADVERTISEMENT

ADVERTISEMENT

Feedback Loop


Post a CommentPost a Comment

Related Content

 

By This Author

There are no additional articles written by this author.


ADVERTISEMENT

Knowledge Center




Technology Quick Links

EDN Marketplace


©1997-2008 Reed Business Information, a division of Reed Elsevier Inc. All rights reserved.
Use of this Web site is subject to its Terms of Use | Privacy Policy

Please visit these other Reed Business sites