Why SPI Does Not Require Pull-Up Resistors

Why SPI Does Not Require Pull-Up Resistors

Hello everyone, I am Remember Cheng.I previously wrote an article:Why I2C Requires Pull-Up ResistorsI2C requires pull-up resistors due to its open-drain structure, which cannot output a high level, so external pull-up resistors must be added.When using SPI, we find that pull-up resistors are not needed. This is mainly because SPI typically uses a push-pull structure, … Read more

Why Should MCU I2C Pins Be Configured as Open Drain Outputs?

Why Should MCU I2C Pins Be Configured as Open Drain Outputs?

I2C (Inter-Integrated Circuit) is a widely used bus protocol for data communication between MCUs and many chips, including the commonly used EEPROM chips from the AT24 series. The I2C bus consists of a serial clock line (SCL) and a serial data line (SDA). When developing an MCU as an I2C master, the GPIO pins corresponding … Read more

Why Pull-Up Resistors are Necessary for I2C

Why Pull-Up Resistors are Necessary for I2C

When using the I2C bus, if the internal chip does not integrate pull-up resistors, two external pull-up resistors need to be added. The reason is that the I2C bus generally has an open-drain (OD) structure, where OD stands for Open Drain, meaning it is a leakage circuit, with Drain referring to the drain of the … Read more

Why Use Open-Drain Output and Pull-Up Resistors in I2C?

Why Use Open-Drain Output and Pull-Up Resistors in I2C?

Why do we need pull-up resistors in I2C? Because it uses open-drain output. Why is it open-drain output? The I2C protocol supports multiple master devices and multiple slave devices on a single bus. If push-pull output is used instead of open-drain output, it could lead to short circuits between master devices. Therefore, the bus generally … Read more

I2C Bus Design

I2C Bus Design

1. First, let’s discuss open-drain output and push-pull output First, watch the video explanation: The following video is from Guo Tianxiang Push-Pull Output Structure and Principle: A push-pull output circuit consists of two complementary transistors (usually an NPN transistor and a PNP transistor). In this structure, when the input is high, the upper transistor (like … Read more

Discussion on Embedded Hardware: Push-Pull, Open-Drain, High-Z State, and Pull-Up Resistors

Discussion on Embedded Hardware: Push-Pull, Open-Drain, High-Z State, and Pull-Up Resistors

In the vast knowledge system of embedded hardware, there are many discrete knowledge points that can easily be overlooked. Therefore, this article aims to organize these easily forgotten or misunderstood concepts for reference and learning. The focus will be on the learning of push-pull, open-drain, high-Z state, and pull-up resistors. Basics of GPIO The following … Read more

Explaining Why Pull-Up Resistors Are Added to I2C Signal Lines

Explaining Why Pull-Up Resistors Are Added to I2C Signal Lines

I2C is a two-wire serial communication bus, consisting of an SCL signal and an SDA signal. SCL is the clock signal sent from the master device, while SDA is the data signal, which is bidirectional, allowing devices to send and receive data through the SDA signal. When designing the I2C signal circuit, we add a … Read more