Author Topic: EEVblog #1309 - Siglent SDS2000X Plus Oscilloscope Teardown  (Read 1735 times)

0 Members and 1 Guest are viewing this topic.

Online EEVblog

  • Administrator
  • *****
  • Posts: 31553
  • Country: au
    • EEVblog
Teardown of the new Siglent SDS2000X Plus $999 oscilloscope.
Can it be hacked to 500MHz?



Boot output:

Code: [Select]
Start menu vdma ...
Config AXI VDMA...
Start menu vdma done.


U-Boot 2014.07-svn72330 (Aug 06 2019 - 22:37:18)

Board:  Xilinx Zynq
I2C:   ready
DRAM:  ECC disabled 496 MiB
NAND:  256 MiB
MMC:   zynq_sdhci: 0
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
int board_late_init(void)+++++
[INFO]int fb_display_logo(void)++++++++++++
[INFO]pStorageMem=0x1fa00000, logo_data=0x200036, width=1024, height=600
 [INFO]int fb_display_logo(void)----------
int board_late_init(void)-----
Net:   Gem.e000b000
Hit any key to stop autoboot:  0
(Re)start USB...
USB0:   USB EHCI 1.00
scanning bus 0 for devices... 2 USB Device(s) found
USB1:   ULPI request timed out
zynq ULPI viewport init failed
lowlevel init failed
       scanning usb for storage devices... 0 Storage Device(s) found
Copying Linux from USB to RAM...
** Bad device usb 0 **
** Bad device usb 0 **
Copying Linux from NAND flash to RAM...

NAND read: device 0 offset 0x780000, size 0x400000
 4194304 bytes read: OK

NAND read: device 0 offset 0xb80000, size 0x80000
 524288 bytes read: OK
## Booting kernel from Legacy Image at 02080000 ...
   Image Name:   Linux-3.19.0-01-svn165603
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    3713480 Bytes = 3.5 MiB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 02000000
   Booting using the fdt blob at 0x2000000
EHCI failed to shut down host controller.
   Loading Kernel Image ... OK
   Loading Device Tree to 1dd0d000, end 1dd13e1b ... OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 3.19.0-01-svn165603 (xielindong@david-virtual-machine) (gcc version 4.6.1 (Sourcery CodeBench Lite 2011.09-50) ) #192 SMP PREEMPT Tue Aug 6 23:16:29 CST 2019
[    0.000000] CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=18c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] Machine model: Zynq Zed Development Board
[    0.000000] cma: Reserved 16 MiB at 0x1e000000
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] PERCPU: Embedded 9 pages/cpu @5dfd0000 s8128 r8192 d20544 u36864
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 125984
[    0.000000] Kernel command line: console=ttyPS0,115200 root=/dev/mtdblock5 rootfstype=cramfs init=/linuxrc earlyprintk uboot_version=05
[    0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Memory: 479828K/507904K available (4638K kernel code, 234K rwdata, 1800K rodata, 200K init, 223K bss, 11692K reserved, 16384K cma-reserved, 0K highmem)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0x5f800000 - 0xff000000   (2552 MB)
[    0.000000]     lowmem  : 0x40000000 - 0x5f000000   ( 496 MB)
[    0.000000]     pkmap   : 0x3fe00000 - 0x40000000   (   2 MB)
[    0.000000]     modules : 0x3f000000 - 0x3fe00000   (  14 MB)
[    0.000000]       .text : 0x40008000 - 0x40651d7c   (6440 kB)
[    0.000000]       .init : 0x40652000 - 0x40684000   ( 200 kB)
[    0.000000]       .data : 0x40684000 - 0x406beae0   ( 235 kB)
[    0.000000]        .bss : 0x406beae0 - 0x406f6a44   ( 224 kB)
[    0.000000] Preemptible hierarchical RCU implementation.
[    0.000000]  RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
[    0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
[    0.000000] NR_IRQS:16 nr_irqs:16 16
[    0.000000] L2C: platform modifies aux control register: 0x72360000 -> 0x72760000
[    0.000000] L2C: DT/platform modifies aux control register: 0x72360000 -> 0x72760000
[    0.000000] L2C-310 erratum 769419 enabled
[    0.000000] L2C-310 enabling early BRESP for Cortex-A9
[    0.000000] L2C-310 full line of zeros enabled for Cortex-A9
[    0.000000] L2C-310 ID prefetch enabled, offset 1 lines
[    0.000000] L2C-310 dynamic clock gating enabled, standby mode enabled
[    0.000000] L2C-310 cache controller enabled, 8 ways, 512 kB
[    0.000000] L2C-310: CACHE_ID 0x410000c8, AUX_CTRL 0x76760001
[    0.000000] slcr mapped to 5f804000
[    0.000000] zynq_clock_init: clkc starts at 5f804100
[    0.000000] Zynq clock init
[    0.000010] sched_clock: 64 bits at 383MHz, resolution 2ns, wraps every 2868291043328ns
[    0.000117] timer #0 at 5f806000, irq=17
[    0.000446] Console: colour dummy device 80x30
[    0.000464] Calibrating delay loop... 1528.62 BogoMIPS (lpj=7643136)
[    0.090219] pid_max: default: 32768 minimum: 301
[    0.090357] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.090370] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.090945] CPU: Testing write buffer coherency: ok
[    0.091135] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.091208] Setting up static identity map for 0x45fe58 - 0x45feb0
[    0.190210] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[    0.190281] Brought up 2 CPUs
[    0.190298] SMP: Total of 2 processors activated (3057.25 BogoMIPS).
[    0.190306] CPU: All CPU(s) started in SVC mode.
[    0.190776] devtmpfs: initialized
[    0.191512] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
[    0.196761] NET: Registered protocol family 16
[    0.198696] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.221112] cpuidle: using governor ladder
[    0.251082] cpuidle: using governor menu
[    0.258643] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
[    0.258658] hw-breakpoint: maximum watchpoint size is 4 bytes.
[    0.258787] zynq-ocm f800c000.ocmc: ZYNQ OCM pool: 256 KiB @ 0x5f880000
[    0.275148] vgaarb: loaded
[    0.275558] SCSI subsystem initialized
[    0.275939] usbcore: registered new interface driver usbfs
[    0.276022] usbcore: registered new interface driver hub
[    0.276103] usbcore: registered new device driver usb
[    0.276247] phy0 supply vcc not found, using dummy regulator
[    0.276333] phy1 supply vcc not found, using dummy regulator
[    0.276444] --------------usb_udc_init ------
[    0.276686] pps_core: LinuxPPS API ver. 1 registered
[    0.276696] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.276742] PTP clock support registered
[    0.276982] EDAC MC: Ver: 3.0.0
[    0.278788] Switched to clocksource arm_global_timer
[    0.278832] cfg80211: Calling CRDA to update world regulatory domain
[    0.289700] NET: Registered protocol family 2
[    0.290403] TCP established hash table entries: 4096 (order: 2, 16384 bytes)
[    0.290475] TCP bind hash table entries: 4096 (order: 3, 32768 bytes)
[    0.290565] TCP: Hash tables configured (established 4096 bind 4096)
[    0.290611] TCP: reno registered
[    0.290626] UDP hash table entries: 256 (order: 1, 8192 bytes)
[    0.290655] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
[    0.290856] NET: Registered protocol family 1
[    0.291161] RPC: Registered named UNIX socket transport module.
[    0.291172] RPC: Registered udp transport module.
[    0.291180] RPC: Registered tcp transport module.
[    0.291186] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.291580] hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 counters available
[    0.292801] futex hash table entries: 512 (order: 3, 32768 bytes)
[    0.294327] jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
[    0.294464] fuse init (API version 7.23)
[    0.295456] io scheduler noop registered
[    0.295473] io scheduler deadline registered
[    0.295519] io scheduler cfq registered (default)
[    0.297397] dma-pl330 f8003000.dmac: Loaded driver for PL330 DMAC-241330
[    0.297415] dma-pl330 f8003000.dmac:         DBUFF-128x8bytes Num_Chans-8 Num_Peri-4 Num_Events-16
[    0.297877] e0001000.serial: ttyPS0 at MMIO 0xe0001000 (irq = 146, base_baud = 6249999) is a xuartps
[    0.880719] console [ttyPS0] enabled
[    0.884857] xdevcfg f8007000.devcfg: ioremap 0xf8007000 to 5f878000
[    0.891560] [drm] Initialized drm 1.1.0 20060810
[    0.903247] brd: module loaded
[    0.909902] loop: module loaded
[    0.917058] libphy: MACB_mii_bus: probed
[    0.998878] macb e000b000.ethernet eth0: Cadence GEM rev 0x00020118 at 0xe000b000 irq 149 (00:0a:35:00:01:22)
[    1.008750] macb e000b000.ethernet eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr=e000b000.etherne:1e, irq=-1)
[    1.020233] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.026684] ehci-pci: EHCI PCI platform driver
[    1.031266] usbcore: registered new interface driver usbtmc
[    1.036836] usbcore: registered new interface driver usb-storage
[    1.042972] e0002000.usb supply vbus not found, using dummy regulator
[    1.049670] ci_hdrc ci_hdrc.0: EHCI Host Controller
[    1.054482] ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 1
[    1.078756] ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00
[    1.084216] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    1.090950] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.098125] usb usb1: Product: EHCI Host Controller
[    1.103000] usb usb1: Manufacturer: Linux 3.19.0-01-svn165603 ehci_hcd
[    1.109508] usb usb1: SerialNumber: ci_hdrc.0
[    1.114417] hub 1-0:1.0: USB hub found
[    1.118111] hub 1-0:1.0: 1 port detected
[    1.122498] e0003000.usb supply vbus not found, using dummy regulator
[    1.130731] mousedev: PS/2 mouse device common for all mice
[    1.136240] <<-GTP-INFO->> GTP driver installing...
[    1.141305] i2c /dev entries driver
[    1.146712] rtc-ds1307 0-0068: rtc core: registered ds1340 as rtc0
[    1.153387] <<-GTP-INFO->> GTP Driver Version: V2.4<2014/11/28>
[    1.159240] <<-GTP-INFO->> GTP Driver Built@23:12:41, Aug  6 2019
[    1.165296] <<-GTP-INFO->> GTP I2C Address: 0x14
[    1.169972] 0-0014 supply vdd_ana not found, using dummy regulator
[    1.176101] 0-0014 supply vcc_i2c not found, using dummy regulator
[    1.182304] <<-GTP-INFO->> Guitar reset
[    1.309207] <<-GTP-INFO->> IC Version: 928_1060
[    1.314287] <<-GTP-INFO->> Sensor_ID: 0
[    1.318040] <<-GTP-ERROR->> Failed to parse config data form device tree.
[    1.324906] <<-GTP-ERROR->> GTP init panel failed.
[    1.329635] <<-GTP-INFO->> create proc entry gt9xx_config success
[    1.335901] input: goodix-ts as /devices/virtual/input/input0
[    1.341791] <<-GTP-INFO->> GTP works in interrupt mode.
[    1.346948] cdns-i2c e0004000.i2c: 400 kHz mmio e0004000 irq 144
[    1.353696] lm75 0-0048: hwmon0: sensor 'adt75'
[    1.359194] zynq-edac f8006000.memory-controller: ecc not enabled
[    1.365373] Xilinx Zynq CpuIdle Driver started
[    1.370301] ledtrig-cpu: registered to indicate activity on CPUs
[    1.376485] usbcore: registered new interface driver usbhid
[    1.382096] usbhid: USB HID core driver
[    1.385962] usbcore: registered new interface driver r8188eu
[    1.392302] nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xda
[    1.398571] nand: Micron MT29F2G08ABAEAWP
[    1.402598] nand: 256 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
[    1.410135] nand: WARNING: pl353-nand: the ECC used on your system is too weak compared to the one required by the NAND chip
[    1.421601] Bad block table found at page 131008, version 0x01
[    1.427816] Bad block table found at page 130944, version 0x01
[    1.433905] 10 ofpart partitions found on MTD device pl353-nand
[    1.439805] usb 1-1: new high-speed USB device number 2 using ci_hdrc
[    1.446188] Creating 10 MTD partitions on "pl353-nand":
[    1.451441] 0x000000000000-0x000000780000 : "fsbl"
[    1.457148] 0x000000780000-0x000000b80000 : "kerneldata"
[    1.463308] 0x000000b80000-0x000000c00000 : "device-tree"
[    1.469463] 0x000000c00000-0x000001100000 : "Manufacturedata"
[    1.475978] 0x000001100000-0x000001600000 : "reserved1"
[    1.482017] 0x000001600000-0x000002a00000 : "rootfs"
[    1.487783] 0x000002a00000-0x000003400000 : "firmdata0"
[    1.493824] 0x000003400000-0x00000a200000 : "siglent"
[    1.499858] 0x00000a200000-0x00000fc00000 : "datafs"
[    1.505738] 0x00000fc00000-0x000010000000 : "reserved2"
[    1.513688] TCP: cubic registered
[    1.516926] NET: Registered protocol family 17
[    1.521388] lib80211: common routines for IEEE802.11 drivers
[    1.527308] Registering SWP/SWPB emulation handler
[    1.533808] rtc-ds1307 0-0068: setting system clock to 2020-06-02 08:18:52 UTC (1591085932)
[    1.546668] cramfs_fill_nand blocks is 160-----------------------
[    1.546668]
[    1.546668]
[    1.546668]
[    1.559627] VFS: Mounted root (cramfs filesystem) readonly on device 31:5.
[    1.566468] devtmpfs: mounted
[    1.569783] Freeing unused kernel memory: 200K (40652000 - 40684000)
[    1.599337] usb 1-1: New USB device found, idVendor=0424, idProduct=2514
[    1.605968] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    1.613884] hub 1-1:1.0: USB hub found
[    1.617718] hub 1-1:1.0: 2 ports detected
Starting rcS...
 Mounting filesystem
