µC Auslatung anzeigen

Gast #2861527
Lesenswert?

Moin Moin,

Ich möchte die Auslastung(Prozessmäßig) eines ATMegas (ATmega328 oder 
ähnliches) mit Hilfe einer LED bestimmen (kennt sicher jeder vom 
Computer, da ist vorne auch eine LED, die mit einer je nachdem wie hoch 
die benötigte Rechenleistung ist, mit einer recht hohen Frequenz 
blinkt).
Wie ist das zu lösen(Ich programmiere in C)?
Hat jemand schon etwas ähnliches realisiert oder eine Idee, und ist es 
überhaupt möglich das so anzuzeigen wie ich das möchte? ;)

Danke schonmal für die Antwort,

max
Gast #2861536
Lesenswert?

Soll die Rechenzeit, die zum Ermitteln und Darstellen der Auslastung 
benötigt wird, mitzählen?
Oder anders: Keine Messung, die nicht das Ergebnis der Messung 
beeinflusst.
Ein solcher Mechanismus müsste komplett mit dem Programm verflechtet 
werden. D.h., dass alle Programmteile einzeln bezüglich ihrer Laufzeit 
analysiert werden und so modifiziert werden, dass sie, wenn sie 
aufgerufen werden, jeweils einer zentralen Stelle die verbratene 
Rechenleistung mitteilen. Wenn auch Interrupts erfasst werden sollen, 
müsste das ganze auch noch synchronisiert werden.

Um was geht es denn in Deinem Speziellen Fall? - Oder war das nur 
allgemein gefragt?

@top: Dafür müsste das Prgramm aber so strukturiert sein, dass es so 
etwas wie ein Idle gibt, bzw. dieses (z.B. per Callback) erfassbar ist.
Gast #2861544
Lesenswert?

max sd schrieb:
> Wie ist das zu lösen(Ich programmiere in C)?

Immer, wenn der µC nicht in einer Leerlaufschleife rumrennt, die LED 
anschalten.
Statt einer LED ist es günstiger, das Signal vom Ausgangspin auf einen 
Tiefpass zu schicken. Dann hast du den Auslastungsgrad als 
Analogspannung zur Verfügung. Ohne Vergleichswert die LED-Helligkeit zu 
schätzen, dürfte arg ungenau sein.
#2861557
Lesenswert?

> kennt sicher jeder vom
> Computer, da ist vorne auch eine LED, die mit einer je nachdem wie hoch
> die benötigte Rechenleistung ist, mit einer recht hohen Frequenz
> blinkt

Welche LED? die HDD LED? Diese hat mit der Rechenleistung nichts zu tun.

Man kann den uC natürlich in den Sleep-Mode setzen und über die Zeit die 
er darin verbringt bzw nicht verbringt die Auslastung bestimmen
Gast #2861637
Lesenswert?

Hallo,

da musst du erst mal festlegen, was an deiner Software Arbeit ist und 
was nicht, denn irgendwas macht der Prozessor ja immer. Dann musst du 
beim Eintritt in eine arbeitende Prozedur die Led einschalten usw.

Gruss Reinhard
Gast #2861911
Lesenswert?

> Welche LED? die HDD LED? Diese hat mit der Rechenleistung nichts zu tun.

Nein natürlich nicht die HDD Led, die Frage galt ja dem Prozessor. 
Zumindest mein DELL hat sogar 4 LEDs für jeden Prozessorkern eine LED 
und zusätzlichen noch eine HDD LED und auch mein HP hat einen HDD und 
eine Prozessor LED. ;)

> Dann musst du beim Eintritt in eine arbeitende Prozedur die Led einschalten usw.

Danke! Werde mir mal anschauen ob das so funktioniert!
#2862537
Lesenswert?

Ich zaehle einfach die durchgange in Main/Zeit (Variable hochzaehlen in 
Main, in Zeitinterrupt auslesen und resetten). Das gibt mir eine idee 
von die Auslastung. Natulich ist das nicht jeden Mal identisch wegend 
Interrupts / Programablauf. Aber die Mittelwert gibt eine gute Idee von 
wie gut/schnell das ganse Lauft. Und die min Wert gibt eine idee von 
max. Reaction-zeit when du Eingange pollt.

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