I know this is not an elegent solution, but it is the first thing that came to my mind this early in the morning: You could try an external buffer circuit with enable and disable to connect the SDA pin on the controller to the I2C bus devices. To the best of my knowledge, all/most of the pins are set as inputs upon a reset. In this case, you could use one of these pins with an external pull up / pull down to keep the buffer disabled while the processor is restarting. In one of the initialization functions run after reset, you could change the mode of the pin and put the buffer in an active state. Regards, Musharraf Hanif ----- Original Message ----- From: "wittrockjeff" <jwittrock@...> To: <lpc2000@yahoogroups.com> Sent: Wednesday, 20 April, 2005 15:59 Subject: [lpc2000] Re: I2C and bootloader control on the same pin > > > Hello, > > I was also recently considering using the 2nd I2C interface on an > LPC2138. I am using the first I2C channel for communication with an > external device, and wanted to use the second channel for > communication with an internal EEPROM. I noticed the same thing... > with P0.14 shared like this, if a device latches up the SDA line on > startup (which I have seen some EEPROMS and other I2C devices do > even as slave devices), the LPC2138 would go into boot mode. > > Clearing the slave device SDA line is usually a matter of applying > some number of clocks, but if the LPC goes into boot mode, that does > not good of course. > > On my design, I ended up sharing the first I2C channel with the > internal and external devices. I don't like doing this either. If > the SDA line gets held low by the external device or by an external > short circuit, I won't be able to talk to the internal EEPROM. I > may end up using an I2C buffer between the internal interface, and > the external device. > > I would also like to know if there is something I am missing. Being > able to use the 2nd I2C channel would be nice. > > Jeff W > > --- In lpc2000@yahoogroups.com, "peterssonmikael" > <mikael.petersson@k...> wrote: >> >> On the LPC2138, P0.14 is both SDA1 and bootloader control pin. So > if I >> am using the second I2C-channel in a multimaster application there >> might a situation where another I2C-unit send a 0 during reset >> (startup) of my unit forcing it into boot mode. Have anyone > thought >> about this? > > > > > > > Yahoo! Groups Links > > > > > > > >
Message
Re: [lpc2000] Re: I2C and bootloader control on the same pin
2005-04-21 by Musharraf Hanif
Attachments
- No local attachments were found for this message.