mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Daten von SPI an RS232


Autor: Yücel Atalay (yuetzi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Tag!

Ich verwende einen STK500 mit einem Atmega8515.

Ich möchte die Daten/Signale, die ans SPI ankommen, über die RS232 
ausgeben. Ein Codebeispiel wäre sehr hilfreich.

Danke im voraus

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ich möchte die Daten/Signale, die ans SPI ankommen, über die RS232
> ausgeben.
Wozu?
Mit welcher Taktrate kommen die am SPI an? (SPI hat gerne mal >1 MHz)
Welche Baudrate willst du auf der SIO? (SIO ist üblicherweise <100 kBd)
Wer puffert die Daten dazwischen?

Autor: Yücel Atalay (yuetzi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich möchte die Kommunukation zwischen einem µC und einem Co-Prozessor in 
einem Steuergerät abfangen und an den PC weiterleiten, um später eine 
Auswertung der Daten durchzuführen. Der Master ist das Steuergerät, der 
eine SPI-Schnittstelle hat.

Die Taktrate ist 2MHz.

Was ist SIO?

Puffer: hier muss ich noch eine Lösung finden. Zurzeit weiß ich nicht, 
ob ich es so hinkriegen kann, dass vielleicht 2Byte abgespeichert werden 
können, das erste Byte wird an RS232 gesendet, nachdem Senden wird das 
"alte" Byte seitens SPI gelöscht, damit ein neues Byte abgespeichert 
werden kann. Anschließend das 2. Byte an RS232 senden und so weiter... 
Ich hoffe, es war verständlich ausgedrückt.

Autor: morph1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
was du brauchst ist ein logicanalyser mit vernünftig viel speicherplatz

ist recht sinnbefreit das seriell selbstbauen zu wollen, von saleae 
kriegst ein gerät mit 8 leitungen derzeit um ~150€.

Autor: Yücel Atalay (yuetzi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Brauch ich ein Logicanalyser wegen dem Datenpuffer???

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Yücel Atalay schrieb:
> Brauch ich ein Logicanalyser wegen dem Datenpuffer???

Eher deswegen, weil der schon fertig ist und alles kann was du brauchst.
Es ist recht sinnfrei, Zig-Stunden zu investieren, wenn man bei 0 
anfängt nur um dann festzustellen, dass alleine die verbratenen Stunden 
ein Vielfaches des Preises eines fertigen Gerätes ausmachen.

Du musst dich schlau machen über
* generelle Programmierung eines M8515
* Ansprechen der UART, Text senden (empfangen), Handshaking
* Ansprechen der SPI, Daten empfangen
* Implementierung eines Ringbuffers
* Wie kriege ich an den M8515 noch zusätzlichen Speicher drann,
  weil der eingebaute in kürzester Zeit überlaufen wird

Jeder einzelne dieser Punkte liefert Stoff für mehrere Tage, wenn man 
nicht nur abkupfern will, sondern auch verstehen will, was man da 
eigentlich tut.

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

hast Du denn überhaupt eine Chance, den Transfer auf dem SPI zu deuten?

Es gibt ja bei SPI von sich aus keinen Hinweis darauf, wann da ein Byte 
beginnt usw. Nur Takte und Pegel.

Theoretisch (mit wenig Aufwand) kannst Du z.B. einen 14,7456MHz AVR 
nehmen und dann 460kBaud machen. Jedes Byte von SPI holen und in den 
UART packen.

Damit weiß Du aber immernoch nicht, ob Du syncron bist.
Da müßtest Du noch ein CS-Signal o.ä. bemühen, um den Beginn des ersten 
bytes zu finden.

Gruß aus Berlin
Michael

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> hast Du denn überhaupt eine Chance, den Transfer auf dem SPI zu deuten?
(M)ein LA kann das  ;-)

> Es gibt ja bei SPI von sich aus keinen Hinweis darauf, wann da ein Byte
> beginnt usw. Nur Takte und Pegel. ...
> Da müßtest Du noch ein CS-Signal o.ä. bemühen, um den Beginn des ersten
> bytes zu finden.
Das CS-Signal (aka. SS = Slave-Select) ist integraler Bestandteil des 
SPI-Protokolls. Nur bestimmte Bausteine in bestimmten Modi können ohne 
SS angesteuert werden.

Autor: Yücel Atalay (yuetzi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich habe ein Oszi (LeCroy) an die SPI Schnittstelle schon angeschlossen. 
Das Dekodieren der Daten klappt hier wunderbar, das heißt doch, dass ich 
ein Taktsignal am SPI habe, sonst würde dies am Oszi nicht klappen.

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.