FV-1 stops working when using EPROM

Started by FantomXR, January 18, 2022, 02:16:25 AM

Previous topic - Next topic

FantomXR

Hey people,

I've made a PCB for a FV-1. Its running perfect when using the internal ROM (Jumper J3 shorted).
If I remove this jumper, T0 should be pulled to GND though the FV-1 should use the EPROM. But the FV-1 stops working which I can see on my bench power supply (power consumption drops from 120mA to about 80mA) and also my oscilloscope shows, that the oscillator stops working.
I tried using a higher capacitance on the crystal, but this made no difference... since the FV-1 is running great with the internal ROM, I really don't think that this is the culprit.

The jumper on J4 shorts pin 2 and 3 => EPROM gets supplied with 3.3V (verified with oscilloscope)
J5 is not used.
J6 is for selecting the program and is open, but it makes no difference if I put a jumper there or not.

Do you have any idea?!

The only thing I can think of is that the EPROM was not flashed correctly. I used this tutorial:
https://www.diystompboxes.com/smfforum/index.php?topic=121408.msg1156740#msg1156740

And the Serial Monitor of the Arduino software says, that all bytes have been written successful.

Maybe I should try another EPROM Programmer? Any ideas what to use?

Thanks,
Chris


octfrank

Assuming it is all correct I would read out the EEPROM and see what is in it to make sure it flashed correctly.
Frank Thomson
Experimental Noize

mark2

QuoteMaybe I should try another EPROM Programmer? Any ideas what to use?

I use a super cheap CH341A eeprom programmer.

I do an extra step where I'll read back the EEPROM and compare it to the input file to catch errors. When there's a problem I just unplug and plug it back in and try again.  Since I added that step I get zero bad chips. Here's the script if it helps: https://gist.github.com/mstratman/6d1f567974ba306a145588434d0c49a8

If you are in the US and it would help, I can ship you a known working EEPROM at cost (ship+chip, $6).

FantomXR

I ordered a cheap CH341 programmer at eBay and will try it.

So you use the terminal to flash the hex to the EPROM?

mark2

Quote from: FantomXR on January 18, 2022, 02:45:14 PM
So you use the terminal to flash the hex to the EPROM?

I do. It's using this commandline tool for Mac: https://github.com/command-tab/ch341eeprom

And for the record I believe I have some unnecessary steps in my workflow. e.g. I output a hex from the assembler, then manually convert it to a bin. But in my early days this is what I was able to get working, and I've just stuck with it. There may well be a more direct way without the extra steps or extra tools.

But if you find a better way or using alternate tools, the basic idea of reading and verifying the EEPROM contents should still be doable.

FantomXR

I'll check and report back as soon as I receive the programmer! Thanks for the input!

FantomXR

I've received the programmer.

Unfortunately I was not able to get it running under Mac OS. The terminal says "ch341eeprom: command not found".

So I switched to a computer running Win 10 and I was able to successfully install the programmer and burn the IC through ASProgrammer.

But the result is the same: I plug it into the socket, switch on the power supply and the clip LED lights up. The power consumption is at 80mA. If I add the jumper to use the internal programs, the LED is off and the power consumption rises up to 120mA.

So there is still a culprit it seems.

Could maybe someone upload a working hex file? Maybe there is something wrong with my files...

Ice-9

If the clip LED is constantly on when using EEPROM programs it usually points to the EEPROM being blank. If this is the case and you can select the 8 program selections from the EEPROM via a switch then all you will hear is a click or pop when changing programs if the EEPROM is blank or incorrectly programmed.
www.stanleyfx.co.uk

Sanity: doing the same thing over and over again and expecting the same result. Mick Taylor

Please at least have 1 forum post before sending me a PM demanding something.

mark2

#8
Quote from: FantomXR on January 24, 2022, 11:39:53 AM
I've received the programmer.

Unfortunately I was not able to get it running under Mac OS. The terminal says "ch341eeprom: command not found".

You'll need the developer tools installed and use homebrew. Here's the info: https://github.com/command-tab/ch341eeprom

But if you have a windows computer that's probably going to be easier.

Quote
Could maybe someone upload a working hex file? Maybe there is something wrong with my files...

Here's a working hex file and its resulting bin (that ultimately needs to go on the eeprom): https://drive.google.com/drive/folders/1NL7xmDVBauNIlLh0LdrQTaQQNh1lch9d?usp=sharing

potul

I don't see any way to attach a file in the forum. Send me a PM with your email and I will send you a test hex file.

FantomXR

I haven't tested your files yet. But for a test I used the files from here:
http://spinsemi.com/guitar_amp_application.html

I've converted the *.hex to *.bin using the CMD and an application that comes with ASProgrammer.

I connected the CH341a to the computer, started ASProgrammer. I can read from the chip perfectly. I open the *.bin-File and program the chip. The application says, it was successfully written.

But the behavior is the same... I really have NO idea whats wrong here.....

Ice-9

#11
mark2's posted hex file works as i tested it with no problem as do the link you posted for the SpinSemi website. I would suggest you use a Pickit2 programmer to program your EEPROMS.
www.stanleyfx.co.uk

Sanity: doing the same thing over and over again and expecting the same result. Mick Taylor

Please at least have 1 forum post before sending me a PM demanding something.

FantomXR

Since I now used two different kind of programmers (Arduino at first and the CH341A now) and both applications say, that they program successful I have the feeling that the culprit is not the programming... maybe I'm wrong...

Digital Larry

I put external pullups on SCK and SDA on my board design.  Not sure if they are needed but it would be interesting to check the voltages there, they should be really close to 3.3 volts most of the time.
Digital Larry
Want to quickly design your own effects patches for the Spin FV-1 DSP chip?
https://github.com/HolyCityAudio/SpinCAD-Designer

FantomXR

I measured with the oscilloscope and SDA and SDK are high without pullups. I will try it though...

FantomXR


free electron

Maybe a stupid question... You are not forgetting to put a jumper on pins 2 and 3 of J5 after putting the eeprom back? Otherwise it's not getting any power.
No decoupling caps on the 3V3 rail might also pose a problem - there might be a glitch when the DSP tries to read the eeprom making the i2c read fail.

FantomXR

Not a stupid question. But I did not forget it :-) I checked the voltages on all pins and they seem to be correct..

I will try adding a decoupling cap although the power supply should be very stable... its worth a try though!

Ice-9

#18
It might be worth programming the EEPROM then read it back, save the hex file and post it here, if one of us can try the hex file that you read back from your EEPROM to make sure it is working that would confirm if your EEPROM is programmed correctly.

Alternatively you could use a file check program to confirm the data that you write to the EEPOM is exactly the same as you read back. There is an online compare program called diffchecker.
www.stanleyfx.co.uk

Sanity: doing the same thing over and over again and expecting the same result. Mick Taylor

Please at least have 1 forum post before sending me a PM demanding something.

Sweetalk

I think I found your problem. You're switching T1 (pin 12) for internal/external instead of T0 (pin 13). T1 must be grounded all the
time to work properly and T0 is the interal/external program pin. That's why works on internal but not on externals.
Try to cut the vias from pin 13, cut the trace from pin 12 and connect pin 12 to ground and 13 to the jumper/pullup resistor.