Willkommen Gast. Bitte einloggen oder registrieren.
Mai 15, 2024, 16:43:13
Übersicht Ungelesene Beiträge auflisten Hilfe Suche Spiele Mitgliederkarte Kalender Login Registrieren

Schnellsuche
+  MODDING-FAQ FORUM
|-+  Alles rund ums Modden
| |-+  Elektronik, Elektrik (Moderator: TzA)
| | |-+  Cpu Auslastungs anzeige
  « vorheriges nächstes »
0 Mitglieder und 0 Gäste betrachten dieses Thema.
Seiten: 1 [2] nach unten Drucken
Autor Thema: Cpu Auslastungs anzeige  (Gelesen 12272 mal)
OlafSt
Global Moderator

*

Karma: +13/-0
Offline Offline
Geschlecht: Männlich
Beiträge: 2138


Master of STLCD and LISA III


Profil anzeigen
Re: Cpu Auslastungs anzeige
« Antwort #15 am: Oktober 26, 2005, 11:14:49 »

@Neo: Da wir die Software hier entwerfen, spielen die Vorgaben anderer keine Rolle für uns.

@Crawler: Erstmal LPT. Beim IOW hat sich ne Menge getan, da muß ich mich erst einmal wieder einfuchsen. Übrigens ist mir irgendwo eine prima Adapter-Platine begegnet, die einen FT245 in DIL verwandelt. Wäre eine Maßnahme anstelle des IOWarrior.

Auf den ersten Blick fallen mir folgende Optionen ein:

