I2CPort / I2CClk Frequenz Problem?

  • 1
  • 2
  • 3
  • 4
  • Page 3 of 4
golf
Benutzer
Avatar
Gender:
Location: Donauwörth
Age: 71
Posts: 256
Registered: 11 / 2009
Subject:

Re: I2CPort / I2CClk Frequenz Problem?

 · 
Posted: 24.01.2011 - 19:38  ·  #17
Hallo Michael,
ich habe das Programm mal auf meinem Atmega2560 mit 16Mhz Takt gestestet, I2C war da an PortA,6 und PortA,7. Ich komme mit den älteren Versionen und der aktuellen auf einen höheren Takt bei 0-Nops. Das sind dann ca 570Khz bei 0-nops und ca 350 Khz bei einem Nop. +/- Ablesefehler

golf
Attachments
Rev 4.95.07 o-Nops
Filename: Nop-0 Rev 4.95.07 un … CInp.jpg
Filesize: 48.4 KB
Title: Rev 4.95.07 o-Nops
Download counter: 111
Nop-0 Rev 4.99.22 Systick 5,7,8,9..  I2CInp
Filename: Nop-0 Rev 4.99.22 Sy … CInp.jpg
Filesize: 50.67 KB
Title: Nop-0 Rev 4.99.22 Systick 5,7,8,9.. I2CInp
Download counter: 104
Nop-0 Rev 4.99.29 Systick 5,8,9,10 I2CInp 574Khz
Filename: Nop-0 Rev 4.99.29 Sy … 4Khz.jpg
Filesize: 48.16 KB
Title: Nop-0 Rev 4.99.29 Systick 5,8,9,10 I2CInp 574Khz
Download counter: 102
Nop-1 Rev 4.99.29 Systick 10 I2CInp 348Khz
Filename: Nop-1 Rev 4.99.29 Sy … 8Khz.jpg
Filesize: 46.59 KB
Title: Nop-1 Rev 4.99.29 Systick 10 I2CInp 348Khz
Download counter: 95
mc-electronic
Benutzer
Avatar
Gender: n/a
Location: Sauerland NRW
Posts: 372
Registered: 03 / 2008
Subject:

Re: I2CPort / I2CClk Frequenz Problem?

 · 
Posted: 25.01.2011 - 10:22  ·  #18
Hallo Golf,

schön, daß sich noch jemand für das Thema interessiert. Ich hatte inzwischen auch ältere Versionen getestet und im Prinzip auch keine Verbesserung erreicht. "NOP" = 0 liefert auch bei mir höchste Taktraten > 500 kHz, aber das machen die I2C Bausteine nicht mehr mit.

Ich weiß leider auch nicht weiter, da Rolf ja im Compiler mit verschiedensten Taktraten des µP zu tun hat, kann er ja auch nichts statisches für das sDelay schreiben. Ich hätte aber noch eine allerletzte Idee: kann Rolf ggf. im Compiler eine Funktion UserI2CDelay zur Verfügung stellen, die (wenn definiert), statt sDelay angesprungen wird, in der wir dann ASM: NOP;... RET; einfügen, so, wie wir es brauchen? Ich weiß allerdings nicht, ob man damit genügend Fine-Tuning machen kann, um passende Clk-Raten zu bekommen..

Warum ich hinter dem Thema so her bin: Ich lese per I2C AD-Wandler aus, 20 mal hintereinander, auf bis zu 16 Kanälen. Da kommt es mir auf jedes bischen Geschwindigkeit an, die ich bekommen kann..

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

Re: I2CPort / I2CClk Frequenz Problem?

 · 
Posted: 25.01.2011 - 13:00  ·  #19
ich bin mir da nicht sicher, ob das weiter hilft. aber vielleicht kannst du evtl den damals Ärger verursachenden LM76 durch einen anderen Typ ersetzen. es gibt da ja etliche chips am Markt mit I2C-Interface, wie z.b. SE95 von NXP, MCP9801,DS1621 usw....... vielleicht klapps ja dann wieder mit dem hardware-interface.

golf
robert
Benutzer
Avatar
Gender: n/a
Location: Hildesheim / Deutschland
Posts: 249
Registered: 04 / 2006
Subject:

Re: I2CPort / I2CClk Frequenz Problem?

 · 
Posted: 25.01.2011 - 13:32  ·  #20
Was soll da eigentlich mit dem LM76 nicht funktionieren? Wir setzen den ein.

Robert
rh
Administrator
Avatar
Gender:
Location: Germany
Age: 24
Homepage: e-lab.de
Posts: 5558
Registered: 03 / 2002
Subject:

Re: I2CPort / I2CClk Frequenz Problem?

 · 
Posted: 25.01.2011 - 14:16  ·  #21
Hallo Michael,

wird beim I2Cclock als delay der Wert "0" angegeben, so wird nicht das sDelay aufgerufen sondern es werden 2 NOPs eingefügt.

rolf
mc-electronic
Benutzer
Avatar
Gender: n/a
Location: Sauerland NRW
Posts: 372
Registered: 03 / 2008
Subject:

Re: I2CPort / I2CClk Frequenz Problem?

 · 
Posted: 25.01.2011 - 17:58  ·  #22
@robert, @golf: Ich setze den STDS75M2F ein, über den Rolf hier im Forum mich mal aufgeklärt hat, daß das der LM76 ist. Der hängt den Hardware TWI Bus beim ersten Schreibzugriff auf. Wenn Du einen anderen LM76 einsetzt, der am Hardware TWI geht, dann löte ich eben noch mal alle Geräte um und bin dann fertig.
ALLERDINGS habe ich inzwischen festgestellt, daß das Hardware-TWI sehr empfindlich ist (steht auch in Rolf's Manual!): wenn ich einen Tastkopf mit 1:1 Tastung auf das Clk-Signal aufsetze, hängt der Bus sich oft auf - mit der ganzen Applikation. Das passiert mit dem AVRco Soft I2C nicht. Daher habe ich inzwischen schon ein Interesse daran, den Soft I2C einzusetzen. Ausserdem habe ich ab morgen beim TÜV den ersten EMV-Termin für die CE-Zertifizierung...

@rolf: Wenn das so ist, wie Sie schreiben, dann hat der Soft I2C Treiber ja theoretisch doch die Möglichkeit, auf höhere Geschwindigkeiten zu kommen. Können Sie uns nicht eine alternative Möglichkeit im I2Cclk Befehl geben, daß wir die NOP-Zahl setzen können, sagen wir mal mit einem 3. Parameter, z.B. I2Cclk = 0,0,5; --> Das heißt dann: erste 0: nimm Pin 0 des I2C Port, zweite 0: nimm NOP's statt sDelay, dritte Zahl 5: nimm 5 NOP's zum einfügen?! Dann könnten wir den Bus vielleicht doch noch feintunen!!

Gruß, Michael
rh
Administrator
Avatar
Gender:
Location: Germany
Age: 24
Homepage: e-lab.de
Posts: 5558
Registered: 03 / 2002
Subject:

Re: I2CPort / I2CClk Frequenz Problem?

 · 
Posted: 25.01.2011 - 21:16  ·  #23
Hallo Michael,

der Wunsch wird erfüllt.
Allerdings ist mir immer noch schleierhaft wie eine sehr alte AVRco Version mit delay = 16 auf 400kHz gekommen ist...

rolf
mc-electronic
Benutzer
Avatar
Gender: n/a
Location: Sauerland NRW
Posts: 372
Registered: 03 / 2008
Subject:

Re: I2CPort / I2CClk Frequenz Problem?

 · 
Posted: 26.01.2011 - 07:00  ·  #24
Hallo Rolf,

Quote
der Wunsch wird erfüllt.

S-U-P-E-R !! :-)
  • 1
  • 2
  • 3
  • 4
  • Page 3 of 4
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   145   160 · Page-Gen-Time: 0.0349s · Memory Usage: 2 MB · GZIP: on · Viewport: SMXL-HiDPI