TNP #23 - Tektronix THDP0200 ±1.5kV High Voltage Differential Probe Teardown, Repair & Analysis

Поделиться
HTML-код
  • Опубликовано: 23 ноя 2024

Комментарии • 62

  • @heathwellsNZ
    @heathwellsNZ 2 года назад +15

    Wow, getting more and more technical... both an X-Ray AND a cat scan all in the one video!

  • @ales_xy
    @ales_xy 2 года назад +34

    I'm surprised that the lockbits aren't set. In consumer electronics, it's quite rare to be able to pull firmware from MCU's.

  • @hinz1
    @hinz1 2 года назад +5

    Thanks to the guys at Tektronix for not Lock-bitting everything out.
    And TIN for downloading the original firmware, nice collaboration ;-)

  • @peejay1981
    @peejay1981 2 года назад +10

    I've used that trick of auto detecting board type/rev in firmware using pullup resistors. Makes life so much easier!

  • @w2aew
    @w2aew 2 года назад +11

    Nice job on the probe repair!

  • @johncox114
    @johncox114 Год назад +2

    The manual mentions zero'ing the probes, which may be stored in the eeprom that differed. Also, calibration data may be stored there. The manual mentions firmware updates but I don't see any available on their website. As always, your diagnostic skills, repair skills, and knowledge are a pleasure to follow.

  • @PapasDino
    @PapasDino 2 года назад +5

    Always good to have friends who can help out!

  • @xDevscom_EE
    @xDevscom_EE 2 года назад +30

    Congratulations on repair! My THDP0100 have input attenuator potted with silicon gel from both sides. I'd expected that would be necessary since THDP0100 rated for much higher 6kV voltage rating. Also P52XX series probes use very similar design, but have smaller bandwidth. THDP/TMDP are just updated version for TekVPI.

    • @dreamcat4
      @dreamcat4 2 года назад +2

      you are the best man and we all love you for it 😇

  • @tocsa120ls
    @tocsa120ls 2 года назад +9

    It will be interesting to see how this repair holds up over time. It can very well be that that little Mega8 has worn out its internal EEPROM (like those Teslas a few years back) and this fix is only temporary.

    • @godfreypoon5148
      @godfreypoon5148 2 года назад +2

      That would sound about right!

    • @Thesignalpath
      @Thesignalpath  2 года назад +10

      If this happens again it would be a simple matter of swapping the processor with a new one.

    • @tocsa120ls
      @tocsa120ls 2 года назад +5

      @@Thesignalpath lucky you, that Tek didn't blow the read protect fuse in the Mega.

  • @ZaphodHarkonnen
    @ZaphodHarkonnen 2 года назад +4

    👍 for Beyond Compare. Great diffing program.

  • @0867532
    @0867532 2 года назад +6

    EEPROM data corruption is huge problem with atmega. Sometimes first byte of the EEPROM gets corrupted durring power-down or in high-noise enviroment. There is workarounds, but it might bite you bad in high-volume product.

  • @TheElectrovoicer
    @TheElectrovoicer 2 года назад +2

    You have a very special cat which is compatible with electronic lab. My congratulations!

  • @jessicav2031
    @jessicav2031 2 года назад +9

    Perhaps that EEPROM data is calibration information? It would make sense to store that there, and you probably wouldn't notice a slight change in calibration (from using the calibration from the other device)?

    • @SeanBZA
      @SeanBZA 2 года назад +10

      Would have to check the EEPROM info after the autocal, and see if it has changed slightly. Very likely the EEPROM stores both the switch states and the autocal constants in it, and this means that it has a large number of writes to it. One either finally killed a bit, or the power failed from the broken cable during a write, corrupting a few of the bits. Looks like there is no wear levelling done there, just write the same blocks over and over, without even doing the simplest thing and writing multiple copies, and reading them, with a checksum, to see the valid ones. Simple in the firmware, unless they were running out of ROM space, to implement that with only a small amount of code, and then either rewrite the faulty data, or have the UI pop up an error message that the probe calibration is inconsistent and it needs service, or just log this as an error and continue with a degraded reading warning.

    • @arthurmoore9488
      @arthurmoore9488 Год назад

      @@SeanBZA It's straightforward to do, not necessarily simple. I'm assuming they're using C*, so Checksumming is easy provided that they read/write a struct and always call the function. It's even easy to do replication of that struct. However, this naieve solution has multiple problems:
      * If you do data replication, you're also replicating the checksum.
      * You could be doing a 4 byte checksum of a single bit of data!
      * It's easy to forget to call the checksum function. (C++ solves this)
      If you want to just do data replication, then you either need a translation layer, or at least several helper functions. With the danger being that it's easy to forget to use it for one critical part of data.
      Now, you can work around some of these issues by doing a checksum on startup and after every write, but that doesn't solve the wear leveling issue. Personally, that would be my approach. Just because the failure mode during development is the MCU reports a problem instead of silently working.
      * I personally prefer using C++ even in embedded applications, but there's a crowd of rabid C users.

  • @lucvanhove9639
    @lucvanhove9639 2 года назад +2

    It remember me to a Philips TV set, when switch off the processor getting corrupted from the CRT discharge. The sollution was a shield connected to ground.

  • @fredflickinger643
    @fredflickinger643 2 года назад

    Thanks for the heads up on what would present a real headache!

  • @arashghasemi
    @arashghasemi 2 года назад +2

    That's great. Pooch in person means empty or void. And it preferably matches with cat's character, because it looks like he can handle (claw) any instrument readily ... Just like a C void pointer

  • @brewman467
    @brewman467 2 года назад

    Very interesting, thanks for the video! We have two of those probes in the lab, so I was curious to see what's inside. Thanks again 🙂!

  • @supernumex
    @supernumex 2 года назад

    great repair, I would be interested in the teardown and review of micsig differential probes, specifically the DP750

  • @fixthetempo7276
    @fixthetempo7276 2 года назад +1

    i think there is some kind of strap resistors on the probe body board to determine the bandwith

  • @azissaptiawan4774
    @azissaptiawan4774 2 года назад

    Thank you for uploading tNice tutorials video , so much information!

  • @bordjukov
    @bordjukov 2 года назад +2

    Hi,
    Did you try setting 0x01 at offset 0x04 in your EEPROM? Looks like it could be a bit flip:
    06 09 72 08 0*0* 00 01 00 01 00

    • @bordjukov
      @bordjukov 2 года назад +1

      Another potential bit flip, this time from 0 to 1 is the 0x09 at offset 0x01

  • @t1d100
    @t1d100 2 года назад +3

    Did you already own this unit, or did you buy it on Ebay/etc. for cheap? In other words, how did you come to have it?

    • @Thesignalpath
      @Thesignalpath  2 года назад +4

      Picked it up from eBay. I think it was about $200.

  • @karlbesser1696
    @karlbesser1696 2 года назад

    Hello, you introduced the RIGOL DM3068 a long time ago. Now it's 10 years later and I'm asking you, does it still make sense to buy this device new today or is there something better in this price range. Many greetings.

  • @PushyPawn
    @PushyPawn 2 года назад +1

    Nice.

  • @tristinpulsipher
    @tristinpulsipher 2 года назад +1

    Why are there capacitors in parallel with the resistors for the input divider network? Is it to allow for AC measurements?

    • @KallePihlajasaari
      @KallePihlajasaari 2 года назад +2

      Yes. The capacitors provide the HF reading and the resistors provide the LF detection (and DC if they have magic to send that signal through the transformer). The resistors also provide a passive balancing for the capacitor voltages so a weaker capacitor or one with different leakage currents does not get a lager share of the divided voltage with slow signals.

    • @tristinpulsipher
      @tristinpulsipher 2 года назад +1

      @@KallePihlajasaari Awesome explanation! Thank you!

  • @McTroyd
    @McTroyd 2 года назад

    it'd be interesting to see if that flash chip keeps its memory, or fails again.

  • @udhayakumara4033
    @udhayakumara4033 2 года назад +4

    So, they didn't enable "code protection" option in Microcontroller?😮😯

    • @jessicav2031
      @jessicav2031 2 года назад +1

      This also shocked me, but ATMega8 is also quite ancient.

    • @SeanBZA
      @SeanBZA 2 года назад +2

      @@jessicav2031 Probably makes the service centre life easier, seeing as they do have to update them during service, and with a long model life unprotected code is easier to fix. After all you are paying big for the scope, so will pay equally high for certified accessories as well. Cheap copy will be hard to certify and still sell.

    • @tomteiter7192
      @tomteiter7192 2 года назад +1

      @@SeanBZA It's possible to only read protect AVRs without disabling programming. You can't read the code, but erase the whole thing and flash new content.

  • @gacherumburu9958
    @gacherumburu9958 2 года назад

    👍👍

  • @TheFool2cool
    @TheFool2cool 2 года назад +1

    If it's external resistors that set the model, why did a corrupt eeprom show the wrong model at the start?

    • @tomteiter7192
      @tomteiter7192 2 года назад +1

      maybe the eeprom contains a checksum that was corrupted, and the probe AVR refused to do its work? A lot of Thinkpads died that way, back in the day :D

    • @TheFool2cool
      @TheFool2cool 2 года назад

      @@tomteiter7192 but it displayed the correct serial number

    • @tomteiter7192
      @tomteiter7192 2 года назад +1

      @@TheFool2cool yeah, but that was stored in the "connector AVR" not in the frontend AVR

  • @t1d100
    @t1d100 2 года назад

    Interesting

  • @stazeII
    @stazeII 2 года назад +3

    Guessing scope must update probe firmware and someone’s scope crashed or they unplugged mid-update. Or maybe hit auto-zero and unplugged leaving eeprom in corrupted state.

    • @SeanBZA
      @SeanBZA 2 года назад +2

      Could be, or it simply hit the write endurance of the eeprom, at least till the entire device was erased during the copy of the new firmware, which might silently have swapped out the failed bit using a spare row. After all during manufacture you want to have higher yield, so having a device erase, rather than block or bit erase, might also include a memory zero check as part, and failed bits are replaced with the spare row in the device, till the few spares run out. Tiny bit of extra silicon, often otherwise unusable, and a few extra cells to do the swap permanently.

  • @danielbjohnson
    @danielbjohnson 2 года назад

    Maybe replace the eeprom and program again just in case the part is unreliable? Also nice to see a tool I use daily, beyond compare.

  • @thomasw6169
    @thomasw6169 2 года назад +1

    "read out the firmware" - this is the first time I heard of a case is not read-out protected....
    Also: normally this type of probes are not isolated. Are you sure this one is ?

    • @SeanBZA
      @SeanBZA 2 года назад +2

      Not isolated, just has very high common mode impedance, so ground current is very small in almost all cases, and with a balanced connection to both channels affects them identically.

  • @owieccyt
    @owieccyt 2 года назад

    Compare the components on the two versions and try to make a 0200 out of 0100.

  • @modrobert
    @modrobert 2 года назад +5

    High time for an official firmware update that can detect and fix EEPROM corruption.

  • @WisdomVendor1
    @WisdomVendor1 2 года назад +1

    👍 for Pooch's opinion :-)

  • @n3r0z3r0
    @n3r0z3r0 2 года назад +1

    Classic AVR brownout issue....

  • @jamesmauer7398
    @jamesmauer7398 2 года назад +1

    Interesting fault with a nice repair! Did you extract the firmware over the SPI bus, or another way? I've not seen that done before.

  • @kaunomedis7926
    @kaunomedis7926 2 года назад

    For the science, zero eeprom and test it.

  • @godfreypoon5148
    @godfreypoon5148 2 года назад

    That fix just does not quite seem right to me.

    • @Thesignalpath
      @Thesignalpath  2 года назад +1

      Why not?

    • @godfreypoon5148
      @godfreypoon5148 2 года назад

      @@Thesignalpath Just the spidey-sense factor.
      In my other comment, I agreed with a suggestion that the EEPROM might be worn out.