resistor btwn output pin and input pin to limit current thru protection diodes

According to page 4 of this doc from Amtel, the input protection diodes shouldn't conduct more than 1 mA. In broken English: "It is not recommended that the clamping diodes are conducting more than maximum 1 mA"

Also, in this discussion on resistors in series between an output and an input, MarkT said:

MarkT: When you link (an output and an input) with a current-limiting resistor then you introduce low-pass filtering (the R combines with the stray capacitance and the input-capacitange of the pin).

For fast signals that means you need quite a small resistor, such as 220 ohms, for slower signals 2k2 or 10k might be fine.

If you have two devices with separate power such that one may be powered up when the other is down you have to worry about back-powering one device from the other, and the consequent risk of CMOS-latch-up. In this circumstance current is forced through the input protection diodes, and too much is a one way to trigger latch-up mode (which is bad news).

I am using a HX711 with a barebones 328p-pu. The 328 is powered by a 78SR-5/2-C Murata DC/DC converter. The HX711 is driven by a Maxim MAX6250 voltage reference. Grounds connected of course. A 24v wall wart powers both the 78SR and the MAX.

At power on, the MAX6250 "starts up" faster than the 78SR and for about 25 ms the data output pin of the HX711 is about 3 volts higher than the 328's Vcc.

So, I will be very briefly back-powering the 328 through the 328 input pin and its protection diode. I don't know how much current the data output pin of the HX711 is capable of supplying, but to be on the safe side...

...I am thinking of putting a 3300 ohm resistor between the HX711 output and the 328 input, to limit the current to less than 1 mA. Or, 2700 ohms, since there will be a 0.7 v (?) drop across the protection diode [(3 - 0.7) / 0.001 = 2300...say 2700]

Would appreciate your thoughts on this. Specifically, is a resistor necessary here or a good idea? If so, would a different value be a better choice?

Thank you, Dave

Is PD_SCK floating at power up? Or held low?

Sounds sensible. Normally this type of startup problem is solved by putting a RC network on the "enable" or "reset" lines of the device you want to start later. However it seems the MAX6250 doesn't have a convenient "enable" or "shutdown" pin that could be used for this.

DaveEvans: The HX711 is driven by a Maxim MAX6250 voltage reference.

Please explain further. Not sure why you use a reference. The HX711 has an onboard bandgap and regulated excitation supply.

The HX711 seems to have a digital part (DVDD) and an analogue part (VSUP). From the datasheet: "Digital power supply (DVDD) should be the same power supply as the MCU power supply." Leo..

[quote author=Coding Badly date=1452756243 link=msg=2564504] Is PD_SCK floating at power up? Or held low?

[/quote]

PD_SCK is driven directly by a 328 pin configured as a digital output and written low first thing in setup(). I do not have an external pull-down resistor on that pin.

Assuming I am reading the datasheet correctly, a pull-up resistor on that pin will solve the problem.

In any case, leaving it floating during power-up is probably a bad choice.

[quote author=Coding Badly link=msg=2564523 date=1452757472] Assuming I am reading the datasheet correctly, a pull-up resistor on that pin will solve the problem.

In any case, leaving it floating during power-up is probably a bad choice. [/quote]

Thanks, but I tried a pull-up resistor on PD_SCK (so it would enter shut-down mode...presumably turning DOUT off), but DOUT stayed high during the startup time.

Wawa: Please explain further. Not sure why you use a reference. The HX711 has an onboard bandgap and regulated excitation supply.

Because I found better resolution with the MAX. (Unfortunately, my results table in that post disappeared....I need to fix that.)

Wawa: The HX711 seems to have a digital part (DVDD) and an analogue part (VSUP). From the datasheet: "Digital power supply (DVDD) should be the same power supply as the MCU power supply."

True, 'dat. I hope "should" is the operative word (as opposed to "must").

DaveEvans: Thanks, but I tried a pull-up resistor on PD_SCK (so it would enter shut-down mode...presumably turning DOUT off), but DOUT stayed high during the startup time.

Well that's unfriendly. (You still should have an external pull-up or pull-down to keep the clock line from floating about.)

I guess you are left with a current limiting resistor or something to control the line like a MOSFET or bus driver.

...for about 25 ms the data output pin of the HX711 is about 3 volts higher than the 328's Vcc.

m328's VCC = 0.0 volts because it has not yet been powered?

What is VCC for the HX711?

DaveEvans: True, 'dat. I hope "should" is the operative word (as opposed to "must").

I wonder if this is the reason for that recommendation...?

When the difference in voltage between the HX711 data output pin and the m328’s VCC is at the maximum (3 v), the m328’s VCC is about 0.3 v, because the 78SR hasn’t gotten “up to speed yet” (and at that instant the HX711 VCC and data output pin are at about 3.3v).

Thanks everyone for their help so far.

It’s easy for me to add a 2700 ohm current-limiting resistor, so I think I’ll go that route.

Regarding the RC low-pass filter issue…

MarkT:
When you link two outputs with a current-limiting resistor then you introduce low-pass
filtering (the R combines with the stray capacitance and the input capacitange of the pin).

For fast signals that means you need quite a small resistor, such as 220 ohms, for slower
signals 2k2 or 10k might be fine.

After I take the HX711 clock pin high (via a digitalWrite), the data pin is ready to read in 0.1 uS. Immediately after the write high, I take the clock pin low (via another digitalWrite…which takes 4.5 uS), and then read the data pin (with a digitalRead).

If the HX711 data pin transitions from low to high, it must rise from 0 v to 3.0 v (0.6 Vcc for valid high) in about 4.4 uS (or more depending on the exact time at which the digitalRead occurs). Since 0.6 Vcc is the approximately the rise in one RC time, I need RC < 4.4 uS. Therefore, with a 2700 ohm resistor, parasitic C must be less than about 1900 pF.

If the data pin needs to transition from high to low, it must drop to 1.5 v (0.3 Vcc for valid low) in the same amount of time. In that case, C must be less than about 370 pF.

I’ve read that there’s between 2 pF and 10 pF between traces on solderless breadboard. I’m using a soldered stripboard (sorta - Adafruit perma-proto board). I wouldn’t expect a strip board to have more, much less orders of magnitude more stray capacitance than a solderless breadboard.

So, I shouldn’t worry about this, right?

Dave

Follow-up - it works with a 2700 ohm resistor in series between the HX711 data out and the 328 input pin. It would be fun to look at the waveform with and without the resistor, but I don't have the right tool.

Thank you for the follow-up.