snooping an external 400kHz+ i2cbus

Ian Smith smithi at nimnet.asn.au
Tue Sep 16 17:26:18 UTC 2008


Hi,

Maybe off topic here, being about using i386 laptop/s to both monitor 
and configure custom embedded devices that are programmed in assembler, 
but if anyone can help with this, I figure they're most likely here ..

An engineer friend and I have designed a little system that has one AVR 
Tiny processor on either side of an electrically-isolated board, 
communicating over an optically-isolated i2c-(hardware)compatible bus.

The bulk of the traffic is small packets of feedback data about once per 
ms.  Eventually using some multiplexing of i2c addressing to encode some 
commands for compressed packets, but that's later; happy to run regular 
I2C protocol during development and tuning.

What we need is a device that can a) snoop and log bus traffic, from one 
or the other side of the board, b) run in master mode for configuring 
and dumping the AVRs while debugging and c) run in slave mode for 
periodic data acquisition and monitoring, at 400Khz bursts at least.

I dived into looking at iicbus system and drivers a couple of years ago, 
thinking there must be a way to use lpbb at 400kHz, but the only master 
and slave implementation found was then pcf for isabus at only 100kHz. I 
know nowhere near enough about FreeBSD drivers (or even C) to write one, 
though I may be able to hack on some existing code, with guidance.

Are there perhaps now any pccard/cardbus or maybe USB adaptors that can 
talk 400kHz or better I2C, that could conceivably be used for this job?  
And more to the point, has anyone got it/them to work with FreeBSD?

I'd be thankful for any pointers, or crumbs ..

cheers, Ian


More information about the freebsd-embedded mailing list