Here's the problem, and it should be an easy yes or no answer to what I'm trying to do.
There's an arrangement of MCU's working in parallel, and they all draw power from the same battery, so power use is critical. In this arrangement, there's a master MCU that receives UART comms from the other slave MCU's. This is possible because the other MCU's UART Tx outputs are configured as open drain, so all they do is pull the bus line down when it's time to transmit information, while the bus itself is being pulled up by a single 100k resistor. Never mind the communications protocol being used.
The aforementioned setup works well at low frequencies (say about 120 bauds). But there are moments during the circuit's operation in which the working frequency switches to a much higher value. About a thousand fold in fact, or 115,200 bauds to be precise. Communication at this speed between the master MCU and slaves is not a problem, since they're all physically close together. The problem is that I found that a stronger pull up is needed, or otherwise the bus line won't have enough time to raise back up when the next bit is being transmitted at this speed. I know that because I've already checked it with my oscilloscope. In fact, if I change the 100k pull up resistor for a 10k one, things start working acceptably well.
But the problem is that I'd like to keep power draw as low as possible. And UART comms are used very frequently. So the value of the pull up resistor is important. More than 99% of the time the circuit works at a low frequency. And every once in a while it has to work at a high frequency. So using a fixed 10k pull up would be a huge waste of energy.
My question is, would the circuit shown below do the trick? ... R1 is the fixed weak pull up resistor used when working at low frequencies. whereas I intend to activate the strong pull up resistor (R2) on demand when the working frequency goes high using a logic level nFet (M1) ... but M1's source pin is not connected to ground, but is rather being pulled up by R1 until one of the slaves pulls it down... would R2 come into action then and act as a stronger pull up?
There's an arrangement of MCU's working in parallel, and they all draw power from the same battery, so power use is critical. In this arrangement, there's a master MCU that receives UART comms from the other slave MCU's. This is possible because the other MCU's UART Tx outputs are configured as open drain, so all they do is pull the bus line down when it's time to transmit information, while the bus itself is being pulled up by a single 100k resistor. Never mind the communications protocol being used.
The aforementioned setup works well at low frequencies (say about 120 bauds). But there are moments during the circuit's operation in which the working frequency switches to a much higher value. About a thousand fold in fact, or 115,200 bauds to be precise. Communication at this speed between the master MCU and slaves is not a problem, since they're all physically close together. The problem is that I found that a stronger pull up is needed, or otherwise the bus line won't have enough time to raise back up when the next bit is being transmitted at this speed. I know that because I've already checked it with my oscilloscope. In fact, if I change the 100k pull up resistor for a 10k one, things start working acceptably well.
But the problem is that I'd like to keep power draw as low as possible. And UART comms are used very frequently. So the value of the pull up resistor is important. More than 99% of the time the circuit works at a low frequency. And every once in a while it has to work at a high frequency. So using a fixed 10k pull up would be a huge waste of energy.
My question is, would the circuit shown below do the trick? ... R1 is the fixed weak pull up resistor used when working at low frequencies. whereas I intend to activate the strong pull up resistor (R2) on demand when the working frequency goes high using a logic level nFet (M1) ... but M1's source pin is not connected to ground, but is rather being pulled up by R1 until one of the slaves pulls it down... would R2 come into action then and act as a stronger pull up?