PoLabs PoScope Basic2

From sigrok
Jump to: navigation, search
PoLabs PoScope Basic2

The PoLabs PoScope Basic2 is a 16-channel, 8MHz, USB-based logic analyzer (plus oscilloscope, signal/pattern generator, and more).

See PoLabs PoScope Basic2/Info for some more details (such as lsusb -vvv output) on the device.

Hardware

Photos

Teardown of another device:

Protocol

Starting a sampling run

The command for starting an acquisition is a USB control transfer (request type: vendor-specific, request: 0x07, value: 0xffa0, index: 0x0000, length: 9).

The 9 bytes of data:

Byte Description Comments
0 Samplerate divider (see table below)
1
2
3
4
5 Trigger mask Bit 0 is the mask for probe 0, bit 7 is the mask for probe 7. The same byte is used as trigger mask byte for bus A or bus B (only one at a time is possible).
6
7
8

Stopping a sampling run

Sample rates

8MHz - 4MHz:

Buffer size is 128 bytes, only bus A is available, ...

Samplerate Divider Request value
8 MHz 0x00 0xfffd
6 MHz 0x01 0xfffc
4 MHz 0x02 0xfffa

2.6MHz - 2MHz:

Buffer size is 1160 bytes, only bus A is available, ...

Samplerate Divider Request value
2.6 MHz 0x03 0xfff7
2 MHz 0x04 0xfff4

1MHz - 600kHz:

Buffer size is 1544 bytes, ...

Samplerate Divider Request value
1 MHz 0x05 0xffe8
900 kHz 0x05 0xffe6
800 kHz 0x05 0xffe2
700 kHz 0x05 0xffde
600 kHz 0x05 0xffd8

500kHz and lower:

Buffer size is only limited by the PC memory, ...

Samplerate Divider Request value
500 kHz 0x05 0xffd0
400 kHz 0x05 0xffc4
300 kHz 0x05 0xffb0
250 kHz 0x06 0xffa0
200 kHz 0x06 0xff88
150 kHz 0x06 0xff60
100 kHz 0x06 0xff10
90 kHz 0x06 0xfef6
80 kHz 0x06 0xfed4
70 kHz 0x06 0xfeaa
60 kHz 0x06 0xfe70
50 kHz 0x06 0xfe20
40 kHz 0x06 0xfda8
30 kHz 0x06 0xfce0
25 kHz 0x06 0xfc40
20 kHz 0x06 0xfb50
10 kHz 0x06 0xf6a0
9 kHz 0x06 0xf596
8 kHz 0x06 0xf448
7 kHz 0x06 0xf29c
6 kHz 0x06 0xf060
5 kHz 0x06 0xed40
4 kHz 0x06 0xe890
3 kHz 0x06 0xe0c0
2.5 kHz 0x06 0xda80
2 kHz 0x06 0xd120
1 kHz 0x06 0xa240

Sample format

  • 8-bit sampling: One sample is one byte. Bit 0 is the value of probe A.7 (or B.7), bit 7 is the value of probe A.0 (or B.0).
  • 16-bit sampling: One sample consists of two bytes. Byte 0 corresponds to bus A, byte 1 corresponds to bus B. The bit assignment is the same as above.

Buffer size

Pre-Trigger

Trigger settings

Get current firmware version

There is a command to request the current firmware version (and date) from the device. The device returns 5 bytes as response:

Byte Description Comments
0 Major firmware version Example: 0x03 means major version 3 (example version: 3.5).
1 Minor firmware version Example: 0x05 means minor version 5 (example version: 3.5).
2 Firmware date (day) Example: 0x1c means 28 (example date: 28/12/07).
3 Firmware date (month) Example: 0x0c means 12 (example date: 28/12/07).
4 Firmware date (year, two digits) Example: 0x07 means 2007 (example date: 28/12/07).

So in the example of 0x03 0x05 0x1c 0x0c 0x07 the resulting firmware version/date is 3.5 (28/12/07).

Resources

TODO.