[    1.948456] UBI-0: ubi_attach_mtd_dev:attaching mtd8 to ubi0
[    2.291832] UBI-0: scan_all:scanning is finished
[    2.303543] UBI-0: ubi_attach_mtd_dev:attached mtd8 (name "datafs", size 90 MiB)
[    2.310901] UBI-0: ubi_attach_mtd_dev:PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
[    2.319461] UBI-0: ubi_attach_mtd_dev:min./max. I/O unit sizes: 2048/2048, sub-page size 2048
[    2.327952] UBI-0: ubi_attach_mtd_dev:VID header offset: 2048 (aligned 2048), data offset: 4096
[    2.336646] UBI-0: ubi_attach_mtd_dev:good PEBs: 720, bad PEBs: 0, corrupted PEBs: 0
[    2.344380] UBI-0: ubi_attach_mtd_dev:user volume: 1, internal volumes: 1, max. volumes count: 128
[    2.353310] UBI-0: ubi_attach_mtd_dev:max/mean erase counter: 7/2, WL threshold: 4096, image sequence number: 1124879481
[    2.364161] UBI-0: ubi_attach_mtd_dev:available PEBs: 0, total reserved PEBs: 720, PEBs reserved for bad PEB handling: 40
[    2.375111] UBI-0: ubi_thread:background thread "ubi_bgt0d" started, PID 665
[    2.379086] UBI-1: ubi_attach_mtd_dev:attaching mtd7 to ubi1
[    2.794881] UBI-1: scan_all:scanning is finished
[    2.806840] UBI-1: ubi_attach_mtd_dev:attached mtd7 (name "siglent", size 110 MiB)
[    2.814348] UBI-1: ubi_attach_mtd_dev:PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
[    2.822932] UBI-1: ubi_attach_mtd_dev:min./max. I/O unit sizes: 2048/2048, sub-page size 2048
[    2.831437] UBI-1: ubi_attach_mtd_dev:VID header offset: 2048 (aligned 2048), data offset: 4096
[    2.840122] UBI-1: ubi_attach_mtd_dev:good PEBs: 880, bad PEBs: 0, corrupted PEBs: 0
[    2.847832] UBI-1: ubi_attach_mtd_dev:user volume: 1, internal volumes: 1, max. volumes count: 128
[    2.856784] UBI-1: ubi_attach_mtd_dev:max/mean erase counter: 5/1, WL threshold: 4096, image sequence number: 1618119446
[    2.867633] UBI-1: ubi_attach_mtd_dev:available PEBs: 0, total reserved PEBs: 880, PEBs reserved for bad PEB handling: 40
[    2.878582] UBI-1: ubi_thread:background thread "ubi_bgt1d" started, PID 669
[    2.888773] UBI-2: ubi_attach_mtd_dev:attaching mtd6 to ubi2
[    2.931980] UBI-2: scan_all:scanning is finished
[    2.942379] UBI-2 warning: print_rsvd_warning: cannot reserve enough PEBs for bad PEB handling, reserved 9, need 40
[    2.953344] UBI-2: ubi_attach_mtd_dev:attached mtd6 (name "firmdata0", size 10 MiB)
[    2.960953] UBI-2: ubi_attach_mtd_dev:PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
[    2.969522] UBI-2: ubi_attach_mtd_dev:min./max. I/O unit sizes: 2048/2048, sub-page size 2048
[    2.978014] UBI-2: ubi_attach_mtd_dev:VID header offset: 2048 (aligned 2048), data offset: 4096
[    2.986715] UBI-2: ubi_attach_mtd_dev:good PEBs: 80, bad PEBs: 0, corrupted PEBs: 0
[    2.994347] UBI-2: ubi_attach_mtd_dev:user volume: 1, internal volumes: 1, max. volumes count: 128
[    3.003310] UBI-2: ubi_attach_mtd_dev:max/mean erase counter: 3/1, WL threshold: 4096, image sequence number: 1498106769
[    3.014156] UBI-2: ubi_attach_mtd_dev:available PEBs: 0, total reserved PEBs: 80, PEBs reserved for bad PEB handling: 9
[    3.024976] UBI-2: ubi_thread:background thread "ubi_bgt2d" started, PID 673
[    3.106569] UBIFS: mounted UBI device 1, volume 0, name "siglent", R/O mode
[    3.113469] UBIFS: LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes
[    3.122575] UBIFS: FS size: 104755200 bytes (99 MiB, 825 LEBs), journal size 9023488 bytes (8 MiB, 72 LEBs)
[    3.132292] UBIFS: reserved for root: 0 bytes (0 KiB)
[    3.137322] UBIFS: media format: w4/r0 (latest is w4/r0), UUID 08B2ABD4-1A1E-4DF4-9158-DC2A5EC267D7, small LPT model
[    3.200687] UBIFS: mounted UBI device 2, volume 0, name "firm0", R/O mode
[    3.207393] UBIFS: LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes
[    3.216534] UBIFS: FS size: 7237632 bytes (6 MiB, 57 LEBs), journal size 1650688 bytes (1 MiB, 13 LEBs)
[    3.225893] UBIFS: reserved for root: 0 bytes (0 KiB)
[    3.230929] UBIFS: media format: w4/r0 (latest is w4/r0), UUID 404D2EC9-F719-4064-9936-52B4861B89F6, small LPT model
[    3.244652] UBIFS: background thread "ubifs_bgt0_0" started, PID 678
[    3.274545] UBIFS: recovery needed
[    3.352146] UBIFS: recovery completed
[    3.355797] UBIFS: mounted UBI device 0, volume 0, name "datafs"
[    3.361738] UBIFS: LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes
[    3.370842] UBIFS: FS size: 84439040 bytes (80 MiB, 665 LEBs), journal size 9023488 bytes (8 MiB, 72 LEBs)
[    3.380471] UBIFS: reserved for root: 0 bytes (0 KiB)
[    3.385501] UBIFS: media format: w4/r0 (latest is w4/r0), UUID 927FB5FE-9078-46E4-8BB5-01A513E5E925, small LPT model
Upgrade start
 Configure eth0
