![]() |
![]() |
![]() |
|
|
|||||||
| Micro Controllers Discuss all aspects of micro controllers - building them, coding them, etc. All controllers are welcome - PIC, BASIC, Z8 Encore!, etc. |
|
|
Thread Tools | Display Modes |
|
|
(permalink) |
|
i am having problems interfacing a 3.2V 24c16 interfaced with 5V PIC16f877. 5V cant be supplied with the 24c16 since it is in a device which has its own supply 3.2V.
i thought i have problems with transmitting I2C protocols. i got a 24c16 IC only and interface it directly with the PIC and I can read and write data flawlessly, i conclude that my I2C protocol writing is correct. but when it is interfaced to the 24c16 inside my 3.2V device, the value displayed is sometimes correct and sometimes not. do i need some kind of interface circuit for interfacing 5V to 3.2V using discrete components? thanks
__________________
Learning is a life-long process... |
|
|
|
|
|
|
(permalink) |
|
Are u using Microchip 24C16 or 24LC16 because 24C16 has a supply voltage range of 4.5V to 5.5V. And 24LC16 has a supply voltage range of 2.5 V to 5.5V.
If u are using Microchip 24C16 as u have mentioned, it maynot work correctly as u are gving a Vcc of 3.2V which is less than the operational Vcc 4.5V to 5.5V. To interface two voltage levels u will need a voltage translator IC like PI74LVC3245A. |
|
|
|
|
|
|
(permalink) | |
|
Quote:
im using an ATMEL 24C16 and 24C32. They are powered from a device with 3.2V. The limitation is that i should not give them 5V supply. They are already soldered in the PCB and just have pin points for SDA, and SCL. I already checked the hardware and im sure that everything is ok (ground is common for the PIC and the device, Write Protect is connected to ground, device address of the EEPROM properly configured). also, before I read any of the two eeproms, i ensure that one of them is turned off to make sure that one of the EEPROM doesn't answer at the same time. I need schematics of a voltage translator or level shifter using discrete components. i can't manage to get the voltage translator IC due to time constraints. In fact, I already have a level shifter circuit here and tried it with my 3V to 5V interface, and it reads different data everytime I read into the EEPROM and isn't reliable.
__________________
Learning is a life-long process... |
||
|
|
|
|
|
(permalink) |
|
GraveYard_Killer:
"I need schematics of a voltage translator " This usually work: PICpin(5Vsupply) <->resistor(200 Om*)<->zener(3.2V)-<->pinCHIP(3.2Vsupply) |
|
|
|
|
|
|
(permalink) | |
|
Quote:
__________________
Learning is a life-long process... |
||
|
|
|
|
|
(permalink) | |
|
Quote:
The 877 and 877A series have an operating range of 2V to 5.5V. |
||
|
|
|
|
|
(permalink) |
|
GraveYard_Killer:
"will these work for I2C bus protocol? i have a SDA pin which is bi-directional " Yes, because for PIC Min Input Low Voltage=2 V (log1) for VDD= 4.5 to 5.5V and Input Leakage Current= 1 mikroA . |
|
|
|
|
|
|
(permalink) | ||
|
Quote:
thanks for the reply and suggestions.
__________________
Learning is a life-long process... |
|||
|
|
|
|
|
(permalink) | |
|
Quote:
So I downloaded the latest datasheets for both the 877 and 877A, and they both are listed down to 2V - presumably MicroChip have dropped the LF range and increased the voltage spec on the normal chips?. |
||
|
|
|
|
|
(permalink) |
|
you can also achieve voltage translation with a mosfet... google it there are a fair few site with examples of how to do it.
|
|
|
|
|