Difference between revisions of "InsideGadgets Logic Observer"
(One intermediate revision by the same user not shown) | |||
Line 45: | Line 45: | ||
|- | |- | ||
| 0 | | 0 | ||
| | | Bitmask of the channels to trigger on. All channels marked according to the trigger level must match before a trigger is considered to have fired. | ||
|- | |- | ||
| 1 | | 1 | ||
Line 51: | Line 51: | ||
|- | |- | ||
| 2 | | 2 | ||
| | | Delay after trigger, in milliseconds. | ||
|- | |- | ||
| 3 | | 3 | ||
| | | Trigger count: number of times the trigger must fire before the capture starts. | ||
|- | |- | ||
| 4 | | valign="top" | 4 | ||
| | | Sample rate, as follows: | ||
{| border="0" style="font-size: smaller;" class="alternategrey " | |||
|- | |||
! Value | |||
! Sample rate | |||
|- | |||
| 80 | |||
| 50 MS/S | |||
|- | |||
| 0 | |||
| 10 MS/S | |||
|- | |||
| 1 | |||
| 5 MS/S | |||
|- | |||
| 3 | |||
| 2.5 MS/S | |||
|- | |||
| 9 | |||
| 1 MS/S | |||
|- | |||
| 19 | |||
| 500 KS/S | |||
|- | |||
| 39 | |||
| 250 KS/S | |||
|- | |||
| 99 | |||
| 100 KS/S | |||
|} | |||
|- | |- | ||
| 5 | | 5 | ||
Line 70: | Line 99: | ||
=== USB_STATUS (3) === | === USB_STATUS (3) === | ||
Returns a 2-byte status field. The first byte indicates whether capturing has finished (1) or not (0). The second byte is always 0. | |||
=== USB_CANCEL (4) === | === USB_CANCEL (4) === | ||
This cancels a capture in progress. | |||
== Resources == | == Resources == |
Latest revision as of 19:08, 23 August 2015
Status | planned |
---|---|
Channels | 8 |
Samplerate | 50MHz |
Samplerate (state) | — |
Triggers | high, low |
Min/max voltage | 2V — 5.5V |
Threshold voltage | ? |
Memory | 131ksamples/ch |
Compression | none |
Website | insidegadgets.com |
The insideGadgets Logic Observer is an 8-channel logic analyzer with up to 50MHz sampling rate. It is a mostly open project with all source code (CPLD, MCU) available, as well as a schematic of the PCB.
See insideGadgets Logic Observer/Info for more details (such as lsusb -v output) about the device.
Hardware
Protocol
The device is controlled entirely via USB control messages. The command is encoded in the request value of the control message; value and index are unused.
The following requests are defined:
USB_TRANSFER (1)
This tells the device to transfer the samples captured in memory to the host. This is called multiple times; the buffer memory is transferred 254 bytes at a time, with the address increasing automatically. The address is reset when a capture is started or settings are updated.
USB_SETTINGS (2)
Send new settings to the device. The settings consist of the following eight bytes sent along with the control request:
Byte | Description | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | Bitmask of the channels to trigger on. All channels marked according to the trigger level must match before a trigger is considered to have fired. | ||||||||||||||||||
1 | Level to trigger on (0 or 1). | ||||||||||||||||||
2 | Delay after trigger, in milliseconds. | ||||||||||||||||||
3 | Trigger count: number of times the trigger must fire before the capture starts. | ||||||||||||||||||
4 | Sample rate, as follows:
| ||||||||||||||||||
5 | Number of samples to capture | ||||||||||||||||||
6 | Start capture flag: a capture is started if this is not 0. | ||||||||||||||||||
7 | Always 0. |
USB_STATUS (3)
Returns a 2-byte status field. The first byte indicates whether capturing has finished (1) or not (0). The second byte is always 0.
USB_CANCEL (4)
This cancels a capture in progress.