Starting mdev
udhcpc (v1.20.1) started
Sending discover...
[    4.214498] xilinx-dma 40400000.dma: Probing xilinx axi dma engine...Successful
[    4.239650] xilinx-vdma 43010000.dma: Xilinx AXI VDMA Engine Driver Probed!!
[    4.253215] sigdma_init++++++
[    4.279109] siglentkb probe
[    4.281898] ##### siglentkb registers 5fa9e580 5faba5a4 5fabc5b8
[    4.303161] usbcore: registered new interface driver mt7601u
[    4.314912] irq = 169
[    4.337361] sigirq_init++++++
[    4.340693] sigirq_cpld++
[    4.343255] irq = 172
[    4.345785] sigirq_cpld--
config read
###### Config vdma for wave transform #######
config write
config read
dump s2mm registers
dump mm2s registers
####### done! ########
Config vnc  data to memory
Config done!
/lib:/usr/lib:/usr/bin/siglent/lib/qt/lib:/usr/bin/siglent/lib
[    4.677395] UBIFS: background thread "ubifs_bgt1_0" started, PID 799
ln: /usr/bin/siglent/config/www/web_img/usr: File exists
Starting Lighttpd Web Server: Initializing framebuffer device /dev/fb0...
xres=1024, yres=600, xres[    4.738195] input: PolyVision Touch Screen as /devices/virtual/input/input1
v=1024, yresv=600, xoffs=0, yoffs=0, bpp=16
Initializing touch device /dev/input/event0 ...
Reading From :(goodix-ts)
buttonMask: xmin:0
xmax: 1024
ymin:0
ymax: 600
Initializing VNC server:
        width:  1024
        height: 600
        bpp:    16
        port:   5900
