eeprom

Firmware/software/electronics/mechanics
tobias
Bitcraze
Posts: 1914
Joined: Mon Jan 28, 2013 7:17 pm
Location: Sweden

Re: eeprom

Post by tobias » Wed Nov 04, 2015 9:24 am

So there is no direct short so I'm leaning towards that it is the eeprom that is causing the problem. Something is pulling SCL down quite hard (0.04V) when powered, the question is who? And I'm afraid that the only way to test it is to lift the eeprom SCL leg or unsolder it completely and measure the voltage again. If it is 3V then the eeprom is the problem and if it is still 0V the stm32f4 is the problem.



Che.
Member
Posts: 62
Joined: Tue Jul 28, 2015 1:47 pm
Location: Germany

Re: eeprom

Post by Che. » Wed Nov 04, 2015 12:30 pm

tobias wrote: And I'm afraid that the only way to test it is to lift the eeprom SCL leg or unsolder it completely and measure the voltage again.
Soldering the eeprom out seems a problem for me, because its so small. I already watched some SMD-soldering-tutorials on youtube, but as i am not a pro in microsoldering, I fear to destroy any other parts of the flie with the heat.

Can you give me some tips? You said "lifting" the scl leg of the eeprom. do you mean to solder only this one out? and which one of the five eeprom pins is it?

Thank you for the support.

tobias
Bitcraze
Posts: 1914
Joined: Mon Jan 28, 2013 7:17 pm
Location: Sweden

Re: eeprom

Post by tobias » Thu Nov 05, 2015 8:16 pm

There might be another alternative if you can live without the eeprom (only hard coded settings).

The I2C1_SCL signal is availible on IO_1 (PB8) as well. So by configuring this pin instead you should be able to use the I2C1 bus (and adding a pull-up).

By lifting the leg I mean soldering on the leg while lifting it with some tool so it becommes disconnected. There is a chance one will break the leg during the process though so lift it as little as possible.

Che.
Member
Posts: 62
Joined: Tue Jul 28, 2015 1:47 pm
Location: Germany

Re: eeprom

Post by Che. » Fri Nov 06, 2015 6:12 pm

tobias wrote:There might be another alternative if you can live without the eeprom (only hard coded settings).

The I2C1_SCL signal is availible on IO_1 (PB8) as well. So by configuring this pin instead you should be able to use the I2C1 bus (and adding a pull-up).
That means, I wont be able to switch the settings with the GUI for instance, right?
tobias wrote: By lifting the leg I mean soldering on the leg while lifting it with some tool so it becommes disconnected. There is a chance one will break the leg during the process though so lift it as little as possible.
If the pins brake, I assume its possible to replace the eeprom with a new one. What eeprom is used exacly? So maybe I could buy a spare one.

tobias
Bitcraze
Posts: 1914
Joined: Mon Jan 28, 2013 7:17 pm
Location: Sweden

Re: eeprom

Post by tobias » Sun Nov 08, 2015 9:36 pm

That means, I wont be able to switch the settings with the GUI for instance, right?
Exactly, you will have to change it in the code and flash it.
What eeprom is used exacly?
24AA64FT E/OT

Che.
Member
Posts: 62
Joined: Tue Jul 28, 2015 1:47 pm
Location: Germany

Re: eeprom

Post by Che. » Tue Nov 10, 2015 4:03 pm

damnit. i think i destroyed the board. i ripped off some of the copper track. any solution? or is it going to the trashcan?

edit:
nevermind, everything else still seems to work though.
tobias, can you explain to me, what the eeprom does? thanks in advance.

i am going to try to deactivate it in the code.

tobias
Bitcraze
Posts: 1914
Joined: Mon Jan 28, 2013 7:17 pm
Location: Sweden

Re: eeprom

Post by tobias » Wed Nov 11, 2015 8:54 pm

The eeprom saves config data. Currently not so much. You can have a look here.

The eeprom will automatically revert to default config if there is any problem. It should be enough to return true here instead of eepromTest.

You can always patch (solder a wire) the board if you ripped up the track ;)

Che.
Member
Posts: 62
Joined: Tue Jul 28, 2015 1:47 pm
Location: Germany

Re: eeprom

Post by Che. » Thu Nov 12, 2015 3:03 pm

after removing the eeprom i measured voltage and resistance again.

Powered:
PB7 to Ground is 0.02V (SDA)
PB6 to Ground is 0.04V (SCL)

PB7 to VCC is 0.015V
PB6 to VCC is ~3V

Unpowered:
PB6 to VCC is 1.4kOhm
PB6 to GND is 0.9kOhm

Before doing any further development i must verify that my hardware is ok now. Can you tell me if these values are right?

Greets,
Che.

tobias
Bitcraze
Posts: 1914
Joined: Mon Jan 28, 2013 7:17 pm
Location: Sweden

Re: eeprom

Post by tobias » Thu Nov 12, 2015 6:33 pm

It does not look as it should. From previous post:

Unplug the battery and measure resistance between:
SCL (PB6) and GND -> Should be no connection
SCL (PB6) and VCC -> Should say ~2.2kOhm

So the STM output stage is broken. Then you option is to switch to the other pin as I described in the other post (and disable the eeprom).

Che.
Member
Posts: 62
Joined: Tue Jul 28, 2015 1:47 pm
Location: Germany

Re: eeprom

Post by Che. » Fri Nov 13, 2015 6:55 pm

tobias wrote:The I2C1_SCL signal is availible on IO_1 (PB8) as well. So by configuring this pin instead you should be able to use the I2C1 bus (and adding a pull-up).
I am going to configure PB8 as I2C1_SCL now. Looking on the table here tells me, that the configuration must be

Code: Select all

#define CPAL_I2C1_SCL_GPIO_PIN				GPIO_Pin_8
#define CPAL_I2C1_SCL_GPIO_PINSOURCE    	GPIO_PinSource7 
Is that correct? Its a bit confusing because the either the table or the code seems to be mixed up the PINSOURCE definition (OR it's me and i dont see the wood for the trees :lol: )

Where can I add the pull-up resistor? I have the location in mind, but I cant seem to find it again (not via search either).

Post Reply