I2C Monitor

Started by kittmaster, December 03, 2009, 07:36:18 AM

Previous topic - Next topic


Does anyone have any thoughts on how to create and I2C monitor using an NXP 924/5/936 variant?  I want to create something that can just sit on the line transparently and record data to a GUI (which is already built and running).  The device would obviously be a slave, but the real problem is having it just read the bus and record the data and address being sent.  I figured using the I2C interrupt slave code would work here, but that requires a specific address.  Since the code architect code is interrupt driven, I figured this would be the smartest way to get the data stream instead of polling the lines and possibly missing data. 

I have a PIC MPU 18F4550 that is acting as a USB to I2C read/write interface to the GUI, and it can not seem to handle the USB stack and monitor the bus at the same time.   So I figured a slave I2C device that is dedicated to just listening and recording the data to a FIFO (thinking I2C EEPROM or RAM as a buffer in the NXP device) to transfer to the PIC to the GUI.

I know an fpga or cpld can do this probably faster and more efficient but I'd like to stay with an NXP device and dont' want to have to deal with a BGA device.  Google doesn't really have anything useful since the biggest hurdle is how to get the slave to record the devices address and data without having to be directly spoken too.  Any thoughts or direction?