ATXMega256 Stromaufnahme Diskrepanz

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    Aufgrund technischer Veränderungen ist der Mailverkehr innerhalb des Forums (Private Nachrichten) nur noch eingeschränkt möglich. Die Einschränkung ist notwendig, um zusätzliche Betriebskosten für das Forum zu vermeiden. Näheres zu den Hintergründen im Thread "Aktuelles zum Forum".Wir bitten um Verständnis.

    Hinweis kann nach Kenntnisnahme deaktiviert werden!

    • ATXMega256 Stromaufnahme Diskrepanz


      Hallo!

      Ich habe mich etwas eingehender mit der Stromaufnahme vom ATXMega256 auseinandergesetzt und bin teilweise auf Differenzen zu den im Datenblatt angegebenen Werten gestoßen. Weiters sind die Bezeichnungen der in der jeweiligen Baureihe erhältlichen Varianten aus meiner Sicht nicht ganz eindeutig den jeweiligen Angaben in den Datenblättern zuzuordnen!
      Konkret habe ich hier 2 Varianten vom ATXMega256 (im TQFP-Gehäuse) jeweils auf einem Alvidi-Board und einem eigenen Prototypen-Board getestet:

      uC1: Aufdruck auf uC: ATXMega256A3U-AU (Alvidi-Board), lt. Bestellung soll aber dieses Board jedoch mit einem ATXMega256A3 bestückt sein.
      uC2: Aufdruck auf uC: ATXMega256A3 U-TW (auf Prototypen-Board bestückt), lt. Bestellung von Mouser handelt es sich um einen ATXMega256A3-AUR


      Die folgenden Messwerte der beiden uC's wurden jeweils auf beiden Boards verifiziert und waren praktisch deckungsgleich, sodaß etwaige Leiterplattenunterschiede zu vernachlässigen sind:

      Stromaufnahme uC1:
      OSC intern 32Mhz: 18.8 mA
      OSC intern 2Mhz: 2.2 mA
      OSC intern 32Mhz prescaled auf 16Mhz: 10.8 mA
      OSC intern 32Mhz prescaled auf 8Mhz: 6.8 mA
      OSC extern 8Mhz: 6.4 mA
      OSC extern 16Mhz: 10.4 mA

      Die o.a. Daten entsprechen mit etwas Toleranz dem offiziellen Microchip Datenblatt f. ATXMega256A3.
      Allerdings bin ich hier durch den Aufdruck ATXMega256A3U-AU verwirrt, demnach müsste es sich ja um die Variante A3U und nicht A3 handeln!
      Unter dieser Voraussetzung würden aber die Messwerte mit dem Datenblatt f. ATXMega256A3U nicht mehr übereinstimmen, da die U-Variante lt. Datenblatt grundsätzlich weniger Strom zieht!

      Stromaufnahme uC2:
      OSC intern 32Mhz: 23.4 mA
      OSC intern 2Mhz: 2.2 mA
      OSC intern 32Mhz prescaled auf 16Mhz: 13.5 mA
      OSC intern 32Mhz prescaled auf 8Mhz: 8.4 mA
      OSC extern 8Mhz: 7.6 mA
      OSC extern 16Mhz: 13.0 mA

      Die o.a. Daten entsprechen in keinem Fall den offiziellen Microchip Datenblättern (passt weder zu ATXMega256A3 noch zu ATXMega256A3U) und die Stromaufnahme dieses uC ist zu hoch!
      Der Aufdruck ATXMega256A3 U-TW ist auch etwas seltsam, da dieser 2-zeilig gestaltet ist: 1.Zeile ATXMega256A3, 2.Zeile U-TW
      Aus den Datenblättern ist zu entnehmen, daß TW für Produktion TAIWAN steht, nur wofür steht das U? Es handelt sich doch aufgrund der Messwerte eher um die A3 Variante, wobei wie gesagt auch dafür die Stromwerte zu hoch sind. Sollte das U für das Package stehen müsste allerdings auch wie auf uC1 die Beschriftung AU zu finden sein - diese bezeichnet das TQFP-Gehäuse!

      Hat hier wer von Euch ähnliche Erfahrungen gemacht bzw. ist auf Ungereimtheiten bei Bezeichnungen und Datenblattangaben gestoßen?
      Würde mich über Rückmeldungen freuen!

      Lg Walter




      uC1.jpguC2.jpg









    • Lt. Datenblätter braucht der
      • ...A3U = 15mA und der
      • ...A3 = 18mA
      Du misst hier vermutlich mehr, weil dein Controller auf dem Board ja irgendwo angeschlossen ist.

      Der Strom im Datenblatt bezieht sich auf Betrieb ohne externe Beschaltung. Durch Beschaltung wie Spannungsteiler, Treiberstufen, LED's etc. wird der Strom natürlich entsprechend höher.

      Wie und an welcher Stelle hast du denn den Strom gemessen?
      Schaltplan vom Board?
    • Genau wie Mitch64 schrieb: Da ist ein Spannungsregler auf dem Board usw. Kannst ja zwei dürre CuL an den nackten Chip löten, dann Spannung ran und den Strom messen. Im Auslieferungszustand ist ja sicher irgendein interner Taktgenerator eingeschalten…
      Aus datenschutzrechtlichen Gründen befindet sich die Kontaktdaten auf der Rückseite dieses Beitrages.
    • Vielen Dank für die schnellen Rückmeldungen :)

      Ich habe vergessen zu erwähnen, daß ich auf beiden Boards die Spannungsregler und externen Komponenten "deaktiviert" habe - damit ist gemeint alles was zusätzlichen Strom ziehen könnte habe ich durch Entfernen von Bauteilen somit ausgeschlossen.
      Beim Alvidid Board ist kein Spannungsregler mehr aktiv und auch der CP210 (USB-controller) ist ebenfalls ausgelötet, bei meinem Board ist ebenfalls kein Regler mehr aktiv.
      Die Spannungsversorgung auf beiden Boards erfolgt extern durch ein geregeltes Netzteil (3,3V)
      Beide uC's habe ich wie schon geschrieben auch jeweils auf dem anderen Board eingelötet und die gleichen Meßergebnisse erhalten.
      Die Strommessung erfolgt mittels DMM direkt in der Zuleitung vom Netzgerät. Es handelt sich um ein normales DMM(Voltcraft VC960) mit üblicher Genauigkeit (Messbereich 40mA +/-1%).

      Mitch64 schrieb:

      Lt. Datenblätter braucht der
      • ...A3U = 15mA und der
      • ...A3 = 18mA
      Du misst hier vermutlich mehr, weil dein Controller auf dem Board ja irgendwo angeschlossen ist.

      Der Strom im Datenblatt bezieht sich auf Betrieb ohne externe Beschaltung. Durch Beschaltung wie Spannungsteiler, Treiberstufen, LED's etc. wird der Strom natürlich entsprechend höher.

      Wie und an welcher Stelle hast du denn den Strom gemessen?
      Schaltplan vom Board?
      bei der Einstellung 32Mhz-intern sollte die Variante A3U ca. 13mA bei 3,3V brauchen:

      Xmega256A3U_32Mhz_intern.jpg
      Bei dem Alvidi uC messe ich aber 18,8mA - deswegen auch die Vermutung, daß es sich um eine A3 Variante handelt, zumal es auch so in der Bestellung angegeben ist - hier stört mich nicht das Messergebnis an sich sondern die Zuordnung zum Aufdruck A3U!


      Lg Walter
    • Sorry, aber ich sehe noch immer kein Schaltbild des Boards.

      Und wenn du die Stromaufnahme in der Zuleitung vom Netzteil misst, dann misst du genaugenommen die Stromaufnahme der gesamten Schaltung. Vielleicht ist noch was anderes auf der Platine, was deinen erhöhten Strom zur Folge hat.

      Zudem wäre es auch hilfreich, das Datenblatt mit Seitenangabe zu verlinken, damit man prüfen kann, in welchem Zusammenhang das Diagramm steht. Vielleicht sind da bestimmte Messkriterien angegeben.

      Wenn du dennoch der Auffassung bist, dass du falsche Bauteile bekommen hast, dann wende dich an deinen Verkäufer.

      Ich bin dennoch, nach aktuellem Wissensstand eher geneigt zu glauben, dass deine Strommessung in der Zuleitung vom Netzteil das Problem ist.
    • Um den Dingen auf den Grund zu gehen, habe ich jetzt 2 Testboards nur mit dem Chip und externen 16Mhz Oszillator erstellt.
      Anbei die zugehörigen Fotos!

      Dazu habe ich nochmals die Messungen wiederholt und die Ergebnisse sind ziemlich deckungsgleich mit den vorigen Messungen ohne gesetzte Pr-Register!

      Aufdruck auf uC: ATXMega256A3U-AU (uC vom Alvidi-Board)
      lt. Bestellung jedoch ein ATXMega256A3

      ohne gesetzte Pr-Register:
      OSC intern 32Mhz: 19.1 mA
      OSC intern 2Mhz: 1.8 mA
      OSC intern 32Mhz prescaled auf 16Mhz: 11.0 mA
      OSC intern 32Mhz prescaled auf 8Mhz: 6.7 mA
      OSC extern 16Mhz: 10.7 mA

      mit Pr-Registern gesetzt:
      OSC intern 32Mhz: 12.9 mA
      OSC intern 2Mhz: 1.4 mA
      OSC intern 32Mhz prescaled auf 16Mhz: 7.7 mA
      OSC intern 32Mhz prescaled auf 8Mhz: 5.1 mA
      OSC extern 16Mhz: 7.5 mA

      Die Daten mit gesetzten Pr-Registern entsprechen weitgehend dem offiziellen Microchip Datenblatt f. ATXMega256A3U



      Aufdruck auf uC: ATXMega256A3 U-TW (uC von Mouser)
      lt. Bestellung von Mouser ATXMega256A3-AUR

      ohne gesetzte Pr-Register:
      OSC intern 32Mhz: 23.8 mA
      OSC intern 2Mhz: 2.2 mA
      OSC intern 32Mhz prescaled auf 16Mhz: 13.6 mA
      OSC intern 32Mhz prescaled auf 8Mhz: 8.4 mA
      OSC extern 16Mhz: 13.3 mA

      mit Pr-Registern gesetzt:
      OSC intern 32Mhz: 16.3 mA
      OSC intern 2Mhz: 1.7 mA
      OSC intern 32Mhz prescaled auf 16Mhz: 9.7 mA
      OSC intern 32Mhz prescaled auf 8Mhz: 6.4 mA
      OSC extern 16Mhz: 9.4 mA

      Die Daten mit gesetzten Pr-Registern entsprechen weitgehend dem offiziellen Microchip Datenblatt f. ATXMega256A3



      Aufdruck auf uC: ATXMega256A3U-TW (uC von Reichelt)
      lt. Bestellung von Reichelt ATXMega256A3U

      ohne gesetzte Pr-Register:
      OSC intern 32Mhz: 18.7 mA
      OSC intern 2Mhz: 1.8 mA
      OSC intern 32Mhz prescaled auf 16Mhz: 10.9 mA
      OSC intern 32Mhz prescaled auf 8Mhz: 6.9 mA
      OSC extern 16Mhz: 10.9 mA

      mit Pr-Registern gesetzt:
      OSC intern 32Mhz: 12.6 mA
      OSC intern 2Mhz: 1.4 mA
      OSC intern 32Mhz prescaled auf 16Mhz: 7.8 mA
      OSC intern 32Mhz prescaled auf 8Mhz: 5.3 mA
      OSC extern 16Mhz: 7.8 mA

      Die Daten mit gesetzten Pr-Registern entsprechen weitgehend dem offiziellen Microchip Datenblatt f. ATXMega256A3U




      Die Crux bei den Messungen ist, daß die Werte in den Datenblättern sich auf Messungen beziehen, die mit gesetzten Pr-Registern durchgeführt wurden!!
      Zitat: "Notes: 1. All Power Reduction Registers set" zu finden auf Seite 141 vom Atmel-8386E-AVR-XMEGA A3U-Datasheet_09/2014
      Dies habe ich auch berücksichtigt und die Power reduction bei meinen ersten Messungen entsprechend so gesetzt:



      Config Power_reduction = Dummy , Aes = Off , Ebi = Off , Rtc = Off , Evsys = Off , Dma = Off , Daca = Off , Dacb = Off , Aca = Off , Acb = Off , Adca = Off , _
      Adcb = Off , Twic = Off , Twid = Off , Twie = Off , Twif = Off , Usartc0 = Off , Usartc1 = Off , Usartd0 = Off , Usartd1 = Off , _
      Usarte0 = Off , Usarte1 = Off , Usartf0 = Off , Usartf1 = Off , Spic = Off , Spid = Off , Spie = Off , Spif = Off , _
      Tcc0 = Off , Tcc1 = Off , Tcd0 = Off , Tcd1 = Off , Tce0 = Off , Tce1 = Off , Tcf0 = Off , Tcf1 = Off , Hiresc = Off , Hiresd = Off , Hirese = Off , Hiresf = Off

      Leider bewirkt diese Art der Power Reduction so gut wie gar nichts - die Stromaufnahme reduziert sich dadurch nicht!!
      Verwendete Bascom-Version 2.0.7.8

      Werden hingegen die Register so gesetzt, reduziert sich die Stromaufnahme sodaß die Werte mit den angegebenen Datenblättern übereinstimmen:
      Pr_pr = &B00011111
      Pr_prpa = &B00000111
      Pr_prpb = &B00000111
      Pr_prpc = &B01111111
      Pr_prpd = &B01111111
      Pr_prpe = &B01111111
      Pr_prpf = &B01111111

      Mir war das bis dato so nicht bewusst, habe dazu auch nichts durch Internet-Recherche gefunden - deswegen meine Info hierzu.
      Ich gebe zu daß das ganze auch etwas Korinthen-Kackerei ist, aber wenn Stromaufnahme das Thema ist kann das vielleicht doch interessant sein :)


      Lg Walter

      ATXMEGA256A3_U-TW.jpgATXMEGA256A3U_AU.jpg






    • Mir ist klar, das die von mir benutzte Version schon relativ alt ist, mein Programm basiert aber noch auf dieser Version, möglicherweise gibts beim Upgrade dann ein paar "issues" die ich dann korrigieren muß - trotzdem danke für den Hinweis!
      Jedenfalls hätte die Power-reduction schon in der damaligen Version funktionieren sollen - wie auch immer es passt ja jetzt :)

      Lg Walter