Wednesday, October 21, 2015

Oscilloscope fix by upgrading display from 5.6 to 7.0 inch

The goal

Make my Siglent SDS1022C usable again.

Usability

Fixing oscilloscope and getting bigger display as a side effect.

Parts

  • AT070TN01 (480 x 234) 7.0 inch display
  • led backlight from AT070TN90


Hardware

  • 10 ohm resistor
  • 10 cm of wire

Description


I didn't used my oscilloscope (DSO) for couple of months and I decided to put in back in the closet, so it won't be taking space at my desk.


Siglent SDS1022C on my desk

Before that, I wanted to measure my RFID reader to check something, and then ... knobs stopped working! There was no way to change timing or V per div, so only saver was the Auto Trigger option. I disconnect DSO and wait a while, I thought maybe this is some temporary logic error and cutting voltage for some time would fix this. Nothing, knobs don't work, run auto test, auto calibration, every diagnostic option and nothing...

So I've decided to flash it with new firmware. It's pretty easy, because you download file from manufactures site, put in on pendrive, connect and run Upgrade Firmware option from DSO menu.

I've downloaded new firmware, version 5+ (before I had 3+), flash it ... and ok knobs started to work! Yeah, but wait, wait ... something was wrong with the 5.6 inch display. Only half of grid was displayed, it look like it was stretched, and picture just don't fit in this TFT screen. After checking once again every step I'd take, found out that I flashed with firmware with "L" suffix, and this is for 7.0 inch version of SDS1022/ADS1022. DSO was completely unusable from this moment, because menu which is on the right side was in the not visible area of 5.6 display.

EDIT: Found this picture on my old camera, I was sure that don't have any picture of original display working, what a nice surprise.

Original display with wrong firmware

Shit!

Ok, don't panic, I've connected the usb/rs232 cable and run EasyScope software to get some control over the menu ... but it did not connect.

Hmm, second step was to find old (3+) software on manufactures site, or whatever on the net. But it didn't worked because "C" version is not in production anymore, I couldn't find it.

I wrote to the manufacturer and to some other companies too, I thought Atten's ADS1022C is similar, maybe theirs firmware would work. Nope it was yelling about product version. Ok I've compared similar bytes in Siglents firmware from their site and found something that looked like constant for files that I've used (for "L" verison) moved by hex to Atten's soft, nope Data Checkout Failed. Then I spend some days to search crc, adler ,md5, sha* in this files but every check that I've made with every possible offset was failing.

Now time has come to disassemble my DSO and check if it has something like ISP/JTAG to flash firmware directly, bypassing usb loader.

I've found something that was looking like JTAG port, checked connections with ADSP-BF531 Analog Devices Blackfin CPU, and ordered the Bus Pirate, it has JTAG inside, among SPI, I2C, 1-Wire etc. I've never used JTAG before, and research that I've made on the net about BF531 and supported JTAGs was very poor.

JTAG compatible software with Bus Pirate is called openOCD, but it didn't support my Blackfin DSP. I've seen one tap after connecting to BF531, I've defined flash address to download, but couldn't put CPU in halt mode, openOCD was yelling and I could nothing to do about it.

Shit!

UrJtag has BF531 support but works with different programer, and what I've seen some development needs to be done, because it has only evaluation board support, so with my DSO 1022c flash would be incompatible, I think.

The next thing is that (5+) firmware weights about 1.5MB, flash on the mainboard has capacity of 8MB, I've seen on the web that other companies in similar products has about 4MB, so probably it's compressed in some way, and I could brick DSO down by pushing compressed/wrong firmware format directly to the flash.

I've stuck for some time and after couple of days dive once again into the hardware. TFT driver which was Himax HX8817ALAG looks promising. I've learned that Blackfin communicates with HX8817 by ITU-R BT. 656 protocol, hmm what If I connect here, and somehow translate 656 to VGA/S-video or any other format? But it I let it go.

I've found something in the Himax datasheet, it appeared that this chip has configurable resolution, and those resistors are responsible for it:

Himax HX8817ALAG resolution pull-up/down resistors

Hmm, what If I connect 7.0 inch display with the same protocol? Would it work? Oh, what the hell, I've bought AT070TN01 online, which has the same 26 pinout like one from my DSO. Just like on JTAG, the research I've made was so poor ..

