Daten von SPI an RS232

OP #1360933
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.
Gast #1360939
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€.
#1360951
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.
#1360957
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
Moderator (Firma: Titel) Persönliche Seite #1360966
> 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.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.