External Voltage Reference and ISP conflict?

Hey everyone!

My apologies if this answer is in the forum somewhere. I've honestly searched and can't come across anything.

I'm planning to use an ATTiny85 to do an analog read of a sensor. I'm looking for improved precision over the internal references, so I'm planning to use an external 4.096V precision voltage reference (TI REF3140).

Since Vref pin and MOSI use a common pin (pin 5), is it possible to have an external voltage reference connected to this pin and still be able to use the ISP to program the ATTiny?

  1. Will the 5V programming signal damage the output of the 4.096V reference?
  2. Will the 4.096V reference voltage block communication on the MOSI pin during programming?
  3. When programming, would the output of the reference voltage ever be shorted to ground?

Thanks in advance!

  1. Check the datasheet.
  2. Yes, otherwise how could data be communicated over that line?
  3. Yes (well, not a short - but the programmer will attempt to drive it low.

A 0 is communicated to the device being programmed by the programmer holding MOSI low (ie, below VIL) while SCK transitions. A 4.096v reference voltage source connected to this pin would prevent that from happening, unless it was a weak enough output drive (not terribly unlikely) that the programmer could drive it low anyway, and doesn't mind it's output being jerked around like that.

If that's not the case, it sounds like you need a means of disconnecting that pin during programming. Some study of the datasheet is in order.

Ok, the datasheet for the voltage reference didn’t seem to provide a value for the allowable reverse voltage.

What about adding a FET between the reference voltage output and the AREF and switching it with the RST pin voltage do the trick? That should apply 4.096V to the AREF pin normally, but remove it during programming while the MOSI pin is in use. The datasheet for the FET I’ve selected shows an Vgs of ± 12V, so it should easily handle the programming voltage on the source.

The other thought is to only add a 10k resistor in the same place to ensure the programmer can pull the pin low when programming.

Schematic attached.

Many thanks!