Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
I²C
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
===Message protocols=== I<sup>2</sup>C defines basic types of transactions, each of which begins with a START and ends with a STOP: * Single message where a controller (master) writes data to a target (slave). * Single message where a controller (master) reads data from a target (slave). * Combined format, where a controller (master) issues at least two reads or writes to one or more targets (slaves). In a combined transaction, each read or write begins with a START and the target address. The START conditions after the first are also called ''repeated START'' bits. Repeated STARTs are not preceded by STOP conditions, which is how targets know that the next message is part of the same transaction. Any given target will only respond to certain messages, as specified in its product documentation. Pure I<sup>2</sup>C systems support arbitrary message structures. [[SMBus]] is restricted to nine of those structures, such as ''read word N'' and ''write word N'', involving a single target. [[PMBus]] extends SMBus with a ''Group'' protocol, allowing multiple such SMBus transactions to be sent in one combined message. The terminating STOP indicates when those grouped actions should take effect. For example, one PMBus operation might reconfigure three power supplies (using three different I<sup>2</sup>C target addresses), and their new configurations would take effect at the same time: when they receive that STOP. With only a few exceptions, neither I<sup>2</sup>C nor SMBus define message semantics, such as the meaning of data bytes in messages. Message semantics are otherwise product-specific. Those exceptions include messages addressed to the I<sup>2</sup>C ''general call'' address (0x00) or to the SMBus ''Alert Response Address''; and messages involved in the SMBus ''Address Resolution Protocol'' (ARP) for dynamic address allocation and management. In practice, most targets adopt request-response control models, where one or more bytes following a write command are treated as a command or address. Those bytes determine how subsequent written bytes are treated or how the target responds on subsequent reads. Most SMBus operations involve single-byte commands.
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
I²C
(section)
Add topic