0
\$\begingroup\$

I have a microcontroller (ATmega328) that runs on 5V and another chip (MAX31855), connected via SPI as a slave (that only using the MISO line), that runs on 3.3V.

  1. Do I need to convert the output of the slave from 3.3V to 5V?
  2. The chip select pin (active low) is held high via a pullup resistor connected to 3.3V. Is this a problem since it is also connected to the 5V uC? I assume so, yes? Would I need to use a logic level converter for that as well?
\$\endgroup\$
2
  • 1
    \$\begingroup\$ Try it, it should work. If it is not reliable, then you will want to use a level converter. \$\endgroup\$
    – Matt M
    May 19, 2014 at 21:24
  • \$\begingroup\$ @Matt: Bad advice. It may appear to work, but you have no way to know how much margin there is. Some other day at a different temperature it might not work. Worst case is works 99.99% of the time. \$\endgroup\$ May 19, 2014 at 22:21

2 Answers 2

2
\$\begingroup\$

Do I need to convert the output of the slave from 3.3V to 5V?

Unlikely because the input logic high acceptable level for the ATmega will probably cover 3.3V devices.

\$\endgroup\$
1
  • \$\begingroup\$ I haven't looked it up, but I wouldn't be so quick to assume this. Many PICs, for example, have a minimum guaranteed logic high input level of .8 Vdd, which would be 4 V in this case. \$\endgroup\$ May 19, 2014 at 22:20
1
\$\begingroup\$

Follow this simple 7-step process:

  1. Open datasheet.

  2. Find electrical characteristics section.

  3. Find logic levels section within that.

  4. Find the minimum guaranteed voltage to be interpreted as a high level by the input pin you are using for MISO.

  5. Compare to the 3.3 V the MISO signal will be when high.

  6. If #4 < 3.3V, then it will work, else it won't.

  7. Realize all the above steps should have been obvious.

If the answer is it won't work, then you have to find a solution. There are many possibilities, one of which is to use a logic level converter.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.