Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Does this SCL behavior seriously affect the I2C address setting/communication?

Status
Not open for further replies.

Sunnyback

Newbie level 2
Newbie level 2
Joined
Apr 26, 2018
Messages
2
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
22
Hi,
:thumbsup:
I'm using a TLV493D with a power separated by FET from microcontroller power, like Slave #1 in figure 14 of I2C interface note.

Sometimes my few TLVs return NCK and cannot recover even turn on/off by IO_0 pin.
A difference between the note and my project is SCL pin is high during 200us of after power on by getting IO_0 high.

Does this SCL behavior seriously affect the I2C address setting/communication?

I'm feeling strange since many of my TLVs are successfully work but this happens with few chips beside low frequency.

Here is the schematics:

TLV493D_Circuit20180427_.png

The timing of I2C bus:

20180426_35914079.png

Also, I tried getting SCL low during the configuration phase, however, some chips still return NCK sometimes.

35913212_20180427.png
 

Your measurements don't show how the slave device is locking the bus.

Why SDA is low in the waveforms? Is it intentionally pulled low by the master or irregularly by the slave?

A slave may pull down SDA if it's caught in the middle of a read operation. In this case, the slave should perform the recover procedure according to Philips/NXP AN10216-01.

I2C Bus recovery
• Typical case is when masters fails when doing a read operation in a slave
• SDA line is then non usable anymore because of the “Slave-Transmitter” mode.
• Methods to recover the SDA line are:
– Reset the slave device (assuming the device has a Reset pin)
– Use a bus recovery sequence to leave the “Slave-Transmitter” mode
• Bus recovery sequence is done as following:
1 -Send 9 clock pulses on SCL line
2 - Ask the master to keep SDA High until the “Slave-Transmitter” releases the SDA line to perform the ACK operation
3 -Keeping SDA High during the ACK means that the “Master-Receiver” does not acknowledge the previous byte receive
4 -The “Slave-Transmitter” then goes in an idle state
5 - The master then sends a STOP command initializing completely the bus
 

Hmm...that makes sense, thanks for the info, will check it out.
And i found "General Reset" command that sends 0x00 to SDA but Is this effective for all time in irrespective of internal state?
I mean, Is there any non-volatile area or register and no possibility to inhibit resetting?
 

Hi,

As I understand it this is not a full device Reset, it is just (method for) an I2C interface Reset....

Klaus
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top