Initializing server...
02/06/2020 08:18:55 Listening for VNC connections on TCP port 5900
[    4.785407] random: lighttpd urandom read with 17 bits of entropy available
lighttpd.
[    4.914355] UBIFS: background thread "ubifs_bgt1_0" stops
rcS Complete
/ # Sending discover...
[INFO]:calibrate_t():line=81:calibrate_t::calibrate_t()
[    8.852781] random: nonblocking pool is initialized
ACQ1 done_value++
Sending discover...
ACQ2 done_value++
MSO done_value++
product_type SDS2004X_PLUS
[INFO]:qui_main():line=183: ms = 12544
mkdir: can't create directory '/usr/bin/siglent/usr/wifi/': File exists
rm: can't remove '/usr/bin/siglent/usr/wifi/wpa_supplicant': No such file or directory
-------------------------OCL init failed.-------------
No lease, failing
[   12.925507] <<-GTP-INFO->> System resume.
[   12.925519] gpio-926 (GTP INT IRQ): _gpiod_direction_output_raw: tried to set a GPIO tied to an IRQ as output
[   12.938943] <<-GTP-INFO->> GTP wakeup sleep.
[   12.938951] gpio-926 (GTP INT IRQ): _gpiod_direction_output_raw: tried to set a GPIO tied to an IRQ as output
[   12.978754] <<-GTP-INFO->> Error occured in init_panel, no config sent
rotationAngle:  0 invertx:  false inverty:  false
Fontconfig warning: line 142: blank doesn't take any effect anymore. please remove it from your fonts.conf
rotationAngle:  0 invertx:  false inverty:  false

@@@ board_init @@@

[INFO]:GetMcuId():line=891: CMcuSpj::GetMcuId  ret =-1

Scope ID: 00 00 00 00 00 00 00 00 00 00 00 00
8dd6-bb73-29a7
ScopeID(64): 4914a72973bbd68d
[INFO]:qui_main():line=206:@ QuiParaFanCtrl = 0
sh: write error: Invalid argument
[   18.423355] cpldirq_open++
[   18.428713] cpldirq_open--
drv_instance_manage_t: produce_id: 16001
(DRV_PRODUCT_SDS2000XPLUS_SDG)
_drv_product=5
sh: can't create /mnt/ota/bug.txt: nonexistent directory
[   18.961189] export_store: invalid GPIO 115
sh: write error: Invalid argument
sh: can't create /sys/class/gpio/gpio115/direction: nonexistent directory
sh: can't create /sys/class/gpio/gpio115/value: nonexistent directory
+++++++++++++++++++++++   load_cali_data   ++++++++++++++++++++++++
[INFO]:load_cali_data():line=1561:sds2000xplus_awg  OK!!!!!!!!!!!!!!
[INFO]:initialize():line=1474:cali_data_sds2000xplus_awg_t::initialize()--------
Fontconfig warning: line 142: blank doesn't take any effect anymore. please remove it from your fonts.conf
T1 CH3_SKEW = 62.000000 ns
/usr/bin/siglent/usr/usr/Ref_fileA.ref  not exist
/usr/bin/siglent/usr/usr/Ref_fileA.ref  not exist
T2 CH3_SKEW = 62.000000 ns

                                                       $Task start:: awg_thread

                                                       $Task start:: usbtmc_interrupt_thread
 color_setup == null
