EEPROM pullup resistors
Harley
Posts: 997
My question is what is the rule for the EEPROM pullup resistors, as I've seen three different configurations?
1. PropStick - has two 4.7Ks
2. Demo board - has one 10K
3. ProtoBoard - has two 10Ks
4. Propeller Hardware Connection drawing (Parallax web site) has one 10K.
What is the ground rule for whether one or two resistors are 'required' and what range of values (min/max) will work?
I just happened to look at #4 and was surprised. Anyone have guidance?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Harley Shanko
h.a.s. designn
1. PropStick - has two 4.7Ks
2. Demo board - has one 10K
3. ProtoBoard - has two 10Ks
4. Propeller Hardware Connection drawing (Parallax web site) has one 10K.
What is the ground rule for whether one or two resistors are 'required' and what range of values (min/max) will work?
I just happened to look at #4 and was surprised. Anyone have guidance?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Harley Shanko
h.a.s. designn
Comments
A pullup resistor is required on SCL if you plan on using other I2C devices besides the boot EEPROM is connected to the I2C bus. This would include a second or more EEPROM, or any other I2C device.
The value for these pullups can be 4.7K, or 10K
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Brian Meade
"They who dream by day are cognizant of many things which escape those who dream only by night" - Edgar Poe
It's possible to make do with a single pullup on SDA, but requires special handling on the part of the I/O routines and only one bus master is possible. The serial PropStick was made to fit the I2C requirements and the ProtoBoard was provided with two pullups by user request.
However, and this is the big one, none of the I2C slave peripherals that I have ever known will use these special conditions such as clock stretching or multi-master bus collision handling. From the master the SCL line can be driven as a pure output without the need for a pull-up (not that it hurts). The data line is only ever open-drain on the peripherals though and you do need a pull-up with that. The value of this pull-up depends upon a variety of factors such as line length (capacitance), speed, number of devices, and power consumption amongst over things. For low-speed peripherals (100kHz) located a short distance from the master you will find that 10K works fine. To be on the safe side it is better to choose a lower value like 2K2 which will be able to pull-up the line faster. The minimum value is around 1K and the typical 10K is fine for bus capacitance below 100pf.
So a design with 10K on the sda line only is fine if the chip(s) are located very close to the master. But you will never hurt anything by using two 2K2 resistors either.
*Peter*
Here is a pretty cool link that has alot of related stuff .. it discusses pull ups etc etc
See the I2C FAQ link .. really very usefull info
Peters suggestion is pretty well correct as a 1K per V is about the norm ... is that right Peter ?
Thats what I was told awile ago... so 10K is a little high (weak pull up..)
So please check it out http://www.esacademy.com/faq/i2c/
I am sure there are many other good sites with similar info as well..
Cheers
Ronald Nollet Australia
Basically the low-level output voltage is guaranteed to be less than 0.4V at 3ma. So a 1K to 3.3V (minus the max 0.4V) will give you around 3ma. That doesn't mean you can't use a lower value resistor it's just that the output low level is not guaranteed to be less than 0.4V not that that is a worry because the input low-threshold voltage is around 1V or more.
BTW, I am guilty of using 10K pull-ups myself.
*Peter*
Due to the number of I/Os to 5v, there's some near 40 resistors for current limiting at the interface of this 2-Prop design, and I'm looking to reduce whatever parts can be eliminated from this design.
Looks like no resistors are needed for the programming (PropPlug) interface either.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Harley Shanko
h.a.s. designn
When I have multiple lines that need to be pulled up. I try to combine them into common bus SIP resistor network. The supply that you are pulling up to is connected to pin 1, and any lines that need to be pulled up are connected to the other pins. Saves alot of PCB real estate.
Here's an example, I know you've seen them before, but some reading this may not have.
www.mouser.com/catalog/specsheets/XC-600048.pdf
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Brian Meade
"They who dream by day are cognizant of many things which escape those who dream only by night" - Edgar Poe
Yes, it is a challenge to i/f with many 5v to 3.3 signals. Thanks again for the help.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Harley Shanko
h.a.s. designn
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Paul Baker
Propeller Applications Engineer
Parallax, Inc.
So hadn't even yet felt the need to look into such details yet (usually use DigiKey for such initial browsing). Guess it is time, in a way.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Harley Shanko
h.a.s. designn