- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 8 von 8

Thema: seltsames SPI - Verständnisfrage

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter Genie Avatar von Crazy Harry
    Registriert seit
    15.01.2006
    Ort
    Raum Augsburg - Ulm
    Beiträge
    1.301

    seltsames SPI - Verständnisfrage

    hallo @ all,

    ich habe eine (meine ich) seltsame SPI-schnittstelle. der baustein wird nur schreibend betrieben, hat also folgende leitungen:

    - SI .... serial data in
    - SCL .... serial clock
    - CS1B .... chip select

    zusätzlich gibt es aber noch eine leitung

    - A0 .... L=Command, H=Data

    was mich jetzt etwas verwirrt ist der satz aus dem datenblatt
    The A0 input is read and used for detection every 8th
    rising edge of the 4-line SPI clock after the chip becomes
    active.
    heißt das, daß ich A0 bei oder nach jedem 8.bit verändern oder toggeln muß, damit das byte-ende erkannt wird ? nur wie, da ja je nachdem ob daten oder command A0 entweder vorher L oder H war ? oder wie soll ich das deuten ?

    und nochwas: anhand der grafik vermute ich mal, daß SPIcpha (phase) = 1 und SPIcpol (polarität) = 1 ist ?

    gruss
    harry
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken spi_132.jpg  
    Ich programmiere mit AVRCo

  2. #2
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Aus der Graphik würde ich sagen, beim 8. Bit mußt Du A0 hochziehen, damit es bei der rising edge oben ist (saublöde Geschichte für Hw SPI).

    soweit, so gut, wenn er das auch als Command/Data versteht.

    Das mit der polarität ist, soweit ich mich erinnere, richtig

    Was gibt es noch für Informationen über Command / Data ?
    Was ist das für ein Trumm ?
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  3. #3
    Erfahrener Benutzer Roboter Genie Avatar von Crazy Harry
    Registriert seit
    15.01.2006
    Ort
    Raum Augsburg - Ulm
    Beiträge
    1.301
    ich verwende softSPI - muß mir dann aber leider meine ausgaberoutinen selber schreiben. ich probiers mal

    das ganze ist ein display
    http://www.lcd-module.de/deu/pdf/grafik/dogm132-5.pdf
    Ich programmiere mit AVRCo

  4. #4
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Ah so ist das :

    Zurück an den Start:

    Für die SPI-Übertragung selbst braucht er A0 gar nicht. Nur Clock und Data

    A0 gilt nach wie vor als Command/Data Leitung.

    Was gemeint ist: er liest A0 erst beim 8.Bit, d.h. spätesten da muß es null oder eins sein.
    Du kannst A0 also auch vor der Übertragung setzen. d.h. du kannst auch die HW SPI verwenden, weil die eigentlich nix damit zu tun hat.

    is ja doch einfacher
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  5. #5
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    72
    Beiträge
    11.077
    Hallo Crazy Harry!

    Der PicNick hat das sehr gut erklärt, ich versuche es noch einfacher.

    Die Signale steuert man bei z.B. einem Handy Display wie folgt:

    - durch CSx wird angesprochenes Display gewählt, bei einem ist CSx mit GND verdrahtet.

    - man setzt A0 auf H für Befehl bzw. L für Data und schickt seriell 8 Bits. Wenn mehr Databytes gesendet werden braucht man A0 erst vor dem ersten Befehl ändern. Genauso wenn mehrere Befehle gesendet werden, braucht man A0 erst vor dem ersten Databyte ändern.

    MfG

  6. #6
    Erfahrener Benutzer Roboter Genie Avatar von Crazy Harry
    Registriert seit
    15.01.2006
    Ort
    Raum Augsburg - Ulm
    Beiträge
    1.301
    hi PicNick - hi PICture,

    herzlichen dank es lag an dem A0-signal. zum einen war es nicht zum richtigen zeitpunkt da und zum anderen (ein oszi hat es gezeigt) hat der µC das L nicht geliefert: meine schuld, denn genau für diesen pin war das ddr-register nicht gesetzt.

    das lcd läuft auf jeden fall - jetzt kann ich mich an die eigentliche arbeit machen: ein interface für I²C

    gruss
    harry
    Ich programmiere mit AVRCo

  7. #7
    Zitat Zitat von Crazy Harry
    hi PicNick - hi PICture,
    das lcd läuft auf jeden fall - jetzt kann ich mich an die eigentliche arbeit machen: ein interface für I²C

    gruss
    harry
    Würds Dir was ausmachen den Source zu posten. Ich verzweifele hier an dem Init von so einem DOGM132, das Drecksding will nicht obwohl das auf dem 4 Kanel Speicheroszi alles gut aussieht. Würde mir helfen.

    Bei Mikrokontroller.net sind auch schon diverse Leuts am verzweifeln....

    Markus

  8. #8
    Hat sich erledigt, war ein simpler Tippfehler (Tilde vergessen beim Bit löschen). Geht jetzt.

    Markus

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen