public inbox for ecos-bugs@sourceware.org
help / color / mirror / Atom feed
From: bugzilla-daemon@bugs.ecos.sourceware.org
To: unassigned@bugs.ecos.sourceware.org
Subject: [Bug 1001639] New: Problems with i2c.cxx
Date: Tue, 31 Jul 2012 08:40:00 -0000	[thread overview]
Message-ID: <bug-1001639-777@http.bugs.ecos.sourceware.org/> (raw)

Please do not reply to this email. Use the web interface provided at:
http://bugs.ecos.sourceware.org/show_bug.cgi?id=1001639

           Summary: Problems with i2c.cxx
           Product: eCos
           Version: CVS
          Platform: All
        OS/Version: Other
            Status: UNCONFIRMED
          Severity: enhancement
          Priority: low
         Component: I2C
        AssignedTo: unassigned@bugs.ecos.sourceware.org
        ReportedBy: bernd.edlinger@hotmail.de
                CC: ecos-bugs@ecos.sourceware.org
             Class: Advice Request


Created an attachment (id=1852)
 --> (http://bugs.ecos.sourceware.org/attachment.cgi?id=1852)
proposed patch to fix this defect

There are several problems in the i2c bit-banging base class.

1. The phase position of output data is incorrect.

When the SDA bit is written, the SCL rises immediately afterwards.
The possbibly different rise times of both signals crate a race condition,
because the I2C slave needs to sample the SDA at the rising edge of SCL.

2. The clock stretching is needed for all data transfers, even the stop bit.

There have been problems due to missing bit-stretching
with SFP Compatible Fiber Optical Transceivers.

3. NAK of the last sent byte is ignored.

4. In the case of a I2C bus multiplexer device, the assertins
   in cyg_i2c_transaction_xxx are too rigorous.

If the I2C Memory is not directly connected, but thru a PCA9547 I2C bus
multiplexer, we have to instruct the PCA9547 to switch the I2C Bus,
before the I2C Memory can be accessed.

Of course the whole process should be a I2C transaction, but the assertions
in cyg_i2c_transaction_xxx force all communication only to one slave at a time.

-- 
Configure bugmail: http://bugs.ecos.sourceware.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


             reply	other threads:[~2012-07-31  8:40 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-31  8:40 bugzilla-daemon [this message]
2012-07-31  8:43 ` [Bug 1001639] " bugzilla-daemon
2012-07-31  8:40 [Bug 1001639] New: " bugzilla-daemon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-1001639-777@http.bugs.ecos.sourceware.org/ \
    --to=bugzilla-daemon@bugs.ecos.sourceware.org \
    --cc=unassigned@bugs.ecos.sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).