Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
09/16/00 18:53
Read: times


 
#5112 - RE: I2C SLAVE
I have implemented an I2C "sniffer" based on AT89C2051 once. It was listening to the I2C traffic and extracting some information used in satellite receivers. A small module was built and it was installed into an ready made satellite receiver. It was constantly monitoring the I2C looking for the channel information. On channel change it has moved the dish antenna to the new programmed position.

2051 was running at 24MHz and it was able to monitor a software based I2C communication in the receiver. I2C monitoring function was based on EXT0 interrupt while the main routine was controlling the dish position. I2C receiving routine was triggered by external interrupt and then run in the polling mode until the I2C stop condition. This has also a disadvantage that an abnormal break of the I2C transfer would cause the system to "hang" - not really but the 2051 would be waiting in the interrupt routine for some I2C events. Fortunately such situation did not happen on the I2C bus of the receiver.

Application was developed using C51 version V5.10 from Keil while I2C monitoring routine was written in assembly language that was optimized for speed. The satellite receivers were imported from Taiwan and upgraded with the positioning function and then sold in Europe. It was a quite successful project.

So 2051 was fast enough, but the I2C speed was not 100kHz - that I've checked with the oscilloscope. If you need a full speed I2C slave, you should take some other - faster device maybe X2 family of 8051 from Phillips, AVR from Atmel etc. As far as I remember, there was an application note for AVR - an I2C slave.

Franc

List of 6 messages in thread
TopicAuthorDate
I2C SLAVE            01/01/70 00:00      
RE: I2C SLAVE            01/01/70 00:00      
RE: I2C SLAVE            01/01/70 00:00      
RE: I2C SLAVE            01/01/70 00:00      
RE: I2C SLAVE            01/01/70 00:00      
RE: I2C SLAVE            01/01/70 00:00      

Back to Subject List