Pages: [1]   Go Down

Author Topic: ATMEGA328P on 3.3V ???  (Read 19828 times)

KT4WO

  • Member
  • Posts: 425
    • homeURL
ATMEGA328P on 3.3V ???
« on: February 28, 2015, 01:44:14 PM »

If I run an ATMEGA328P on 3.3V will the built-in I2C also be 3.3v ???

I know that may sound like a stupid ?,,,but,,,just making sure.

I have a board(SI4707 breakout board) that I will be interfacing that runs on 3.3v and using I2C ...
I don't want to buy a level-shifter. 


Trip - KT4WO

PS--I have etched a simple board for the chip...kinda a UNO without the extras... Just a 16Mhz Xtal and a few caps.
It will be running "stand-alone" controlling the WX chip and an audio amp(LM386).

Logged

K6JH

  • Member
  • Posts: 701
RE: ATMEGA328P on 3.3V ???
« Reply #1 on: February 28, 2015, 11:20:14 PM »

I2C is open collector, so it requires pull-up resistors. If the ATMEGA Vcc is 3.3V, you should pull-up to 3.3V. In fact, the data sheet says the pins will not tolerate more than Vcc + 0.5V. Sounds like you are good to go with your SI4707 also at 3.3V.

If you program it correctly, you may be able to use the ATMEGA's built-in pull-ups on the I/Os used for SDA and SCL. But it's pretty easy to add external pull-up resistors, and that gives you the ability to optimize the R values for speed and bus capacitance.
Logged
73
Jim K6JH

KT4WO

  • Member
  • Posts: 425
    • homeURL
RE: ATMEGA328P on 3.3V ???
« Reply #2 on: March 01, 2015, 09:35:26 AM »

Tnx...that is what I was thinking.

I read that the built-in I2C pullups on the chip were weak, so need to tap 3.3 with 4.7k to pullup.

I started with the SI4707 on the RPi, but it just seems overkill for what I am using for. So will try the
328P instead.  The nice thing about the Pi was it is already at 3.3v on the I2C and has builtin pullups, so
was easy to get started.

Tnx again

Trip - KT4WO
Logged

KC2UGV

  • Member
  • Posts: 529
RE: ATMEGA328P on 3.3V ???
« Reply #3 on: March 04, 2015, 05:46:20 AM »

Tnx...that is what I was thinking.

I read that the built-in I2C pullups on the chip were weak, so need to tap 3.3 with 4.7k to pullup.

I started with the SI4707 on the RPi, but it just seems overkill for what I am using for. So will try the
328P instead.  The nice thing about the Pi was it is already at 3.3v on the I2C and has builtin pullups, so
was easy to get started.

Tnx again

Trip - KT4WO


Be mindful with this, that the only reason is works with the Uno is because of the built in pullups.  Not all I2C devices have those, and may fry the Pi.  You're best bet is to plunk a level converter in there to do is safely.
Logged

KT4WO

  • Member
  • Posts: 425
    • homeURL
RE: ATMEGA328P on 3.3V ???
« Reply #4 on: March 05, 2015, 04:45:39 PM »

RE: " and may fry the Pi"


Not sure what you are referring to ?? ... I am not using the Pi for this now..and the Pi is at 3.3 on the I2C,
so would not be an issue. (as the SI4707 is at 3.3 Vcc and 3.3 on the I2C)

It's the ATMEGA328P that I was worried about.  The only issue I see now is that the 328 may not run right
at 16Mhz on 3.3v.  I may have to goto 3.8v or so,,,, or change to 8Mhz(more likely).

KT4WO


Logged

K6JH

  • Member
  • Posts: 701
RE: ATMEGA328P on 3.3V ???
« Reply #5 on: March 07, 2015, 01:54:57 PM »

The SI4707 has both a Vdd and a Vio pin, so you can run it on two different voltages, including a built-in I2C level shift function.

Run the Atmel Vdd at 3.3V, the SI4707 Vio at 3.3V and the pull-ups to the same 3.3V supply. Then the I2C will be good to go. You may consider running the SI4707 Vdd on a different supply, but mostly to keep digital noise out of the RF front end. I think I would first try running it on the same 3.3V supply with maybe some careful bypassing/filtering. Regulators are unlikely to have good high frequency rejection anyway, so filters are likely the way to go.

Remember also that the SI4707 I2C clock must be <= 400KHz, so don't crank the Atmel part up too high.
Logged
73
Jim K6JH
Pages: [1]   Go Up