Forum: Mikrocontroller und Digitale Elektronik µC mit USB oder µC mit FTDI USB/RS232 Umsetzung


von Clemens (Gast)


Lesenswert?

Hallo,
ich möchte gern ein 8051 kompatiblen µC über USB steuern können. Mit USB 
hab ich noch nichts gemacht und kann den Aufwand für ein µC-Programm 
daher schlecht abschätzen. Bin noch kein Experte, aber was nicht ist 
kann ja noch werden.
Es gibt zwei Lösungen:

1. µC ohne USB und RS232/USB Umsetzung mit FTDI Chip
wenn ich mir das richtig vorstelle sende ich die Daten wie gewohnt über 
RS232 und der FTDI-Chip setzt es entsprechend um --> Programmierung 
einfach

2. µC mit USB (integriert somit keine zusätzlichen Bauteile --> 
günstiger)
ich denke der Programmieraufwand ist recht hoch und für einen Anfänger 
wie mich zu schwer.

Könnt ihr mir sagen mit welchem Aufwand ich rechnen muß, wenn ich Lösung 
2 realisieren möchte?

Vielen Dank
Gruß
Clemens

von Clemens (Gast)


Lesenswert?

Nur nochmal zur Klarstellung. Zur Lösung 1 meine ich, dass Daten vom PC 
über USB an den µC geschickt werden und er diese mit dem FTDI Chip 
übersetzt. Somit kann ich die Daten über die UART Schnittstelle 
verarbeiten.
Ich hofffe ich bin nicht ganz auf dem falschen Dampfer.

Gruß
Clemens

von Christian B. (opacer)


Lesenswert?

Schau mal bei Silabs nach den F32x und F34x sowie USBXpres. Das 
Kit/Software ist sehr gut und recht einfach zu verstehen für simple 
sachen. Gibt recht gute AN dazu.

Der FTDI ist zunächst einfacher (wobei das USBXpress nicht schwer ist) 
aber leider deutlich langsamer sofern man den nicht grade auf 1Mbaud 
aufpläht...

von Wuppi (Gast)


Lesenswert?

Hallo,

ich brauchte auch USB, habe bei robotikhardware.de das RN-Mega2560 Modul 
(Fertigmodul mit USB) bestellt und bin zufrieden damit.

Hier die Daten:

    * Leistungsstarker Controller ATMega2560 (einer der wohl 
leistungsfähigsten AVR-Controller überhaupt),100 Pin´s am Gehäuse
    * 256.000 Bytes Flash Speicher
    * 8000 Byte RAM (extern erweiterbar)
    * 4000 Bytes EEPROM
    * RAM erweiterbar auf 64K
    * zwei 8 Bit Timer
    * vier 16 Bit Timer
    * vier 8 Bit PWM Kanäle
    * zwölf PWM Kanäle (programmierbar 2 bis 16 Bit)
    * 16 analoge Eingänge (Spannungsmessung)
    * 86 programmierbare I/O Leitungen
    * vier TTL UARTS (RX/TX) – 2 frei, einer für USB, einer für RS232)
    * RS232 Anschluss (PC-Pegel) PC kann direkt über das übliche 
dreipolige RS232 Kabel angeschlossen werden.
    * RS232 – Treiber auf dem Board schaltet automatisch in 
Stromsparmodus wenn keine Daten übertragen werden – aktiviert sich auch 
wieder bei Datenübertragung. Manuell kann RS232 Treiber auch ganz 
deaktiviert werden.
    * USB–Anschluss (Standard USB-Kabel mit MiniUSB-Stecker passt 
sofort). Treiber für Windows und Linux im Lieferumfang
    * ISP-Programmieranschluss – Standard Programmieradapter (wie unser 
ISP-Dongel) passen sofort.
    * I2C-Bus über Stiftleiste herausgeführt (zum Anschluss zahlreicher 
Erweiterungen, Sensoren etc.)
    * SPI-Bus über Stiftleiste herausgeführt
    * 16 Mhz Quarz auf dem Board integriert
    * Uhrenquarz ebenfalls auf dem Board integriert (für Echtzeituhr)
    * eine programmierbare Leuchtdiode
    * fast alle Portleitungen werden über die Stiftleisten herausgeführt
    * zwei Stiftleisten mit jeweils 2x25 Pin und 2 passende 
Buchsenleisten im Lieferumfang. Dadurch kann das Board bequem in eigene 
Schaltungen oder auf Experimentierplatinen/Lochraster gesteckt werden.
    * Betriebsspannung stabilisierte 5 V (nur ganz geringe Stromaufnahme 
von wenigen mA)
    * Sehr kompakt durch modernste winzige Bauteile (nur ca. 43 x 63mm 
und nur 9mm hoch)
    * Voll kompatibel zu den RN-Definitionen für Controllerboards
    * Programmierbar in zahlreichen Sprachen, z.B. Basic (BASCOM 
Compiler, eingeschränkt bis 4K wird mitgeliefert), C (C-Compiler GCC 
wird mitgeliefert), Assembler
    * Deutsche Dokumentation mit Basic Programmbeispiel
    * Fertig aufgebaut (lediglich Stiftleiste muss eingelötet werden)
    * Bereits mit Testprogramm vorprogrammiert / alle 
Fusebiteinstellungen schon vorgenommen
    * Für Eagle –Anhänger wird das Modul als Libary für Eagle auf CD 
mitgeliefert.
    * Starter- oder Applikationsboard nicht unbedingt notwendig


von Clemens (Gast)


Lesenswert?

Kann mir jemand ein Beispielprogramm zur Verfügung stellen? Ist meist 
einfacher zu verstehen. Muß nichts großes sein, aber damit ich einen 
Überblick bekomm wäre es sehr hilfreich.

Gruß

von Wuppi (Gast)


Lesenswert?

Hallo,

in der DOKU über das Board (siehe www.robotikhardware.de - PDF 
runterladen) ist auch ein Beispielprogramm (mit BASCOM (Basicdialekt) 
ist meiner Meinung nach EASY

von Christian B. (opacer)


Lesenswert?

Beispiel ISR für USBXpress. BlockRead etc. werden über Lib 
bereitgestellt die mit gelinkt werden muss. Am PC ist es ähnlich 
Beispiele liefert Silabs für C++ & VB.net / C#.


//  Example ISR for USB_API
void USB_ISR(void) interrupt 16
{
  BYTE INTVAL = Get_Interrupt_Source();

  if (INTVAL & RX_COMPLETE) // Daten empfangen
  {

    Block_Read(Out_Packet, 64); // Daten werden gelesen



  }
  if (INTVAL & DEVICE_OPEN) // Verbindung hergestellt
  {
    Led1 = 0;
  }
  if (INTVAL & DEVICE_CLOSE) // Verbindung getrennt
  {
    Led1 = 1;
  }

}

von Clemens (Gast)


Lesenswert?

Ich denke für den Anfang tuts der FTDI Chip. Jetzt arbeite ich mich 
erstmal hier rein.
Vielen Dank für die Hilfe

Gruß
Clemens

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.