MODDING-FAQ FORUM

Alles rund ums Modden => Elektronik, Elektrik => Thema gestartet von: James Bond am Oktober 20, 2005, 15:46:37



Titel: Cpu Auslastungs anzeige
Beitrag von: James Bond am Oktober 20, 2005, 15:46:37
hallo

als grundidee gilt das hier

http://www.modding-faq.de/Forum/index.php?topic=139.0

ich möchte aber so eine anzeige auf eine 7 segment anzeige . also das normale zahlen angezeigt werden wie 20, 55, 100. bei google konte ich nichts derart finden.
kann mir jemand helfen? wie muss die schaltung verendert werden? ???


Titel: Re: Cpu Auslastungs anzeige
Beitrag von: StarGoose am Oktober 20, 2005, 16:10:32
indem du statt jeder led auf der auslastungsanzeige nen transistor nimmst welcher  eine ansteuermatrix auf die 7 segmentanzeigen bringt

1.led= steuert erstes eegment als 1 an und zweites als 0
2.led= steuert erstes egment als 2 an und zweites als x
.
.
.
usw usf.

kann natürlich sein das bei schnellen auslastungswechseln sich die anzeige so schnell verändert das ein flimmern der ziffern zwischen mehreren zuständen auftritt und es unlesbar wird


Titel: Re: Cpu Auslastungs anzeige
Beitrag von: James Bond am Oktober 20, 2005, 18:21:18
erstmal danke für die schnelle antwort!

habe verstanden was du meinst aber damit kann man nur 8 zustände anzeigen.
vielleicht habe ich mich etwas unverständlich ausgedrückt: ich möchte einzelne prozente anzeigen im einser schritte wie 1% 2% 3% 4% .....98% 99% 100%
Zitat von: StarGoose $txt[176] Oktober 20, 2005, 16:10:32
kann natürlich sein das bei schnellen auslastungswechseln sich die anzeige so schnell verändert das ein flimmern der ziffern zwischen mehreren zuständen auftritt und es unlesbar wird


das glaube ich nicht weil die software die anzeige nicht alle zentel sekunde aktualisiert sondern alle 1 -2 sekunden


Titel: Re: Cpu Auslastungs anzeige
Beitrag von: OlafSt am Oktober 20, 2005, 19:56:30
Rein theoretisch hätte ich da ne Idee...

Man nehme die 8 Bit des PIO plus 2 Steuerleitungen. Mit den Steuerleitungen beackern wir einen Demultiplexer, der je nach Zustand eines von drei Latches selektiert.

In diese Latches pumpen wir 8 Bit parallel den passenden Code zur Anzeige einer Ziffer. Hinter dem Latch vllt. noch ne Treiberstufe aus einem ULN und an die 7-Segment-Anzeige.

Rein theoretisch müßte das funktionieren... Viel Spaß beim planen  :bestens:


Titel: Re: Cpu Auslastungs anzeige
Beitrag von: Protracker am Oktober 20, 2005, 20:57:56
oder man gibts als gepackte BCD aus, pro BCD benötigst ja nur 4 bit, also kommst mit den 8bit des Ports für 0...99% schon aus, statt dem ULN pro anzeige baust einen BCD->7segment+led treiber ein pro anzeige, auch nur ein IC also pro stelle, da du an der vordersten stelle sowieso nur eine "1" anzeigen musst würd ich dazu eine der bis jetzt noch allen freien stuereleitungen nehmen mit einer einzigen transistorstufe der nur die "1" aktiviert (also beide segmente treibt)...

software brauchst halt dazu ;)


Titel: Re: Cpu Auslastungs anzeige
Beitrag von: OlafSt am Oktober 20, 2005, 21:32:24
Stimmt, an BCD-7-Segement-Decoder hab ich gar nicht gedacht... Aber man kann nicht an alles denken.

Die Software wird allerdings einen ordentlichen Happen komplexer als "ein Byte an $378, ein anderes an $37A ausgeben" :D


Titel: Re: Cpu Auslastungs anzeige
Beitrag von: James Bond am Oktober 21, 2005, 19:24:43
:o :o ohhh jeee! das was ihr hier erzählt übertrift bei weitem meine elektronik und programmier kenntnisse!

falls jemand irgendwo weitere links zu diese thema findet bitte posten!

aber anscheinend muss ich diese gedanke mit die cpu auslastungs anzeige aufgeben.... :headcrash: :headcrash: :headcrash:


Titel: Re: Cpu Auslastungs anzeige
Beitrag von: OlafSt am Oktober 22, 2005, 00:00:00
Was ist daran schwer ?

BCD-7-Segment Decoder/Treiber = MOS 4513 oder MOS 4543

Davon zwei Stück. Dazu einen BC546 plus zwei Widerstände, für die erste Ziffer. Fehlen noch die drei 7-Segment-Anzeigen, das ganze zusammendrahten, fertig.

Alles bei Reichelt zu finden (inklusive Datenblätter).

Wenn das soweit funktioniert, kleine Software basteln, laufen lassen und freuen.


Titel: Re: Cpu Auslastungs anzeige
Beitrag von: Protracker am Oktober 22, 2005, 08:02:49
hardwareseitig is es ja ganz simpel aber programmieren muss es doch irgendwer ;)


Titel: Re: Cpu Auslastungs anzeige
Beitrag von: James Bond am Oktober 24, 2005, 19:31:51
ICH HABS  ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D

Hier ist eine komplete Einleitung mit Schaltplan und Software:
http://www.gideontech.com/content/articles/209/1

und vielleicht solche Anzeigen:
http://www.my-led.de/cat02_led_numeric_display.php

Ich werde das ausprobieren sobalt ich mit mein aktuele Moddingprojekt fertig bin!
Mich reizt eine solche Anzeige mehr als ein lcd Display und deshalb werde ich dieses Ding auf jedenfall in mein pc einbauen  :pcknuddel:

Bis dann!

ps: ich liebe modding-faq.de. Einfach klasse!


Titel: Re: Cpu Auslastungs anzeige
Beitrag von: Protracker am Oktober 26, 2005, 09:47:54
die software schon mal ausgetestet - ich muss ja zugeben, die anzeige is ja leicht gemacht, programmieren is für mich allerdings unmöglich - da des programm meiner meinung nach ned läuft is das ganze bissi sinnloss für mich ...

also wenns bei wem läuft/nicht läuft würd mich das intressieren, hätt auch interesse an dem display ;) - dazu brauch i aber eben eine laufende software weil selber wird des bei mir nix...


Titel: Re: Cpu Auslastungs anzeige
Beitrag von: OlafSt am Oktober 26, 2005, 10:09:10
Die Software zu basteln ist eigentlich ein Witz. Wenn jemand eine solche Anzeige gebaut, getestet hat und sie mir leihweise zur Verfügung stellt, bastel ich was zurecht.

Und wenn wir schon dabei sind: Warum machen wir nicht ein Tutorial draus ? Bilder vom Bau der Anzeige wurden doch hoffentlich gemacht, oder ???


Titel: Re: Cpu Auslastungs anzeige
Beitrag von: Crawler am Oktober 26, 2005, 10:56:06
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 ;) 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?  ;)


Titel: Re: Cpu Auslastungs anzeige
Beitrag von: neo -_- am Oktober 26, 2005, 11:03:48
aber es gibt doch einen refresh Intervall von 4s
und so wie ich das verstehe sollte sich da dann nur alle 4 s was ändern
http://www.gideontech.com/guides/tempdisp/7segment.jpg
und das ist doch dann kein flackern


Titel: Re: Cpu Auslastungs anzeige
Beitrag von: Crawler am Oktober 26, 2005, 11:14:00
Zugegeben flackert bei 4s nichts, aber dieses Refresh Intervall ist in der Software von gideontech.com einstellbar. Sollte sich Olaf dazu entschließen eine neue Software zu programmieren, müsste er solch ein Aktualisierungsintervall auch einbauen. Und was nutzt es mir dann, wenn er für angenommene 4s 39% einblendet, wenn er innerhalb dieser Zeit auf 23% abfällt? Dann ist die Mittelwertbildung der CPU-Last eines kurzen Zeitraums vielleicht repräsentativer, die dann auf den nächsten Zehnerwert auf- oder abgereundet wird.
Im übrigen funktioniert das Verlinken von dieser Seite nicht richtig...


Titel: Re: Cpu Auslastungs anzeige
Beitrag von: OlafSt 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 ?


Titel: Re: Cpu Auslastungs anzeige
Beitrag von: Protracker am Oktober 26, 2005, 11:20:19
Zitat von: Crawler $txt[176] Oktober 26, 2005, 10:56:06
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 ;) 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?  ;)


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...


Titel: Re: Cpu Auslastungs anzeige
Beitrag von: OlafSt 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  ;D

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 :D


Titel: Re: Cpu Auslastungs anzeige
Beitrag von: Ast 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 ;D.
Ich würd mich auch bereit erklären, die Firmware für den AVR zu schreiben.


Titel: Re: Cpu Auslastungs anzeige
Beitrag von: OlafSt am Oktober 26, 2005, 17:25:08
So, hier mal ein 45-Sekunden-Entwurf, wie ich mir das so vorstelle:

(http://stlcd.curz.com/MFLED.JPG)

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 ;D


Titel: Re: Cpu Auslastungs anzeige
Beitrag von: Ast 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 ;D

Die nötigen Treiber liefer ich auch gleich mit.


Titel: Re: Cpu Auslastungs anzeige
Beitrag von: James Bond 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...




Titel: Re: Cpu Auslastungs anzeige
Beitrag von: Ast 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 ;) ) 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.


Titel: Re: Cpu Auslastungs anzeige
Beitrag von: AVR-Simon 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 ;D

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" ? ;) ;)


Titel: Re: Cpu Auslastungs anzeige
Beitrag von: Ast 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 ::)

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.


© 2001-2022 MODDING-FAQ FORUM | SMF
Alle Rechte vorbehalten.