SPI Special Mode mit Simple HID Tools
Moderator: Guido Körber
-
- Posts: 22
- Joined: Mon Jan 05, 2009 6:13 pm
SPI Special Mode mit Simple HID Tools
Hallo,
ich merke gerade das ich das mit den Reports doch nicht so ganz verstanden habe. Das scheitert schon an einer einfachen Frage: Wie setze ich für die Flags überhaupt irgendwelche Werte?
Die Report ID ist für SPI 08 und enable immer 01 (damits überhaupt läuft), das ist klar. Aber wenn ich jetzt einem Flag einen Wert geben will, muss dieser ja irgendwie hinzu addiert werden.
Wenn das bitweise passiert hab ich das dank wikipedia verstanden, allerdings sind die Flags über natürliche Zahlen indexiert, weshalb ich nicht verstehe, wie da jetzt etwas addiert wird und somit der Report am Ende auszusehen hat.
Ich bräuchte einfach nur ein, zwei Beispiele wie sich so ein Report zusammensetzt.
So wie ich sie abschicke scheinen sie zumindest nicht richtig zu sein, da ich von meinem A/D Wandler mit einem Temperatursensor nur 1'en als F's zurückbekomme.
gruss Michael
ich merke gerade das ich das mit den Reports doch nicht so ganz verstanden habe. Das scheitert schon an einer einfachen Frage: Wie setze ich für die Flags überhaupt irgendwelche Werte?
Die Report ID ist für SPI 08 und enable immer 01 (damits überhaupt läuft), das ist klar. Aber wenn ich jetzt einem Flag einen Wert geben will, muss dieser ja irgendwie hinzu addiert werden.
Wenn das bitweise passiert hab ich das dank wikipedia verstanden, allerdings sind die Flags über natürliche Zahlen indexiert, weshalb ich nicht verstehe, wie da jetzt etwas addiert wird und somit der Report am Ende auszusehen hat.
Ich bräuchte einfach nur ein, zwei Beispiele wie sich so ein Report zusammensetzt.
So wie ich sie abschicke scheinen sie zumindest nicht richtig zu sein, da ich von meinem A/D Wandler mit einem Temperatursensor nur 1'en als F's zurückbekomme.
gruss Michael
-
- Site Admin
- Posts: 2878
- Joined: Tue Nov 25, 2003 10:25 pm
- Location: Germany/Berlin
- Contact:
Re: SPI Special Mode mit Simple HID Tools
Auf das Enable-Byte wird nichts aufaddiert, die Flags sind im nächsten Byte.
-
- Posts: 389
- Joined: Sun Feb 13, 2005 1:22 pm
- Location: Gerblingerode / Duderstadt
- Contact:
Re: SPI Special Mode mit Simple HID Tools
Hallo King Sauce,
im Tool ALL-IN-ONE kannst den DATA-Monitor einschalten und beim ausprobieren die
entsprechenden Daten die an den IOW gesendet werden anschauen ...
mfg
R.Greinert
im Tool ALL-IN-ONE kannst den DATA-Monitor einschalten und beim ausprobieren die
entsprechenden Daten die an den IOW gesendet werden anschauen ...
mfg
R.Greinert
-
- Posts: 22
- Joined: Mon Jan 05, 2009 6:13 pm
Re: SPI Special Mode mit Simple HID Tools
nein das meinte ich auch nicht.Guido Körber wrote:Auf das Enable-Byte wird nichts aufaddiert, die Flags sind im nächsten Byte.
Dass der "Mode" im "Mode"-Byte festgelegt wird ist mir klar, aber um die LSB Datenrate einzustellen muss ich ja an irgendeiner Stelle auch das entsprechende "data rate select bit" setzen.
GEnauso, wie ich beim eigentlichen Datenversand (über ReportID 9) auch den "datacount" festlegen muss. Nur wo ich das in beiden Fällen tue ist mir unklar.
@friend-of-rq: welches "ALL-IN-ONE" Tool ist gemeint? Ich kenne hier nur die Simple HID Tools. Da sehe ich ja auch was dem IOW geschickt wird. Nur hilft mir das ja nicht weiter, weil ich nicht weiß wie das auszusehen hat.
gruß michael
-
- Posts: 389
- Joined: Sun Feb 13, 2005 1:22 pm
- Location: Gerblingerode / Duderstadt
- Contact:
Re: SPI Special Mode mit Simple HID Tools
Hallo King Sauce,
welchen IOW willst Du den verwenden IOW 24 oder 56, die unterscheiden sich bei den
SPI-Einstellungen.
so zu deinem Problem
Bit 1 =2
Bit 2 =4
Bit 3 =8
Bit 4 =16
Bit 5 =32
Bit 6 =64
Bit 7 =128
möchtest Du z.B. das BIT 0 und 6 auf EINS und alle anderen auf NULL setzen,
ergibt sich daraus ein wert von 65 ...
ES werden die jeweiligen Werte der Bits (1-128) jeweils zusammen addiert.
alle NULL = Wert 0
alle EINS = Wert 255
Frage beantwortet ?
DOWNLOAD IOW-TEST-Programm ALL-IN-ONE
welchen IOW willst Du den verwenden IOW 24 oder 56, die unterscheiden sich bei den
SPI-Einstellungen.
so zu deinem Problem
Bit 0 =1Aber wenn ich jetzt einem Flag einen Wert geben will, muss dieser ja irgendwie hinzu addiert werden.
Bit 1 =2
Bit 2 =4
Bit 3 =8
Bit 4 =16
Bit 5 =32
Bit 6 =64
Bit 7 =128
möchtest Du z.B. das BIT 0 und 6 auf EINS und alle anderen auf NULL setzen,
ergibt sich daraus ein wert von 65 ...
ES werden die jeweiligen Werte der Bits (1-128) jeweils zusammen addiert.
alle NULL = Wert 0
alle EINS = Wert 255
Frage beantwortet ?
DOWNLOAD IOW-TEST-Programm ALL-IN-ONE
-
- Posts: 22
- Joined: Mon Jan 05, 2009 6:13 pm
Re: SPI Special Mode mit Simple HID Tools
hallo,
vielen dank für das Programm! Ich benutze den IOW24.
Mit dem DataLog wird das jetzt auch endlich mit den Reports klar ;)
Laut Datenblatt soll bei meinem AD Wandler CPOL und CPHA 0 sein. Hab ich also eingestellt, niedrigste Datenrate ausgewählt und den Lesen Button geklickt. Ich bekomme aber trotzdem nur lauter Fs zurück.
Eigentlich sollten doch jetzt schon Daten zurückkommen, oder nicht?
vielen dank für das Programm! Ich benutze den IOW24.
Mit dem DataLog wird das jetzt auch endlich mit den Reports klar ;)
Laut Datenblatt soll bei meinem AD Wandler CPOL und CPHA 0 sein. Hab ich also eingestellt, niedrigste Datenrate ausgewählt und den Lesen Button geklickt. Ich bekomme aber trotzdem nur lauter Fs zurück.
Eigentlich sollten doch jetzt schon Daten zurückkommen, oder nicht?
-
- Posts: 389
- Joined: Sun Feb 13, 2005 1:22 pm
- Location: Gerblingerode / Duderstadt
- Contact:
Re: SPI Special Mode mit Simple HID Tools
Hallo King Sauce,
um welchen AD-Wandler handelt es sich denn ?
Ein Wert einer Messung liegt bei den meisten Bausteinen immer erst ein Lesevorgang später an ...
was mich wundert das Du immer nur "11111111" bekommst ...
ist den der Baustein auch richtig angeschlossen ?
hatte auch schon MISO und MOSI verwechselt
MOSI = MasterOut-SlaveIn
MISO = MasterIn-SlaveOut
um welchen AD-Wandler handelt es sich denn ?
wie viele Byte liesst Du denn ein ? ...Ich bekomme aber trotzdem nur lauter Fs zurück
Ein Wert einer Messung liegt bei den meisten Bausteinen immer erst ein Lesevorgang später an ...
was mich wundert das Du immer nur "11111111" bekommst ...
ist den der Baustein auch richtig angeschlossen ?
hatte auch schon MISO und MOSI verwechselt
MOSI = MasterOut-SlaveIn
MISO = MasterIn-SlaveOut
Code: Select all
A/D IOW
OUT ---- > MISO
CLK < ---- CLK
SS < ---- SS
-
- Posts: 22
- Joined: Mon Jan 05, 2009 6:13 pm
Re: SPI Special Mode mit Simple HID Tools
hallo,
Eingelesen habe ich alle möglichen Bytelängen. Also quasi alles durchprobiert, aber immer das gleiche Ergebnis erhalten.
oh mein Gott...
ich gucke hier gerade nochmal den schaltplan an und kann mich garnicht mehr an die Groundleitung erinnern, also dass ich die verlötet hätte ^^
und in der Tat, ich habe bei der AD Wandlerschaltung völlig vergessen die Masse zur IOW Schaltung rüberzulegen...
Da kann ja sowieso schonmal nichts laufen.
Es gibt auch noch einen Shutdown Pin am IC (SHDN) an dem immer die High Spannung anliegen soll, damit die interne Referenzspannung benutzt wird. Den kann ich den Pin doch einfach mit irgendeinem IO Pin vom IOW verbinden, oder?
Aber vielen dank schonmal für den hinweis zu Schaltungsüberprüfung ;)
Eingelesen habe ich alle möglichen Bytelängen. Also quasi alles durchprobiert, aber immer das gleiche Ergebnis erhalten.
oh mein Gott...
ich gucke hier gerade nochmal den schaltplan an und kann mich garnicht mehr an die Groundleitung erinnern, also dass ich die verlötet hätte ^^
und in der Tat, ich habe bei der AD Wandlerschaltung völlig vergessen die Masse zur IOW Schaltung rüberzulegen...
Da kann ja sowieso schonmal nichts laufen.
Es gibt auch noch einen Shutdown Pin am IC (SHDN) an dem immer die High Spannung anliegen soll, damit die interne Referenzspannung benutzt wird. Den kann ich den Pin doch einfach mit irgendeinem IO Pin vom IOW verbinden, oder?
Aber vielen dank schonmal für den hinweis zu Schaltungsüberprüfung ;)
-
- Posts: 22
- Joined: Mon Jan 05, 2009 6:13 pm
Re: SPI Special Mode mit Simple HID Tools
Guten Abend,
ich habe heute nochmal alle Leitungen überprüft und hab jetzt neben der fehlenden Masseverbindung auch noch gesehen, dass SCLK am falschen IOW Pin war... Jetzt ist jedenfalls alles wie es gehört und ich bekomme trotzdem immer das gleiche Ergebnis.
Ich habe zum besseren Verständnis nochmal einen Schaltplan gemalt, wie ich die beiden Schaltungen (IOW Starterkit+alte A/D Wandlerschaltung) zusammengesetzt habe:

