Add the logic analyzer implementation based on the SUMP protocol
Supported features:
- up to 16 probes (gpio 6-21 by default)
- 200kB RAM for samples
- RLE encoding
- test mode (external pattern)
* probe 0 and 1 - 10Mhz PWM
* probe 1 and 2 - 1Mhz PWM
* probe 3 and 4 - 1kHz PWM
* probe 8 and 9 - 1kHz PWM (swapped levels)
- test pin (gpio 22) - 5Mhz 50%/50% PWM for probe tests (activated only when sampling)
Limits:
- 50Mhz sampling rate when compiled with the TURBO_200MHZ define (otherwise 31.25Mhz)
- basic triggers are implemented (functional up to 10Mhz - TODO: PIO support)
This protocol is supported in sigrok as openbench-logic-sniffer:
pulseview --driver=ols:conn=/dev/ttyACM1
sigrok-cli --driver=ols:conn=/dev/ttyACM1 --config samplerate=50Mhz \
--config pattern=External --samples 256 --channels 0-1
Misc:
- picoprobe reset pin is on gpio 28 (instead 6) now
Link: https://www.sump.org/projects/analyzer/protocol
Link: https://github.com/sigrokproject/libsigrok/tree/master/src/hardware/openbench-logic-sniffer
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
This commit is contained in:
parent
d18b0129a1
commit
989b533184
|
|
@ -32,6 +32,8 @@ pico_generate_pio_header(picoprobe ${CMAKE_CURRENT_LIST_DIR}/src/probe.pio)
|
||||||
|
|
||||||
target_include_directories(picoprobe PRIVATE src)
|
target_include_directories(picoprobe PRIVATE src)
|
||||||
|
|
||||||
target_link_libraries(picoprobe PRIVATE pico_stdlib pico_unique_id tinyusb_device tinyusb_board hardware_pio)
|
target_link_libraries(picoprobe PRIVATE pico_stdlib pico_unique_id
|
||||||
|
tinyusb_device tinyusb_board
|
||||||
|
hardware_pio hardware_dma hardware_pwm)
|
||||||
|
|
||||||
pico_add_extra_outputs(picoprobe)
|
pico_add_extra_outputs(picoprobe)
|
||||||
|
|
|
||||||
1149
src/cdc_sump.c
1149
src/cdc_sump.c
File diff suppressed because it is too large
Load Diff
|
|
@ -56,7 +56,7 @@
|
||||||
#define PROBE_PIN_SWDIO PROBE_PIN_OFFSET + 1 // 3
|
#define PROBE_PIN_SWDIO PROBE_PIN_OFFSET + 1 // 3
|
||||||
|
|
||||||
// Target reset config
|
// Target reset config
|
||||||
#define PROBE_PIN_RESET 6
|
#define PROBE_PIN_RESET 28
|
||||||
|
|
||||||
// UART config
|
// UART config
|
||||||
#define PICOPROBE_UART_TX 4
|
#define PICOPROBE_UART_TX 4
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue