• Join
  • Sign In with my.TI Login
Texas Instruments
  • Products
  • Applications
  • Tools & Software
  • Support & Community
  • Sample & Buy
  • About TI
Sample & Purchase Cart Sample & Purchase Cart
  • Search
  • Advanced
TI E2E™ Community
  • Support Forums
  • Blogs
  • Groups
  • Videos
  • 简体中文
  • More ...
TI Home » TI E2E Community » Support Forums » Power Management » Digital Power » Digital Power Forum » UCD9240/UCD9248 I2C problems
Share
Digital Power
  • Forum
  • Files
Options
  • Subscribe via RSS

Forums

UCD9240/UCD9248 I2C problems

This question is not answered
Guenter Roeck
Posted by Guenter Roeck
on Jan 27 2011 15:32 PM
Prodigy110 points

Hi,

 

I am writing a Linux driver for various PMBus devices. To test the driver with UCD92xx, I built Schmartboard based test modules for both ucd9240 and ucd9248.

With both modules, I see the same problems. First (not surprisingly, maybe), the voltage on BPCap is around 1.7V. It doesn't get better no matter what I do. I tried bypass capacitors all between .1uF and 1uF on different locations of the board with no avail.

I might be able to live with that (it is just for testing anyway), but there is a second, more severe problem: I2C commands send to the chips sometimes trigger a NACK response. This happens with both chips, and for I2C read and write commands. I tried changing the I2C frequency; when doing that, I noticed that the problem gets worse if I select 400kHz instead of 100kHz. Running at lower frequencies than 100kHz doesn't seem to make a difference. The situation gets worse if I enable more than one rail.

Is the I2C problem possibly caused by the BPCap voltage problem, or is there possibly some other reason ?

If I can not find a fix, I noticed that an evaluation module for ucd9240 was mentioned in another post. Is this possibly still available, and how can I get it ?

Thanks,

Guenter

