according to datasheet we all know that ATMega8 operates at 4.5V to 5.5V and also the ATMega8L operates at 2.7V to 5.5V. OK.
I have a circuit containing ATMega8 (internal osc @ 8MHz), 16x2 HD44780-based Character LCD and a slave coprocessor. The slave coprosessor operates at 3.3v, and connected to Mega8 using i2c communication protocol (SCL clock @ 20KHz).
Because of the coprosessor needs then I lower the whole circuit's supply voltage at 3.3V too (using some sort of regulator chip). LCD's power supply still using 5V.
Every time Mega8 should pick up data from slave coprosessor and display it on the LCD.
The problem is:
i2c communication didn't done in good performance.
the coprosessor often not acknowledge the communication initiated by Mega8. Sometime coprocessor works fine and i can pull out few data from it, but often not! The system works fine usually when i've just flashed the Mega8 or when I turned off power supply for a long time (about 5 minutes). When i reset the Mega8, it will be stuck because the coprocessor never acknowledged.
The question is:
is it fine using ATMega8 at supply as low as 3.3V since it is violate the power supply recommendation from datasheet? How low it can be? What is the effect if i do this? especially in i2c communications?
LCD controlling worked fine, i can write any characters on LCD at this condition. But communication with coprocessor didn't succesfully achieved. How can this be? Should i use Mega8L instead (geez i've stocked so many Mega8)?