Products > Test Equipment

Siglent SPD3303X-E Hi-Resolution Output Unlock?

<< < (7/25) > >>

mawyatt:
No that unit was returned. A new unit should arrive today, so we'll have 3. One the gold standard is spot on in voltage, current and CC setting without any offset, the other is what we've been trying to fix the offset. The conversion file for going back to X-E from X is for the older firmware, not sure new firmware version (07R2) is available, if I can find it may give this a try.

The original usage plan was to have a couple 3303X to create various voltages for a ongoing project, which involved creating HV very accurate (13~14 bit) precision bipolar waveforms, the required dual HV sources are 120V Bench supplies which work OK, but are switchers and produce noise which will impede the measurements. We need to measure arbitrary waveform +-peaks within 13~14 precision from +-1V to +-70V, and have offsets of a few millivolts over the entire range, and this is for 64 independent channels minimum!!

Was going to get a couple clean linear supplies to replace the 120V switchers, but after looking around and some reviews wasn't impressed with what was available at reasonable cost and good build quality. Decided to use the 3303X in series mode to yield +-65 volts which is good enough to make the measurements and "infer" the +-70 waveform performance. This is a very complex system which has me completely stressed out without with these PS issues!! Add insult to injury my right eye was just diagnosed with non-repairable retina damage caused by reduced blood flow likely due to a stroke which explains my depth and peripheral vision problems :P On top of this is some significant on-going family problems, so my stress level is maxed out :(

Anyway, I decided to try and use a custom +-HV switchmode PS designed for a dual HV boost amplifier that works with standard AWG, this was developed to allow precise cause and effect measurements on the Phase Array system this HV 64 channel controller is to support, by allowing high voltage bipolar arbitrary waveforms to be created from a standard AWG like the SDG2042X. It worked very well, with little added noise, significantly lower than the 120V Bench supplies and will become the foundation for the custom +-HV supply for the 64 channel controller. This bipolar HV supply uses a technique we hadn't tried before, where the - voltage is created by transferring charge current at the same time the single inductor current is ramping up, so the FET switch current is the sum of the two currents and controlled. Works well and the +-HV are very close in magnitude and controlled. Here's what the HV amp looks like, the fan is optional. We have another design which is higher current/power based around the PA443 , and another with much higher currents but lower voltages based upon the LM3886. Still need to create the 3D printed end plates for the case.


Best,

tv84:
Is it possible that since you calibrated with the wrong current value, the device now isn't able to rollback from that calibration? Like, for example, you exceeded a calib range (offset)... from which the software doesn't have a value to recover.

(For example, the device is able to recover from up to 100 mA offset, but not the 100 mA value itself.)

And now, probably only Siglent or a full flash would be able to reset the device.

blurpy:
I am not aware of any previous example of a rollback for the newest firmware. But possibly the attached file would work.
Note this is completely untested! I wouldn't try it without tv84 verifying it first.

Log from creating it:


--- Quote ---$ python3 ../convert.py SPD3303X-E_V1.01.01.02.07R2.ADS
SPD3303X-E_V1.01.01.02.07R2.ADS  /  CRC32: 260B1F7F
File Header Size: 00000070
File Checksum: FD844256 [00000004-00094C43] (with only the File Header decrypted)  CKSM True
File Size: 00094BD4 (without 0x70 bytes of the File Header)
Product_ID: 65 / SPD3303X-E
Vendor/Brand: SIGLENT
USB Host Controller: ISP1763
****************************************************
New productId: 64 / SPD3303X
New checksum: FD844257
Writing file: SPD3303X-E_V1.01.01.02.07R2/SPD3303X-E_V1.01.01.02.07R2_ConvertFromSPD3303X.ads

--- End quote ---

Decrypt it:


--- Quote ---$ python3 decrypt.py SPD3303X-E_V1.01.01.02.07R2_ConvertFromSPD3303X.ads
SPD3303X-E_V1.01.01.02.07R2_ConvertFromSPD3303X.ads  /  CRC32: 73030026
File Header Size: 00000070
File Checksum: FD844257 [00000004-00094C43] (with only the File Header decrypted)  CKSM OK
File Size: 00094BD4 (without 0x70 bytes of the File Header)
Product_ID: 64
Vendor/Brand: SIGLENT
USB Host Controller: ISP1763
****************************************************
Decrypting the 0x2800 and 0x1400 blocks...
Reversing file...
XORing with 0xFF (incrementing pattern)...
XORing with 0xFF from 0x0004A5EA until 0x00094BD3
****************************************************
Section Checksum: FA2ABBDC
Section Size: 00094BA0 [00000034-00094BD3]  CKSM OK
Section # 00000007
***** BIN file *****
Writing file: SPD3303X-E_V1.01.01.02.07R2_ConvertFromSPD3303X/decrypted_section7.bin
****************************************************
  File Processed OK