ucd9240 ucd9248
Report Abuse
  • Reply
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
All Replies
  • EDGAR BROWN
    Posted by EDGAR BROWN
    on Jan 31 2011 11:46 AM
    Intellectual450 points

    You seem to have noise being coupled between the power rails and the I2C bus (e.g., signal grounds). Are the return currents on these two power systems kept separate? I.e., power supply ground to the power modules and signal ground to the UCD and power modules.

    Given that you are using a Schmartboard, you should probably solder a decoupling capacitor directly across the UCD analog supply pins as closeto the IC as possible, to solve the reference stability issue.

    I know I2C to be finicky in many applications (especially if a length of cable is involved), mainly due to its reliance on slow clock transitions. Depending on your specific hardware, you could improve I2C behavior somewhat by adding a small resistor in series with the clock line or reducing the size of the pull-ups.

    grounding scheme
    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Guenter Roeck
    Posted by Guenter Roeck
    on Feb 02 2011 09:23 AM
    Prodigy110 points

    Hi,

     

    thanks a lot for the hints.

    Oddly enough, I don't even have anything connected to the power rails at this time. Plus, I see exactly the same problem with a UCD90124EVM, so the problem doesn't seem to be caused by my prototype setup.

    The I2C line already has a small resistor in place on the master side. I'll try to add another one on the slave side to see if it makes a difference. Reducing pull-ups did not help, changing various decoupling capacitors didn't help either, nor did changing the I2C cables or using a lab power supply instead of the power from the i2c adapter. Somehow the I2C master adapter and the UCD series don't seem to like each other; so far I don't have any problems connecting to other chips.

    I am going to connect a scope and logic analyzer to the i2c bus to see if there is anything odd going on.

     

    PMBus ucd9240 ucd9248
    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Mark Hagen
    Posted by Mark Hagen
    on Feb 02 2011 10:21 AM
    Intellectual1755 points

    Guenter,
    I think you may be fighting two issues here.  1.7V on the 1.9V core voltage is definitely not a good sign.  As Edgar points out, the UCD92xx devices have proved to be sensitive to the connection to decoupling on the 3.3V and 1.9V (BPcap) pins and ground pins.  Ideally, there should be no vias between the caps and the pins.  If this is contributing to the behavior you are seeing, you might try adding a 1.0uF MLCC cap to the V33A pin.  

    However, the fact that you are seeing the same issue on the UCD90124 EVM suggests that there is also some signal integrety issues on the I2C clock and data.  Your plan to hook up a scope and look at the signals is a good one.    

     

    -Mark

    PMBus
    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Guenter Roeck
    Posted by Guenter Roeck
    on Feb 02 2011 20:45 PM
    Prodigy110 points

    Mark,

    I agree.

    On the I2C side, I think I know what the problem is. I noticed that for ACKs sent from the TI chip, the setup time from SDA low to SCL high is sometimes very low, in the range of 250 ns. This doesn't happen all the time - most of the time the setup time is around 4-5 uS. It is also independent of the I2C clock speed - the setup time is exactly the same if I choose a lower speed. But whenever it happens, the I2C adapter reports NACK even though the TI chip sent ACK.. Looks like the I2C adapter triggers on the rising edge of SCL and doesn't catch the correct state of SDA. No idea if there is anything I can do about that, other than by trying to use a different I2C adapter. Obviously it won't help to reduce the clock rate since that does not influence the setup time.

    Odd, though, that this only seems to happen after I started to configure the chip.

     

    PMBus ucd9240 ucd9248
    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Mark Hagen
    Posted by Mark Hagen
    on Feb 03 2011 10:00 AM
    Intellectual1755 points

     

    Guenter,
    SMBus and PMBus both incorporate clock stretching into the interface.  That is, the device holds the clock low while it evaluates the command before clocking in the ACK/NACK.  This clock hold-off varies bacause the device takes different amounts of time to evaluate different commands. 

    Users of the device that have creating their own I2C interface in an FPGA and not taken SMBus/PMBus clock stretching into account have had probems.  Section 4.3 of the SMBus spec  (on which PMBus is built) goes into detail on this topic. 

    -Mark

    PMBus clock stretch
    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Guenter Roeck
    Posted by Guenter Roeck
    on Feb 03 2011 11:06 AM
    Prodigy110 points

    Mark,

    yes, I understand that clock stretching is used, and I can see it on the logic analyzer. Problem is that the setup time from data low to clock high is sometimes very low, about 250-300 nS. If that happens, my i2c test adapter interprets the result as NACK.

    I'll try to create some screenshots and provide pointers to it.

     

    PMBus UCD9248 UCD92xx UCD9240
    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Guenter Roeck
    Posted by Guenter Roeck
    on Feb 03 2011 11:46 AM
    Prodigy110 points

    I copied a set of logic analyzer screen shots to http://roeck-us.net/captures/.

     

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Guenter Roeck
    Posted by Guenter Roeck
    on Feb 10 2011 23:31 PM
    Prodigy110 points

    I was able to capture data from an oscilloscope as a .CSV file. Same location as above, file names TSO00001.CSV and TSO00001.xls. The .xls file includes two charts with the failing access.

    Signal looks clean enough to me, only if I interpret the data correctly, data setup time (data low to clock high) is just about 120nS, which might possibly explain the error. Any idea what I could do about that ?

     

    PMBus UCD9248 UCD9240 UCD92x
    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Mark Hagen
    Posted by Mark Hagen
    on Feb 14 2011 14:26 PM
    Intellectual1755 points

    Guenter,
    I've got access to the screen shots.  I'm discussing with other engineers here at TI.

    -Mark

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Guenter Roeck
    Posted by Guenter Roeck
    on Feb 14 2011 14:37 PM
    Prodigy110 points

    Mark,

    sounds good.If you need better data from the scope, please let me know and I'll try. I am still learning how to use it.

    I am in touch with the vendor of the I2C master adapter; they ordered some of the affected chips to try themselves. I also ordered another I2C adapter to see if it makes a difference. I'll post an update here if I have any news.

    Thanks,

    Guenter

     

    PMBus UCD9248 UCD9240
    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Karl Northrup
    Posted by Karl Northrup
    on Feb 15 2011 16:10 PM
    Prodigy170 points

    Guenter,

    Mark Hagen and I have looked at the waveforms you attached and did not see any glaring issues.  What size pull-up resistor are you using on the PMBus Address and Data lines?  The USB to PMBus adapter we use in our testing and development has 2.2kOhm resistors.

     

    Regards,

    Karl Northrup

    Texas Instruments

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Guenter Roeck
    Posted by Guenter Roeck
    on Feb 15 2011 16:26 PM
    Prodigy110 points

    I2C adapter side pullup is 2.2k. I also tried various pull-up resistor values on the chip side, as well as pull-ups on both ends. I also tried with and without series resistors on the chip side.

    Unfortunately, that does not make a difference. Behavior and waveform is always the same. Once in a while the setup time (data low to clock high) is very low, and the access will fail.

    Thanks,

    Guenter

     

     

    PMBus UCD9248 UCD9240
    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
TI E2E™ Community
  • Support Forums
  • Blogs
  • Videos
  • Groups
  • Site Support & Feedback
  • Settings
TI E2E™ Community Groups
  • TI University Program
  • Make the Switch
  • Microcontroller Projects
  • Motor Drive & Control
Other Communities
  • Deyisupport
  • Designsomething.org
  • beagleboard.org
  • TI on Element 14
  • TI on TechXchangeSM
Other Technical & Support Resources
  • WEBENCH® Design Center
  • Product Information Centers
  • Technical Documents
  • TI Design Network
  • TI Technical Articles
  • TI Training

All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.

Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms of Use of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms of Use of this site. TI, its suppliers and providers of content reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.

Follow Us Texas Instruments on Facebook Texas Instruments on Twitter Texas Instruments on LinkedIn Texas Instruments on Google+
TI Worldwide | Contact Us | my.TI Login | Site Map | Corporate Citizenship | mobile m.ti.com (Mobile Version)

TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs and
embedded processors, along with software, tools and the industry’s largest sales/support staff.

© Copyright 1995-2013 Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy Policy | Terms of Use