Hallo Leute, ich möchte 4 von diesen SRAM Baustein zusammen mit einem AT90S8515 benutzen, der ja bekanntlicht externes Ram ansteuern kann. Ich möchte die 4 Chips aber einzeln über Latches und einen 2Bit decoder, sprich 2 Portpins auswählen können. Es soll also ein Adressbus und ein Datenbus bestehen. Könnt ihr mir mal erklären, wie ich das mit der Selektion und der Programmierung in Assembler realisiere? (oder Internetseiten mit Informationen angeben)
Hallo Rudolf... Wenn ich mich nicht irre, haben SRAMs /CS-Anschlüsse (Chip select, L-aktiv), mit denen man einen von mehreren parallel geschalteten SRAMs selektieren kann. Falls du genügend Portleitungen frei hast, kannst du jeden einzeln ansteuern. Ansonsten Decoder LS/HC(T)238 oder 239 zur Ansteuerung der /CS-Pins nutzen... Den Rest der SRAM-Beschaltung kannst du dem 8515-Datenblatt entnehmen... Bit- & Bytebruch... - ...HanneS...
Hallo, das Problem der Selektion ist noch nicht geklärt! Das Programm müßte ja vor jedem Zugriff auf das externe RAM prüfen, an welcher Adresse sich die Speicherzelle befindet und in welchem der vier RAMs das ist. Oder man realisiert das komplett in externer Hardware, indem man von den Signalen für die obersten Adreßleitungen mittels 2-Bit-Decoder die CS-Anschlüsse der RAMs ansteuert. Gruß
Hallo, genau dies meinte ich ja, dass man einen 2-Bit-Decoder benutzt. Muss man diese Bits dann "von Hand" steuern, oder ist das im Speicherinterface vom 8515 integriert?
"Das Programm müßte ja vor jedem Zugriff auf das externe RAM prüfen, an welcher Adresse sich die Speicherzelle befindet und in welchem der vier RAMs das ist." Warum denn, ist doch völlig wurscht, an welcher Adresse und in welchen IC das Byte abgelegt wird. Bis zu 64kB kannst Du direkt adressieren: sts 0, r0 sts 65535, r1 usw. Darüber kannst Du einen weiteren Port zur Bankauswahl (je 64kB) verwenden, d.h. für die höheren Adreßpins A16 usw. Peter
Hallo, "Das Programm müßte ja vor jedem Zugriff auf das externe RAM prüfen, an welcher Adresse sich die Speicherzelle befindet und in welchem der vier RAMs das ist." "Warum denn, ist doch völlig wurscht, an welcher Adresse und in welchen IC das Byte abgelegt wird." Vielleicht kan uns Rudolf mal berichten, wie groß seine vier RAMs sind, die da umgeschaltet werden sollen und ob sie größer oder kleiner als die 64kB sind.
Hallo Leute, ich möchte 4 von diesen SRam Modulen verwenden: <a href="http://www.reichelt.de/?SID=10QA7xqtS4AQoAABLWAp0fae5d2896aee5e3fe79dac90578e51f2;ACTION=3;LASTACTION=3;SORT=artikel.artnr;GRUPPE=A34;WG=0;ARTIKEL=62256-80;START=0;END=15;FAQSEARCH=SR%2032KX8%20%2028P%20%20%3D%20HY62CT08081E;FAQTHEME=-1;FAQSEARCHTYPE=0;FAQAUTO=1;STATIC=0;FC=668;PROVID=0;TITEL=0">Klick!</a> Kennt ihr einen guten bei Reichelt lieferbaren AD Wandler mit möglichst parallelem Ausgang? Welchen AD-Wandler könnt ihr empfehlen? (Muss schnell sein und min. 10 Bit Genauigkeit besitzen) Kann ich diese SRams auch einfach mit einem Mega8535 ansteuern, oder dauert das lange?
lol, wenn ich mich nicht irre, willst du auch gleich noch zwanzig kohleschicht widerstände(20 ohm) pass auf wohin du was verlinkst... normalerweise geht ein warenkorb über ein cokie, was hier leider nicht der Fall ist... MFG Nik
@Rudolf, geht es Dir nur um viel Speicher, oder musst Du 4 Stück von dem bislang unbekannten Speichertyp (siehe Frage von Chris) verbauen? Wenns nur viel Speicher sein soll, dann ginge auch ein 628128 (128kx8) oder ein 628512 (512kx8). Bei den Preisen würde ich mir das dekodieren mit Demux usw. schenken. Die freien Adressleitungen A16 beim 128er bzw. A16, A17, A18 beim 512er kannst Du dann direkt mit 1-3 Portleitungen verbinden. Der 8515 unterstützt SRAMs nur bis 64k (s.o.). Darüber hinaus brauchst Du eine "geeignete" Software, die die Port-Pins entsprechend den SRAM-Pins A16-A18 umschaltet. I.d.R. braucht man soviel Speicher nur zum Puffern. Daher dürfte es reichen, einfach auf den nächsten 64k-RAM Bereich umzuschalten, wenn das letzte Byte auf Adresse $FFFF überschritten wurde. Aber Vorsicht: nicht im nächsten 64K-Bereich bei 0000 anfangen, denn da liegen die Register. Siegfried
Hallo, mir geht es in erster Linie um hohe Geschwindigkeiten, so dass ich die Daten immer hintereinander in die rams stecke, um so mehr SPeed herauszuholen. WElche AD-Wandler sind denn besonders schnell & günstig?
>Kann ich diese SRams auch einfach mit einem Mega8535 ansteuern, oder >dauert das lange? Wenn du schnell löten kannst schon :) Nein, Spass beiseite. Wenn du willst das der Controller die 4* 32 kbyte Automatisch adressiert, kann ich dir nicht helfen, da ich noch nie externe, parallele Speicherbausteine in Betrieb genommen habe. Wenn du die Rams von Hand adressieren möchtest, würde ich das so machen, wie im Anhang. Ich hab darin 512 Srams verwendet, weil ich bei Eagle keine anderen finden konnte. Daher wird die Pinbelegung nicht stimmen. Ich habe auch die Versorgungspannung nur dort eingezeichnet, wo sie nötig war, um zu zeigen das man etwas auf gnd legen sollte oder so... Ansonsten ist ja klar vcc und vss... :) Wenn du noch Fragen zu meinem Entwurf hast-einfach Fragen. :) MFG Nik
Und die Pins beim Uc hab ich auch einfach so gewählt, ich hab nicht darauf geachtet, das bestimmte frei bleiben, ist halt nur so ne Idee..:)
Hallo, das ist ja schon einmal sehr nett, so ähnlich habe ich mir das auch vorgestellt, nur den Trick mit dem Latch kannte ich in der Form noch nicht - gibt es auch einen 3Bit Binärdekoder? Weil es kann ja auch sein, dass man das Bussystem noch für andere Zwecke "missbrauchen" möchte, un dann kein Sram ausgewählt sein soll... Da fällt mir ein: Gibt es eigentlich eine Seite, auf der man z.B. "AD-Wandler" eingibt und man anschließend die Typenbezeichnungen von mehreren AD-Wandlern bekommt? Ich weiß dies meistens nämlich nicht.
"4 von diesen SRAM Baustein" "mir geht es in erster Linie um hohe Geschwindigkeiten" Werd doch endlich mal konkret !!! Also wieviel kByte insgesamt und wie schnell (Picosekunden oder wie) willst Du drauf zugreifen. Ohne Zahlen und Fakten wird das doch nichts. Peter
wenn du mit 3 bit binärdekoder eine 8 aus 3 dekoder meinst-ja gibts z.B. der 74***131.
Na gut, ich habe halt vor ein Oszilloskop zu bauen - damit dies KLappt, müssen die Daten für eine bestimmte Zeit so schnell es eben geht in den Speicher geladen werden. Die Aufzeichnungsdauer ist abhängig von der Speichergröße, deswegen möchte ich mich noch nicht festlegen, da ich eben noch nicht weiß, wie lange ich aufzeichnen muss. Die Geschwindigkeit vom AD-Wandler und von den Speichern muss natürlich sehr hoch sein, damit man eine schön kleine Timebase hat. Der im AVR eingebaute AD-Wandler ist wahrscheinlich zu langsam, deswegen frage ich ja die ganze Zeit nach schnelleren (parallelen) AD-Wandlern (8 Bit).
Die Suchseite gibt es: Sie heisst www.Google.de Allerdings sollte man nicht "AD-Wandler" eingeben, sondern vielleicht eher "ADC" oder so. Notfalls gibt es auf der Seite einiger Elektronik-Versender auch eine kleine Suchmaschine für deren Sortiment. Ich frage mich aber gerade, wie schnell dein Oszilloskop werden soll? Bei einer maximalen Taktgeschwindigkeit von 16MHz stelle ich mir das schon interessant vor... Vielleicht soll er auch gleich noch als Diplay-Controller für ein 1024x768-Pixel-Display herhalten... Wohin auch sonst mit den Daten...
Witz komm raus, du bist umkringelt... Der µC macht nichts anderes, als folgendes: 1. Der User Startet am PC die Messung (über die RS232 SChnittstelle) 2. Der µC zeichnet die ADC Daten aus, bis das SRAM voll ist 3. Der µC überträgt die Daten per RS232 an den PC. 4. Nun werden die Daten aus den Rams am PC dargestellt. Das dies funktioniert, beweist diese Seite: http://www.mikrocontroller.net/forum/read-1-42156.html
Bei 16MHz kannst Du vielleicht bis zu 1MHz samplen. Das Hauptproblem ist aber, wie triggerst Du ? Ein gutes DSO kann auch bei 100% triggern, d.h. die ganze Vorgeschichte bis zum Triggerereignis aufzeichnen. Das gute und präzise Triggern ist das A und O eines jeden DSO. Mit einer komfortablen Triggerung dürfte schon so einiges an Rechenleistung drauf gehen, also max 100kHz Samplerate dürften da realistisch sein. Peter
Hallo, TDA8703 für 8-Bit gibt's bei Reichelt und macht ohne Klimmzüge 20Ms/s und wenn man den Moment, in dem die Daten gültig sind, genau trifft, sind es (bitte im Datenblatt nachprüfen) bis zu 40 MS/s. Das Treffen des Momentes dürfte eine Frage der Signalverzögerung sein. In meiner Schaltung traten bei 32MS/s bereits erste falsche Bits auf. Ansonsten ist Analog Devices eine gute Adresse. Gruß
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.