On Apr 22, 2006, at 10:50 AM, Larry Barello wrote: > I am trying to interface some AVR boards to an Arm9 board (Atmel > at91RM9200 > @ ~60mhz). This worked at one point but now it isn't and I am getting > stumped. > > There appears to be ~200ns of delay between the SDA and SCL when > generating > the START condition. This seems too small for the AVR @ 12mhz but > I can't > tell from the data sheet. > > When running my commands (SMBus master/slave) from another AVR > everything > works as expected. When the ARM9 is the master nothing works even > though > the waveforms on the bus appear correct. The only thing I am not > sure of is > the start condition as I have only an analog scope with a ~100ns or > so delay > line... > > So, the question: has anyone connected an ARM9 with an AVR via I2C > (oh, btw > this is using Linux with our own driver) and got it to work? Any > setup or > operational gotcha's I need to know about? I did a Linux driver for an SMBus card (using an existing parallel- port i2c driver as a basis); when doing this I kept referring to the Philips I2C specification. The delay you're referring to is, I assume the SDA-low to SCL-low delay; the Philips I2C spec puts the minimum for this as tHD;STA + tf = 4usec + 0 (standard mode) = 4usec = 600nsec + (20+0.1 * Cb)nsec (fast mode) = 630nsec @ 100pF capacitance (Cb = total cap of one bus line in pF) So you're way too fast for the standard. You'd probably do best to stick to the standard timings. -- Ned Konz MetaMagix embedded consulting MetaMagix@gmail.com
Message
Re: [AVR-Chat] I2C interface question (AVR <-> ARM)
2006-04-22 by Ned Konz
Attachments
- No local attachments were found for this message.