Unknown property hight
Unknown property hight
Decode UART: rx read data invalid.
Decode UART: rx read data invalid.
Decode UART: rx read data invalid.
Decode UART: rx read data invalid.
Decode UART: rx read data invalid.
Decode UART: rx read data invalid.
Decode UART: rx read data invalid.
Decode UART: rx read data invalid.
Decode UART: rx read data invalid.
[INFO]:qui_main():line=220:@ ms = 30755
/usr/bin/siglent/usr/usr/Ref_fileA.ref  not exist
usbtmc_para = insmod /usr/bin/siglent/drivers/g_usbtmc.ko idVendor=0xf4ec idProduct=0x1011 iManufacturer=Siglent iProduct=SDS2354XPlus iSerialNum=SDS2PCBC4R0071
[   35.395239] ######################### usb_gadget_probe_driver 3f05b46c ##################
[   35.403419] usbtmc_bind+++
[   35.408292] SIGLENT_DEV: SIGLENT_DEV, version: 2007 OCT 06
[   35.414864] usbtmc_open()++
[   35.417611] dev->usbtmc_cdev_open ret = 0
[   35.421636] ret = 0
[   35.423659] usbtmc_open--
[   35.426397] show_send_buffer_size = 61440
/usr/bin/siglent/usr/usr/Ref_fileA.ref  not exist
/usr/bin/siglent/usr/usr/Ref_fileA.ref  not exist
/usr/bin/siglent/usr/usr/Ref_fileA.ref  not exist
/usr/bin/siglent/usr/usr/Ref_fileA.ref  not exist
/usr/bin/siglent/usr/usr/Ref_fileA.ref  not exist
/usr/bin/siglent/usr/usr/Ref_fileA.ref  not exist
« Last Edit: June 02, 2020, 11:23:38 pm by EEVblog »
 
The following users thanked this post: SeanB

Offline SilverSolder

  • Super Contributor
  • ***
  • Posts: 2500
  • Country: 00
Re: EEVblog #1309 - Siglent SDS2000X Plus Oscilloscope Teardown
« Reply #1 on: June 02, 2020, 11:06:52 pm »
Looks like good value!  -  I'd definitely be interested in seeing a shootout between the current $1K scope crop.
 

Offline kcozens

  • Contributor
  • Posts: 43
  • Country: ca
Re: EEVblog #1309 - Siglent SDS2000X Plus Oscilloscope Teardown
« Reply #2 on: June 03, 2020, 01:21:39 am »
I hoped Dave had spotted the serial interface and would connect up to it and see what messages were output. The messages that stood out for me were where it said Linux kernel 3.19.0 SMP PREEMPT, ARMv7, and machine model of Zynq Zed Development Board. I have another machine I work on that uses Uboot and also gives that same CRC error at startup. The main(?) processor may be running at 383MHz with 1528.62 BogoMIPs. It also appears to have 2 additional Cortex A9 CPUs (restricted from 4??). The two PREEMPT RCU CPUs benchmarked at 3057.25 BogoMIPs.

I also like the warning about a setting in the configuration file for Fontconfig. It also said it was listening for a VNC connection on port 5900. Sounds like you could get a remote display (and control?) for the scope using the Ethernet connection.
 

Offline John_L

  • Contributor
  • Posts: 24
  • Country: au
Re: EEVblog #1309 - Siglent SDS2000X Plus Oscilloscope Teardown
« Reply #3 on: June 03, 2020, 02:46:21 am »
Can someone please confirm which models can be hacked to 500Mhz BW?

I had a bit of read on the long 49+ page thread and some owners have indicated that lower end 2104X plus 100Mz model had the same front end as 350Mhz?
« Last Edit: June 03, 2020, 02:49:09 am by John_L »
 

Offline boffin

  • Supporter
  • ****
  • Posts: 961
  • Country: ca
Re: EEVblog #1309 - Siglent SDS2000X Plus Oscilloscope Teardown
« Reply #4 on: June 03, 2020, 02:58:52 am »
Two things;
1) The remote screen is via VNC, an open protocol, which should allow any VNC client, cool
2) Why would someone buy the 70MHz version when the 100MHz is cheaper? (see below)

 
The following users thanked this post: hans

Online tautech

  • Super Contributor
  • ***
  • Posts: 18746
  • Country: nz
  • Taupaki Technologies Ltd. NZ Siglent Distributor
    • Taupaki Technologies Ltd.
Re: EEVblog #1309 - Siglent SDS2000X Plus Oscilloscope Teardown
« Reply #5 on: June 03, 2020, 03:05:47 am »
Can someone please confirm which models can be hacked to 500Mhz BW?

I had a bit of read on the long 49+ page thread and some owners have indicated that lower end 2104X plus 100Mz model had the same front end as 350Mhz?
See here:
https://www.eevblog.com/forum/testgear/siglent-sds2000x-plus-hack/msg3086757/#msg3086757
Avid Rabid Hobbyist
 
The following users thanked this post: John_L, arturfra

Online EEVblog

  • Administrator
  • *****
  • Posts: 31553
  • Country: au
    • EEVblog
Re: EEVblog #1309 - Siglent SDS2000X Plus Oscilloscope Teardown
« Reply #6 on: June 03, 2020, 03:26:38 am »
Can someone please confirm which models can be hacked to 500Mhz BW?
I had a bit of read on the long 49+ page thread and some owners have indicated that lower end 2104X plus 100Mz model had the same front end as 350Mhz?

Yep, someone posted a photo of the 100MHz front end, same as the 350MHz one apparently.
Haven't double checked myself.
 
The following users thanked this post: John_L, Bud

Online EEVblog

  • Administrator
  • *****
  • Posts: 31553
  • Country: au
    • EEVblog
Re: EEVblog #1309 - Siglent SDS2000X Plus Oscilloscope Teardown
« Reply #7 on: June 03, 2020, 03:27:54 am »
Two things;
1) The remote screen is via VNC, an open protocol, which should allow any VNC client, cool
2) Why would someone buy the 70MHz version when the 100MHz is cheaper? (see below)