- Aktualisierungsintervall einstellbar
- zwei- oder dreistellige Anzeige
- Glättung an/aus und wenn an, wie stark
- Anbindung der Anzeige an den Warpcore II, der ja eine CPU-Lastanzeige hat (da haben wir's mal wieder, Crawler. Modularer Aufbau...)

Weitere Ideen ?
« Letzte Änderung: Oktober 26, 2005, 11:16:21 von OlafSt » Gespeichert

Erstens: Lies was da steht. Zweitens: Denk drüber nach. Drittens: Dann erst fragen
Protracker
Dremelfreund

*

Karma: +0/-1
Offline Offline
Beiträge: 142



Profil anzeigen
Re: Cpu Auslastungs anzeige
« Antwort #16 am: Oktober 26, 2005, 11:20:19 »

Mir macht irgendwie die Auflösung der Anzeige Gedanken. bei ständigem Lastwechsel der CPU wird die Einerstelle munter flimmern. Und ob das Sinn und Zweck der Sache ist ist fraglich. Meinetwegen könnte die rechte Anzeige auch ständig die "0" zeigen und nur die Zehnerstelle ändert sich, also die Prozentangabe so gestalten: 0-10-20-...-90-100. Das ist natürlich vom Willen der Memberschaft Wink abhängig, ob meine vorgeschlagene Variante Anklang findet oder eben die prozentgenaue oder eine auf 5%-Genauigkeit angelegte Version.
Eventuell bau ich dazu mal die Hardware auf, einen Schaltplan dazu haben wir ja quasi schon. Wie siehts aus Olaf, Software für LPT oder auch für IOWarrior?  Wink

das wird ned funktionieren, die auslastung kann sich ja auch mal kurzzeitig um weit mehr als 10% ändern, also wird die gesamte anzeige herumflackern, denke auch die einzige vernünftige lösung is zB 5sekunden lang 10 messungen durchzuführen und alle 5sekunden dann den mittelwert der 10 messungen anzeigen lassen, damit kann man denk ich halbwegs was anfangen...
Gespeichert
OlafSt
Global Moderator

*

Karma: +13/-0
Offline Offline
Geschlecht: Männlich
Beiträge: 2138


Master of STLCD and LISA III


Profil anzeigen
Re: Cpu Auslastungs anzeige
« Antwort #17 am: Oktober 26, 2005, 11:50:46 »

Um das zu verhindern, rede ich ja von "Glätten". Das ganze funktioniert dann in etwa so:
- Man nehme die letzten drei ermittelten Werte.
- Summiere diese Werte fleißig auf
- Teile das Ergebnis anschließend durch drei

Das ergibt den arithmetischen Mittelwert der letzten drei Werte. Da wir zusätzlich eine Art Queue basteln (den zuerst ermittelten Wert werfen wir raus, schieben die beiden anderen Werte eine Stufe weiter und setzen den neuen Wert ganz oben ein), lassen sich länger anhaltende, stabile Werte problemlos anzeigen. Kurzzeitige Peaks fallen entweder ganz unter den Tisch bzw. sie wirken sich nicht allzu dramatisch aus.

Beispiel (CPU-Last ändert sich schlagartig von 0 auf 65%. Wir haben ein Intervall von 300ms und eine 3-Stufen-Pipeline, der Mittelwert landet auf der Anzeige):

nach 0ms    : Wert1=0, Wert2=0, Wert3=0. Summe = 0, Mittelwert = 0.

nach 300ms: Wert1=0, Wert2=0, Wert3=65. Summe=65, Mittelwert=21.

nach 600ms: Wert1=0, Wert2=65, Wert3=65. Summe=130, Mittelwert=43

nach 900ms: Wert1=65, Wert2=65,Wert3=65. Summe=195, Mittelwert=65.

Auf der Anzeige sieht man also: 0 - 21 - 43 - 65. Alle 300ms ändert sich also die Zahl, das sind 3 Änderungen je Sekunde. Ein absolut brauchbarer Effekt  Grin

Fällt die CPU-Last nun wieder auf 16% ab, sieht das so aus:

W1=65, W2=65, W3=16, S=146, M=49
W1=65, W2=16, W3=16, S=97, M=32
W1=16, W2=16, W3=16, S=48, M=16

Auf der Anzeige also 65 - 49 - 32 - 16.

Je mehr Stufen wir haben, desto stärker wird geglättet, folglich fallen auch mehr "Peaks" unter den Tisch und umso sanfter klettert/fällt die Anzeige. Eine Verkürzung des Intervalls wiederum hat den gegenteiligen Effekt.

So einfach kann das sein Cheesy
« Letzte Änderung: Oktober 26, 2005, 11:54:55 von OlafSt » Gespeichert

Erstens: Lies was da steht. Zweitens: Denk drüber nach. Drittens: Dann erst fragen
Ast
Case-Konstrukteur

*

Karma: +8/-0
Offline Offline
Geschlecht: Männlich
Beiträge: 589


Astpirin, die Medizin deines Lebens


Profil anzeigen WWW
Re: Cpu Auslastungs anzeige
« Antwort #18 am: Oktober 26, 2005, 14:44:42 »

Anstelle des teuren FT245 oder des teuren IO-Warriors kann man auch LowSpeed-USB über einen AVR realisieren.
Ich probiere da grade was mit rum.
Da kostet die komplette USB-Schaltung (inkl. Buchse) ca. 3€.
Bei der FT245-Variante kostet alleine der Chip 6€.
Der nachteil ist allerdings, dass man sich den AVR selbst programmieren muss, aber das stellt ja auch kein größeres Problem dar.
Außerdem ist die AVR-Variante um einiges langsamer, als der FT-chip, aber für diesen Zweck reicht es allemal und doppelt und dreifach Grin.
Ich würd mich auch bereit erklären, die Firmware für den AVR zu schreiben.
Gespeichert

There are only 10 types of people in the world:
Those who understand binary, and those who don't.
--------
How many people can read hex if only you and dead people can read hex?
OlafSt
Global Moderator

*

Karma: +13/-0
Offline Offline
Geschlecht: Männlich
Beiträge: 2138


Master of STLCD and LISA III


Profil anzeigen
Re: Cpu Auslastungs anzeige
« Antwort #19 am: Oktober 26, 2005, 17:25:08 »

So, hier mal ein 45-Sekunden-Entwurf, wie ich mir das so vorstelle:



Nichts wildes dran. Ein Preview (Standesgemäß natürlich als 7-Segment) und ein paar Einstellungen zur Glättung und den Intervallen.

@Ast: Wie spricht man Deine USB-Lösung an ? DLL, Treiber direkt, HID ? Für den Preis ist das jedenfalls ne Maßnahme Grin
« Letzte Änderung: Oktober 26, 2005, 17:26:48 von OlafSt » Gespeichert

Erstens: Lies was da steht. Zweitens: Denk drüber nach. Drittens: Dann erst fragen
Ast
Case-Konstrukteur

*

Karma: +8/-0
Offline Offline
Geschlecht: Männlich
Beiträge: 589


Astpirin, die Medizin deines Lebens


Profil anzeigen WWW
Re: Cpu Auslastungs anzeige
« Antwort #20 am: Oktober 26, 2005, 17:41:45 »

Also, ich spreche das ganze mit libUSB-win32 an.

Da kann ich dir dann ne komfortable DDL draus basteln.

Z.B. mit nur einer Funktion:

int Refresh_Load(unisgned char Auslastung)

Wie du willst Grin

Die nötigen Treiber liefer ich auch gleich mit.
Gespeichert

There are only 10 types of people in the world:
Those who understand binary, and those who don't.
--------
How many people can read hex if only you and dead people can read hex?
James Bond
Modding-Noob

*

Karma: +0/-0
Offline Offline
Beiträge: 5


Ich liebe dieses Forum!


Profil anzeigen
Re: Cpu Auslastungs anzeige
« Antwort #21 am: November 2, 2005, 19:28:23 »

Das hört sich gut an.

Wäre echt nett wenn ihr ein tutorial daraus macht. bestens
(Bitte auch link posten)

Wie weit seid ihr schon?
will kein Stress machen bin nur etwas ungeduldig...


Gespeichert
Ast
Case-Konstrukteur

*

Karma: +8/-0
Offline Offline
Geschlecht: Männlich
Beiträge: 589


Astpirin, die Medizin deines Lebens


Profil anzeigen WWW
Re: Cpu Auslastungs anzeige
« Antwort #22 am: November 2, 2005, 21:07:05 »

Wie wärs, wenn du dich an der Entwicklung beteiligst?
Du machst ne Schaltung für die Anzeige, dann kann ich ein USB-Interface machen und dann macht Olaf (hoffentlich Wink ) die nötige PC-Software.
Teamwork eben.
Und das Tut könntest ja auch du schreiben.
Zumindest ich bin gerade auch mit ein oder zwei anderen Projekten beschäftigt und dementsprechend fehlt mir grad die Muße ein solches Tut zu schreiben.
Gespeichert

There are only 10 types of people in the world:
Those who understand binary, and those who don't.
--------
How many people can read hex if only you and dead people can read hex?
AVR-Simon
Dremelfreund

*

Karma: +2/-0
Offline Offline
Beiträge: 127


Ja, ich habe was mit Mikrocontrollern zu tun :-)