Außerdem hängt noch an den Pins 0.0 - 0.7 jeweils einmal diese Schaltung:

Zur ersten Schaltung: Die 5V Schiene vom IOW habe ich nicht mit der des AD Wandlers verbunden, weil ich Angst hab, dass der USB Strom zu stark für den Wandler ist. Im Datenblatt vom MAX187 steht unter MAX bei Operating Mode 2,5mA.
Es steht allerdings auch etwas von einer Mindestspannung von 4,75V. Ich bin dann nämlich mal mit dem Messgerät rangegangen und habe überall nur 4,3V messen können, was meiner Meinung nach etwas stark unter dem Minimum liegt.
Wäre nett wenn mir jemand was zu der Schaltung sagen könnte. Nach meinen Messungen sieht es mir irgendwie so aus, als wäre die Spannung am Vdd viel zu niedrig um den MAX187 zum Anspringen zu bewegen. Aber wie gesagt, habe ich etwas Angst die 5V USB Leitung "direkt" an den Vdd Pin vom AD Wandler zu legen.
Danke schonmal!
gruß Michael
ich habe heute nochmal alle Leitungen überprüft und hab jetzt neben der fehlenden Masseverbindung auch noch gesehen, dass SCLK am falschen IOW Pin war... Jetzt ist jedenfalls alles wie es gehört und ich bekomme trotzdem immer das gleiche Ergebnis.
Ich habe zum besseren Verständnis nochmal einen Schaltplan gemalt, wie ich die beiden Schaltungen (IOW Starterkit+alte A/D Wandlerschaltung) zusammengesetzt habe:

