mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik multiprozessor infos


Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,

gibt es zum thema multiprozessor gute informative seiten im netz - wie 
über welchen bus (UART?) werden diese verbunden und wie wird die 
kommunikation (einer ist master der ander slave) hergestellt und wie 
schnell ist diese?

Gruß
Frank

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann man eigentlich nur mit "ja" beantworten. Wenn du mit der Antwort 
nichts anfangen kannst, frag konkreter. "Multiprozessor" ist ein sehr 
sehr weites Feld.

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das stimmt natürlich...

eigentlich möchte ich gern wissen, über welche schnittstellen (parallel) 
die beiden µC miteinander kommunizieren?


Mir gehts in erster linie, dass es schnell sein muss und viele 
informationen übertragen werden müssen... d.h. die µC müssen auch 
mindestens 32bit besitzen...


Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So kommen wir nicht weiter. Landläufig versteht man unter 
Multiprozessorsystemen das, was heute in vielen PCs steckt. Da die 
Vorstellung, meine beiden Opterons würde sich per UART unterhalten, 
reichlich lachhaft klingt, kann's das jedoch nicht sein.

Daher ist erstmal zu klären was du darunter verstehst. Oder wozu das gut 
sein soll.

Denn heute sitzen meist auf beiden Seiten nahezu jeder beliebigen 
digitalen Schnittstelle Prozessoren oder Controller. Was im 
Umkehrtschluss heisst, dass sich alles zwischen UART über CAN und 
Infiniband zu Hypertransport für Prozessorkopplung eignet.

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das stimmt, ich hab von dieser thematik bis jetzt noch keinerlei 
erfahrung bzw. ahnung... bis jetzt hat immer ein µC ausgereicht...

zwischen den beiden prozessoren müssen die daten ausgetauscht werden 
zwischen ethernet- und usb 2.0-schnittstelle, da ich beide nicht auf 
einen µC von den UARTS gesehen nicht gepackt bekomme...

oder anders gefragt, kannst du mir ein example geben - am besten ein bsp 
mit schaltplan, anhand dessen ich die kommunikation nachvollziehen 
könnte?

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Erstes Problem: Prozessor / Microcontroller. Willst du Prozessoren 
koppeln (vgl. PC) oder Controller? Ich tippe mal auf letzteres, schon 
weil das Forum so heisst. Nur ist dann die Bezeichnung Multiprozessor 
ziemlich falsch oder zumindest irreführent.

Zweites Problem: Wieviele Daten in welcher Zeit müssen ausgetauscht 
werden? Datenrate genannt.

Drittes Problem: Deine sehr vage Fragetechnik gibt der Vermutung Raum, 
dass du zwar wenig Ahnung hast, aber schon eine ungefähre Vorstellung 
von der Lösung. In solchen Fällen ist es meist hilfreicher, zuerst die 
eigentliche Problemstellung genauer auszuführen. Denn sonst kriegst du 
möglicherweise eine richtige Antwort auf eine völlig falsche Frage.

Ist ein bischen wie beim Doc. Wenn du als Laie die Diagnose selber 
stellst und vom Doc nur das Rezept haben willst, stirbst du am Ende an 
Blinddarmdurchbruch mit jeder Menge Abführmittel im Bauch.

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> zwischen den beiden prozessoren müssen die daten ausgetauscht werden
> zwischen ethernet- und usb 2.0-schnittstelle, da ich beide nicht auf
> einen µC von den UARTS gesehen nicht gepackt bekomme...

Und wenn du diesen Satz auf mindestens ungefähr 15 Zeilen vollständige 
Sprache aufbläst, verstehe ich vielleicht auch, was du damit sagen 
willst.

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok...

also ich hab eine Ethernet-Schnittstelle (64Bit um eine framegenaue 
steuerung von längeren videosequenzen zu ermöglichen - reichen 16Bit 
definitv bei 30fps nicht aus..., um für weitere anwendungen gerüstet zu 
sein, sollte es auch 1GBit Standard sein...); des weiteren sollte es 
möglich sein HD 1080p in realtime übertragen zu können über die 
ethernet-schnittstelle... einspeißung erfolgt per SDI

per software kann ich das video steuern... die verbindung zwischen 
computer und meinem zu entwickeltem gerät verläuft über usb 2.0... 
wichtig ist hier auch die Bit-Anzahl um sehr genau arbeiten zu können 
(sprich framegenau)...

zusätzlich wird das ganze über midi synchronisiert zu weiteren geräten, 
die sich im netzwerk befinden können oder externen geräten wie 
plattenspieler etc.

es gibt auch ne ganze reihe ca. 16 - 18 dmx-outputs und zwei dmx-inputs 
die ebenfalls mit der ethernetschnittstelle kommunizieren sollen...

ziemlich viel los an datenströmen

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mal weiter Fakten sortieren:

Das zu entwickelnde System hat ein Gbit-Ethernet und ein USB 2.0 
Highspeed (als Device vermute ich, weil am anderen Ende der PC hängt?!), 
und dazwischen findet die Kommunikation statt.

Die ganze Nummer mit Midi und DMX überspringe ich mal, denn das ist 
hinsichtlich Daten- und Verarbeitungsrate vergleichsweise 
vernachlässigbar.

Was ich darin noch nirgends finde, ist das Thema Multiprozessor.

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Verzeihe meine Unkenntnis: was ist SDI?

Aber eins ist mir schon klar: Du befindest dich mindestens 2 
Grössenordnungen oberhalb des üblichen Rahmens dieses Forums.

Und was auch nicht verstehe: Das ganze riecht nach einem System, dass 
sich hinsichtlich Daten- und Verarbeitungskapazität mit PCs messen 
lassen kann. Du traust dir also zu sowas selber aufzubauen, hast 
entsprechend Knowhow und Fertigung zur Verfügung. Dafür wiederum kommt 
mir die Frage ein bischen komisch vor.

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
multiprozessor ist wie du schon weiter oben angemerkt hast nicht das 
richtige wort - sondern multicontroller.... ich benötige bezüglich der 
schnittstellen einfach zwei multicontroller... software-uarts sind schön 
und gut, aber ich glaub in dieser menge nicht unbedingt das 
sinnvollste...

midi und dmx ist vom datentransfer zu vernachlässigen, das stimmt 
(einmal 32kBaud und dmx 250kBaud... aber im bezug auf schnittstellen 
sind 18 dmx-ein- bzw. ausgänge leider nicht zu vernachlässigen... und da 
stöße ich auf die grenzen eines einzelnen microcontrollers... daher 
meine überlegung ob ich nicht einfach zwei nehme...

so zu meiner unkenntnis weiß ich aber nicht wie die beiden miteinander 
kommunizieren bzw. wie das professionell gelöst wird... klar hab ich mir 
schon andere platinen angeschaut von professionellen geräten, aber 
aufgrund der vias (mehr als bauteile) ist es ziemlich schwierig die 
datenwege nachzuvollziehen... das einzige was man sofort erkennt, ist 
dass zwei (und jetzt richtiges wort) microprozessoren verwendet wurden 
(und zwar nur für die kommunikation zwischen midi, 4 dmx outputs, 4 
dmx-inputs sowie zwei zusätzlichen dmx inputs für controller wie pulte 
etc...

Autor: Profibauer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Beitrag "software uarts mit µC realisieren?"

Iregndwie ist das alles gleich verworren.

Autor: Profibauer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Markus K. (markus-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Frank,

beschreibe doch mal, welche Anschlüsse Du insgesamt brauchst und mit 
welchen Datenraten die arbeiten. Wenn die Angaben bei Wikipedia stimmen, 
dann hat alleine der SDI-Link 1,485 Gbit/s. Willst Du das auch seriell 
auf den Mikroprozessor führen?

Vermutlich ist ein FPGA die Lösung für Deine Probleme. Was benutzt denn 
die Konkurrenz? Auch wenn man nicht sieht, wie deren Prozessoren 
verbunden sind, so könnte man das doch anhand des Datenblattes der 
Prozessoren vielleicht rausfinden.

Markus

Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
18x DMX-Anschlüsse 250kBaud (davon zwei DMX-In und 16 DMX-Out)

MIDI-Anschluss 32kBaud (Midi In, Out, und Thru

USB-Anschluss 2.0 zum Anschluss von Sticks etc. 480kBaud (meine ich, im 
highspeed-modus)

USB-Verbindung zum Computer

SDI 1,48 Gbit/S

Ethernet Anschluss mit 10Gbit/s

und natürlich soll auch ein schönes LCD-Display nicht fehlen...

Autor: Markus K. (markus-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann würde ich einen FPGA (Xilinx Virtex4 oder sowas) und einen 
Mikroprozessor empfehlen. Datenaustausch z.B. über Shared Memory. Du 
hast hoffentlich schon öfters 10lagige Platinen designed und die 
Probleme, die man bei Frequenzen im Gigahertz-Bereich bekommt bereiten 
Dir auch keine allzu großen Sorgen?

Markus

Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
die probleme hat man in allen frequenzbereichen, nur dass sie im 
Gigahertzbereich einen eher nerven... aber ok; ja die problematik kenn 
ich...

10lagige platinen hab ich noch nicht designed?? mehrlagig schon aber 
nicht gleich 10?? wieso soviele???

Autor: Markus K. (markus-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Weil es die FPGAs mit schneller serieller I/O wohl nur im BGA-Gehäuse 
gibt. Und dann hat man sehr schnell 10 Lagen. Vielleicht auch mehr.

Markus

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.