Ok, I have determined that the problem has nothing to do with the ARM / AVR
interface. It is the level shifting chip (PCA9512). Well, at least it
appears to be that: if I remove the level shifter and power everything with
3.3v then communications work.
The symptoms are simple: On the AVR side, the peripherals never see their
address on the bus and never assert the Ack bit. Other than that the
waveforms look identical (level shifter or not). In fact, with a nice
500mhz DRO the waveforms look incredibly clean!
I even swapped ends on the level shifter with identical results.
Anyone familiar with those chips and have any clue to what is wrong???
The odd thing is that if I make one of the AVR's master, it can read
peripherals on the ARM board just fine.
In examining the waveforms very carefully I determined several things:
1. The level shifter has very clean, slew rate limited signals.
2. The SCL clock is stretched when the ARM is the master
Anyone have experience using the level shifting chips?
-----------
Larry Barello
www.barello.net
| -----Original Message-----
| From: AVR-Chat@yahoogroups.com [mailto:AVR-Chat@yahoogroups.com] On Behalf
| Of Larry Barello
| Sent: Saturday, April 22, 2006 10:51 AM
| To: AVR-Chat@yahoogroups.com
| Subject: [AVR-Chat] I2C interface question (AVR <-> ARM)
|
| 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?
|
| -----------
| Larry Barello
| www.barello.net
|
|
|
|
|
|
|
| Yahoo! Groups Links
|
|
|
|
|