From: the s. e. <sui...@gm...> - 2013-03-28 18:52:20
|
I'm attempting to use I2C on an overo board with the Tobi expansion. I can use the built in driver by opening up /dev/i2c-3, setting the slave address of my device, and then writing to it. Output on a scope and logic analyzer look fine. The problem is when I actually attach my other device (MSP430) to do the communication. Watching on the scope, it looks like the MSP430 is only pulling the lines about half way down (to around 1.0V). The spec sheet says the MSP430 is only capable of driving around 2mA on its pins, so I used an ammeter to measure the current required to drive the Overo's I2C lines to ground, and it came out to be 4.7mA. At 1.8V VCC, this equates to 380 ohm pull up resistors on the Overo. Does that sound right? That's way too strong for my MSP430 to be able to drive a logic 0 on I2C. I tried turning off the pull ups for those pins in u-boot's overo.h so that I could run my own external ones, but it didn't seem to make any difference, it still takes 4.7mA to drive a logic 0. Is there something I'm missing here? Are there physical resistors on the Tobi or on the Gumstix board that I can remove so I can run my own properly-sized external pull-ups? Thanks, Adam -- View this message in context: http://gumstix.8.n6.nabble.com/overo-I2C-pull-up-resistors-tp4967078.html Sent from the Gumstix mailing list archive at Nabble.com. |
From: the s. e. <sui...@gm...> - 2013-03-28 22:02:46
|
So I found and removed a pair of 1.5k pull up resistors for the I2C-3 lines on the Tobi, which helped. It now takes 3.7mA to drive the lines low instead of 4.7mA. The MSP430 is able to get the line lower than before, low enough now for the gumstix to register the clock stretch and stop pumping out data, but not low enough for it to register the ack. The weird thing is that with these resistors on the Tobi gone, I'm measuring no significant resistance between the I2C lines and 1.8v, yet once the gumstix is powered up the lines are being pulled high so hard that it takes 3.7mA to drive them to 0 (the equivalent of 490 ohm pull ups). I really wish Gumstix would release the schematics of their COMs so I could see what's going on here. -- View this message in context: http://gumstix.8.n6.nabble.com/overo-I2C-pull-up-resistors-tp4967078p4967079.html Sent from the Gumstix mailing list archive at Nabble.com. |
From: Nye, P. <Philip.Nye@AcuityBrands.com> - 2013-03-29 13:09:28
|
What voltage is your MSP430 operating at? and does it have dedicated I2C pins (which should handle the drive with no problem) or are you bit-banging on GPIOs? I2C specifies a minimum pull-down drive capability of 3mA which is higher than you quote for the MSP430 but lower than you are measuring. Check what else is on the I2C - on both sides of the PCA9306 - as there may well be multiple pull-ups at different points. Philip On 28 Mar 2013, at 22:02, the suicidal eggroll <sui...@gm...> wrote: > So I found and removed a pair of 1.5k pull up resistors for the I2C-3 lines > on the Tobi, which helped. It now takes 3.7mA to drive the lines low > instead of 4.7mA. The MSP430 is able to get the line lower than before, low > enough now for the gumstix to register the clock stretch and stop pumping > out data, but not low enough for it to register the ack. > > The weird thing is that with these resistors on the Tobi gone, I'm measuring > no significant resistance between the I2C lines and 1.8v, yet once the > gumstix is powered up the lines are being pulled high so hard that it takes > 3.7mA to drive them to 0 (the equivalent of 490 ohm pull ups). > > I really wish Gumstix would release the schematics of their COMs so I could > see what's going on here. > > > > -- > View this message in context: http://gumstix.8.n6.nabble.com/overo-I2C-pull-up-resistors-tp4967078p4967079.html > Sent from the Gumstix mailing list archive at Nabble.com. > > ------------------------------------------------------------------------------ > Own the Future-Intel(R) Level Up Game Demo Contest 2013 > Rise to greatness in Intel's independent game demo contest. Compete > for recognition, cash, and the chance to get your game on Steam. > $5K grand prize plus 10 genre and skill prizes. Submit your demo > by 6/6/13. http://altfarm.mediaplex.com/ad/ck/12124-176961-30367-2 > _______________________________________________ > gumstix-users mailing list > gum...@li... > https://lists.sourceforge.net/lists/listinfo/gumstix-users |
From: Martin S. <ma...@rp...> - 2013-03-28 22:49:30
|
Did you check the configuration of these I2C lines for internal pull-up resistors that might be enabled with your configuration? -Martin On 03/28/2013 03:02 PM, the suicidal eggroll wrote: > So I found and removed a pair of 1.5k pull up resistors for the I2C-3 lines > on the Tobi, which helped. It now takes 3.7mA to drive the lines low > instead of 4.7mA. The MSP430 is able to get the line lower than before, low > enough now for the gumstix to register the clock stretch and stop pumping > out data, but not low enough for it to register the ack. > > The weird thing is that with these resistors on the Tobi gone, I'm measuring > no significant resistance between the I2C lines and 1.8v, yet once the > gumstix is powered up the lines are being pulled high so hard that it takes > 3.7mA to drive them to 0 (the equivalent of 490 ohm pull ups). > > I really wish Gumstix would release the schematics of their COMs so I could > see what's going on here. > > > > -- > View this message in context: http://gumstix.8.n6.nabble.com/overo-I2C-pull-up-resistors-tp4967078p4967079.html > Sent from the Gumstix mailing list archive at Nabble.com. > > ------------------------------------------------------------------------------ > Own the Future-Intel(R) Level Up Game Demo Contest 2013 > Rise to greatness in Intel's independent game demo contest. Compete > for recognition, cash, and the chance to get your game on Steam. > $5K grand prize plus 10 genre and skill prizes. Submit your demo > by 6/6/13. http://altfarm.mediaplex.com/ad/ck/12124-176961-30367-2 > _______________________________________________ > gumstix-users mailing list > gum...@li... > https://lists.sourceforge.net/lists/listinfo/gumstix-users > |
From: Adam R. <sui...@gm...> - 2013-03-28 23:00:00
|
Disabling the pull ups in u-boot's overo.h file didn't make a difference. According to the TI spec sheet the internal pull up resistors are around 18k, which is weak enough to not be a problem. -Adam On 03/28/2013 04:33 PM, Martin Stoilov wrote: > Did you check the configuration of these I2C lines for internal pull-up resistors that might be enabled with your configuration? > > -Martin > > On 03/28/2013 03:02 PM, the suicidal eggroll wrote: >> So I found and removed a pair of 1.5k pull up resistors for the I2C-3 lines >> on the Tobi, which helped. It now takes 3.7mA to drive the lines low >> instead of 4.7mA. The MSP430 is able to get the line lower than before, low >> enough now for the gumstix to register the clock stretch and stop pumping >> out data, but not low enough for it to register the ack. >> >> The weird thing is that with these resistors on the Tobi gone, I'm measuring >> no significant resistance between the I2C lines and 1.8v, yet once the >> gumstix is powered up the lines are being pulled high so hard that it takes >> 3.7mA to drive them to 0 (the equivalent of 490 ohm pull ups). >> >> I really wish Gumstix would release the schematics of their COMs so I could >> see what's going on here. >> >> >> >> -- >> View this message in context: http://gumstix.8.n6.nabble.com/overo-I2C-pull-up-resistors-tp4967078p4967079.html >> Sent from the Gumstix mailing list archive at Nabble.com. >> >> ------------------------------------------------------------------------------ >> Own the Future-Intel(R) Level Up Game Demo Contest 2013 >> Rise to greatness in Intel's independent game demo contest. Compete >> for recognition, cash, and the chance to get your game on Steam. >> $5K grand prize plus 10 genre and skill prizes. Submit your demo >> by 6/6/13. http://altfarm.mediaplex.com/ad/ck/12124-176961-30367-2 >> _______________________________________________ >> gumstix-users mailing list >> gum...@li... >> https://lists.sourceforge.net/lists/listinfo/gumstix-users >> > > ------------------------------------------------------------------------------ > Own the Future-Intel(R) Level Up Game Demo Contest 2013 > Rise to greatness in Intel's independent game demo contest. Compete > for recognition, cash, and the chance to get your game on Steam. > $5K grand prize plus 10 genre and skill prizes. Submit your demo > by 6/6/13. http://altfarm.mediaplex.com/ad/ck/12124-176961-30367-2 > _______________________________________________ > gumstix-users mailing list > gum...@li... > https://lists.sourceforge.net/lists/listinfo/gumstix-users |
From: Andy W. <an...@si...> - 2013-03-29 12:29:19
|
The ATmel EEPROM is at I2C slave address 0x51 (top 7 bits) on my Tobis. Can you verify you're not fighting with it? The ATmel datasheet states drive currents in the 1.0-3.0 mA range. Regards, Andy On Thu, 2013-03-28 at 16:59 -0600, Adam Reynolds wrote: > Disabling the pull ups in u-boot's overo.h file didn't make a > difference. According to the TI spec sheet the internal pull up > resistors are around 18k, which is weak enough to not be a problem. > > -Adam > > On 03/28/2013 04:33 PM, Martin Stoilov wrote: > > Did you check the configuration of these I2C lines for internal pull-up resistors that might be enabled with your configuration? > > > > -Martin > > > > On 03/28/2013 03:02 PM, the suicidal eggroll wrote: > >> So I found and removed a pair of 1.5k pull up resistors for the I2C-3 lines > >> on the Tobi, which helped. It now takes 3.7mA to drive the lines low > >> instead of 4.7mA. The MSP430 is able to get the line lower than before, low > >> enough now for the gumstix to register the clock stretch and stop pumping > >> out data, but not low enough for it to register the ack. > >> > >> The weird thing is that with these resistors on the Tobi gone, I'm measuring > >> no significant resistance between the I2C lines and 1.8v, yet once the > >> gumstix is powered up the lines are being pulled high so hard that it takes > >> 3.7mA to drive them to 0 (the equivalent of 490 ohm pull ups). > >> > >> I really wish Gumstix would release the schematics of their COMs so I could > >> see what's going on here. > >> > >> > >> > >> -- > >> View this message in context: http://gumstix.8.n6.nabble.com/overo-I2C-pull-up-resistors-tp4967078p4967079.html > >> Sent from the Gumstix mailing list archive at Nabble.com. > >> > >> ------------------------------------------------------------------------------ > >> Own the Future-Intel(R) Level Up Game Demo Contest 2013 > >> Rise to greatness in Intel's independent game demo contest. Compete > >> for recognition, cash, and the chance to get your game on Steam. > >> $5K grand prize plus 10 genre and skill prizes. Submit your demo > >> by 6/6/13. http://altfarm.mediaplex.com/ad/ck/12124-176961-30367-2 > >> _______________________________________________ > >> gumstix-users mailing list > >> gum...@li... > >> https://lists.sourceforge.net/lists/listinfo/gumstix-users > >> > > > > ------------------------------------------------------------------------------ > > Own the Future-Intel(R) Level Up Game Demo Contest 2013 > > Rise to greatness in Intel's independent game demo contest. Compete > > for recognition, cash, and the chance to get your game on Steam. > > $5K grand prize plus 10 genre and skill prizes. Submit your demo > > by 6/6/13. http://altfarm.mediaplex.com/ad/ck/12124-176961-30367-2 > > _______________________________________________ > > gumstix-users mailing list > > gum...@li... > > https://lists.sourceforge.net/lists/listinfo/gumstix-users > > > ------------------------------------------------------------------------------ > Own the Future-Intel(R) Level Up Game Demo Contest 2013 > Rise to greatness in Intel's independent game demo contest. Compete > for recognition, cash, and the chance to get your game on Steam. > $5K grand prize plus 10 genre and skill prizes. Submit your demo > by 6/6/13. http://altfarm.mediaplex.com/ad/ck/12124-176961-30367-2 > _______________________________________________ > gumstix-users mailing list > gum...@li... > https://lists.sourceforge.net/lists/listinfo/gumstix-users |
From: Andy W. <an...@si...> - 2013-03-29 12:52:42
|
I just looked at the Tobi schematic again. There are "1K5" pull up resistors near the TI PCA9306 chip. Removing those pull-ups is probably a bad idea, unless you're also going to pull the PCA9306's EN pin to ground for Hi-Z (and forsake getting monitor EDID data). See the data sheet for the 9306. You may be fighting currents coming through the 9306. Regards, Andy On Thu, 2013-03-28 at 16:59 -0600, Adam Reynolds wrote: > Disabling the pull ups in u-boot's overo.h file didn't make a > difference. According to the TI spec sheet the internal pull up > resistors are around 18k, which is weak enough to not be a problem. > > -Adam > > On 03/28/2013 04:33 PM, Martin Stoilov wrote: > > Did you check the configuration of these I2C lines for internal pull-up resistors that might be enabled with your configuration? > > > > -Martin > > > > On 03/28/2013 03:02 PM, the suicidal eggroll wrote: > >> So I found and removed a pair of 1.5k pull up resistors for the I2C-3 lines > >> on the Tobi, which helped. It now takes 3.7mA to drive the lines low > >> instead of 4.7mA. The MSP430 is able to get the line lower than before, low > >> enough now for the gumstix to register the clock stretch and stop pumping > >> out data, but not low enough for it to register the ack. > >> > >> The weird thing is that with these resistors on the Tobi gone, I'm measuring > >> no significant resistance between the I2C lines and 1.8v, yet once the > >> gumstix is powered up the lines are being pulled high so hard that it takes > >> 3.7mA to drive them to 0 (the equivalent of 490 ohm pull ups). > >> > >> I really wish Gumstix would release the schematics of their COMs so I could > >> see what's going on here. > >> > >> > >> > >> -- > >> View this message in context: http://gumstix.8.n6.nabble.com/overo-I2C-pull-up-resistors-tp4967078p4967079.html > >> Sent from the Gumstix mailing list archive at Nabble.com. > >> > >> ------------------------------------------------------------------------------ > >> Own the Future-Intel(R) Level Up Game Demo Contest 2013 > >> Rise to greatness in Intel's independent game demo contest. Compete > >> for recognition, cash, and the chance to get your game on Steam. > >> $5K grand prize plus 10 genre and skill prizes. Submit your demo > >> by 6/6/13. http://altfarm.mediaplex.com/ad/ck/12124-176961-30367-2 > >> _______________________________________________ > >> gumstix-users mailing list > >> gum...@li... > >> https://lists.sourceforge.net/lists/listinfo/gumstix-users > >> > > > > ------------------------------------------------------------------------------ > > Own the Future-Intel(R) Level Up Game Demo Contest 2013 > > Rise to greatness in Intel's independent game demo contest. Compete > > for recognition, cash, and the chance to get your game on Steam. > > $5K grand prize plus 10 genre and skill prizes. Submit your demo > > by 6/6/13. http://altfarm.mediaplex.com/ad/ck/12124-176961-30367-2 > > _______________________________________________ > > gumstix-users mailing list > > gum...@li... > > https://lists.sourceforge.net/lists/listinfo/gumstix-users > > > ------------------------------------------------------------------------------ > Own the Future-Intel(R) Level Up Game Demo Contest 2013 > Rise to greatness in Intel's independent game demo contest. Compete > for recognition, cash, and the chance to get your game on Steam. > $5K grand prize plus 10 genre and skill prizes. Submit your demo > by 6/6/13. http://altfarm.mediaplex.com/ad/ck/12124-176961-30367-2 > _______________________________________________ > gumstix-users mailing list > gum...@li... > https://lists.sourceforge.net/lists/listinfo/gumstix-users |
From: the s. e. <sui...@gm...> - 2013-03-29 15:04:34
|
SUCCESS!!! The problem was indeed the PCA9306. With or without the 1.5k pull ups on the 1.8v side, it appears the PCA9306 was actively driving both SCL and SDA high (I thought that was explicitly against I2C protocol?). I will never be using HDMI for this application, so I just pulled the PCA9306 off the board entirely. As soon as I did the problem disappeared, and with some external pull ups everything is working as expected. I'm a little bothered by the behavior of this PCA9306, and surprised nobody has run into this before, though I suppose it wouldn't be a problem with other expansion boards that don't have HDMI. To answer the outstanding questions: Andy - There is no I2C address conflict. I'm currently using 0x48 for my MSP430, but have tried addresses all over the place since I initially thought it was an I2C communication breakdown, not a pull-up problem, that was causing my issues. Philip - The MSP430 is running on 1.8v and has dedicated SDA and SCL pins. I originally had it running on 3.3v with a FET-based bi-directional level converter, but it was having the same problems pulling SDA and SCL down to ground on the Gumstix side. -- View this message in context: http://gumstix.8.n6.nabble.com/overo-I2C-pull-up-resistors-tp4967078p4967086.html Sent from the Gumstix mailing list archive at Nabble.com. |