Stromverbrauch SPI

Gast #3046193
Lesenswert?

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
Gast #3046292
Lesenswert?

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
(Firma: TravelRec.) Persönliche Seite #3046302
Lesenswert?

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.
#3046986
Lesenswert?

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.
Gast #3047016
Lesenswert?

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.
Gast #3050837
Lesenswert?

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
#3050884
Lesenswert?

@  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.
Gast #3050904
Lesenswert?

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.
Gast #3051919
Lesenswert?

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
#3053670
Lesenswert?

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren