I2C 16bit Interface

Status
Not open for further replies.

i2c2k

New Member
hi!

i tried to control a 16-bit interface (MCP23016 by microchip) as an output
and i was successful (i wrote to the i2c-adress 01000000 port 0 and 1 of
the device) . but then i tried to read from a port configured as an input
(I2C-adress 01000011 when R/!W=1; port no 0 of the MCP23016), this
action was successful to. but after the I2C-acknowledge-clock goes low
the MCP23016 doesn't stop to hold SDA low. so it's clear, that every
further action fails, because the SDA line is always low.

i captured the waveforms with a programme i wrote for this purpose.
when you have experience with the MCP23016 please download the
attachment!
the programme examines the waveform and comments S (Start), P
(Pause) and also numerizes them (start no 1, pause, start no 2, pause, ...).
after a "S" the clock impulses are counted (0, 1, 2, ...)
after the 8th clock (7) an acknowledge ("A") is identified by the programme.

in my case after "S7" the i2c-adress is sent (01000011 --> read=1) and
the two bytes are sent back (both bytes are 0). but after the second
acknowledge-clock-impulse the SDA-line doesn't go HI again.
can anybody tell me why?

tank you!!!
 

Attachments

  • graph.gif
    78.6 KB · Views: 369
Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…