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 :-)
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.
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.
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.
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.
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.
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.
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
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.