Profil anzeigen
Re: Cpu Auslastungs anzeige
« Antwort #23 am: November 2, 2005, 22:17:54 »

Na da mach ich doch gleich mal einen Vorschlag.

Wie wärs mit Multiplexing?

Die 7 Segment Anzeigen werden über ein NPN-Array angesteuert und an PortC ein weitergezählt.
Einen AVR brauchen wir ja dann sowieso, wenn jemand hier da USB reindrücken will. Schieberegister wäre zuviel Aufwand, also multiplexing.
Externen Takt brauchen wir nicht (außer USB verlangt das so :/)
Zusätzlich könnte man die Helligkeit dimmen Grin

Allerdings hab ich mir jetzt keine Gedanken über irgndeine Modularität gemacht. Finde ich auch vielleicht eher unsinnig. Das soll einfach sein. Ein 2 Seiter (-Tutorial). Wozu groß "Modulieren" ? Wink Wink

* sch1.png (10.87 KB - runtergeladen 32 Mal.)
Gespeichert

Ast
Case-Konstrukteur

*

Karma: +8/-0
Offline Offline
Geschlecht: Männlich
Beiträge: 589


Astpirin, die Medizin deines Lebens


Profil anzeigen WWW
Re: Cpu Auslastungs anzeige
« Antwort #24 am: November 2, 2005, 22:38:13 »

Das Problem ist, dass der AVR mit dem USB schon sehr ausgelastet ist und weitere zeitkritische Funktionen nicht mehr richtig ausgeführt werden können.

Zwei spezielle 7-Segment-Decoder sollten die Arbeit schon erledigen, aber ich sowas noch nie benutzt.

Ich seh grad, dass James bereits eine vollständige Schaltung gepostet hat Roll Eyes

Sorry hab ich glatt übersehen.

Wenn ich in nächster Zeit mal Zeir hab, mach ich das ganze USB-tauglich, nur testen wirst du es müssen, da ich die Teil nicht hier hab und auch nicht vor hab in nächster Zeit was einzukaufen.

Sollte kein Problem sein, vorrausgesetzt du kannst nen AVR mit Firmware bespielen.
Gespeichert

There are only 10 types of people in the world:
Those who understand binary, and those who don't.
--------
How many people can read hex if only you and dead people can read hex?
Seiten: 1 [2] nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  

Einloggen mit Benutzername, Passwort und Sitzungslänge      

Powered by MySQL Powered by PHP
eXTReMe Tracker
Seite erstellt in 0.049 Sekunden mit 21 Zugriffen.
© 2001-2022 MODDING-FAQ FORUM | SMF
Alle Rechte vorbehalten.
Prüfe XHTML 1.0! Prüfe CSS!