- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Our design have 2kohm pull resistors for SPI1/I2C of BCM20736.This will cause about 2.3mA leakage current.
But if we remove this two pull resistors,the pcb is download ok,and work ok.
Is BCM20736 have pull resistors in interor?If not,I want to know what function with pull resistors?If we remove them ,Does it will affect other peripherals?
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yes, I explained how I think it could be solved. See my post for more detail, but it's to use 0xFF as the SPI pad character so the last bit sent is a 1.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
It is a requirement that pull ups are placed outside to SCL and SDA for proper operation. This thread says it all: BCM20737S internal i2c pull-up value
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
In thread BCM20737S internal i2c pull-up value
:The I2C spec requires an external pull up on SCL and SDA. The internal pullup is not sufficient because the part will not be configured until an I2C slave is detected (i.e. external pullup), which is a chicken-egg situation.
What is it mean?How we can confirm our I2C pull resistors value?Our design is using Flash,and pull resistor is 2kohm.It will have 2.3mA leakage current.How do we do to resolve this issue?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Flash does not require such a pull-up scheme of things.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The I2C circuit has its own internal resistance, so the 2 kOhm resistor on SCL and SDA will not be drawing much power when the I2C is not used. Yes, when the I2C port is used it will draw a few mA, but it's for a very short time.
As far as the Flash comment, I don't understand. What does that have to do with the I2C pull up? Can you explain? If you are talking about the EEPROM Write Protect line pull up, the value of that resistor is higher, and it doesn't draw any significant current.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Because we use flash by spi,and sensor by I2C.Spi and I2C cocurrent with two pins.So we add pull resistor.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I don't really understand the concurrent usage here. The use of pull-up resistors for I2C is a universal requirement. SPI on the other hand uses 4 pins instead. In any case, only SPI2 is available to your application. You may like to refer to the SPI sample code provided in the HW interfaces.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You may want to test out different values for the pull-up resistors and observe the leakage current. How about 10Kohm or 4.7Kohm?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
We use SPI1 for flash and I2C for sensor IC.If add 10kohm or 4.7kohm resistor,the PCB can't download.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
There was a discussion on the inclusion of a patch in the makefile.
APP_PATCHES_AND_LIBS += enable_spiffy1_i2c_interop.a
More details at below:
BCM20736S I2C, PUART and SPI comms
Can you try and revert?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
We have use it,and SPI1 and I2C can work well.But in standby mode,it have leak current.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You were saying that the inclusion of the 2Kohm pull-up resistors caused a leakage current of 2.3mA.
But if you remove the resistors, your download is OK and the board works OK too, including with the use of the patch.
Pardon my confusion here, then what is the issue?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I think I know the reason for the leakage when it's in standby mode. If the port goes into standby mode while configured as I2C, it's not a problem because the lines are open collector. But if it's left as SPI, because of the pull-ups, it's necessary to adopt and "inactive data level" (sometimes called a pad character) for the SPI as 1 (all high - 0xFF), and not the normally adopted 0 (all low - 0x00) otherwise there will be a path to ground and leakage.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Do you know how to resolve this issue?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yes, I explained how I think it could be solved. See my post for more detail, but it's to use 0xFF as the SPI pad character so the last bit sent is a 1.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You may want to consider deploying a SPST device like the one below. You can use a GPIO to control OE1 and OE2. Once these two pins are exerted, 1A and 1B are through, similarly for 2A and 2B. The pull-up resistors are still attached on the I2C bus (on the right). You may then connect the SPI flash on the 1A and 2A network. Let us know if this helps.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
OK. I understand now.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Is the pull resistor a requirement for SPI (not I2C) on BCM20736?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
No. He needs the pull-ups because he uses both SPI1 and I2C, and those 2 ports share the same pins.