[chbot] Interesting presentations at our next meetings

Volker Kuhlmann list0570 at paradise.net.nz
Sat Jun 4 05:24:39 BST 2011


On Sat 28 May 2011 13:51:54 NZST +1200, Mark Atherton wrote:

Thanks Mark + Charles. Sorry for late reply, days are too short.

> Have you tried other AD I2C devices using the 
> same master you attempted to read the AD part you referenced ?

I am using other I²C devices with the same master (Arduino) and they
work fine. I don't have other AD parts to test.

> What is the mode of failure - no ack ?

If I knew better, I'd be closer to a solution... A decent storage scope
would help, but they're $$$$$^15 for home use, though I could access one
at work.

I am not getting the values from registers that I am expecting, though 1
or 2 are close. Writing into registers seems not to do much either.

> Are you sure you have the address correctly set - 
> some datasheets place the addr bits shifted from 
> the R/W bit so addr 0xA0 could be interpreted as 
> a write to 0x50, and 0xA1 could be interpreted as a read from 0x50 etc.

I tried both, and checked this sevral times, and one worked better than
the other.

> If you want to mail me a device, I have several 
> sources of I2C masters and have never had a 
> failure with a slave the way that you describe.

I might take you up on that just for couriosity - thanks!

The problem might also be that I damaged the chips soldering. They're in
ceramic tiny cases with no pins, just strips of metal surface
underneath. I'm pretty sure the soldering job is ok, but I certainly
exceeded the temperature/time limits mentioned in the datasheet. They
shouldn't have ESD damage.

I have had some signal issues with an Atmel flash chip connected via
SPI, sticking wires into Arduino female headers. There was the
occasional data corruption. Using the "screw shield" (a small PCB with
screw terminals and pins to stick into the Arduino board) made things
hugely worse. I couldn't find a soldering problem anywhere (soldered
wires onto tracks to be sure), and total line length would have been 
<~120mm, but the tracks going round the corner a few times seems to
damage the signal sufficiently to make this protyping approach basically
useless.

On Mon 30 May 2011 09:17:02 NZST +1200, Charles Manning wrote:

> I would do three things: 
> (1) Slow the clocking right down. Start with 10kbits/sec or so. 
> (2) Check the pull-ups.
> (3) Us short-sh wires (30cm or so max).

(1) I tried with the lowest clock the AVR could be set to, no
difference. Couldn't try snail's pace because I couldn't find a software
I²C library online and didn't want to make my own just for this test.

(2) CPU internal. Adding some resistors made no difference.

(3) Would have been 10-15cm total.

The I²C software I have works fine with the DS3231 (using the CPU
interface), so there shouldn't be a major systematic bug.

Hence I had given up for the time being. :(

Thanks again,

Volker

-- 
Volker Kuhlmann
http://volker.dnsalias.net/	Please do not CC list postings to me.




More information about the Chchrobotics mailing list