Außerdem hängt noch an den Pins 0.0 - 0.7 jeweils einmal diese Schaltung:

Zur ersten Schaltung: Die 5V Schiene vom IOW habe ich nicht mit der des AD Wandlers verbunden, weil ich Angst hab, dass der USB Strom zu stark für den Wandler ist. Im Datenblatt vom MAX187 steht unter MAX bei Operating Mode 2,5mA.
Es steht allerdings auch etwas von einer Mindestspannung von 4,75V. Ich bin dann nämlich mal mit dem Messgerät rangegangen und habe überall nur 4,3V messen können, was meiner Meinung nach etwas stark unter dem Minimum liegt.
Wäre nett wenn mir jemand was zu der Schaltung sagen könnte. Nach meinen Messungen sieht es mir irgendwie so aus, als wäre die Spannung am Vdd viel zu niedrig um den MAX187 zum Anspringen zu bewegen. Aber wie gesagt, habe ich etwas Angst die 5V USB Leitung "direkt" an den Vdd Pin vom AD Wandler zu legen.
Danke schonmal!
gruß Michael
-
- Site Admin
- Posts: 2878
- Joined: Tue Nov 25, 2003 10:25 pm
- Location: Germany/Berlin
- Contact:
Re: SPI Special Mode mit Simple HID Tools
Äh, und wo bekommt der A/D Wandler jetzt seine Versorgungsspannung her???
-
- Posts: 22
- Joined: Mon Jan 05, 2009 6:13 pm
Re: SPI Special Mode mit Simple HID Tools
:-)
Die wollte ich eigentlich vom Pin 0.3 abzapfen. Der sollte ja immer High sein. Nur irgendwie liegt die High Spannung wie gesagt nur bei 4,3V was mir etwas wenig erscheint um den A/D Wandler zu versorgen. Dort soll ja laut Datenblatt mindestens 4,75V anliegen.
Wie kann ich denn die 5V USB Leitung als Versorgungsleitung für den A/D Wandler benutzen ohne das mir was abraucht? Ich dachte ja die würde etwas zu viel Strom führen um die dort direkt anschließen zu können.
schönen abend noch,
michael
Die wollte ich eigentlich vom Pin 0.3 abzapfen. Der sollte ja immer High sein. Nur irgendwie liegt die High Spannung wie gesagt nur bei 4,3V was mir etwas wenig erscheint um den A/D Wandler zu versorgen. Dort soll ja laut Datenblatt mindestens 4,75V anliegen.
Wie kann ich denn die 5V USB Leitung als Versorgungsleitung für den A/D Wandler benutzen ohne das mir was abraucht? Ich dachte ja die würde etwas zu viel Strom führen um die dort direkt anschließen zu können.
schönen abend noch,
michael
-
- Site Admin
- Posts: 2878
- Joined: Tue Nov 25, 2003 10:25 pm
- Location: Germany/Berlin
- Contact:
Re: SPI Special Mode mit Simple HID Tools
Der Unterschied zwischen Spannung und Strom ist aber schon klar? Der MAX187 ist für eine Versorgung mit 5V ausgelegt und nun bitte anschließen und diesen Quatsch mit Stromversorgung aus einem Pin der IO-Warrior lassen.
-
- Posts: 389
- Joined: Sun Feb 13, 2005 1:22 pm
- Location: Gerblingerode / Duderstadt
- Contact:
Re: SPI Special Mode mit Simple HID Tools
Hallo King Sauce,
ich würde gerne mal wissen wie Du auf die Werte deiner Wiederstände gekommen bisst ??
Um den IOW port zu schützen nimmst Du 500kOhm zur Stromversorgung ... bei 5V
ergäbe das gerade mal einen max Strom von ~10 uA (unter der Voraussetzung der AD ist Niederohmig) und bei deiner Transistor Treiber Schaltung die ja auch einen Port belastet, da nimmst Du einen 100 Ohm Wiederstand um den Basisstrom zu begrenzen ??? ~50 mA ... da hättst Du die LED auch gleich an den Port anschliessen können ...
Bei den Wald und Wiesen-Transistoren kannst von einer Verstärkung von 200 ausgehen,
also mit übersättigung (100).Bei einem gewünschten LED-Strom von ca 10 mA/100 = 0.1mA ~ da reicht ein Vorwiederstand an der Basis von 10-50kOhm ...
und der Wiederstand der den LED-Strom berenzen soll ist mit 100 Ohm auch ein wenig zu klein (330-560) Ohm bei 5V währe da angemessener ...
Nimmst Du die Werte nach dem Zufallsprinzip oder ist da auch ein wenig Berechnung mit im Spiel ??
PS: die von mir gemachten Berechnungen sind nur über den Daumen ... LED / Transistor - Sperrspannungen habe ich dabei unberücksichtigt gelassen ;-)
Nachtrag: NICHT Sperrspannung ... sondern Durchlasspannung
ich würde gerne mal wissen wie Du auf die Werte deiner Wiederstände gekommen bisst ??
Um den IOW port zu schützen nimmst Du 500kOhm zur Stromversorgung ... bei 5V
ergäbe das gerade mal einen max Strom von ~10 uA (unter der Voraussetzung der AD ist Niederohmig) und bei deiner Transistor Treiber Schaltung die ja auch einen Port belastet, da nimmst Du einen 100 Ohm Wiederstand um den Basisstrom zu begrenzen ??? ~50 mA ... da hättst Du die LED auch gleich an den Port anschliessen können ...
Bei den Wald und Wiesen-Transistoren kannst von einer Verstärkung von 200 ausgehen,
also mit übersättigung (100).Bei einem gewünschten LED-Strom von ca 10 mA/100 = 0.1mA ~ da reicht ein Vorwiederstand an der Basis von 10-50kOhm ...
und der Wiederstand der den LED-Strom berenzen soll ist mit 100 Ohm auch ein wenig zu klein (330-560) Ohm bei 5V währe da angemessener ...
Nimmst Du die Werte nach dem Zufallsprinzip oder ist da auch ein wenig Berechnung mit im Spiel ??
PS: die von mir gemachten Berechnungen sind nur über den Daumen ... LED / Transistor - Sperrspannungen habe ich dabei unberücksichtigt gelassen ;-)
Nachtrag: NICHT Sperrspannung ... sondern Durchlasspannung
Last edited by friend-of-rq on Thu Feb 26, 2009 4:15 pm, edited 2 times in total.
-
- Site Admin
- Posts: 2878
- Joined: Tue Nov 25, 2003 10:25 pm
- Location: Germany/Berlin
- Contact:
Re: SPI Special Mode mit Simple HID Tools
Noch was: Wenn dann irgendwann Daten aus dem A/D Wandler kommen, nicht wundern, von den 12 Bit wird knapp die Hälfte wackeln. Um einen A/D Wandler mit voller Auflösung betreiben zu können muss man ganz genau wissen was man tut wenn man den aufbaut, einen Draht zu lang, oder an der falschen Stelle einen Masseanschluß abgezapft und schon sind ein paar Bits weg.
Die Reste an Versorungsspannung, die sich am A/D Wandler messen ließen sind übrigens über die internen Schutzdioden des A/D Chips von den SPI Signalen gekommen.
Die Reste an Versorungsspannung, die sich am A/D Wandler messen ließen sind übrigens über die internen Schutzdioden des A/D Chips von den SPI Signalen gekommen.
-
- Posts: 22
- Joined: Mon Jan 05, 2009 6:13 pm
Re: SPI Special Mode mit Simple HID Tools
OK. :-)Guido Körber wrote:Der Unterschied zwischen Spannung und Strom ist aber schon klar? Der MAX187 ist für eine Versorgung mit 5V ausgelegt und nun bitte anschließen und diesen Quatsch mit Stromversorgung aus einem Pin der IO-Warrior lassen.
Zu der Treiberschaltung: Bei der Quelle stand eine Formel dabei, mit der sich durch ein bestimmtes Widerstandsverhältnis die Schaltschwelle des Transistors bestimmen lässt. Mit 2 gleichgroßen Widerständen liegt die SChaltschwelle demnach bei 3,7V. Und weil ich hier soviele 100Ohm Widerstände liegen habe, habe ich halt jeweils zwei davon benutzt.
Richtig. Die Werte der LED Vorwiderstände hab ich durch ausprobieren herausbekommen... Das die nicht ganz richtig dimensioniert sind ist mir klar, aber da LEDs seit meinen ersten Elektronikversuchen mit 100Ohm ohne Durchbrennen liefen, hab ich da nie wirklich etwas berechnet.friend-of-rq wrote:Nimmst Du die Werte nach dem Zufallsprinzip oder ist da auch ein wenig Berechnung mit im Spiel ??