PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Suche Schnittstelle zwischen µC und USB + Fragen



Virtuelx
27.06.2012, 17:15
Hallo,

ich möchte USB-Geräte mit einem Entwicklungsboard kommunizieren lassen. D.h. ich möchte z.B. Daten von einem USB-Stick oder einer USB-Kamera auslesen/beschreiben können. Außerdem möchte ich auch das Entwicklungsboard auch mit einem IPod/IPhone mittels selbstgeschriebenen App über einen Bluetooth-USB-Stick kommunizieren lassen können(oder z.B. auch über ein WLan-Netzwerk kommunizieren). Ich habe zwar gesehen dass es auch Bluetoothplatinen gibt, allerdings war mein Plan einen USB-Hub zu verwenden, da das günstiger kommt als 3(oder mehr) verschiedene Module zu kaufen. Hier meine konkreten Fragen:
- Ist das überhaupt zu umsetzbar wie ich mir das vorstelle?
- Muss das Entwicklungsboard/µC irrgendwelchen Anforderungen entsprechen (MHz/spezielle IOs/etc.)?
- Soweit ich weiss muss der µC als Master fungieren(Master-Slave-Kommunikation), ist das mit dieser Platine hier (http://www.watterott.com/de/Breakout-Board-mit-FT232RL-USB-Seriell-Wandler)der Fall?
- Was für eine Protocol wird benutzt/Gibt es vorprogrammierte Bibliotheken?
- Tutorials? (Ich blick nicht ganz durch für was ich einen Treiber brauche und wie ich dann die einzelnen USB-Geräte ansprechen kann)

lg Virtuelx

BastelWastel
27.06.2012, 17:31
Hallo Virtuelx,
deine Aufgabenstellung is zu komplex (und partiell zu unklar) um all deine Fragen befriedigend zu beantworten..
..aber zum FT232, das ist ein reiner USB-UART Konverter..er erzeugt beim verbinden mit dem PC einen virtuellen COM Port.
Als alternative koenntest du vom selben Hersteller den "Vinculum" benutzen, dieser fungiert als master und kann zumindest zum auslesen eines USB sticks benutzt werden.
Thema USB-Kamera: meinst du eine Webcam oder eine Kamera als Massenspeicher? Letzteres koennte ggf auch via Vinculum gehen?

Falls du komplexere Sachen vor hast lohnt sich vllt schon ein kleiner Ein-Platinen Rechner ala RaspberryPI etc..

Gruss, Andreas

Virtuelx
27.06.2012, 17:57
Hallo Virtuelx,
deine Aufgabenstellung is zu komplex (und partiell zu unklar) um all deine Fragen befriedigend zu beantworten..
..aber zum FT232, das ist ein reiner USB-UART Konverter..er erzeugt beim verbinden mit dem PC einen virtuellen COM Port.
Als alternative koenntest du vom selben Hersteller den "Vinculum" benutzen, dieser fungiert als master und kann zumindest zum auslesen eines USB sticks benutzt werden.
Thema USB-Kamera: meinst du eine Webcam oder eine Kamera als Massenspeicher? Letzteres koennte ggf auch via Vinculum gehen?

Falls du komplexere Sachen vor hast lohnt sich vllt schon ein kleiner Ein-Platinen Rechner ala RaspberryPI etc..

Gruss, Andreas

Sorry, ich versuche es etwas genauer zu besser/formulieren:
Ich möchte dass dieses Entwicklungsboard (http://www.ti.com/lsds/ti/microcontroller/16-bit_msp430/overview.page?DCMP=MCU_other&HQS=msp430) mit einem IPhone über Bluetooth kommunizieren kann. Außerdem soll das Board in weiterer Folge in der Lage sein Daten von/auf einen USB-Stick zu schreiben. Ich möchte z.B. ein Bild mit einer USB-Webcam machen und dieses auf den USB-Stick speichern.
Da ich dafür 3 USB Anschlüsse bräuchte bzw. 2USB+1Bluetoothplatine, dachte ich dass ich eine USB-Platine benutzt an der ein USB-Hub hängt, da es reicht wenn immer nur eines der 3 Geräte aktiv ist und es kostengünstiger ist. Statt der Bluetoothplatine könnte ich dann einen gewöhnlichen Bluetoothstick (http://www.amazon.de/mumbi-Bluetooth-Dongle-USB-Adapter-Class2/dp/B002T4E7L8/ref=sr_1_6?ie=UTF8&qid=1340812835&sr=8-6)benutzen.
Meine Frage: Ist das mit dieser Platine (http://www.watterott.com/de/Breakout-Board-mit-FT232RL-USB-Seriell-Wandler) überhaupt möglich und wo finde ich Informationen wie ich das umsetzen kann?

€: Ich nehme an du meinst das hier (http://www.ftdichip.com/Products/ICs/VNC2.htm)? So wie ich das sehe ist das nur der IC Baustein, bin aber auf der Suche nach einer ganzen Platine/Modul. Könntest du mir einen konkreten Link(vielleicht sogar zu einem Shop) geben?
Ein RaspberryPI hätte ich gerne, leider kommt man da zur Zeit noch schwer dran.

lg Virtuelx

BastelWastel
27.06.2012, 21:01
Sorry, ich versuche es etwas genauer zu besser/formulieren:
Ich möchte dass dieses Entwicklungsboard (http://www.ti.com/lsds/ti/microcontroller/16-bit_msp430/overview.page?DCMP=MCU_other&HQS=msp430) mit einem IPhone über Bluetooth kommunizieren kann.
Das Board kenne ich nicht aber ich denke am einfachsten bekommst du deine kommunikation zum Apfel *graus ;)* mit einem UART Bluetooth Modul (BTM-222 o.Ä.)


Außerdem soll das Board in weiterer Folge in der Lage sein Daten von/auf einen USB-Stick zu schreiben.
Das bekommst du mit dem Vinculum hin.


Ich möchte z.B. ein Bild mit einer USB-Webcam machen und dieses auf den USB-Stick speichern.
Da kann ich leider nicht viel zu sagen, aber laut den FTDI Application notes wurde das auch schon mit einem Vinculum erreicht (Project sourcen gabs auf der Seite auch)



Da ich dafür 3 USB Anschlüsse bräuchte bzw. 2USB+1Bluetoothplatine, dachte ich dass ich eine USB-Platine benutzt an der ein USB-Hub hängt, da es reicht wenn immer nur eines der 3 Geräte aktiv ist und es kostengünstiger ist. Statt der Bluetoothplatine könnte ich dann einen gewöhnlichen Bluetoothstick (http://www.amazon.de/mumbi-Bluetooth-Dongle-USB-Adapter-Class2/dp/B002T4E7L8/ref=sr_1_6?ie=UTF8&qid=1340812835&sr=8-6)benutzen.
Meine Frage: Ist das mit dieser Platine (http://www.watterott.com/de/Breakout-Board-mit-FT232RL-USB-Seriell-Wandler) überhaupt möglich und wo finde ich Informationen wie ich das umsetzen kann?
Wie gesagt, der Chip kann kein USB Host, nur Slave.


€: Ich nehme an du meinst das hier (http://www.ftdichip.com/Products/ICs/VNC2.htm)? So wie ich das sehe ist das nur der IC Baustein, bin aber auf der Suche nach einer ganzen Platine/Modul. Könntest du mir einen konkreten Link(vielleicht sogar zu einem Shop) geben?
Ein RaspberryPI hätte ich gerne, leider kommt man da zur Zeit noch schwer dran.

Vinculum VNC2 auf Breakout Boards weiß ich jetzt spontan nur bei RS, aber dafür relativ günstig.. ~20 Euro (setzt natürlich voraus dass du die Möglichkeit hast dort zu bestellen)
Hab meinen RaspPI gestern bekommen ;) Jetzt heißts für mich erst einmal in Linux einarbeiten, ist Neuland für mich :/

Gruß

Thomas E.
27.06.2012, 22:46
Ich hab mein Modul von www.ribu.at gekauft:
http://www.ribu.at/Tabelle_3.asp?File_Name1=I190_680400.htm&A_NUM1_1=680390&E_NUM1_1=680410

Virtuelx
28.06.2012, 11:34
Hab meinen RaspPI gestern bekommen ;) Jetzt heißts für mich erst einmal in Linux einarbeiten, ist Neuland für mich :/

Wow, darf ich fragen wo dus bestellt hast?


Ich hab mein Modul von www.ribu.at gekauft:
http://www.ribu.at/Tabelle_3.asp?File_Name1=I190_680400.htm&A_NUM1_1=680390&E_NUM1_1=680410
Danke, aber so wie ich das sehe ist das Modul wirklich nur fürs lesen/beschreiben eines USB-Sticks gedacht, das ist mir dann doch etwas zu wenig.

Okay, vielleicht sollte ich fürs erste meine Anforderungen etwas herunterschrauben. Am wichtigsten ist mir momentan die Kommunikations zwischen µC und IPhone.
Habe dieses Modul hier (http://www.watterott.com/de/Serial-port-Bluetooth-Module-Master-Slave) entdeckt. Allerdings ist mir die Vorgehensweise nicht ganz klar.
Wenn ich es richtig verstanden habe dann werden sehen die Anschlüsse wie folgt aus:
Arduino - BT-Modul
Rx - Tx
Tx - Rx
Reset - RTS
GND - CTS
Das Kommunikationsprotokol ist UART?
Zuerst muss ich Einstellungen (wie Baudrate) vornehmen, danach auf eine Verbindung warten und anschließen kann ich weiterhin per UART Daten senden?

Ich bin mir außerdem nicht ganz sicher ob das mit dem IPhone so funktionieren kann, denn ich hab bis jetzt nur Threads gefunden wo sie mit einem Terminal am PC kommunizieren.

lg Virtuelx

Thomas E.
29.06.2012, 00:50
Das Kommunikationsprotokol ist UART?
Zuerst muss ich Einstellungen (wie Baudrate) vornehmen, danach auf eine Verbindung warten und anschließen kann ich weiterhin per UART Daten senden?
Vorweg: UART ist kein "Protokoll".
So einfach ist das nicht. Dein Satz "auf eine Verbindung" warten, erklärt sich mir nicht vollständig. Du kannst an deiner Hardware zwar die zu verwendente Baudrate einstellen, aber diese muss mit deinem Iphone, oder jeglichem anderen Device, dass du ansprechen willst, übereinstimmen. Auf eine Verbindung warten stelle ich mir auch kurios vor. Du kannst per UART senden und empfangen. Eine stehende (statische) Verbindung wird hierbei nicht hergellt. Auch wenn du Daten sendest, obwohl deine RX/TX-Leitungen in der Luft hängen, werden sie gesendet. Natürlich kann man eine stehende Verbindung allerdings per Software festlegen. Dazu müssen sich allerdings beide Devices auf ein Protokoll einigen, alternativ auch auf einfache Befehle, Checksummen oder ähnliches.

Virtuelx
29.06.2012, 11:27
Auf eine Verbindung warten stelle ich mir auch kurios vor. Du kannst per UART senden und empfangen. Eine stehende (statische) Verbindung wird hierbei nicht hergellt. Auch wenn du Daten sendest, obwohl deine RX/TX-Leitungen in der Luft hängen, werden sie gesendet. Natürlich kann man eine stehende Verbindung allerdings per Software festlegen. Dazu müssen sich allerdings beide Devices auf ein Protokoll einigen, alternativ auch auf einfache Befehle, Checksummen oder ähnliches.

Was meinst du genau mit einer "statischen Verbindung", eine Verbindung bei der beide Seiten eine Rückmeldung bekommen ob sie verbunden sind? So wie ich das verstanden habe gibt es bei Bluetooth einen Master(der eine Verbindungsanfrage stellt) und einen Slave(der diese Anfrage akzeptiert). In meinem Fall wäre die Kommunikations nur einseitig(IPhone -> µC), daher müsste der µC permanent nur empfangen. Es reicht wenn es sich bei den Daten um einzelne Zeichen alle paar ms handelt.