Hi-
>
> I'm currently in the process of creating a synthesizable Verilog
> F/S I2C slave, but have little experience with I2C in the real
> world.
>
> I'm reading the specs, and I feel I'm getting a pretty good
> understanding. If I'm getting this right, the SDA line will only
> change when the SCL line is low - except when the master is
> indicating a START or STOP command.
>
> So the question I have for those who have really done this is -
> in the real world, could a master (or series of masters) issue
> a STOP command followed by a START command - all on the same
> SCL high period. The latest I2C spec doesn't explain whether
> or not this could happen.
>
> This is key to me, since I'm trying to create an I2C slave that
> runs solely off the SDA and SCL signals. Whether or not I have
> to deal with START and STOP on the same SCL high period will
> impact the design choice I make.
>
AFAIK, that's normal when the bus is idle in the meantime.
The idle bus has all drivers loose and both lines up. When the master ends a transmission, the last thing is the STOP condition: SCL up, then SDA up. When the next transmission starts, the first thing is the START condition: SCL still up, SDA down.
HTH
Tauno Voipio tauno voipio @ iki fi