Virtueller COM Port ARM

Gast #1047979
Lesenswert?
• ▲
▼
Hallo!

Ich bin zur Zeit dabei mich in ARM Controller einzuarbeiten. Bisher 
arbeite ich mit einem LPC2138. Für eine Anwendung bräuchte ich eine 
USB-Kommunikation mit mindestens 1 MBit. Um den Software Aufwand gering 
zu halten hätte ich gerne einen virtuellen COM Port.

Nach meiner Recherche gibt es hierzu für die AT91SAM7S* Reihe Software 
von Atmel und für den LPC2148 einen USB-Stack bei sourceforge. Hat 
jemand Erfahrung mit den Softwarepaketen? Welches ist besser geeignet? 
Welchen Controller würdet ihr empfehlen? Ich brauche außerdem vorallem 
eine schnelle SPI für einen 2,4 GHz Transceiver und ich würde gerne 
unter Linux programmieren. Kann man den Atmel Bootloader auch unter 
Linux verwenden? Bei dem seriellen Bootloader im LPC2000 ist das ja kein 
Problem. Wie gut eignet sich openocd + JTAG-Adapter zum 
programmieren/debuggen unter Linux?

Viele Grüße
Markus
(Firma: DC3AX) #1077625
Lesenswert?
• ▲
▼
Hi Markus!

Die Baudrateneinstellung ist nur dann interessant, wenn es wirlich um 
einen USB-Seriell-Konverter geht. Die USB-Kommunikation läuft immer mit 
USB-Geschwindgkeit. Da Du auf USB-Seite zwar COM-Port spielst, aber dann 
auch gleich selbst mit den Daten arbeitest, ist diese Einstellung müßig. 
Du kannst ja mal im ATMEL Code ( ich habe bisher nur den für die 
USB-AVRs (32U4/90USB1287) genutzt) schauen, wo die CDC-Set-Line-Coding 
und CDC-Set-Control-Line-State und so weiter in Deinem Code landen. Sie 
tauschen lediglich den Line State ( RTS/CTS, DSR/DTR, RI) aus und in den 
anderen Kommandos dieser Klasse wird dann auch der UART Speed gesezt.

Da meine Sachen auch immer gleich selbst COM-Port sind, fliegt dieser 
Teil meist gleich raus, die USB-Requests werden dann mit einem 
Dummy-Request beantwortet. Lediglich die RTS/CTS/DTR/DSR Sachen sind 
praktisch, wenn man eine (eigene) PC-Software hat. Man kann dann nämlich 
das Handshake benutzen, um der Software zu sagen, wann man Daten 
verarbeiten kann, oder ob man noch mit Booten beschäftigt ist. Wenn es 
etwas gibt, dass Windows nicht leiden kann, dann das Senden von Daten 
auf einen 'halb-offenen' COM-Port. Das macht man ein paar mal und dann 
sieht man eine Bluescreen.

So, viel Spaß, der ATMEL Code zusammen mit der CDC-Spec von der USB.org 
Seite und man lernt erheblich mehr in kurzer Zeit, als auf mancher 
USB-Schulung.

Gruß, Ulrich

Antwort schreiben

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.

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.