Max187 über SPI

Dies ist das deutsche Forum für alle Themen um den IO-Warrior. Beiträge bitte nur in Deutsch.

Moderator: Guido Körber

smatei
Posts: 77
Joined: Sat Apr 25, 2009 12:57 am

Max187 über SPI

Post by smatei »

Hallo,

mit I²C habe ich schon meine ersten Versuche hinter mir und alles läuft wunderbar. :) Nun möchte ich über SPI einen Max187 auslesen.
Gelötet und angeschlossen ist der Max wie im PDF beschrieben. Auch hatte ich bereits einmal einen Max187 direkt gelesen über direktes Schalten der IO-Pins. Nun möchte ich den Max187 aber über SPI auslesen.

Dazu habe ich folgende Reports erstellt, die an den IOW geschickt werden:

Code: Select all

//SPI aktivieren - den Max187 lesen mit 0.0625MBit/sec - SCK High bei Data-Byte - lesen bei 2. SCK Takt
repWrite[0] = 0x08;
repWrite[1] = 0x01;
repWrite[2] = 0xF0;

//Max187 auslesen
repWrite[0] = 0x09;
repWrite[1] = 0x82;
Da die Schaltung richtig ist, kann mein Fehler nur bei den Reports sein. Was mache ich falsch?

Gruss,
Sebastian.
Guido Körber
Site Admin
Posts: 2876
Joined: Tue Nov 25, 2003 10:25 pm
Location: Germany/Berlin
Contact:

Re: Max187 über SPI

Post by Guido Körber »

repWrite[2] = 0xF0; ???

Was soll der Wert bedeuten? Nach den gewünschten Werten wird wohl $0F richtig sein.
smatei
Posts: 77
Joined: Sat Apr 25, 2009 12:57 am

Re: Max187 über SPI

Post by smatei »

Guido Körber wrote:repWrite[2] = 0xF0; ???

Was soll der Wert bedeuten? Nach den gewünschten Werten wird wohl $0F richtig sein.
Hatte wohl nen Dreher drin. :) Somit ist auch beim 2. Report ein Fehler den ich ändern werde.

Mit folgenden Reports kriege ich nun etwas rein, werde es aber noch auf Richtigkeit prüfen müssen.

Code: Select all

//SPI aktivieren - den Max187 lesen mit 0.0625MBit/sec - SCK High bei Data-Byte - lesen bei 2. SCK Takt
repWrite[0] = 0x08;
repWrite[1] = 0x01;
repWrite[2] = 0x0F;

//Max187 auslesen
repWrite[0] = 0x09;
repWrite[1] = 0x41;
Danke für die Kopfnuss,
Sebastian.
smatei
Posts: 77
Joined: Sat Apr 25, 2009 12:57 am

Re: Max187 über SPI

Post by smatei »

Hallo,

bin ein gutes Stück weiter, aber dennoch nicht angekommen.

Ich schicke zuerst den Initialisierungsreport für SPI:

Code: Select all

SPI initialisieren mit CPHA = 0 und CPOL = 0 für Max187, sowie lesen mit 2MBit/sec
repWrite[0] = 0x08;
repWrite[1] = 0x01;
Dann möchte ich lesen mit:

Code: Select all

Lediglich das Bit für 2-Byte lesen ist gesetzt, ansonsten kein DRDY und SSactive soll auch wieder auf Low
repWrite[0] = 0x09;
repWrite[1] = 0x02;
Als Ergebnis kriege ich nur Einsen.
Wo ist der Fehler? Ich vermute im zweiten Report, nur wieso? DRDY muss eigentlich nicht gesetzt werden, da die Konvertierungszeit beim Max187 kürzer ist als die Zeit zwischen den Reports und auch muss ich nicht SSactive setzen, da ich nur 2-Byte lesen will.
Guido Körber
Site Admin
Posts: 2876
Joined: Tue Nov 25, 2003 10:25 pm
Location: Germany/Berlin
Contact:

