Forum: Mikrocontroller und Digitale Elektronik multiprozessor infos


von Frank (Gast)


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

von A.K. (Gast)


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.

von Frank (Gast)


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


von A.K. (Gast)


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.

von Frank (Gast)


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?

von A.K. (Gast)


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.

von A.K. (Gast)


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.

von Frank (Gast)


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

von A.K. (Gast)


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.

von A.K. (Gast)


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.

von Frank (Gast)


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

von Profibauer (Gast)


Lesenswert?

>Beitrag "software uarts mit µC realisieren?"

Iregndwie ist das alles gleich verworren.

von Profibauer (Gast)


Lesenswert?


von Markus K. (markus-)


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

von Andreas (Gast)


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

von Markus K. (markus-)


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

von Andreas (Gast)


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???

von Markus K. (markus-)


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

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.