Logic Analyzer - grandideastudio/jtagulator GitHub Wiki
The JTAGulator can become a logic analyzer for use with sigrok, a cross-platform, open source signal analysis software suite. It can be used on the command line with sigrok-cli or as a GUI with PulseView.
Usage
The feature is accessible within the GPIO menu using the L
command. The JTAGulator will emulate an OLS (Open Logic Sniffer) SUMP-compatible device @ 115200 bps. It provides a 1024 x 24-channel sample buffer, 1.2 MHz maximum sampling rate, and logic level triggering.
The JTAGulator's LED will turn RED when it is in the logic analyzer mode and ready to accept OLS/SUMP commands. This mode will persist across resets, power cycles, and firmware updates of the JTAGulator. It can only be exited manually by the user.
Once the logic analyzer mode has been entered, you can close the terminal program and open your preferred sigrok client. The logic analyzer mode will remember your target voltage setting (VADJ). If you are using the logic analyzer with different targets, be aware that you may need to exit logic analyzer mode and adjust VADJ to match your current target's I/O voltage, which will allow for proper detection of logic levels and prevent damage to your target. When a trigger is armed and during an acquisition/capture, the JTAGulator's LED will turn YELLOW.
To exit logic analyzer mode and return to normal JTAGulator functionality, open your terminal program and press Ctrl-X
. You will be presented with the command prompt (>
) and the JTAGulator's LED will turn GREEN.
PulseView
- Choose
Connect to Device
- Select the
Openbench Logic Sniffer & SUMP compatible (ols)
driver - Select JTAGulator's
Serial Port
and115200
baud - Click on
Scan for devices using the driver above
- PulseView should detect
JTAGulator with 24 channels
- PulseView should detect
- Click
OK
Replace <xx>
with your JTAGulator's serial port. See sigrok-cli's man page for additional command-line arguments and usage examples.
- Linux:
./sigrok-cli-NIGHTLY-x86_64.AppImage --driver=ols:conn=/dev/tty<xx>
- macOS:
./sigrok-cli --driver=ols:conn=/dev/tty<xx>
- Windows:
sigrok-cli.exe --driver=ols:conn=COM<xx>:serialcomm=115200/8n1/dtr=0
Screenshots
Select Device | Capture and Decode | Command Line |
---|---|---|
![]() |
![]() |
![]() |
Known Issues
JTAGulator has been tested with PulseView 0.5.0 and sigrok-cli 0.8.0 nightly builds (as of October 7, 2021) on Ubuntu 18.04 LTS, macOS Catalina 10.15, and Windows 10. Due to variations in behavior based on operating system, we strongly recommend using a Linux distribution. Issues related to macOS or Windows will not be supported.
OS | Tool | Issue | Solution |
---|---|---|---|
All | PulseView | Upon launching, PulseView will automatically scan for any supported devices. Occasionally, this can cause PulseView to incorrectly choose the generic FTDI FT232R USB UART driver. | Disconnect and reconnect the JTAGulator, then "Connect to Device" as normal. Or, if your OS supports command-line arguments, launch PulseView with the -D option to disable automatic scanning. |
All | sigrok-cli | The OLS driver does not have support for aborting an acquisition while waiting for a trigger event. If sigrok-cli is stopped, the JTAGulator will remain in its acquisition state. | The next time sigrok-cli is run, the JTAGulator will automatically enter the correct state. |
macOS | PulseView | When selecting the JTAGulator within the "Connect to Device" window, the JTAGulator will reset. | Before starting an acquisition, wait for the JTAGulator's LED to turn RED. |
macOS | sigrok-cli | When trying to run an acquisition, the JTAGulator will reset and miss the commands needed to start the acquisition. sigrok-cli will wait indefinitely for data that will never come. | Not available. |
Windows | PulseView | JTAGulator is not properly detected. | Run sigrok-cli as shown above along with the --scan argument before launching PulseView. |
Windows | PulseView | Acquisition is inconsistent. Sometimes the correct results are displayed, sometimes no results are displayed (possibly related to Bug 638 and/or Bug 1597). | Not available. |
Windows | sigrok-cli | Only certain sample rate and time combinations return reliable acquisition results. Otherwise, incomplete or no results returned. | Not available. |
JTAGulator HW Rev. B and earlier may have compatibility issues with certain target devices. This is caused by the JTAGulator's front-end circuitry (level translators, diodes, and series resistors) affecting signal levels between the JTAGulator and target. Consider implementing the recommended hardware modifications if needed.
If you experience problems not listed here, please visit the official sigrok project bug list before opening an issue.