Showing posts with label dsp56374. Show all posts
Showing posts with label dsp56374. Show all posts

Thursday, 31 January 2019

Another Electro-Harmonix Freeze

I got another Electro-Harmonix Freeze fairly cheap, it sounded like it had been killed by an incorrect wrong power supply. I took it apart and found that it was a newer revision than I had seen before, the board was EC-D68 Rev C (the last one was Rev B). The main difference I notice was an AK4558 codec instead of PCM3052A.

Freeze Rev C PCB, flash ROM temporarily removed.
Main PCB, LM317 temporarily removed.

There was no sign of life, I found that the series Schottky diode at the 9V input had failed open-circuit and that the LM317 had an internal short between it's input and output pins. The fast/slow/latch mode switch also fell to pieces when the board came out of the enclosure.

I replaced the bad diode with an SS14L (it was the correct size and I already had some at hand) and installed a new LM317. I thought that the LM317 was supplying 3.3V to the DSP and this would fix everything. Instead, the pedal would pass a clean signal but with a clicking sound once or twice per second. I found out that LM317 is actually used as a 1.25V regulator, which is only used for the analog VCC of the DSP56374.

I thought the clicking may be the DSP watchdog timer firing, possibly because it was missing program code, so I removed the flash memory and dumped it. It was a perfect match for the dump I made of the first pedal I repaired, so no problem there.

Measuring power at every IC I found that the 5V rail was high at around 5.9V and the 3.3V supply was sitting at 3.9V. I thought that U5 and U8 (both SOT-89 packages) were also voltage regulators and that maybe they had been damaged as well. I also noticed that U6 is connected to the reset pin of the DSP, and it was resetting the DSP every second or so. My guess is that U6 (also connected to the 3.3V supply) is some kind of voltage supervisor and it is resetting the DSP because of an incorrect 3.9V at VCC.

I found a great picture at freestompboxes (thanks to Steven_M!) showing that on previous version, U5 was 78L05 (5V regulator) and U8 was BA932 (who knows, but from context it has to be a 3.3V regulator).

U5 & U8 on another revision.

The Rev C board in front of me had "BA420" on both chips. Possibly EHX decided to run all 5V parts off of 3.3V, and doubled up on regulators? I don't know.an

To test this out, I decided to remove both chips and apply 5V and 3.3V from  external power supplies.

U5 & U8 removed, external power applied

This set up was a little awkward, but everything work correctly. Current draw looked totally reasonable, 19mA from the 5V supply and 21mA from the 3.3V. No resetting, no clicking, and the pedal could freeze audio in all 3 modes.

Current draw on 5V and 3.3V supplies.

I ordered L78L05ABUTR and MCP1804T-3302I/MB as replacement 5V and 3.3V SOT-89 regulators. I also used 2MD3T2B2M2RE as a replacement switch. This replacement is not threaded for a nut, but recent version of the Freeze don't look like they are threaded either. Pedal works like new.



Tuesday, 6 June 2017

Electro-Harmonix Freeze

The Freeze launched in 2010(?) and has been very popular. It's essentially a very short looper with some windowing to hide the "jumps", giving a smooth drone of whatever was captured. There is a decent claim for this being a genuinely new effect, even though there have been reverbs, delays and granular synth effects that can get similar results there is nothing that competes with it directly. I have never played with one so I've been looking out for cheap broken units.


This one passes no signal, crackles a little bit and I probably overpaid for it. The insides are more simple than I expected, a 56k-series DSP (DSP56374), a PCM3052A ADC/DAC, a serial EEPROM for the DSP code, an LM317, a TLC2272 opamp and a tiny SOT23-5 package that I am fairly sure is a NC7SZ66M5X SPST switch. It's surprising to see the DSP56374 as these are fairly long obsolete now, and other EHX products are using Analog Devices DSPs that are still in production. This might have been a 2010 purchasing decision, or they may have large stock as the 56k series is also used in other older EHX products. The PCM3052A is also fairly old but I have seen pictures of other Freeze revisions that used different codecs.


This Freeze passed no signal in bypass or effected mode, just some crackling noises. The LEDs did light up according to the Slow/Fast/Latch switch, and as there is no microcontroller I have to assume that the DSP handles this and that it is probably working correctly.

I fed in a test signal and traced it with an oscilloscope. I could see it at the input jack, through the ferrite bead and then at one of the input pins on the opamp (U2). It appeared to be wired as a buffer (makes sense) and there was nothing on the output pin. So the digital end was probably fine, it was just not being fed an input signal. Replacing this opamp fixed it.

In process of replacing U2

 To be honest, sometimes the process of fixing stuff is more fun than playing with it afterwards. The appeal for me is a mixture of curiosity about the technical stuff and the musical/creative aspect, and it can be easy to switch the things off after testing if it's "just" another delay, overdrive or whatever. The Freeze has consistently been a lot of fun every time I plugged into it. On the day I got it I spent a lot more time playing with it than I did repairing it (that has to count for something). I have used loopers before and found that they need a bit of planning and practice to use well, the Freeze is very immediate and it lends itself to noodly bullshit in the first couple of minutes of use, especially in latching mode. Thumbs up.

I expected to see some kind of microcontroller as the DSP 56k series have usually been paired with one in the previous pedals I've looked at, usually some kind of 8051 core (Line 6, Digitech examples). As the Freeze is a single processor design it might make this an interesting one to reverse engineer, there should only be code for a single architecture in the EPROM. I would guess that the effect is fairly simple, but the magic is in the delay length and the filtering to avoid clicking or popping. There is an assembly language manual available from NXP, I've looked for a disassembler and have found that it is supported by Ida Pro (great, but the full version is out of my price range) and some pretty old 90s tools that I haven't tried yet. If there is a decent free tool please let me know.

First step is dumping the EPROM and figuring out if the code is on there or if the DSP is pre-programmed. OpenOCD does support the DSP56374, so the programming header may be another option.