PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : RAM - gleichzeitig lesen & schreiben



Felix G
06.02.2005, 16:52
Hallo, der Titel sagt eigentlich schon alles...
gibt es RAM auf das zwei Mikrocontroller gleichzeitig zugreifen können?

also während der eine z.B. aus der unteren Hälfte Daten ausliest, soll der andere ungestört in die obere Hälfte schreiben können.


Und falls es sowas gibt (würde mich wundern wenn nicht):
wie teuer sind die Dinger, und kriegt man die überhaupt problemlos?



Notfalls könnte ich natürlich auch einfach zwei normale nehmen und mit ein bischen Logik dazwischen an die beiden Controller hängen,
aber die andere Variante wär halt bequemer ;)

x-ryder
06.02.2005, 17:01
nimm nen normalen und synce die beiden controller so das der eine immer weiß was der andere tut dann slollte das problemlos gehen

Michael
06.02.2005, 17:06
Hallo x-ryder,


nimm nen normalen und synce die beiden controller so das der eine immer weiß was der andere tut dann slollte das problemlos gehen

könntest du dazu bitte ein Beispiel liefern?
Gruß, Michael

x-ryder
06.02.2005, 17:08
wartet mal grade ich mach nen schaltplan

gunzelg
06.02.2005, 17:13
Google mal nach Dual-Port-Rams

gerhard

x-ryder
06.02.2005, 17:15
irgendwie habt ihr ja recht, ich hatte nicht ans timing gedacht, aber isses denn schlimm wenn man direkt nacheinander ließt?

Felix G
06.02.2005, 17:19
nimm nen normalen und synce die beiden controller so das der eine immer weiß was der andere tut dann slollte das problemlos gehen
nene, das geht definitiv nicht
denn der eine liest sehr viel schneller (öfter) als der andere schreibt.



In letzter Zeit versuchen hier ja einige einen µC an einen Fernseher zu hängen,
und ich dachte mir es wäre wohl effizienter wenn der µC wirklich nichts anderes machen muss,
als nur die Daten aus dem RAM holen, und auf dem TV ausgeben.
(quasi wie der RAMDAC auf einer Grafikkarte)

währenddessen könnte der zweite µC in aller Ruhe das nächste Bild ins RAM schreiben.

stegr
06.02.2005, 17:40
Der Begriff Dual-Port-RAM ist ja schon gefallen und der ist hier genau richtig...
Der angesprochene RAM auf der Grafikkarte ist genau so ein Dual-Port-RAM (auch Dual-Access-RAM genannt).

MfG
Stefan

Felix G
06.02.2005, 17:49
jo, hab auch schon bei Reichelt und Conrad geschaut, aber da gibts sowas wohl nicht.

oder hab ich die nur übersehen?

Hellmut
06.02.2005, 20:12
Hallo Dual Port RAMs sindheute nicht mehr üblich. Man arbeitet statt dessen mit sehr schnellen RAMs, siehe Graphikkarten. Früher gab es sogenannte Video-RAMs. Die bestanden aus einer Speichermatrix und einem oder mehreren Schieberegistern. Die Logik im Speicherebauteil hat die "refresh"-Zyklen benutzt um immer eine Zeile der Speichermatrix in das Schieberegister zu laden, diese Daten wurden dann mit dem Pixel-Takt aus dem Scheiberegister geschoben. Dadurch stand die Speichermatrix zu jedem Zeitpunkt dem externen Prozessor zur Verfügung.

Eigentlich gibt es 2 einfache Techniken den gewünschten Effekt zu erreichen:

1. 2 Speicher IC's auf welche alternierend zugegriffen wird. Das macht Sinn wenn beide Zugriffe "Random"-Zugriffe sind.

2. Eine Logik zwischen Speicher und den uControllern setzen, welche den CS (Chip-select) an den Speicher erzeugt und dafür sorgt das die Zugriffe arbitriert werden. Je nach dem Speicherzugriffsprotokoll der beteiligten Busmaster müsste man Adressen und Steuerleitungen latchen.

PicNick
07.02.2005, 09:47
Früher hat's mal so einen CRT-Controller gegeben, ich glaub 6845 oder so.
den sollt' man vielleicht wieder ausgraben. mfg robert

Felix G
07.02.2005, 09:56
Also ich denke ich werde die erste Variante nehmen...

da brauch ich zwar zwei Speicher, aber dafür ist es unkomplizierter.



Und dann mal schauen was damit alles machbar ist.
Denn dadurch, daß der erste µC praktisch nichts intelligentes mehr tun muss,
sollte ja genug Rechenleistung übrig sein um ein Graustufenbild erzeugen zu können (und nicht nur S/W).

Den zweiten µC könnte man ja dann z.B. so programmieren, daß sich das Ding wie ein Grafik-LCD ansteuern lässt.


edit:
@PicNick
gibt es das Ding denn noch?

Manf
07.02.2005, 09:59
Die Zugriffe auf einen zeichenorientierten Bildwiederholspeicher laufen grundsätzlich mit unterschiedlicher Datenrate ab. (So schnell kann man ja nicht lesen. )
Es wird damit häufig schon reichen, in der Bildsysnchronisations-"Lücke" (Viedeotext) ein (bis max ca. 10) neue Zeichen zu schreiben.
Manfred

PicNick
07.02.2005, 10:17
*lol*
www.homecomputermuseum.de/doku/video38_de.htm
Bei kleinen Fuzzies aus der Kreidezeit, die noch brav nach carl-ritter-von-Neumann gearbeitet haben, haben sie einfach den RAM-Refresh-Cycle vergewaltigt.
Jetzt red' ich schon wie mein Großvater, wenn der von der guten alten Zeit erzählt hat. mfg robert

JanB
07.02.2005, 10:42
Hallo,

haben sie einfach den RAM-Refresh-Cycle vergewaltigt.
Wieso "vergewaltigt" ? :-k
Das war doch eine coole Lösung,
die quasi zwei Fliegen mit einer Klappe erschlagen hat.
Den RAM-Refresh und den Videodatenstrom.

Gruß aus der Steinzeit... 8-[

Jan

PicNick
07.02.2005, 11:04
@JanB, so von Paläontologe zu Paläontologe:
Ist an sich cool, der Ram-Refresh war aber weg, und nur eine Fliege tot (=vergewaltigt)
Wenn man dann ein paar k draufhängen wollte, und die waren nunmal dynamisch, hat man sich den Refresh dann extra zusammenschustern müssen. mfg