diff --git a/drivers/include/periph/i2c.h b/drivers/include/periph/i2c.h index 34684da222..3aa3cf3401 100644 --- a/drivers/include/periph/i2c.h +++ b/drivers/include/periph/i2c.h @@ -15,7 +15,29 @@ * @file * @brief Low-level I2C peripheral driver interface definition * - * @note The current version of this interface only supports the 7-bit addressing mode. + * The I2C signal lines SDA/SCL need external pull-up resistors which connect + * the lines to the positive voltage supply Vcc. The minimum and maximum + * resistances are computed by: + * \f{eqnarray*}{ + * R_{min} &=& \frac{V_{DD} - V_{OL(max)}} {I_{OL}}\\ + * R_{max} &=& \frac{t_r} {(0.8473 \cdot C_b)} + * \f}
+ * where:
+ * \f$ V_{DD} =\f$ Supply voltage, + * \f$ V_{OL(max)} =\f$ Low level voltage, + * \f$ I_{OL} =\f$ Low level output current, + * \f$ t_r =\f$ Signal rise time, + * \f$ C_b =\f$ Bus capacitance
+ *
The pull-up resistors depend on the bus speed. Some typical values are:
+ * Normal mode: 10kΩ
+ * Fast mode: 2kΩ
+ * Fast plus mode: 2kΩ + * + * For more details refer to section 7.1 in:
+ * http://www.nxp.com/documents/user_manual/UM10204.pdf + * + * @note The current version of this interface only supports the + 7-bit addressing mode. * * @author Hauke Petersen */