Hallo, wie gehe ich vor wenn ich den Stromverbrauch eines µC im SPI bzw I2C bzw UART Modus bestimmen möchte? Mein Ansatz: Eingangskapazität des SPI Chips: 15pF High Spannung: 3,3V Low Spannung: 0V CLK Frequenz: 1kHz Ich betrachte erstmal nur den Verbrauch durch die CLK Leitung! C=Q*U -> Q=C/U -> Q=4,5*10^-12 Coulomb Bei 1kHz muss ich alle 1ms einmal komplett auf 3,3V laden und dann wieder auf 0V entladen. -> t=1/2000=0,5ms I=dQ/dt=9,1nA mittlerer Verbrauch. Leitungsaufnahme im Mittel: P=U*I=3,3V*9,1nA=30nW da die Serial-In und Serial-Out Leitung mit der selben Frequenz laufen, dehme ich die Mittlere Leistungaufnahme mal drei. P(gesamt)=3*30nW=90nW ... sitmmts oder ist das Bullshit? Greets Gizmo
Gizmo schrieb: > Hallo, > > wie gehe ich vor wenn ich den Stromverbrauch eines µC im SPI bzw I2C bzw > UART Modus bestimmen möchte? Das Datenblatt lesen. Da steht sowas drin.
Knut Ballhause schrieb: > Das Datenblatt lesen. Da steht sowas drin. http://ww1.microchip.com/downloads/en/devicedoc/21743a.pdf Leider kann ich hier nichts finden ... Mir erscheint das auch etwas unlogisch, da der Stromverbrauch ja mit der Clockfrequenz anwachsen sollte .. oder täusche ich mich da? Greets Gismo
Gizmo schrieb: > ... sitmmts oder ist das Bullshit? So wie du das gerechnet hast mag das stimmen - für die Treiber der Leitungen. Und die genaze Logik der SPI im uP/uC? Braucht die keinen Strom? Ein gutes Datenblatt gibt Dir ungefähr einen Anhaltspunkt was der uC an diesem Block braucht. Rest ist Interpolation oder aus den Fingern saugen :) rgds
Gizmo schrieb: > Leider kann ich hier nichts finden ... Da hast Du Recht, das Datenblatt taugt nichts. Bei ATMEL hat man sich seit Einführung der PicoPower-Technologie dazu durchgerungen, sämtliche Peripherie auf dem Chip seitens des Stromverbrauches bei den verschiedenen Taktraten im Datenblatt aufzuführen. Daran gewöhnt man sich schnell.
> http://ww1.microchip.com/downloads/en/devicedoc/21743a.pdf
also ich sehe da "Normal Mode" = 250uA und das schliesst für mich SPI
ein. ..OK, wenn du nur(!) den stromverbrauch der SPI haben willst, gebe
ich zu, finde ich auch nichts.
Es ist schon richtig, dass die Stromaufnahme von der Frequenz abhängt. Typischerweise nimmt die Stromaufnahme beinahe linear mit der Frequenz zu. Doppelte Frequenz = doppelte Stromaufnahme.
Wenn man jetzt davon ausgeht, dass die CPU für SPI mindestens 4x so schnell wie der SPI-Takt laufen muss, dann kann man die Stromaufnahme des Gesamtcontrollers für die gegebene SPI-Frequenz berechnen, wobei der Strom für das SPI dann darin enthalten ist.
Knut Ballhause schrieb: > Wenn man jetzt davon ausgeht, dass die CPU für SPI mindestens 4x so > schnell wie der SPI-Takt laufen muss ...dann hat man eine Milchmädchenrechnung verfaßt. Das gilt allenfalls für den Slave-Mode oder im Multimaster-Betrieb.
Ja und? Dafür hast Du dann wenigstens mal eine Hausnummer. Ohne Weitere Info vom OP, wofür er die Parameter braucht, ist das Ganze hier ohnehin über den Daumen...
Man kann alles akademisch übertreiben. Klar, theoretisch braucht auch das SPI-Modul seinen Strom, abhängig von der Taktfrequenz. Praktisch fällt das unter ferner liefen, denn wenn SPI läuft, läuft auch die CPU unter Vollast, aka Active Mode. Siehe Sleep Mode. Die paar uA sind Peanuts, schließschlirch reden wir nur über bestfalls dreit Duztend rasselnde FlipFlops.
Die clock frequenz auf dem SPI ist eher unwesentlich. Man sollte eher die Anzahl Flanken zaehlen. Natuerlich laeuft der Controller schon mit dem Uhrenquarz auf 32kHz. Sonst waer's uebertrieben.
Hallo zusammen, vielen Dank erstmal für die zahlreichen Antworten! Vielleicht hätte ich gleich etwas konkreter fragen sollen ... Den (SPI)Chip hatte ich nur exemplarisch ausgewählt um Zahlenwerte für die Eingangskapazität zu haben. Die Frage die ich mir gestellt habe war folgende: Neben dem Strom den mein µC braucht (MSP430 5x-Serie) möchte ich wissen, was sonst an Leistung verbraten wird, wenn ich per SPI mit IRGENDeinem SPI-fähigen Chip kommuniziere. Meine Annahme ist: Leistung: P(ges)=P(µC im SPI-Betrieb) + P(SPI-Chip) + P(Verluste durch Umladen der Eingangskapazität) Stimmt das so? Greets Gizmo
@ Gizmo (Gast) >Leistung: P(ges)=P(µC im SPI-Betrieb) + P(SPI-Chip) + P(Verluste durch >Umladen der Eingangskapazität) >Stimmt das so? Ja. Die Formel für letzeres ist einfach
1 | P = U^2 * C * f |
Gilt auch für die meisten CMOS-ICs, wobei man aber meist nicht die parasitären Kapazitätn der ICs kennt. Bei den einfachen 74er ICs steht das noch im Datenblatt.
Super Diskussion, das Teil im Datenblatt ist doch nur ein Temperatur-Sensor. Und da steht, dass der maximal 400µA braucht, 250µA typisch. Und, und, und, da sind reichlich Angaben. :-) Am Ende hilft sowieso nur nachzumessen, ob die Ziele erreicht wurden.
Ich schrieb: > Super Diskussion, das Teil im Datenblatt ist doch nur ein > Temperatur-Sensor. Wie gesagt wollte ich das einfach mal generell wissen ... der Temperatursensor war nur als Beistpiel ausgewählt (Google:"SPI Sensor" -> 1.Treffer ...) > Und, und, und, da sind reichlich Angaben. :-) Wenn ich das richtig verstehe zeigen die mir aber nicht was mein Verbrauch NUR durch die SPI-Übertragung ist. Wenn Du mehr siehst, lass mich bitte nicht doof sterben ;) >Falk Brunner schrieb: >Die Formel für letzeres ist einfach >P = U^2 C f > >Gilt auch für die meisten CMOS-ICs, wobei man aber meist nicht die >parasitären Kapazitätn der ICs kennt. Bei den einfachen 74er ICs steht >das noch im Datenblatt. Das ist was konkretes. Danke! Die Ausgangskapazität ist mit 50pf angegeben. Kann ich mir das nun so vorstellen: 1)Tempsensor möchte eine 1 senden. Seine Ausgangskapazität sind 50pF. 2)Eingangskapazität von der Gegenstelle sind (zB) 30pf. 3)Die beiden Kapazitäten liegen parallel -> C(ges)=80pF. 4)Ich benötige also die Ladungsmenge (Q=C*U) um 80pf auf 3V aufzuladen um in diesem Fall einen 1 zu übertragen. Kann man das so betrachten? Greets Gizmo
Falk Brunner schrieb: > Die Formel für letzeres ist einfach >
1 | P = U^2 * C * f |
> > Gilt auch für die meisten CMOS-ICs, wobei man aber meist nicht die > parasitären Kapazitätn der ICs kennt. Bei den einfachen 74er ICs steht > das noch im Datenblatt. Ich würde das nicht parasitäre Kapazität nennen, sondern eher äquivalente Kapazität. Bei einfachem, rein digitalem CMOS-Zeugs ist die statische Stromaufnahme praktisch 0. Die Stromaufnahme besteht dann nur noch aus dem dynamischen Anteil, der laut obiger Formel proportional zur Frequenz und zum Quadrat der Betriebsspannung ist. Der Proportionalitätsfaktor mit der Einheit einer Kapazität ist dann eine Kenngröße der Schaltung. Bspw. habe ich erst kürzlich das Datenblatt des 74HC132 von NXP gesaugt (meine Kopie im Archiv war karpott). Die geben da einen Wert an: C_pd (power dissipation capacitance) per gate = 24pF So eine Angabe würde man sich von den µC Herstellern auch wünschen. Also z.B. C_pd des SPI-Moduls. Oder des ADC. Oder Timer 0. Oder was immer man im Betrieb an- und abschalten und/oder mit wählbarer Frequenz betreiben kann. XL
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.