www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik SPI to USB Konverter


Autor: Jörg Koers (Firma: Robert Bosch GmbH) (joerg-koers)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich beschäftige mich gerade mit folgendem Problem und konnte den anderen 
Threads, die sich mit der Problematik befasst haben, leider keinen 
Mehrwert für mich abringen.

[SPI-Beschleunigungssensor] ----------------------> [µC M16C]

Ich habe, wie oben angedeutet einen Beschleunigungssensor, der seine 
Daten über SPI an den µC sendet.

Jetzt soll ich aber zusätzlich die SPI-Daten unterwegs abgreifen und 
über die USB-Schnittstelle im PC zur Verfügung stellen, damit sie zu 
Überprüfungszwecken in MATLAB ausgewertet werden können.

[SPI-Beschleunigungssensor] ----------------------> [µC M16C]
                                     |
                                     |
                                     |
                                     |
                          [USB-Schnittstelle im PC]

Fragen:

- Ist es prinzipiell möglich die Daten unterwegs einfach "abzuhören" 
oder gibt es da im Hinblick auf Störungen entwas zu beachten?
- Wenn ja, welchen Komplettbausatz würdet ihr dazu empfehlen?
- Wenn nein, welche alternative möglichst einfache Lösung würdet ihr 
vorschlagen?

Gruß
Jörg

Autor: Kalle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau dir mal das universelle "FT4232HQ mini module" von FTDI an. Sollte 
eigentlich deinen Anforderungen entsprechen.

Autor: ... ... (docean) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde eher:

[SPI-Beschleunigungssensor] -----> [µC M16C] ----> UART --> 
USB-nach-COM-Port Wandler

machen

Autor: Kalle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ich würde eher:
>
> [SPI-Beschleunigungssensor] -----> [µC M16C] ----> UART -->
> USB-nach-COM-Port Wandler

Ich denke das wird zu langsam werden.

Autor: Jörg Koers (Firma: Robert Bosch GmbH) (joerg-koers)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kalle schrieb:
> Schau dir mal das universelle "FT4232HQ mini module" von FTDI an. Sollte
> eigentlich deinen Anforderungen entsprechen.

Gute Idee, das geht schon in die richtige Richtung. Jedoch ist die 
Anschlussvariante über die Pins für mich nicht so geschickt. Hätte 
lieber ein Modul, an das ich auf der einen Seite den USB-Stecker und auf 
der anderen Seite z.B. einen RS232-Anschluss habe.

... ... schrieb:
> Ich würde eher:
>
> [SPI-Beschleunigungssensor] -----> [µC M16C] ----> UART -->
> USB-nach-COM-Port Wandler
>
> machen

Das habe ich mir auch schon überlegt. Jedoch bedeutet das ja wieder 
einen Umweg über den µC.
Wenn es jedoch kein Modul nach meinen Vorstellungen gibt, muss ich diese 
Variante wohl oder übel nehmen.

Wenn jemand zufällig etwas nach meinen Vorstellungen parat hat, dann her 
mit dem Link :)

Autor: Jörg Koers (Firma: Robert Bosch GmbH) (joerg-koers)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kalle schrieb:
>> Ich würde eher:
>>
>> [SPI-Beschleunigungssensor] -----> [µC M16C] ----> UART -->
>> USB-nach-COM-Port Wandler
>
> Ich denke das wird zu langsam werden.

Habe diesen Sensor:
http://www.elv.de/3-Achsen-Beschleunigungssensor-3...

Der kann maximal nur mit 1,5 kHz Daten übermitteln.
Das sollte über UART auch gehen, oder?

Autor: Oliver Ju. (skriptkiddy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ich denke das wird zu langsam werden.

Man kriegt via UART 10kB pro Sekunde rausgeschaufelt (115200 Baud). Das 
ergibt doch eine relativ hohe Samplingrate. Bei angenommen 16 Bit 
Auflösung wären das 5 kS/s, die man über die Leitung schicken könnte. 
Oder anders ausgedrückt bekäme man damit aller 0.2ms einen neuen 
Messwert für Matlab. Ob das nun reicht oder hardware-/softwaretechnisch 
möglich ist, hängt von den Anforderungen ab und ist ohne nähere 
Informationen des Threaderstellers nicht zu beantworten.


BTW:
Ich würde es mir auch nicht unnötig kompliziert machen und über UART 
gehen, wenn es die Anwendung zulässt, denn mit Matlab kann man ohne 
weiteres an einem COM-Port lauschen und Werte aufsammeln.


Gruß
Skriptkiddy

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kalle schrieb:

> Schau dir mal das universelle "FT4232HQ mini module" von FTDI an. Sollte
> eigentlich deinen Anforderungen entsprechen.

Ich glaube nicht, dass es mit der MPSSE der FTDI-Chips so ohne weiteres 
geht. Die sind m.W. nur als SPI-Master einsetzbar, hier benötigt man 
aber eine Komponente, die den Traffic beider Datenleitungen passiv 
abhört und in zeitlicher Beziehung zueinander dem PC durchreicht. Das 
geht allenfalls per Bitbanging.

Autor: Kalle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ich glaube nicht, dass es mit der MPSSE der FTDI-Chips so ohne weiteres
> geht. Die sind m.W. nur als SPI-Master einsetzbar, hier benötigt man
> aber eine Komponente, die den Traffic beider Datenleitungen passiv
> abhört und in zeitlicher Beziehung zueinander dem PC durchreicht. Das
> geht allenfalls per Bitbanging.

Das stimmt. Es würde nur per Bitbang funktionieren.

Autor: Guido Körber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Firma Bosch möchte einen Bosch-.Sensor verwenden. Warum dann so 
umständlich?

Mit USB hätten wir mit SMB380 und BMA180 fertige Lösungen:
http://www.codemercs.com/index.php?id=134&L=0

Gegebenenfalls einfach mal anrufen :)

Autor: Jörg Koers (Firma: Robert Bosch GmbH) (joerg-koers)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guido Körber schrieb:
> Die Firma Bosch möchte einen Bosch-.Sensor verwenden. Warum dann so
> umständlich?
>
> Mit USB hätten wir mit SMB380 und BMA180 fertige Lösungen:
> http://www.codemercs.com/index.php?id=134&L=0
>
> Gegebenenfalls einfach mal anrufen :)

Hat den Grund, dass der Sensor eigentlich ja in einer µC-Schaltung 
eingebunden ist über SPI.
Daher bringt mir ein Sensor, der eine USB-Schnittstelle hat, gar nichts.

Ich schau mal, ob das über UART funktioniert. Wenn ich Neueres weiß, 
meld ich mich wieder. Vllt. bringt eine Lösung nachfolgenden Lesern auch 
noch etwas.

Vielen Dank bis hierher!

Gruß
Jörg

Autor: serieller Weltenbummler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
CDC-SPI:
USB <-> SPI, vielleicht nützlich?
http://www.recursion.jp/avrcdc/cdc-spi.html

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.