When new TFT arrived, I've connect it to the mainboard, but it was completely black. Hmm broken backlight I thought, but the old one is working, what the hell? I've checked once again datasheets side by side. Yep I've missed it DSO's has a 6V LED backlight, and AT070TN01 ... hmm 100x larger voltage to drive it? Putting an inverter into DSO was not in my plans, it would definitely make distortions. 

Shit!

I've searched my old stuff box and I've found from broken Prestigo PMP3270B tablet with 7.0 inch AT070TN90 inside. Hmm, what if ...

Interface was different, but it has 9V led backlight.

Yeah! Finally.

I've disassembled  AT070TN01 and AT070TN90 and move backlight panel from *90 to *01. Additionally found that DSO fan is supplied from 8.3V so I've connected it by 10ohm resistor to led backlight.

Original 5.6 inch display

Back of DSO, power supply and new TFT display

New display without backlight

Original AT070TN01 backlight

AT070TN90 with backlight, from Prestigo PMP3270B tablet

Led 9V backlight connector

AT070TN01 with backlight from AT070TN90

Power source to led backlight. This is 2-pin fan connector

Backlight is working!

What a mess ...

But, on 7.0 display I could see the same thing like on 5.6, I thought TFT driver has to do something about it, and I was right.

After changing voltage on RSC1,2,3 pins, display responded like this:


AT070TN01 with new backlight connected to SDS1022C

The picture was slightly shifted to the right, but It was readable!

Yeah! Finally!

But emotions went down like falling edge of an interrupt, because of very short AT070TN01 data cable.

Shit!

I needed to cut more deeply the metal case, for the display and for the keyboard cable.


New holes for cables

Now front of old housing won't fit anymore, so I needed to improvise a little bit.

Double sided tape and some wood? Sure!

New display with keyboard is shifted to the right

Finally I've do the black-tape design :P.

Black duct tape is good, because is black and it's a duct tape ;)

My little Frankenstein is so sweet

It works!


To sum this up, I really don't know why manufacturer couldn't provide 5+ firmware for "C" line. If I could flash my DSO with it, display swap would be unnecessary.

I've ended with 7.0 inch display instead of 5.6, sure It's cool, but it cost me a lot of time, and I've got a mixed feelings about it.

9 comments:

  1. Hi Igor, I can get you a " wide screen " body.
    Send a email to info@siglent.eu

    ReplyDelete
    Replies
    1. Hi,
      I'm afraid that "wide screen" body won't work for me, my new display has very short cable, and must be shifted to the right, SDS1022L has LCD shifted to the left, but thanks for offer :)

      Regards,
      Igor.

      Delete
  2. Siglent, just give that man a new free scope. He definitely deserves it!

    ReplyDelete
    Replies
    1. I like your idea! ;) But then I thought this through, this one I'd like more, you know late night hours with black tape ... you never forget it ;)

      Delete
  3. I'm not sure if I should congratulate you on your tenacity, or feel bad for you on your tenacity. Either way - it's more than I could have or would have done, nice! Though I suppose the journey is the fun part, since every time I build something it costs me more than if I have just bought the same thing to start with - BobbyMac

    ReplyDelete
    Replies
    1. Yep you're right, it was the fun part. Investigating datasheets, checking mainboard, figuring out how this CPU boots and from where. I bought Bus Pirate, it was useless for Blackfin JTAG, and I always thought that hey I've got Raspberry Pi and I2C/SPI in it, I don't need Bus Pirate. But now when I have it, I see how it's freaking simple to use it e.g. with python from my laptop. Reading SPI memory? no problem couple of lines in python with bus pirate and that's it.
      I desperately needed my DSO working to continue my hobby projects, you probably know (or will be) how hard is to convince your wife that we need a new oscilloscope ;)

      Delete
  4. I agree with Tectu. Siglent should send Igor a new scope. And I hope Igor will post more scope hacks.
    Igor made a good promo for Siglent by modifying the old oscilloscope.
    Keep it going!

    TTL

    ReplyDelete
  5. I don't think I could have the patience as you do and I admire the fact that you built something from scratch. I should take this up as a hobby but honestly would get frustrated and throw myself a small adult tantrum! Needless to say you probably had a few on this journey of yours!

    Raymond @ CKS Global Solutions LTD

    ReplyDelete
  6. Hi! Help me please!
    my Siglent SDS1022C not work after firmware upgrade ((
    Please give me flash dump from you DSO.
    My email coolguest757@gmail.com
    Thanks.

    ReplyDelete