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, allowing both high and low levels to be output, so external pull-up resistors are unnecessary.A push-pull circuit can be constructed using two transistors or two MOSFETs.1. Transistor Push-Pull CircuitThe following is a push-pull circuit built with transistors. When Vout outputs a high level, the current flows as shown in the diagram, supplying current to the load Rload.
When Vout outputs a low level, the current flows as shown in the diagram, pulling current from the load.
2. MOSFET Push-Pull CircuitA push-pull circuit constructed with one PMOS and one NMOS is shown in the diagram below (the left side is input, and the right side is output).
-
When the input is high, the PMOS is off, the NMOS is on, and the output is low.
-
When the input is low, the PMOS is on, the NMOS is off, and the output is high.
3. Difference Between Push-Pull and Open-DrainThe low-level driving capability of a push-pull circuit is the same as that of an OC/OD gate. The high-level driving capability is stronger than that of OC/OD because the push-pull circuit is directly connected to the power supply, while OC/OD requires pull-up resistors, and the high-level output capability depends on the size of the pull-up resistor.I have summarized the differences between push-pull and open-drain for your reference.
That’s all for today. I hope this information is helpful to everyone. See you in the next issue.
END
Source: Remember ChengCopyright belongs to the original author. If there is any infringement, please contact for deletion..▍Recommended ReadingReview of My Commonly Used Embedded Development ToolsSomeone used DeepSeek to write a serial port assistant, then…Chuan Zhihui has opened a branch and is hiring embedded developers with high salaries!→ Follow for more updates ←