--- End quote ---

Decrypt the original:


--- Quote ---$ python3 decrypt.py SPD3303X-E_V1.01.01.02.07R2.ADS
SPD3303X-E_V1.01.01.02.07R2.ADS  /  CRC32: 260B1F7F
File Header Size: 00000070
File Checksum: FD844256 [00000004-00094C43] (with only the File Header decrypted)  CKSM OK
File Size: 00094BD4 (without 0x70 bytes of the File Header)
Product_ID: 65
Vendor/Brand: SIGLENT
USB Host Controller: ISP1763
****************************************************
Decrypting the 0x2800 and 0x1400 blocks...
Reversing file...
XORing with 0xFF (incrementing pattern)...
XORing with 0xFF from 0x0004A5EA until 0x00094BD3
****************************************************
Section Checksum: FA2ABBDC
Section Size: 00094BA0 [00000034-00094BD3]  CKSM OK
Section # 00000007
***** BIN file *****
Writing file: SPD3303X-E_V1.01.01.02.07R2/decrypted_section7.bin
****************************************************
  File Processed OK

--- End quote ---

Compare the decrypted files:


--- Quote ---$ diff SPD3303X-E_V1.01.01.02.07R2_ConvertFromSPD3303X/decrypted_section7.bin SPD3303X-E_V1.01.01.02.07R2/decrypted_section7.bin
$

--- End quote ---

The only difference between the original and the modified firmware should be the product id in the header.

mawyatt:

--- Quote from: tv84 on July 17, 2021, 05:23:18 pm ---Is it possible that since you calibrated with the wrong current value, the device now isn't able to rollback from that calibration? Like, for example, you exceeded a calib range (offset)... from which the software doesn't have a value to recover.

(For example, the device is able to recover from up to 100 mA offset, but not the 100 mA value itself.)

And now, probably only Siglent or a full flash would be able to reset the device.

--- End quote ---

This is likely, in my rush to get these supplies converted and calibrated, I calibrated the way I thought it should work after glancing over the manual rather than read the manual over and over to be absolutely sure I calibrated they way Siglent specified. Thanks to 2N3055 for pointing this out!!

What is interesting is the current reading is spot on from a couple ma all the way to 3A, but the darn CC offset remains!! I'm debating whether to give the one scheduled to arrive today a try, if I do, will certainly follow the cal manual procedure correctly before I attempt an enhancement, and if it behaves the same with a CC offset, then this points to a serious bug if it's not easily recoverable!!

A nice thing about the 3303X or X-E is not only the use of 24 bit delta sigma ADC and DAC (believe this is correct), but the internal reference seems to be very stable, and the 3rd output is completely isolated, not common to ch1 or ch2. If one were designing for a low cost, then the 3rd channel would be common to either ch1 or 2, which saves a few components (rectifier bridge, filter caps) and an extra transformer winding. So even tho it's not completely settable, being a floating output is nice!!

I'm burnt to crisp now stresswise, so may wait on the attempt when the unit arrivers later today!!

The worldwide shortage of semiconductors is wreaking havoc on the design process, I've had to redesign things over and over as components become available then disappear, so now if we just think a component might be useful we buy a bunch and just store them. Did so with some expensive DACs and HV amps, over $3K in just two part types!! But they are here in my hands  :phew:

Hand soldering the DAC 100 pin 0.5mm pitch package was difficult, tedious, but worked. Got one DAC up and have 4 channels of the 64 running, beautiful, clean and precise HV waveforms, now I need to get the other 60 channels of this stuff done before my eye goes south.

Hey, and thanks so much for all the help you, blurpy, 2N3055 and tautech have provided. You guys are great and really appreciated :-+

Best,

2N3055:
 :-+
Any time!

Navigation

[0] Message Index

[#] Next page

[*] Previous page

There was an error while thanking
Thanking...
Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod