Forum: Mikrocontroller und Digitale Elektronik VNC1L bzw. VDIP1 und externe Geräte (nicht USB-Speicher)


von Florian H. (trapperjohn)


Lesenswert?

Hallo,

ich bin neu hier und auch relativ neu in der Welt der Mikrocontroller.

Für meine Diplomarbeit soll sich das aber ändern - ein Teil der Arbeit 
soll die Anbindung eines ATMega8 an ein Mobiltelefon werden. Eigentlich 
bin ich von einer seriellen Anbindung an ältere Telefone ausgegangen, 
aber da diese nur in Ausnahmen (bspw. Siemens M75) gleichzeitig auch 
Java Zugriff auf Bluetooth erlauben, überlege ich aktuell bezüglich 
USB-Unterstützung.

Nach X Stunden Internetrecherche weiß ich folgendes:
- ich benötige USB-Host Funktionalität
- der VNC1L bietet so etwas integriert
- die meisten Handys erscheinen als generisches USB-Modem beim Anschluss 
an den PC (unter Linux das cdc_acm Modul)

Was ich nicht herausbekommen konnte, ist, was GENAU der VNC1L neben der 
Unterstützung für USB-Sticks an Funktionen bietet bzw. wie aufwendig die 
Unterstützung anderer USB-Geräte ist.

Wenn ich einen VNC1L in meine Schaltung eingebunden hätte und den 
USB-Port 1 für Peripherie bereitstelle, kann ich dann mit beliebigen 
USB-Geräten kommunizieren, wenn ich quasi deren USB-Treiber auf dem 
Mikrocontroller implementiere? Oder gibt es da durch den VNC1L 
Beschränkungen?

Wie würdet ihr den Aufwand einschätzen - enorm? Ohne exzessive 
Mikrocontroller-Kenntnisse in 3 Monaten zu schaffen?

Danke für Antworten und Hinweise!

Gruß,
Florian

von Roland B. (rolandb)


Lesenswert?

Habe den VNC1L gerade erfolgreich zum laufen gebracht. Allerdings bin 
ich nicht in er Lage mit der VDAP Firmware auf das Handy (Sony Ericcson 
k750i/800) zu zugreifen. Speichern auf USB Stick ist kein Problem.

Habe es in drei Wochen geschafft über SPI :-) Im 4. Semester 
Nachrichtentechnik... also drei Monate sollten machbar sein. Mein 
Wissenstand von Assembler würde ich als Anfänger bezeichnen.
Einschränkungen wird wohl das FAT32 System sein, welches Vorausetzung 
ist. Ob das allerdings bei Handy nicht wieder vom internetn Controller 
übernommen wird, weiss ich nicht.

Der VNC1L kann als Bridge für Daten genutzt werden. Eine gleichzeitige 
Kommunikation als Modem... Hm, für irgendetwas muss ja ein Treiber im PC 
gut sein. Wenn ich es richtige im Datenblatt lese, kannst du Modems nur 
mit zusätzlichem FT232/FT245/FT2232 an den Ports1/2 ansprechen.

Werde das mit dem speichern auf Handy mal weitervorantreiben. Allerdings 
erst in einigen Wochen.

mfg
RolandB

--EDIT

es gibt hier Anleitungen von Sony Erricson zu den Handys:
Developer Page
http://developer.sonyericsson.com/site/global/docstools/misc/p_misc.jsp

von Florian H. (trapperjohn)


Lesenswert?

Nach diversen eMails mit dem FTDI Support bin ich schon ein ganzes Stück 
weiter. Mit der VCDC Firmware ist die Kommunikation mit meinem 
SonyEricsson W580i direkt möglich - nach dem Anstöpseln ist es so, als 
wäre eine serielle Verbindung vorhanden.

Mit einer schnell zusammengesteckten Schaltung mit Max233 und dem VDRIVE 
(mit VCDC Firmware) konnte ich schon vom PC aus AT-Kommandos an das 
angeschlossene Handy schicken. Somit kann ich mich jetzt ganz auf die 
eigentliche Software konzentrieren, da der VNC1L die ganze sonstige 
Arbeit übernimmt. Sehr schön! ;-)

von Roland B. (rolandb)


Lesenswert?

Aha, kannst du aber direkt auch auf dem Handy speichern? Oder wird nur 
eine Modemkommunikation aufgebaut?
Wie sprichst du denn den VNC1L an? Nutzt du UART oder SPI? Oder verstehe 
ich es richtig, dass du am Atmega8 noch gar nicht arbeitest?

mfg
RolandB

von Florian H. (trapperjohn)


Lesenswert?

Bei meinem Telefon kann (bzw. muss ...) ich nach dem Anstecken des 
Datenkabels auswählen, ob das Gerät als Modem oder als USB-Datenträger 
arbeiten soll. Da ich aber später eine serielle Verbindung zu einer Java 
ME Software benötige, arbeite ich nur mit dem Modem-Modus.

Und ja, aktuell hab ich das noch komplett ohne Mikrocontroller 
ausprobiert, da ich erst mal nur sicherstellen wollte, dass der Chip 
wirklich das tut, was er später für meine Diplomarbeit mal machen soll. 
Aber wenn es (per UART) über Max233 am PC funktioniert, sollte es 
genauso ohne Pegelwandler direkt am Atmega klappen. Ich habe übrigens 
RTS/CTS direkt miteinander verbunden, da ich für diese Leitungen 
eigentlich keine Portpins verschwenden wollte. Hat soweit funktioniert 
... ob es auf Dauer Probleme macht, muss ich noch schauen.

von Roland B. (rolandb)


Lesenswert?

Florian Haskamp wrote:
> Bei meinem Telefon kann (bzw. muss ...) ich nach dem Anstecken des
> Datenkabels auswählen, ob das Gerät als Modem oder als USB-Datenträger
> arbeiten soll. Da ich aber später eine serielle Verbindung zu einer Java
> ME Software benötige, arbeite ich nur mit dem Modem-Modus.
>
> Und ja, aktuell hab ich das noch komplett ohne Mikrocontroller
> ausprobiert, da ich erst mal nur sicherstellen wollte, dass der Chip
> wirklich das tut, was er später für meine Diplomarbeit mal machen soll.
> Aber wenn es (per UART) über Max233 am PC funktioniert, sollte es
> genauso ohne Pegelwandler direkt am Atmega klappen. Ich habe übrigens
> RTS/CTS direkt miteinander verbunden, da ich für diese Leitungen
> eigentlich keine Portpins verschwenden wollte. Hat soweit funktioniert
> ... ob es auf Dauer Probleme macht, muss ich noch schauen.

Ah, werde dann mal die VCDC Firmware aufspielen. Bisher hatte ich mit 
der VDAP Version nur auf einem USB Stick speichern können. Ich hatte 
hier gelesen dass man beim UART die Handshakes machen sollte, allerdings 
nur bei hohen Datenraten... Es werden da vielleicht mehr Pins benötigt. 
Es tut mir leid wenn ich jetzt viele Fragen stelle, aber der VNC1L hats 
mir angetan :-)

Schreibst du in ASM oder doch lieber C auf dem Atmega? Ich möchte da 
auch so ein ähnliches Projekt verwirklichen. Mein SPI ist übrigens nicht 
der Hardware SPI sondern eine SPI Emulation. Ich denke bei höheren 
Datenaufkommen sollte SPI schneller sein, Takt bis 12Mhz? Die USART 
Schnittstelle des Atmega8 bietet sich doch eher zur Kontrolle (Debug) 
des Datenaustausches/Kommunikation an. Für die SPI Schnittstelle habe 
ich mir dieses Beispiel http://www.vinculum.com/projects.html (letzt 
Seiten im Quelltext fängt SPI Emulation an) für einen PIC auf meinen 
Atmega umgemodelt. Allerdings ist es recht umständlich geschrieben. In 
ASM habe ich auf die Switch-Case verzichtet und einfach alles so 
nacheinander ausführen lassen wie es die Switch-Case tun würde.


mfg
RolandB

von Florian H. (trapperjohn)


Lesenswert?

C wirds werden - und vermutlich auch Software UART, da die Hardware Pins 
wohl schon "verbraucht" sind. SPI wäre auch eine Möglichkeit, aber wenn 
man hier die Threads zum Vinculum liest, scheinen da einige Leute 
Probleme mit gehabt zu haben? Ich will da lieber auf Nummer sicher gehen 
...

Aber das sind aktuell alles noch Gedankenspielchen, ich muss erst mal 
die Diplomarbeit beantragen und genehmigt bekommen.

P.S.: Ob VCDC dein Handy unterstützt, kann dir entweder der Support 
sagen bzw. du lädst dir USBView von 
http://www.ftdichip.com/Resources/Utilities.htm runter und schaust, ob 
dein Handy folgender Spezifikation folgt (das hat mir zumindest der 
Support geschrieben):


Class           02                     CDC class
Subclass        02                     Abstract Control Model
Protocol        01                     Reserved (Serial event 
management)

von Florian H. (trapperjohn)


Lesenswert?

Falls es jemanden interessiert, hier ist mal ein kleines Video vom 
Vinculum+Handy im Einsatz.
http://www.youtube.com/watch?v=HyoDoWmEJVg

Software auf dem Handy übernimmt dabei die Steuerung des Roboters 
"ASURO" - im Video wird dies für eine Bluetooth-Fernsteuerung vom PC 
"missbraucht".

von Roland B. (rolandb)


Lesenswert?

Hm, toll.

Sieht richtig gut aus wie er da rumflitzt. Hast du eine eigene HP wo man 
sich das etwas genauer ansehen kann?
Mein Projekt habe ich ebenfalls beendet. Datenspeicherung via Atemga8 
auf USB vis ISP Emulation in Assembler und das lief 100% stabil.

Ist das Projekt beendet und deine Diplomarbeit gut durchgekommen?

mfg
RolandB.

von Florian H. (trapperjohn)


Lesenswert?

Ja, hat alles toll geklappt und seit kurzem darf ich mich mit dem Diplom 
schmücken.

Ich wollte den ganzen Kram auch noch veröffentlichen, bin aber bislang 
leider nicht dazu gekommen. Als Nicht-Mehr-Student fehlt irgendwie die 
Zeit ...  :(

von Florian H. (trapperjohn)


Lesenswert?

Vielleicht wird ja jemand inspiriert, hier der Link zu meiner Arbeit:
http://data.florianhaskamp.de/diplomarbeit.pdf (ca. 2,5 MB PDF)

Wenn ich mal Zeit finde, werde ich im Roboternetz auch noch die Quellen 
verlinken:
http://www.roboternetz.de/phpBB2/viewtopic.php?t=40739

von Lötpaul (Gast)


Lesenswert?

Hallo,

habe die Beiträge Florians Projekt mit Begeisterung verfolgt.
Evtl. verirrt sich ja doch noch mal einer auf diese Seite:

Können modernere Handys (Sony Ericsson W760i) auch über ein 
Vinculum-Chip mit einem AVR-Controller verbunden werden? - Also, kann 
das W760i als CDC/ACM (-Modem) arbeiten. Evtl. kann ja mal jemand den 
Test oben -

Autor: Autor: Florian Haskamp (trapperjohn)
Datum: 20.03.2008 12:47

mit einem W760i durchführen. In Verbindung mit Linux habe ich in einem 
Forum von Verbindungsproblemen gelesen.
Ich möchte ein paar Ideen mit J2ME und einem AtMega32 (C oder BASCOM) 
verwirklichen.

Vielen Dank!!!

von Florian H. (trapperjohn)


Lesenswert?

Es ist sehr wahrscheinlich, dass neuere SE Geräte diese Funktion auch 
unterstützen. Du kannst ja einerseits mal dein Handy per Datenkabel an 
ein Linux System anschließen und per "dmesg" schauen, ob ein CDC Modem 
erkannt wird.
Andererseits gibt es von SE ein PDF Dokument zur aktuellen J2ME 
Unterstützung ihrer Handys, das ständig aktualisiert wird. Darin wird 
auch immer aufgeführt, welche Geräte welche J2ME Features implementiert 
haben. Wenn dein Handy die "CommConnection" unterstützt, siehts gut aus.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.