That's the X, not the X plus. There is no 70MHz X PLus
https://siglentna.com/digital-oscilloscopes/sds2000xp/
 

Offline Sebastian95

  • Newbie
  • Posts: 2
  • Country: de
Re: EEVblog #1309 - Siglent SDS2000X Plus Oscilloscope Teardown
« Reply #8 on: June 03, 2020, 04:29:18 pm »
Hi,
the one thing that stood out to me when scrolling through the Manual of this Scope was,
that apparently you can run a Bode Plot using your external Siglent AWG...

@EEVblog maybe interesting to see if that actually works well?
 

Online tautech

  • Super Contributor
  • ***
  • Posts: 18746
  • Country: nz
  • Taupaki Technologies Ltd. NZ Siglent Distributor
    • Taupaki Technologies Ltd.
Re: EEVblog #1309 - Siglent SDS2000X Plus Oscilloscope Teardown
« Reply #9 on: June 03, 2020, 06:34:56 pm »
Hi,
the one thing that stood out to me when scrolling through the Manual of this Scope was,
that apparently you can run a Bode Plot using your external Siglent AWG...

@EEVblog maybe interesting to see if that actually works well?
Welcome to the forum.

All Siglent DSO's with the Bode plot feature are capable of this via USB or LAN connection.
The main advantage of using an external AWG is to be able to push to higher frequencies than the scopes AWG option provides.
Avid Rabid Hobbyist
 

Offline Sebastian95

  • Newbie
  • Posts: 2
  • Country: de
Re: EEVblog #1309 - Siglent SDS2000X Plus Oscilloscope Teardown
« Reply #10 on: June 03, 2020, 07:21:27 pm »
Hi,
the one thing that stood out to me when scrolling through the Manual of this Scope was,
that apparently you can run a Bode Plot using your external Siglent AWG...

@EEVblog maybe interesting to see if that actually works well?
Welcome to the forum.

All Siglent DSO's with the Bode plot feature are capable of this via USB or LAN connection.
The main advantage of using an external AWG is to be able to push to higher frequencies than the scopes AWG option provides.

Thank you.
Ah didn't know that, this was the first time i ever saw such a feature in a Scope.
Seems like a nice addition to get some more use out of your Siglent AWG.
 

Online tautech

  • Super Contributor
  • ***
  • Posts: 18746
  • Country: nz
  • Taupaki Technologies Ltd. NZ Siglent Distributor
    • Taupaki Technologies Ltd.
Re: EEVblog #1309 - Siglent SDS2000X Plus Oscilloscope Teardown
« Reply #11 on: June 03, 2020, 07:59:25 pm »
Hi,
the one thing that stood out to me when scrolling through the Manual of this Scope was,
that apparently you can run a Bode Plot using your external Siglent AWG...

@EEVblog maybe interesting to see if that actually works well?
Welcome to the forum.

All Siglent DSO's with the Bode plot feature are capable of this via USB or LAN connection.
The main advantage of using an external AWG is to be able to push to higher frequencies than the scopes AWG option provides.

Thank you.
Ah didn't know that, this was the first time i ever saw such a feature in a Scope.
Seems like a nice addition to get some more use out of your Siglent AWG.
Connection is very much plug and play via USB and a bit more involved using LAN....settting IP's and all that stuff.  ;)

Here's some detailed study examining the updated Bode plot version now in the X-E 4ch DSO's and similar capability will be in the new Plus models.
https://www.eevblog.com/forum/testgear/siglent-sds1x04x-e-bodeplot-ii-(sfra)-features-and-testing-(coming)/
Avid Rabid Hobbyist
 

Offline nctnico

  • Super Contributor
  • ***
  • Posts: 19839
  • Country: nl
    • NCT Developments
Re: EEVblog #1309 - Siglent SDS2000X Plus Oscilloscope Teardown
« Reply #12 on: June 04, 2020, 12:31:48 pm »
By the way: the 'old school' wiring to the display is most likely for LVDS signals. TFT panels with resolutions over 800x480 tyically use LVDS because the clock rates get too high for using FPC connections.
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline Mr. Scram

  • Super Contributor
  • ***
  • Posts: 9498
  • Country: 00
  • Display aficionado
Re: EEVblog #1309 - Siglent SDS2000X Plus Oscilloscope Teardown
« Reply #13 on: June 05, 2020, 06:34:50 pm »
A new hardware video! I've been hungry for one. Even though I like my name brand top tier lab equipment a lot, the bang for buck gap between a Keysight or R&S offering and oscilloscopes like there is getting fairly big. The Siglent quality seems to be slowly increasing too. No rust, no major flaws or broken features which show it's a cheap instrument. The internal layout is a bit peculiar and the silly knobs and colour choices aren't ideal, but it seems Siglent is a little less temperamental than Rigol which generally seem to include a few significant flaws or drawbacks. I'm thinking of the sluggish and buggy UI on the otherwise quite good MSO5000. I'm interested to see if and how the big boys react to the oriental outfits intruding upon their turf. I guess it's not just hobbyists any more. They may very well not react at all, but that'd inevitably lead to asking what went wrong in 15 years' time.
 

Offline SilverSolder

  • Super Contributor
  • ***
  • Posts: 2500
  • Country: 00
