www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik SPI mit 16C80 von Mitsubishi


Autor: Andy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich bin gerade dabei eine SD-Karte mit einem 16C80 anzusteuern. Da der
Controller keine ausgewiesene SPI-Schnittstelle hat, habe ich einen
USART im synchronen Modus benutzt. Nach mehreren Fehlversuchen habe ich
die Hardwareansteuerung aufgegeben und das ganze SPI in Software
nachgebildet und siehe da, die Karte spricht!!!!!
Ich habe bis jetzt angenommen, dass SPI und USART im synch. Modus
eigentlich das Gleiche ist? Stimmt das, oder bin ich auf dem Holzweg?

Andy

Autor: Judge (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist korrekt. Hast Du vielleicht bei der Initialisierung was falsch
gemacht?

Autor: Alex G (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
SPI kennt mehrere Modi. Suche mal im Forum, es gab schon mal ein Paar
Codebeispiele für den M16C60.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also mein 16C62 komuniziert mit meiner SD-Karte im Syncron-Modus 100%ig.

Autor: Andy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

nach dem zweiten Anlauf klappt es besser, mein Fehler war, dass ich die
Datenübernahme auf steigende Clock-Flanke eingestellt habe, was laut der
Doku für die SD-Karte richtig wäre.
Aber auch wenn es jetzt klappt, hat meine Software-SPI-Lösung bessere
Ergebnisse gebracht, ich hatte bessere Antwortzeiten. Mit der
Hardwarelösung kriege ich oft als Antwort 0xFF, was Busy heißt, und oft
muss ich den Befehl mehrmals wiederholen, um eine positive Antwort zu
kriegen(das ist meistens bei CMD0 und CMD1 der Fall)

@Gast: wie hast du deine Schnittstelle eingestellt?

Andy

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

- Während der Initialisierung 200kbps danach 8Mbps
- MSB first
- tx Data out at falling edge, rx data input at rising edge

Evtl. muss du auch darauf achten, wann du das nächste Byte senden
kannst (wann der Sende Interrupt ausgelöst wird)  da der µC (je nach
Typ und SIO) ein Byte im Puffer behält.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.