7
\$\begingroup\$

I'm reading a datasheets for a component with I2C interfaces. I can recall the same for datasheets of other components in the past.

In these datasheets they include a full description of the I2C protocol, start bits, address, R/W bit, data bits, ACK and so on.

Why doesn't the datasheet simply states that it is I2C and then document the higher levels specific to the device? This could reduce the document from 4 pages to 4 paragraphs.

I'm not too familiar with I2C so I can't tell if what is documented follows I2C or deviates from the spec.

Assuming the documentation states that the device is I2C compliant, is it safe to assume that although they go into full detail that what they document is I2C?

\$\endgroup\$
  • 12
    \$\begingroup\$ Compare the datasheets of two vendors, and you will certainly find differences at places where you did not expect them. They are not documenting I²C, they are documenting their interpretation of it. \$\endgroup\$ – PlasmaHH Jun 21 '16 at 12:23
  • 6
    \$\begingroup\$ Believe @PlasmaHH. Once you find a component "I2C compatible" with no drawings, RUN!, Because it won't be. \$\endgroup\$ – Asmyldof Jun 21 '16 at 12:25
  • 1
    \$\begingroup\$ Just as a note to augment the comment by @Asmyldof, the same applies to SPI. \$\endgroup\$ – Peter Smith Jun 21 '16 at 12:37
  • 3
    \$\begingroup\$ I2C was a proprietary bus (Philips Semiconductor) and required licensing fees until 2006. I believe many got around this by not calling it I2C and defined their particular use of the protocol in the datasheets. Also there are variations in the use of the bus (such as Intel's SMBus which is a subset of I2C). See also: Wikipedia I2C \$\endgroup\$ – Tut Jun 21 '16 at 12:39
  • 1
    \$\begingroup\$ @PeterSmith Oh, yes it does (as well as RS232, RS485, IrDA, etc)! "This device is SPI compatible" --> buy --> test --> 'OOOH! 3-wire SPI where the data is in and output? So... not SPI compatible then.' \$\endgroup\$ – Asmyldof Jun 21 '16 at 12:41
2
\$\begingroup\$

Datasheet is typically written by a team of engineers.

Design Engineer writes how the IC works, guided by the project definition (an internal, company confidential document). Those confidential in-house product specifications always include diagrams of the relevant interface bus (such as SPI or MIPI whatever), because that's the document that guides the actual IC development. As a result, this information (as interpreted by the design team) is included in the datasheet.

Test Engineer writes how the IC is tested, especially the big Electrical Characteristics table -- these Minimum / Maximum values are what determines whether an individual IC is shipped or scrapped.

Applications Engineer or Product Engineer tests out the IC from the outside, as a customer would, and also collects the typical performance data that appears in the various "scope shots" and other plots. The Apps team also does bench testing of the IC against what the datasheet claims. If the IC does not perform to spec, then the Apps team can reject the IC design. The idea is that the datasheet should show the customer everything relevant to what the part actually does.

You mention I2C specifically; note that the I2C standard itself has gone through several revisions, first increasing the speed, then adding more complexity to support even more speed. And subsequently I2C was used as the basis for the SMBus and PMBus standards. So it's very risky for a datasheet to just reference "the standard", since the standard can change. If the vendor released an IC that was compatible with I2C (version 1.0) and then turned out not to be compatible with I2C version 2.0, then that vendor has a serious legal liability if they did not further capture the actual guaranteed performance in their own datasheet.

\$\endgroup\$
1
\$\begingroup\$

Stealing comment from @Tut, please upvote their answer if they decide to post one.

I2C was a proprietary bus (Philips Semiconductor) and required licensing fees until 2006. I believe many got around this by not calling it I2C and defined their particular use of the protocol in the datasheets. Also there are variations in the use of the bus (such as Intel's SMBus which is a subset of I2C).

See also: Wikipedia I2C

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.