Re: EEVblog #1309 - Siglent SDS2000X Plus Oscilloscope Teardown
« Reply #14 on: June 05, 2020, 07:31:06 pm »
A new hardware video! I've been hungry for one. Even though I like my name brand top tier lab equipment a lot, the bang for buck gap between a Keysight or R&S offering and oscilloscopes like there is getting fairly big. The Siglent quality seems to be slowly increasing too. No rust, no major flaws or broken features which show it's a cheap instrument. The internal layout is a bit peculiar and the silly knobs and colour choices aren't ideal, but it seems Siglent is a little less temperamental than Rigol which generally seem to include a few significant flaws or drawbacks. I'm thinking of the sluggish and buggy UI on the otherwise quite good MSO5000. I'm interested to see if and how the big boys react to the oriental outfits intruding upon their turf. I guess it's not just hobbyists any more. They may very well not react at all, but that'd inevitably lead to asking what went wrong in 15 years' time.

They seem to be reacting by offering educational and easily hackable models for hobbyists, while still attempting to protect the professional market (and maintain professional pricing power).   Even so, the bang-to-buck ratio of the Oriental equipment is hard to get away from.

 

Offline Mr. Scram

  • Super Contributor
  • ***
  • Posts: 9498
  • Country: 00
  • Display aficionado
Re: EEVblog #1309 - Siglent SDS2000X Plus Oscilloscope Teardown
« Reply #15 on: June 05, 2020, 07:46:49 pm »
They seem to be reacting by offering educational and easily hackable models for hobbyists, while still attempting to protect the professional market (and maintain professional pricing power).   Even so, the bang-to-buck ratio of the Oriental equipment is hard to get away from.
If 10 years ago you'd have said that you would be able to buy what's essentially a 500 MHz four channel oscilloscope for $1400 people would have said you're a nutcase. We have to remind ourselves that the Agilent now Keysight 2000X series wasn't even introduced back then. The introduction of a "cheap" 200 MHz four channel oscilloscope was considered democratizing high performance oscilloscopes at a reasonable price. Those have held up surprisingly well, but the Siglent is essentially vying with the 3000T which was introduced later at a much higher price and which obviously is much harder to upgrade to better performing variants. I'd be surprised if Siglent can compete quality wise, but the performance and features seem to be there and not-terrible. I'd hate for the western big boys to do a Tektronix and fade to irrelevance in areas they once were dominant.
 

Online fanOfeeDIY

  • Supporter
  • ****
  • Posts: 372
  • Country: jp
    • YouTube Channel
Re: EEVblog #1309 - Siglent SDS2000X Plus Oscilloscope Teardown
« Reply #16 on: June 07, 2020, 05:47:45 am »
When I as maintaining the oscilloscope chart, I realized that the 2ch version model SDS2102X-Plus which is 999USD offers 100MHz model only.
The 4ch version SDS2104X-Plus (100MHz) have lineup going up to 350MHz.

The front end of SDS2102X-Plus and SDS2104X-Plus might have the same front end or SDS2104X-Plus might have better one.
 

Offline tom66

  • Super Contributor
  • ***
  • Posts: 3901
  • Country: gb
  • Electron Fiddler, FPGA Hacker, Embedded Systems EE
Re: EEVblog #1309 - Siglent SDS2000X Plus Oscilloscope Teardown
« Reply #17 on: June 10, 2020, 01:16:20 pm »
Really interesting architecture ...  I'd love to know what ADC they are using!

No doubt that processor top centre is a Zynq.  I've designed a board with one on it, and the layout of the DDR on the left and clock source at the top, with the FPGA banks running along the other columns, is telling.  They have a dual-channel DDR interface there and are presumably using that as part of the acquisition/display control.  That should get them ca. 4.3GB/s memory bandwidth in standard grade.   The 512KB L2 Cache and 256KB of OCM makes the Zynq pretty fast even with limited memory bandwidth.   What I *don't* understand is why they then have a separate SOC.  Is that just handling the UI?  The Zynq has a USB and Ethernet controller nearby, so the obvious thought is *that* is the main SOC, but Zynq doesn't come as-standard with a display controller (you need to instantiate one on the fabric and there's no GPU without also instantiating that, which uses most of the fabric of the small devices, especially if you want to avoid saturating your RAM), so perhaps it is *only* rendering the waveform and summing the image together with the other SOC.   

The two larger devices above the AFEs are obviously the acquisition FPGAs with their associated DDR.  We can see here instead of a dual channel layout that Siglent have used a dual MIB layout so there are two discrete memory controllers.  If this is standard Spartan-6 stuff (the Chinese seem to prefer Xilinx; perhaps it's taught more often in their universities?) then they will be close to the money on memory clock - IIRC the MIB is limited to 533MHz with DDR3 at standard speed grade, which gives them a raw memory bandwidth of 2.13GB/s.  2GSa/s will be utilising one memory controller almost entirely.  I suspect they either use the RAMs in parallel or alternately to implement some form of double buffering.

It's a rather interesting architecture, and with the known cost of parts, Siglent can't be making much on the 100MHz 4 channel version, which is about 900 euros.  The silicon alone is going to be bumping on over 400 euros of that price unless they have got some ridiculously good pricing from Xilinx.
« Last Edit: June 10, 2020, 01:19:34 pm by tom66 »
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf