Parallele EProms/Sram auslesen

Im Unterforum Microcontroller - Beschreibung: Hardware - Software - Ideen - Projekte

Elektronik Forum Nicht eingeloggt       Einloggen       Registrieren




[Registrieren]      --     [FAQ]      --     [ Einen Link auf Ihrer Homepage zum Forum]      --     [ Themen kostenlos per RSS in ihre Homepage einbauen]      --     [Einloggen]

Suchen


Serverzeit: 25 11 2024  06:40:10      TV   VCR Aufnahme   TFT   CRT-Monitor   Netzteile   LED-FAQ   Osziloskop-Schirmbilder            


Elektronik- und Elektroforum Forum Index   >>   Microcontroller        Microcontroller : Hardware - Software - Ideen - Projekte


Autor
Parallele EProms/Sram auslesen

    







BID = 892002

Theend

Neu hier



Beiträge: 27
 

  


Hallo,
ich habe ein geschlossenes System bei dem ein Paralleler Eprom verbaut ist. Der Eprom ist natürlich wiederbeschreibbar. Ist auch gewollt.

Naja meine frage ist jetzt:
Ich möchte einen ATtiny einsetzen, der mitliest was alles aus dem Eprom gelesen wird. Sobald ein wort, sagen wir mal "test" gelesen wird, soll dieser AVR etwas machen.

Ich weiß das dafür die leitungen D0-7 für einen 8 bit Eprom gebraucht werden. Allerdings verstehe ich nicht zu 100% wie genau die daten dort raus kommen?

Bedeutet es:
Der buchstabe "t" z.B. ist im binär code = 01110100

Das beim buchstaben "t" leitung

D0 = 0
D1 = 1
D2 = 1
D3 = 1
D4 = 0
D5 = 1
D6 = 0
D7 = 0

ist?

BID = 892011

perl

Ehrenmitglied



Beiträge: 11110,1
Wohnort: Rheinbach

 

  


Zitat :
Das beim buchstaben "t" leitung

D0 = 0
D1 = 1
D2 = 1
D3 = 1
D4 = 0
D5 = 1
D6 = 0
D7 = 0

ist?
Genau umgekehrt!
D7 = 0
D6 = 1
D5 = 1
D4 = 1
D3 = 0
D2 = 1
D1 = 0
D0 = 0
Ansonsten : Ja, zumindest solange der Chip selektiert ist (/CE =0 )und seine Ausgangstreiber aktiviert sind (/OE =0) oder er beschrieben wird (R/W =0).
Zu anderen Zeiten befinden sich beliebige andere Daten auf dem Bus.


Zitat :
möchte einen ATtiny einsetzen, der mitliest was alles aus dem Eprom gelesen wird. Sobald ein wort, sagen wir mal "test" gelesen wird, soll dieser AVR etwas machen.
Gut möglich, daß der dafür zu langsam ist.
Für solche Logicanalyzer wird gewöhnlich Hardware verwendet.
Außerdem ist es üblich die Adressleitungen und bei RAMs auch R/W mit zu protokollieren.
Praktisch schreibt man nach dem Eintreten der Triggerbedingung das alles gleichzeitig in einen ziemlich breiten (Adressleitungen!) und schnellen RAM.
Du wirst nur auf den Moment triggern können, wenn /CE und /OE beide Low werden. Danach sind ziemlich schnell die Daten gültig, und sofort wenn eine der beiden Leitungen 1 wird, sind sie wieder ungültig.

BID = 892019

Theend

Neu hier



Beiträge: 27

Vielen dank für deine Antwort.
Gut zu wissen das die daten anders rum ausgegeben werden.

Der speicher ist ungefähr 120ns schnell, das bedeutet doch das es mit 20mhz noch gerade so funktionieren sollte oder?

Würde das ganze gerne in Bascom schreiben, eignet sich dafür der Befehl "bitwait"?
Ich kann bestimmen was genau im EPROM steht, also auch welchen wert der tiny "erkennen" soll. Wenn ich z.B. "aaaaaa" schreiben würde, würde doch der attiny längere zeit haben, oder seh ich das falsch?

Oder eine if abfrage?
if d7 = 0 & d6 = 1 & d5 = 1...

BID = 892023

Murray

Inventar



Beiträge: 4854

Ich bezweifele das der Prozessor dafür schnell genug ist.
Der kann zwar aus deinem "test" das "t" erkennen solange der prüft was er als nächstes machen soll ist das "est" schon durch

Suche einfach mal Selbstbau-Logicanalyzern welche die von dir geforderten Bedingungen erfüllen und schau mal was die für Hardware verbaut haben.

BID = 892101

Theend

Neu hier



Beiträge: 27

Ok vielen dank.
Eine frage noch, ein 16-Bit cmos bringt dann praktisch 2 Bytes verteilt auf die 16 Pins oder? Würde logisch klingen

BID = 892104

Murray

Inventar



Beiträge: 4854

Ja 2 Byte sind 16 Bit.
Nur was soll ein "16-Bit cmos" sein?

Solltest dich mal präziser ausdrücken.
Wenn es um Prozessoren handelt liest einfach mal hier weiter http://de.wikipedia.org/wiki/16-Bit-Architektur

BID = 892107

Theend

Neu hier



Beiträge: 27

ein Flash eeprom

BID = 892114

Murray

Inventar



Beiträge: 4854


Zitat :
Theend hat am 29 Jun 2013 20:43 geschrieben :

Eine frage noch, ein 16-Bit cmos bringt dann praktisch 2 Bytes verteilt auf die 16 Pins oder? Würde logisch klingen


das ist zu logisch.
Werden dann zu viele Anschlüsse.
Ich kenne es so das dann die Daten zeitversetzt über 2X 8 Bit gespeichert werden.
Direkt wäre natürlich auch möglich...
Dann gibt es sogar noch verschiedene Betriebsarten der EEPROMs.
Und Flashspeicher arbeiten zudem noch Blockweise,
Das ist letztendlich alles viel komplizierter als du denkst.

Steht aber alles in den Datenblättern zum jeweiligen IC.

BID = 892129

Theend

Neu hier



Beiträge: 27

Ok, also meine parallel eeproms die 16 bit haben, haben alle d0-15 bzw q0-15

Edit: Eine frage habe ich aber noch, meine Logicanalyzer software braucht ein "Clock" signal. Liegt so ein signal irgendwo an dem EProm an?
funktioniert einer der Steuerleitungen? (/OE, /CE)

[ Diese Nachricht wurde geändert von: Theend am 30 Jun 2013  1:18 ]

BID = 892130

perl

Ehrenmitglied



Beiträge: 11110,1
Wohnort: Rheinbach


Zitat :
er speicher ist ungefähr 120ns schnell, das bedeutet doch das es mit 20mhz noch gerade so funktionieren sollte oder?
Das kommt darauf an, wer den Speicher adressiert.
Wenn du mit dem µC selbst die Adressen ausgibst, kannst du die Daten praktisch beliebig langsam auslesen.
Wenn du aber einem laufenden Prozessor "über die Schulter sehen" willst, während er im Speicher liest, wird es eng.
Da kommt ja wahrscheinlich jede µs, evtl. auch schneller, eine andere Adresse und somit auch andere Daten.

Im Übrigen hat die Zugriffszeit nur wenig mit der Arbeitsgeschwindigkeit zu tun; sie muß nur kurz genug sein.
Du kannst einen 120ns schnellen Speicher auch mit 1 Byte probSekunde betreiben.
Dieser Wert sagt ja nur, wie lange man nach dem Anlegen einer neuen Adresse (oder /CE) warten muß, bis die Ausgangsdaten garantiert gültig sind.


Zitat :
ein 16-Bit cmos bringt dann praktisch 2 Bytes verteilt auf die 16 Pins oder?
Ja, aber das ist am Speicher oft umschaltbar, oder die Bytes werden überhaupt nacheinander gelesen, so daß ein 8-Bit EPROM reicht.
Der Intel 8088 z.b. ist ein 16-Bit Prozessor, aber er hat nur einen 8 Bit breiten Datenbus.
Auch andere Prozessoren mit noch breiteren Datenbussen lesen den EPROM oft nur mit 8 Bit Breite, weil sie diesen relativ langsamen Speicher nur zum Booten benutzen.


Zitat :
meine Logicanalyzer software braucht ein "Clock" signal. Liegt so ein signal irgendwo an dem EProm an?
Nicht unbedingt.
Oft wird zwar /OE und oder /CE geschaltet, weil der Datenbus bidirektional betrieben wird.
Ab einer Adressänderung oder der negativen Flanke von /CE musst du jedenfalls 120ns warten, bis garantiert gültige Daten vorhanden sind.
Die Adressierungslogik im Chip braucht diese Zeit.
(In Wirklichkeit natürlich etwas weniger, vielleicht nur 80 ns, aber das wird nicht garantiert.)

Von der fallenden Flanke von /OE geht es schneller, weil damit nur die Ausgangstreiber eingeschaltet werden, an deren Eingängen bereits gültige Daten anliegen.

Es gibt aber auch Schaltungen, bei denen /CE ond /OE ständig aktiv sind, und nur die Adressen sich verändern.


[ Diese Nachricht wurde geändert von: perl am 30 Jun 2013  2:26 ]


Zurück zur Seite 1 im Unterforum          Vorheriges Thema Nächstes Thema 


Zum Ersatzteileshop


Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation!
Impressum       Datenschutz       Copyright © Baldur Brock Fernsehtechnik und Versand Ersatzteile in Heilbronn Deutschland       

gerechnet auf die letzten 30 Tage haben wir 20 Beiträge im Durchschnitt pro Tag       heute wurden bisher 0 Beiträge verfasst
© x sparkkelsputz        Besucher : 182393522   Heute : 718    Gestern : 7548    Online : 558        25.11.2024    6:40
3 Besucher in den letzten 60 Sekunden        alle 20.00 Sekunden ein neuer Besucher ---- logout ----viewtopic ---- logout ----
xcvb ycvb
0.0737400054932