2 Oct 2016
New
The I2C Bus: Hardware Implementation Details
A
defining characteristic of I2C is that every device on the bus must
connect to both the clock signal (abbreviated SCL) and the data signal
(abbreviated SDA) via open-drain (or open-collector) output drivers.
Let’s take a look at what this actually means. First consider the
typical CMOS (inverting) output stage:
The open-drain output
driver is by no means the standard configuration among digital ICs, and
with good reason: it comes with some significant disadvantages. One of
these disadvantages becomes apparent when we recall that capacitance is
everywhere. Voltage changes are constrained by the time required to
charge or discharge the capacitance associated with a particular node.
The trouble is, the pull-up resistors on SCL and SDA limit the amount of
charging current—in other words, we have much more R in the RC time
constant that governs the transition from logic low to logic high.
At
this point it should be apparent that the pull-up resistance imposes
limitations on the maximum clock frequency of a particular I2C bus.
Actually, both resistance and capacitance are factors here, though we
have little control over capacitance because it is determined primarily
by how many devices are on the bus and the nature of the
interconnections between these devices. This leads to the enduring
question, “What value of pull-up resistor should I use?” The trade-off
is speed vs. power dissipation: lower resistance reduces the RC time
constant but increases the amount of current that flows from VDD to ground (through the pull-up resistor) whenever SCL or SDA is logic low.
About SOSTENES LEKULE JR
Hi, I`m Sostenes, Electrical Technician and PLC`S Programmer.
Everyday I`m exploring the world of Electrical to find better solution for Automation. I believe everyday can become a Electrician with the right learning materials.
Newer Article
How to Build a Robot - Testing Hardware
Older Article
Understanding Arduino UNO Hardware Design
The I2C Bus: Hardware Implementation DetailsOct 02, 2016
Understanding Arduino UNO Hardware DesignOct 02, 2016
Tags
HARDWARE
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment