This question is for anyone who has used I2C decode features on Agilent or Tektronix oscilloscopes, or anyone interested in how I2C address decode should be done. The two manufacturers handle I2C addresses differently and I wonder how users feel about the two approaches.
On Tektronix 'scopes, I2C addresses are entered as full 8-bit hex values, so the R/W' bit is included in the hex value. On Agilent scopes, I2C addresses are entered as 7-bit hex values, and the R/W' bit is tacked on as the letter R or W.
Obviously, both approaches work, but the Agilent approach strikes me as a little odd. Here is why: Most data sheets I've seen provide I2C addresses as 8-bit values with the R/W' bit included as the LSB. For example, Maxim refers to the DS1307 address as 1101000 followed by a R/W' bit of either 0 (for write) or 1 (for read). Put that all together and you get 11010000b = D0h for write and 11010001b = D1h for read. These are the values a user would enter into a Tektronix 'scope to detect and decode I2C communication with a DS1307. On the other hand, on an Agilent 'scope the I2C addresses for the DS1307 are entered as 68W and 68R. These values correspond to the 7-bit I2C address followed by an R or W to denote an 8th bit. Now, a hex digit should, to me, represent 4-bits of binary. Agilent seems to be using an octal digit followed by a hex digit, followed by a letter. I find that confusing and awkward. I asked an Agilent rep about why I2C was handled this way, but never got a response.
So, which approach do you prefer, and why?