• Disclaimer: This Vendor's Forum is a paid-for commercial area. Unlike the rest of diyAudio, the Vendor has complete control of what may or may not be posted in this forum. If you wish to discuss technical matters outside the bounds of what is permitted by the Vendor, please use the non-commercial areas of diyAudio to do so.

External controller for Buffalo-IIIsePro38 - i2c problems

fernfrost

Member
2015-09-24 12:24 am
Hi everyone

Im setting up an Arduino Due as external controller for my Buffalo-IIIsePro38 and I cannot get the i2c working.

Using the Wire library example scanner, I find a single device at address 0x20. I expected to find 0x48 or 0x90.
Turning off the BIII board results in no devices found so I know it is finding something on the BIII.

Writing directly to address 0x48 just gives result code 2 - NACK.

Code:
Wire.beginTransmission(DAC_ADDR);
Wire.write(7);
Wire.write(0);
byte res = Wire.endTransmission();
Serial.println(res);
What am I doing wrong here?
 

fernfrost

Member
2015-09-24 12:24 am
As an experiment I hooked up my OLD BuffaloIIIse (es9018) the exact same way and ran the i2c scanner. It found devices at 0x20, 0x48.

I have tried different variations of the RESET pin:
- permanently low
- pulling high for a second
- permanently high
... and everything inbetween.

Completely stuck.
 
Last edited:

francolargo

Member
Paid Member
2007-03-12 8:07 am
Twin Cities, MN
Code:
When all supply voltages are stable and MCLK is active, you should reset the DAC by pulling the reset pin low temporarily, then operate with reset pulled high.

I use the linux commands 'i2cdetect' and 'i2cdump' to detect the DAC and read it's register contents. You will want to check the needed bus number, etc.

For an RPi or BBB:

Code:
[email protected]:/# i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: 20 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- 48 -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --

Code:
[email protected]:/# i2cdump -y 1 0x48
No size specified (using byte-data access)
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
00: 00 0c 3c 00 00 68 4a 60 88 88 00 00 1a 20 8a 0f    .?<..hJ`??..? ??
10: 00 00 00 00 00 00 00 00 ff ff ff 7f 00 00 00 00    ...........Q....
20: 00 00 00 00 00 00 10 32 54 76 00 00 00 00 00 e0    ......?2Tv.....?
30: 03 00 04 00 04 00 f0 00 00 ff ff ff ff 4f 00 06    ?.?.?.?......O.?
40: a1 07 ff ff 7f 00 00 00 00 00 00 00 00 00 00 00    ??..?...........
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 35    ...............5
60: c7 fc f4 00 02 36 36 36 36 36 36 36 36 00 00 00    ???.?66666666...
70: 80 00 00 80 XX XX XX XX XX XX XX XX XX XX XX XX    ?..?XXXXXXXXXXXX
80: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
90: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
a0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
b0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
c0: a1 07 01 00 80 00 00 00 00 00 00 00 00 00 00 00    ???.?...........
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 25    ...............%
e0: ef 6f 84 00 02 78 70 78 70 78 70 78 70 00 00 00    ?o?.?xpxpxpxp...
f0: 80 00 00 80 XX X
 
Last edited: