1
\$\begingroup\$

My arduino board uses 5v to power the atmega chip. I was wondering is there any thing wrong with powering my atmega at 5v but say I power my MCP4922 dac at 3.3v does it matter? It just that I've seen schematics that use the same volts for all ic's

Gustavo Litovsky
7,7393 gold badges27 silver badges44 bronze badges
asked Feb 4, 2013 at 19:47
\$\endgroup\$
7
  • \$\begingroup\$ Please share the datasheet or model number of the SPI slave device in question. Some devices have 5 Volt tolerant inputs, despite running at 3.3 Volts. If this is not the case with your peripheral, it will be damaged or destroyed by driving the input lines with 5 Volts. \$\endgroup\$ Commented Feb 4, 2013 at 19:52
  • \$\begingroup\$ ah ok. Luckily it is 5v tolerant just checked for myself. The device can actually be powered by 5.5v(absolute max) So is that why my vdd pin is forced to be higher. All of a sudden I get 4v across my mcp4922. good job I didn't get a replacement then I thought I toasted it some how \$\endgroup\$ Commented Feb 4, 2013 at 20:00
  • 4
    \$\begingroup\$ Actually the inputs of the MCP4922 are not 5 Volt tolerant, the acceptable input voltages are linked to whatever voltage the device is supplied at: All inputs and outputs w.r.t AVSS–0.3V to VDD+0.3V. If you run it at 3.3 Volts and provide SPI MOSI and CLK at 5 Volts, you risk frying the device. Should I make this into an answer? \$\endgroup\$ Commented Feb 4, 2013 at 20:05
  • \$\begingroup\$ NXP has an app note discussing solutions to this problem. \$\endgroup\$ Commented Feb 4, 2013 at 20:33
  • \$\begingroup\$ @AnindoGhosh Yea you should. \$\endgroup\$ Commented Feb 4, 2013 at 20:39

3 Answers 3

2
\$\begingroup\$

It does matter. The MCP4922 has a input voltage limit of VDD + 0.3v on any input pins. At 3.3v power, anything above 3.6v will probably kill the chip. And the Arduino ATMega has a Input Voltage Level High cutoff of VDD * 0.6. At 5v Arduino power, that means it needs to see at least 5v * 0.6 = 3v on a input pin to properly register as a logic HIGH. So this should work one way before you need to add things.

Sparkfun has a nice tutorial on how to get it to work between two chips at 5v and 3.3v, but they all require extra components (some resistors or diodes, or a mosfet). It also goes more in depth about the voltage levels.

But the most important thing is why power the ADC at a different voltage than the Arduino, if you have the 5v source available? Is this just a hypothetical?

answered Feb 4, 2013 at 20:52
\$\endgroup\$
0
\$\begingroup\$

There are several ways to accommodation this level transition. Key is NOT to put 5V into a part running at 3V or something lower (as stated above). So the MCP4922 inputs of CS, SCK and SDI all need there input volatages to match its VDD. And if you chose that to be 3V, this can be done using a Resistor Divider or 74HC4050 LVL CONVERTER, or SparkFun's Logic Level Converter or SparkFun's PCA9306 Level Translator Breakout

On the flip side it is acceptable for a 3V's output to go into the 5V's input, as long as the High Level of the 3V chip's output is greater than the minimum level of the inputs High detector of the chip's input. Which is often the case. So you often see parts that have one of the above Voltage Level Down Steps MOSI, SCK and CS, while there is no UpStep of the MISO, into the Arduino.

answered Feb 4, 2013 at 21:04
\$\endgroup\$
0
\$\begingroup\$

Unless your device is 5V tolerant, which the MCP4922 isn't, it is not a good idea to connect 5V I/O to 3.3V I/O. The internal diodes may help, but with time the device will get destroyed. It's best to use techniques for dealing with this such as using level shifters.

Passerby
73.9k7 gold badges97 silver badges214 bronze badges
answered Feb 4, 2013 at 20:32
\$\endgroup\$
1
  • \$\begingroup\$ ah lol. Do you think it's fried then because the output is 100mV higher than the calculated output using the formula on pg18 \$\endgroup\$ Commented Feb 4, 2013 at 20:58

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.