Allicdata electronics

Electronic components, capacitors, resistors, diodes, LED lights, etc.

Question about the value of the pull-up resistor

Record a problem encountered here. The cause of the problem is that the value of the pull-up resistor is too large, causing the level of the drive IO port to be abnormal. Reduce the pull-up resistor value and the circuit returns to normal.

Application background:
The wireless module configures the working mode by detecting the M1 and M0 levels. When M1 and M0 are changed, the wireless module starts to switch the working mode. At this time, the STATUS status indicates that the pin outputs a low level until the working mode is switched, the STATUS pin. The output is high to inform the microcontroller that the wireless module is ready.


Symptom:
The two GPIO ports of the MCU are configured as output direction, open drain open drain mode, and external pull-up resistor 100k.
These two GPIOs are directly connected to the M1, M0 of the wireless module, which is the mode configuration input pin of the wireless module.
When the MCU configures the wireless module to receive mode through M1=0, M0=0, the STATUS output pin of the wireless module can be low first and then high, and can work normally.
When the MCU is configured to transmit the wireless module through M1=1, M0=0, the STATUS output pin of the wireless module cannot maintain a stable level, but the pulse output: low level 800ms, high level 200ms, (time is not Actual measurement, time is approximated by the human eye. This means that the wireless module cannot stably configure the working mode.

Solutions:
To reduce the impact variable, I soldered the stand-alone wireless module to a simple minimum system that provides power and level settings.
It should be noted that at this time, I connect M1 and M0 directly to the positive and negative poles of the power supply instead of setting the level through the pull-up resistor, so that the circuit can work normally and the transmission mode is successfully configured.
(M1, M0 is directly connected to the positive and negative poles of the power supply because the individual is too lazy to solder 2 pull-up resistors). Therefore, it is thought that the pull-up resistor may have an effect. After the 100K resistor is changed to a 10K resistor, the original product circuit can also be configured to transmit the working mode. The problem is solved.
In addition, the pull-up resistor value of 100K is designed to reduce the current consumption. Since the two GPIOs do not require speed, the pull-up resistor value is increased.

Inspired:
When designing the circuit, verify the output drive capability, and input the drive current.

The internal reasons for this issue have not been thoroughly explored. You are welcome to come up with ideas.

Allicdata electronics