xMega und TWI / I2C

  • 1
  • 2
  • 3
  • Page 2 of 3
rh
Administrator
Avatar
Gender:
Location: Germany
Age: 24
Homepage: e-lab.de
Posts: 5558
Registered: 03 / 2002
Subject:

Re: xMega und TWI / I2C

 · 
Posted: 23.10.2013 - 13:37  ·  #9
Hallo Thomas,

ich kann leider mit "repeated start" nichts anfangen. Kenne ich nicht.
XMega TWI Slave wird sicher auch noch kommen. Einen Termin kann ich z.Zt. nicht nennen.

rolf
Thomas.AC
Benutzer
Avatar
Gender: n/a
Age: 43
Posts: 308
Registered: 07 / 2013
Subject:

Re: xMega und TWI / I2C

 · 
Posted: 23.10.2013 - 17:07  ·  #10
Vielen Dank für die Antwort,

Ich beziehe mich auf die Application Note AVR1308 von Atmel.
Auf Seite 4 steht:
"A transaction can also be combined as illustrated in Figure 2-4. Instead of sending a STOP to end the first part of the transaction, the MASTER sends a REPEATED START and ADDRESS including theWR/bit. This allows the MASTER to change the direction of the transaction."

Ist meine Annahme korrekt, dass die TWI-Treiber den Fall "combined Transaction" mit "repeated start" nicht unterstützen?

Ich möchte Register aus einem Audio DSP Chip (ADAU1701) über I2C auslesen.

Gruß

Thomas
miparo
Administrator
Avatar
Gender:
Location: Germany
Age: 58
Posts: 959
Registered: 09 / 2007
Subject:

Re: xMega und TWI / I2C

 · 
Posted: 23.10.2013 - 21:15  ·  #11
Hallo Thomas,
ich habe selber so einen ADAU in Betrieb, allerdings damals mit einen Mega32 als Master.
Da gab es keine Probleme am I2C, und cryptischen Kommandos.
Bei Interesse kann ich Dir Montag mal die Routinen schicken, da ich noch bis Sonntag im KH liege.

Gruß
miparo
golf
Benutzer
Avatar
Gender:
Location: Donauwörth
Age: 71
Posts: 256
Registered: 11 / 2009
Subject:

Re: xMega und TWI / I2C

 · 
Posted: 24.10.2013 - 08:00  ·  #12
Hallo Thomas,
da der ATXmega in dem Fall ja als Master arbeitet, sollte es keine Probleme mit dem Auslesen geben. Reagiert der ADAU sonst auf irgendwelche I2C-Kommandos? Vielleicht ist das Problem irgendwo anders. Ich hatte z.B. mal den Fall, daß der TCXO an dem ADAU einen zu kleinen Pegel hatte.

Ich habe gerade nochmal bei einem ADAU1761 das Auslesen probiert. Als AVR der ATXmega256A3U, und das funktioniert einwandfrei. Der ADAU1701 wird wohl gleich arbeiten.

Auszug aus dem Programm:

if SerstatD0 then

ch:= SerInpD0;

case ch of

'i','I': //
ch1:= SerInpD0;
if ch1= 'r' then
TWIoutE(I2CAdrADAU, REG_CLKCTRLREGISTER_IC_1_ADDR, $03); // $4000;
udelay(1);
TWIReadAdr:= $4036;
TWIOutE(I2CAdrADAU,TWIReadAdr); //
TWIInpE(I2CAdrADAU,TWIReadByte); //
Writeln(SeroutD0,'I2CRead4036:' + bytetohex(TWIReadByte));
TWIReadAdr:= $402D;
TWIOutE(I2CAdrADAU,TWIReadAdr); //
TWIInpE(I2CAdrADAU,TWIReadByte); //
Writeln(SeroutD0,'I2CRead402D:' + bytetohex(TWIReadByte));
TWIReadAdr:= $4019;
TWIOutE(I2CAdrADAU,TWIReadAdr); //
TWIInpE(I2CAdrADAU,TWIReadByte); //
Writeln(SeroutD0,'I2CRead4019:' + bytetohex(TWIReadByte));
endif;
|
usw..............

Hyperterminalausgabe: I2CRead4036:03
I2CRead402D:AA
I2CRead4019:13

Gruß
golf
Thomas.AC
Benutzer
Avatar
Gender: n/a
Age: 43
Posts: 308
Registered: 07 / 2013
Subject:

Re: xMega und TWI / I2C

 · 
Posted: 24.10.2013 - 11:12  ·  #13
Hallo miparo,
ich bin für jeden Input dankbar. Vielleicht teste ich die Kommunikation mal mit einem ATMEGA32 und komme dann auf Sie zurück.

Hallo golf, vielen Dank für die Info.
Ich habe Ihr Programm getestet mit dem gleichen Resultat, dass das Lesen nicht möglich ist (siehe Bild im Anhang).

Mit der Information aus "MCU communicating to ADAU1701 through I2C" (http://ez.analog.com/message/88981#88981)
ist das auch nachvollziehbar.

Vielleicht funktioniert der ADAU1761 etwas anders. Können Sie Ihre Kommunikation oszillographieren und posten?

Gruß an Alle

Thomas
Attachments
ADAU1701ReadByXMega
Filename: ADAU1701 Register Re … 32A4.jpg
Filesize: 487.13 KB
Title: ADAU1701ReadByXMega
Information: ADAU1701ReadByXMega
Download counter: 183
miparo
Administrator
Avatar
Gender:
Location: Germany
Age: 58
Posts: 959
Registered: 09 / 2007
Subject:

Re: xMega und TWI / I2C

 · 
Posted: 24.10.2013 - 12:27  ·  #14
Hallo Thomas,
ich habe Dir mal mein erstes AVRco Projekt angehängt.
Hier wird das Main Prog in den ADAU geladen plus Setup und später werden die Register on the fly durch den Mega32 und der Win GUI geändert.


Gruß
miparo
golf
Benutzer
Avatar
Gender:
Location: Donauwörth
Age: 71
Posts: 256
Registered: 11 / 2009
Subject:

Re: xMega und TWI / I2C

 · 
Posted: 24.10.2013 - 15:21  ·  #15
Hallo Thomas,

auf die Schnelle 2 Bilder von der I2C-Kommunikation des ATXmega256A3U zum ADAU1761

golf
Attachments
I2C_1
Filename: I2C an ADAU1761_1.JPG
Filesize: 84.83 KB
Title: I2C_1
Download counter: 164
I2C_2
Filename: I2C an ADAU1761_2.JPG
Filesize: 79.38 KB
Title: I2C_2
Download counter: 162
Thomas.AC
Benutzer
Avatar
Gender: n/a
Age: 43
Posts: 308
Registered: 07 / 2013
Subject:

Re: xMega und TWI / I2C

 · 
Posted: 24.10.2013 - 18:02  ·  #16
Hallo miparo,

ich habe ganz kurz in Ihren Code geschaut und auf die schnelle keinen Lesezugriff zum DSP gefunden, nur Schreibzugriffe. Liege ich richtig?

Hallo golf,
Ihre Bilder zeigen eindeutig erfolgreiche Lesezugriffe. ich werde bei Analog nachfragen, ob ADAU1761 und ADAU1701 unterschiedliche I2C Interfaces besitzen.

Vielen Dank für Eure Mühen

Gruß
Thomas
  • 1
  • 2
  • 3
  • Page 2 of 3
Selected quotes for multi-quoting:   0

Registered users in this topic

Currently no registered users in this section

The statistic shows who was online during the last 5 minutes. Updated every 90 seconds.
MySQL Queries: 16 · Cache Hits: 15   143   158 · Page-Gen-Time: 0.035021s · Memory Usage: 2 MB · GZIP: on · Viewport: SMXL-HiDPI