Forum: Mikrocontroller und Digitale Elektronik RS232 und USB an ATmega


von 3124 (Gast)


Lesenswert?

Hi,

ich möchte eine Schaltung mit folgenden Schnittstellen aufbauen:

2x RS232
1x USB (zur Kommunikation mit einem PC)

So wie ich das bis jetzt verstanden habe, verwende ich dafür spezielle 
Controller, wie z.B. den MAX232 (für RS232) oder den MAX3420E (für USB).
Wie spreche ich diese Controller am besten vom µC an? (UART, SPI, I²C, 
etc.)

Unter http://www.mikrocontroller.net/articles/USB findet man ja auch 
zahlreiche USB Controller.
Unter "Interface" ist wahrscheinlich angegeben, worüber die 
USB-Controller vom µC angesprochen werden, richtig?
Bei einigen steht dabei RS232 - heißt das es gibt µC die direkt eine 
RS232 Schnittstelle besitzen?

Ich möchte einen normalen ATmega nutzen, wie realisiere ich das ganze am 
einfachsten? Gibt es fertige Bibliotheken, Schaltungen?


Bitte bringt mir etwas Licht ins dunkle :-)

von amateur (Gast)


Lesenswert?

Das schein ein bissel viel zu sein.

Schau mal unter:
http://www.atmel.com/products/microcontrollers/avr/megaAVR.aspx
nach.

Der Reiter "Product search" offenbart eine Tabelle mit den Eigenschaften 
aller ATMegas.

Es gibt einige, die USB sprechen, und auch viele die eine serielle 
Schnittstelle haben ob aber USB + 2 x seriell...

Wenn nicht, oder zu groß, gibt es noch die Möglichkeit, USB via I²C plus 
serieller Hardware plus serieller Software.

Oder Du überlegst, ob Du wirklich alle drei benötigst, oder ob ein 
Jumper alles viel einfacher macht.

von Pete K. (pete77)


Lesenswert?

Hast Du schon Erfahrung mit Mikrocontrollern? Wenn nein, dann schau Dir 
mal das AVR-Tutorial oben links an.

Auf jeden Fall solltest Du lernen, Datenblätter zu lesen. Das einfache 
Kopieren von Schaltungen und Software führt nicht oft zum Misserfolg, 
weil der verwendete Baustein doch etwas anders beschaltet wird (siehe 
Maxim und TI MAX232)

MAX232 ist ein Pegelwandler, kein Controller.

von 3124 (Gast)


Lesenswert?

Pete K. schrieb:
> Hast Du schon Erfahrung mit Mikrocontrollern?

Ja

Pete K. schrieb:
> Auf jeden Fall solltest Du lernen, Datenblätter zu lesen.

Das stimmt und ich ein bisschen kann ich das auch.
Es ist aber schon eine größere Aufgabe und man wird in der Elektronik 
immer von 100 verschiedenen Varianten und Bauelementen erschlagen.

Darum dacht ich, hier mal zu fragen, was erfahrene Leute mir raten.
Vielleicht gibt es ja schon gute Lösungen, in die ich mich hineindenken 
kann, statt das Rad neu zu erfinden...

z.B. der ATmega1281 hat 3x SPI und 2x UART, könnte ich nicht den 
MAX3420E (USB) und ein Controller für den RS232 jeweils über einen SPI 
ansprechen?

- wäre jetzt meine Vorstellung.

Ich habe schon mal ein CAN-Controller über SPI angeschlossen und eine 
sehr gute Bibliothek dafür genutzt - sowas will ich eben auch für den 
USB und RS232 Controller.

von Karl H. (kbuchegg)


Lesenswert?

3124 schrieb:
> Pete K. schrieb:
>> Hast Du schon Erfahrung mit Mikrocontrollern?
>
> Ja

Hmmmm ....


> z.B. der ATmega1281 hat 3x SPI und 2x UART, könnte ich nicht den
> MAX3420E (USB) und ein Controller für den RS232

Wenn du eine UART hast, dann HAST du bereits RS232. RS232 nennt man das 
Ding, wenn die Pegel von 0-5V auf -12V bis +12V umgesetzt und invertiert 
wurden. Genau das macht der MAX232.

> Ich habe schon mal ein CAN-Controller über SPI angeschlossen
Es gibt Dinge, die sind so banal, dass sie die µC einfach mit an Board 
haben. USART (und damit RS232 nach Pegelanpassung) gehört da mit dazu. 
Man braucht nicht für alles eine Komponente, die mit SPI angeschaltet 
wird.

von 3124 (Gast)


Lesenswert?

Karl Heinz Buchegger schrieb:
> Wenn du eine UART hast, dann HAST du bereits RS232. RS232 nennt man das
> Ding, wenn die Pegel von 0-5V auf -12V bis +12V umgesetzt und invertiert
> wurden. Genau das macht der MAX232.

Gute Info - danke! :-)

Somit kann ich ein µC nutzen, welcher 2x UART hat und den MAX232 sowie 
den USB-Controller MAX3420E über SPI ansteuern.

von Basti (Gast)


Lesenswert?

Hängt davon ab, welche Geschwindigkeiten du fahren willst, bzw was 
übertragen wird. Da könnte man sonst USB zB auch in Software machen 
(VUSB zb) und eine UART in Software. hängt alles von der Anwendung ab.

von Frank K. (fchk)


Lesenswert?

3124 schrieb:
> Hi,
>
> ich möchte eine Schaltung mit folgenden Schnittstellen aufbauen:
>
> 2x RS232
> 1x USB (zur Kommunikation mit einem PC)

> Ich möchte einen normalen ATmega nutzen, wie realisiere ich das ganze am
> einfachsten? Gibt es fertige Bibliotheken, Schaltungen?

Es gibt keinen MegaAVR, der die obige Ausstattung besitzt. Es gibt 
welche (Mega640/1280/2560, alle 100 Pin TQFP), die 4 UARTs haben. An 
einen UART kannst Du dann einen UART-USB Konverter setzen.

Wenn Du einmal über den Tellerrand schaust, gibts da z.B. einen 
PIC24FJ64GB002 oder einen PIC32MX220F032B oder PIC32MX250F128B, die die 
von Dir gewünschte Schnittstellenausstattung haben und gleichzeitig im 
28-pinnigen SDIP oder SO-Gehäuse verfügbar sind. Die ersten beiden gibts 
sogar bei Reíchelt.

Wenn Du jetzt sagst "ja, da muss ich ja was neues lernen" - ja nu, dumm 
sterben willst ja auch nicht, oder?

fchk

von Fallobst (Gast)


Lesenswert?

Man kann bei den Avrs bleiben: Jeder Xmega besitzt mindestens 2 Uarts. 
Damit erfüllt jeder Usb-Xmega die gewünschte Funktionalität (bspw. 
Xmega16a4u).

von Eumel (Gast)


Lesenswert?

Fallobst schrieb:
> Man kann bei den Avrs bleiben: Jeder Xmega besitzt mindestens 2 Uarts.
> Damit erfüllt jeder Usb-Xmega die gewünschte Funktionalität (bspw.
> Xmega16a4u).

Ein Xmega ist was ganz anderes als ein normaler AVR.

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.