Re: Max187 über SPI

Post by Guido Körber »

Der Fehler liegt mindestens im zu schnellen Takt, laut Maxim Datenblatt braucht der A/D Wandler 1,5µs ab fallendem /CS bis die Daten konvertiert sind.
smatei
Posts: 77
Joined: Sat Apr 25, 2009 12:57 am

Re: Max187 über SPI

Post by smatei »

Moin,

wurde geändert auf:

Code: Select all

repWrite[0] = 0x08;
repWrite[1] = 0x01;
repWrite[2] = 0x03;
Ausgabe: 1111111111111111
Guido Körber
Site Admin
Posts: 2876
Joined: Tue Nov 25, 2003 10:25 pm
Location: Germany/Berlin
Contact:

Re: Max187 über SPI

Post by Guido Körber »

Dann wäre der nächste Anlauf noch mal ganz genau zu gucken ob Clock Phase und Polarität stimmen.
smatei
Posts: 77
Joined: Sat Apr 25, 2009 12:57 am

Re: Max187 über SPI

Post by smatei »

Naja, ich habe mich dazu nach diesem Abschnitt aus der PDF gerichtet, weshalb ich CPHA und CPOL auf 0 gesetzt habe.

Image

Der Report zum auslesen stimmt soweit?
Guido Körber
Site Admin
Posts: 2876
Joined: Tue Nov 25, 2003 10:25 pm
Location: Germany/Berlin
Contact:

Re: Max187 über SPI

Post by Guido Körber »

Ja, der Report zum Lesen stimmt so weit.

Sieht aber so aus, als wenn CPHA falsch ist.
smatei
Posts: 77
Joined: Sat Apr 25, 2009 12:57 am

Re: Max187 über SPI

Post by smatei »

Guido Körber wrote:Ja, der Report zum Lesen stimmt so weit.

Sieht aber so aus, als wenn CPHA falsch ist.
Ich überprüf das gleich mal. Bin grad dabei die Schaltung ein wenig zu säubern.
smatei
Posts: 77
Joined: Sat Apr 25, 2009 12:57 am

Re: Max187 über SPI

Post by smatei »

Und wieder lauter Einsen. :(
Auch mit 0x0F erhalte ich das selbe.
In diesem Thread http://www.codemercs.com/phpBB2/viewtop ... lit=max187 ist auch erwähnt, dass man CPHA und CPOL auf 0 zu setzen hat beim Max187.
Guido Körber
Site Admin
Posts: 2876
Joined: Tue Nov 25, 2003 10:25 pm
Location: Germany/Berlin
Contact:

Re: Max187 über SPI

Post by Guido Körber »

OK, habe ich jetzt falsch geguckt, CPHA und CPOL müssen 0 sein, das wäre richtig.

Bleibt dann die Frage ob der MAX187 richtig beschaltet ist, da gibt es ja u.a. den Shutdown Pin.
smatei
Posts: 77
Joined: Sat Apr 25, 2009 12:57 am

Re: Max187 über SPI

Post by smatei »

Der ist nach PDF-Vorgabe angebracht und SHDN ist auf High durch +5V aus der IOW-Testkit-Spannungsversorgungsleitung.

Image
Guido Körber
Site Admin
Posts: 2876
Joined: Tue Nov 25, 2003 10:25 pm
Location: Germany/Berlin
Contact:

Re: Max187 über SPI

Post by Guido Körber »

Und was liegt an Ain an?
smatei
Posts: 77
Joined: Sat Apr 25, 2009 12:57 am

Re: Max187 über SPI

Post by smatei »

Einmal habe ich damit Erdung gemessen, trotzdem lauter Einsen und einmal USB 5V, sowieso lauter Einsen.
Ob daran eine Spannung anliegt oder nicht, ich kriege nur Einsen eingelesen.
Post Reply