Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

I2C read does not work on Artik053 #322

Closed
tadziopazur opened this issue Jul 27, 2017 · 5 comments
Closed

I2C read does not work on Artik053 #322

tadziopazur opened this issue Jul 27, 2017 · 5 comments

Comments

@tadziopazur
Copy link

I have some questions regarding I2C implementation on Artik.

  1. Why does read fail to generate a correct I2C transaction? What can I do to fix it?
  2. The i2c driver does not finish the transaction when there is a write of 1 (one) byte. Why?
    How are devices that do not have registers (i.e.: pcf8574) supposed to be handled?
  3. The I2C signals driven by artik053 devkit rise slowly. Is it relevant to the other observed behavior?

Details follow.

First, the i2c_read did not work for me: artik failed to put a transaction onto the bus (not even START has been generated, just three stray SCL pulses -- please note SDA is high all the time). Scope diagram:
short_read

Write works somewhat better, in the sense that there are correct transactions (with an exception) issued onto the bus:
i2c_write

This is what my test suite looks like:
scope_artik

BTW artik devboard I2C output rises slowly, at about 200ns (at 400kHz bus clock) to reach TTL 1. I wonder if this is of any relevance (scope diagram attached):
sharks_n_sub

@pmarcinkiew
Copy link
Contributor

Please double check if your probe compensation is valid.

tektronix_probe_compensation

See Tektronix manual for reference:
https://neurophysics.ucsd.edu/Manuals/Tektronix/TDS%201000B%20and%20TDS%202000B%20Manual.pdf

@tadziopazur
Copy link
Author

The probe is rated at 200MHz, 10MOhm, <12pF. I checked it at the 1kHz supplied by the scope, it looked good.
I think the signal (400kHz square waveform) is within the operating range of the scope (+probes).
Still I am not sure why these slopes rise so slowly, nor do I know if that affects the I2C communication.
It does not look like the communication is affected (at least not with Arduino Uno on the other side).

@rzr
Copy link
Contributor

rzr commented Mar 7, 2018

i2c worked for me on ARTIK055S (using IoT.js) I can share more details if it helps.

@rzr
Copy link
Contributor

rzr commented Aug 9, 2018

Mistake I was confused you're talking about I2C I think I used ADC.

rzr added a commit to TizenTeam/TizenRT that referenced this issue Aug 9, 2018
Observed on ARTIK055s:

    log: adc: update: 3920
    log: adc: update: 0xf50
    log: adc: update: 0b111101010000
    log: adc: update: 95%

    log: adc: update: 1779
    log: adc: update: 0x6f3
    log: adc: update: 0b011011110011
    log: adc: update: 43%

Relate-to: Samsung#322
Change-Id: Ib37c5209373d7bb93b186826a04c28696bb895e3
Signed-off-by: Philippe Coval <p.coval@samsung.com>
@rzr
Copy link
Contributor

rzr commented Nov 15, 2018

Does i2ctool detect any item on bus ?

You need to rebase on it to use it:
#2439 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants