-
        

Ergebnis 1 bis 4 von 4

Thema: Unterschied SPI SOFT / HARD

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    04.12.2006
    Beiträge
    26

    Unterschied SPI SOFT / HARD

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Folgendes Phänomen:

    Ich steueremit einem MEGA644 3 MCP23S17 (16Bit Porterweiterungen) per SPI an.
    Nun liegt am SPI Bus auch noch eine SD-Karte, also dachte ich. Ports haste ja genug, steuer die MCP23S17 doch einfach per SOFT SPI an.

    Routinen entsprechen umgeschrieben mit folgendem Ergebnis:
    Schreibe auf die Porterweiterungen funktioniert bitgenau und ohne Probleme, jedoch beim Lesen von der Porterweiterung werden die Ergebnisse von beiden MCP Ports (a/b) um 1 Bit nach links verschoben? Aus 000000010 wird 00000001.

    Arbeite ich mit dem HARD SPI habe ich keinerlei Probleme!!
    Laut Scope ändert sich nix am Signaltiming. Ein Bild als Anhang: CH1 = Clock CH2 SPI Out (MISO). Für mich sieht das Bild ok aus.

    Mir geht es hauptsächlich um eine Erklärung, ich werde wahrscheinlich in der endgültigen Schaltung für beide Bauteilarten (SD-Karte und Porterweiterung) je einen schaltbaren bipolaren Bustreiber nehmen.
    Hat jemand für mich eine Erklärung dafür?

    Gruß,

    Stephan
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken ds0000.jpg  

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Vitis
    Registriert seit
    06.01.2005
    Ort
    Südpfalz
    Alter
    43
    Beiträge
    2.240
    hard- und soft-spi wird sich vermutlich nicht so ganz vertragen ... wozu auch.
    du kannst ja die miso mosi und clk ja einfach durchschleifen, nur den
    slave select musste halt separat ansteuern
    Vor den Erfolg haben die Götter den Schweiß gesetzt

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    04.12.2006
    Beiträge
    26
    Zitat Zitat von Vitis
    hard- und soft-spi wird sich vermutlich nicht so ganz vertragen ... wozu auch.
    du kannst ja die miso mosi und clk ja einfach durchschleifen, nur den
    slave select musste halt separat ansteuern
    Werd ich auch so machen! Wollte zuerst trennen, da die Portexpander nicht so nah am Prozessor sind. Das SPI Signal für die SD-Karte sollte von den Leitungslängen nicht versaut werden.
    Ich teste das jetzt gerade aus, habe beide Bauteilgruppen mit unterschiedlichen CS Leitungen versehen.

    Mein Problem war nur, dass ich beim Test mit dem Portexpander entweder SOFT oder HARD SPI genutzt habe. Ich habe da noch nicht die SD-Karte dran gehabt. Bei Config SPI = SOFT , blabla waren alle gelesenen Werte immer um 1 Bit links verschoben. Und da kommt das Scopebild ins Spiel. Egal ob SPI SOFT oder HARD das Clock und MOSI / MISO Timing war immer gleich. Ich denke mir, dass Bascom im SPI SOFT Modus ein Timingproblem hat und nach oder mit dem Clock nicht die Daten vom Eingang holt, und damit das erste Bit verschläft.

    Gruß,

    Stephan

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von Vitis
    Registriert seit
    06.01.2005
    Ort
    Südpfalz
    Alter
    43
    Beiträge
    2.240
    beider soft spi hat man halt nicht die

    POLARITY = HIGH|LOW , PHASE = 0|1,

    alternativ kann man natürlich auch ne spi von hand
    proggen, die das eben hat.
    Vor den Erfolg haben die Götter den Schweiß gesetzt

Berechtigungen

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