Forum: PC-Programmierung WinBond Chip auslesen


von programmer(TR) (Gast)


Angehängte Dateien:

Lesenswert?

Guten Abend !

Ich bin mir nicht sicher, ob das jetzt hier rein passt, aber ich denke 
das einige von euch eventuell mir weiter helfen können.

Ich versuche gerade eine Application zu schreiben, mit der ich meinen 
WinBond Chip auf meinem Motherboard auslesen kann. Der WinBond Chip ist 
ein Super I/O Chip und hat Hardware Monitoring futures, also z.B. 
Temperatur der CPU, HDD, RPM der Kühler und die Spannungen, also +-12V 
und +-5V zu messen. (der Chip hat ein 8 Bit AD Wandler)

Ich habe es geschaft die Temperatur und RPM des Kühlers auszulesen, aber 
mit den Spannungen klappt das irgendwie nicht. Wenn ich die Spannung 
auslese bekomme ich als Wert 188 und 187.. es schwankt ab und zu. Diesen 
Wert muss man doch noch in "V" umwandeln oder nicht ? Die Temperatur 
bekommt man jedoch direkt als fertigen Wert.... Wie muss ich das 
umwandeln ?

Ich habe mir das Datenblatt so oft angeguckt, aber irgendwie werde ich 
bei einigen Stellen nicht schlau. Das Datenblatt ist im Anhang.


Ich benutze die "inpout32dll".

Also _input und _output Befehle wie in C oder C++.
Zugriff habe ich mittels der giveio.sys Datei erreicht.


Bedanke mich für jeden Hinweis !

Schönen Abend,

programmer(TR)

von ARM-Fan (Gast)


Lesenswert?

Auf den Seiten 101-102 steht doch alles, oder?

"8bit ADC with 16mV LSB" -> würde in deinem Fall so etwas
wie 3V bedeuten, wenn man mal davon ausgeht, das keine
Spannungsteiler vor dem ADC sind.

von ARM-Fan (Gast)


Lesenswert?

Wie ich grad noch sehe, hast du wohl die 5V Leitung gemessen.
Die hat intern noch nen Spannungsteiler, um auf unter 4.096V zu kommen.
Steht auf S.101 unten.

von programmer(TR) (Gast)


Lesenswert?

Vielen dank ARM Fan !

Hast du ein anderes Datenblatt ? Auf Seite 101 und 102 ist bei mir etwas 
anderes.

Wie hast du denn diese 187 bzw. 188 umgewandelt in 3V ?

0V = 0
5V = 255
...

von Gast (ein anderer) (Gast)


Lesenswert?

Im Reader ist es auf Seite 110

von ARM-Fan (Gast)


Lesenswert?

Ich meinte dir wirklichen Seitenzahlen, wie sie in der Fußzeile stehen.

Wie ich das umgewandelt habe, stand doch schon oben.

1 LSB ^= 16mV

Du hattes nen Wert von 188 ausgelesen.
Also 188 * 16mV = ~3V

Die ADC Eingänge vertragen aber nur 4.096 V max (^= 255).
Deshalb sind bei Spannungen darbüber, Spannungsteiler vorzusehen.
Auf der 5V-Schiene ist dieser wohl schon im Chip eingebaut.
Werte und Formeln stehen auf den angegebenen Seiten.

von programmer(TR) (Gast)


Lesenswert?

Ja das stimmt, er benutzt wohl einen anderes Programm.

Nur wie rechne ich denn mit diesen 8 Bit 16mV ?

von ARM-Fan (Gast)


Lesenswert?

Du machst es einem nicht leicht...

Du liest doch mit deinem Programm irgendwie diese 188 aus, oder?
Nimm diese Zahl und multipliziere sie mit 0.016 (float) und gut ists.
Das Ergebnis ist die Spannung in Volt, die am ADC anliegt.
Eventuelle Spannungsteilerfaktoren mußt du natürlich auch noch
berücksichtigen.

Nun klar?

von programmer(TR) (Gast)


Lesenswert?

ARM FAN erstmal vielen dank für deine Hilfe.

Als erstes kannst du mein Posting um 27.09.2007 22:40 ignorieren, denn 
ich habe es gepostet bevor ich deine Narchicht um 27.09.2007 22:39 
gelesen habe.
1 min differenz. Tut mir leid, habe nicht aktualisiert.

Ich habe das schon verstanden.

Zum Test habe ich meine Werte mit fertigen Monitoring Programmen 
verglichen.
Die Abweichung war sehr gerring.

         Mein Programm:          SpeedFan:
VCOREA:  1,69                    1,70
VCOREB:  1,79                    1,79..

alles stimmt soweit gut.

Nur bei +5VIN bekomme ich 3V als Ergebnis und nicht 5,03V. Hat das was 
mit dem Spannungsteiler zu tun ?

Danke

von ARM-Fan (Gast)


Lesenswert?

Ja, auf Seite 102 oben steht die Formel zur Umrechnung.

Vin = VCC * (50k / (50k + 34k))

Wobei Vin die Spannung am ADC ist.
VCC sind die 5V.

Stell die Formel nach VCC... et voilà.

von programmer(TR) (Gast)


Lesenswert?

Nochmals danke !

Jetzt guck ich mir nur noch an wie ich die Formel für die Negativen 
Spannungen umformen muss.

von ARM-Fan (Gast)


Lesenswert?

Das wird schon :-)

von programmer(TR) (Gast)


Lesenswert?

Also.. umformen musste man da nicht.. außer bei +12V aber alles hat 
geklappt.
Die Werte ab teil kleine abweichungen, aber das liegt eventuell an 
Rundungsfehler mit dem Taschenrechner....

Ich bedanke mich nochmals für deine Hilfe ! Hatte schon vor einigen 
Jahren versucht dieses Programm zu realisieren, aber da ich noch jünger 
war hat mir einiges an Wissen gefehlt.. jetzt fehlt mir auch noch was, 
aber net so viel :P.

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
Noch kein Account? Hier anmelden.