Hallo, ich entwerfe gerade meine erste Schaltung die externen Speicher verwendet. Meine Hardware ist folgende: ATMEGA162 74HC373 (latch) 62256-70M (sram) Ich möchte jetzt gerne wissen ob mein Annahmen richtig sind. Der SRAM hat 15 Adressleitungen A0 bis A14 sollte also 2^15 also 32768 Adressen haben. Mal 8bit pro Datenwort, sind das 256kB richtig ? Der Mega162 hat insgesamt 16 Portpins (PortA+PortC) die für die Adressierung von Speicher verwendet werden können. Das wäre genug für 512kB, richtig ? Laut Datenblatt kann der Mega162 aber nur bis zu 64kB externen Speicher verwalten. Im Datenblatt steht jetzt ein Satz der mich extrem verwirrt: "When the External Memory is enabled, all Port C pins are used for the high address byte by default. If the full 60KB address space is not required to access the external memory, some, or all, Port C pins can be released for normal Port Pin function as described in Table 4. " Das ergibt irgendwie keinen Sinn. Wieso braucht der Mega162, 16 Adressleitungen um 60kB (warum eigentlich auf einmal nicht mehr 64kB?) zu adressieren ? Verstehe ich das falsch, oder ist das ein Druckfehler im Datenblatt ?
>62256-70M (sram) > >Der SRAM hat 15 Adressleitungen A0 bis A14 sollte also 2^15 also 32768 >Adressen haben. Mal 8bit pro Datenwort, sind das 256kB richtig ? Falsch. Der 62256 hat 32kB. Ein Byte pro Adresse.
Hi >Das ergibt irgendwie keinen Sinn. Wieso braucht der Mega162, 16 >Adressleitungen um 60kB (warum eigentlich auf einmal nicht mehr 64kB?) >zu adressieren ? Weil in den mit 16-Bit-Adresse ansprechbaren Speicher auch noch die Register, IO-Adressen und der interne RAM liegen. Die müssen von den 64k abgezogen werden. MfG Spess
@holger mmmh stimmt, das mach irgendwie Sinn... Da hatte ich wohl ein Brett vorm Kopf. Danke! Wenn ich jetzt den vollen Bereich nutzen möchte, brauche ich da einen anderen Speicherbaustein, oder kann ich einen zweiten Baustein einbinden ? Und wie stelle ich das am besten an ? Vielleicht die 15.te Adressleitung an den chipselect vom zweiten Speicher ?
Hi >Und wie stelle ich das am besten an ? Vielleicht die 15.te Adressleitung >an den chipselect vom zweiten Speicher ? Einmal direkt an /CS des einen Speichers und einmal invertiert an /CS vom anderen. MfG Spess
@spess53 Was kann ich da am besten zum invertieren nehmen ? Ich habe bei Reichelt so auf die schnelle den 74hc04 gefunden. Scheint auch schnell genug zu sein, aber eigentlich brauche ich ja nur einen NOT Baustein. Gibt es da noch was kleineres ?
Heinz schrieb: > Wenn ich jetzt den vollen Bereich nutzen möchte, brauche ich da einen > anderen Speicherbaustein, oder kann ich einen zweiten Baustein einbinden > ? Sowohl als auch. Aber grösserer Speicher dürfte einfacher sein.
Heinz schrieb:
> Baustein. Gibt es da noch was kleineres ?
Gibt die Dinger auch in Versionen mit nur 1 Gate. Sind aber im
Bastelhandel wenig verbreitet.
Hi >Gibt die Dinger auch in Versionen mit nur 1 Gate. Sind aber im >Bastelhandel wenig verbreitet. 74LX1G04 SMD gibt es bei CSD für 0,34€. MfG Spess
@A.K. + Spess Danke. Das bringt mich alles schon ein ganzes Stück weiter. CSD kannte ich noch gar nicht. Die scheinen keinen Mindestbestellwert zu haben ? Ich denke die werde ich mal testen. Nochmals danke an alle für die freundliche Hilfe !
Trotzdem dürfte ein 128KB RAM weniger Platz brauchen als 2 Stück 32KB plus single gate Inverter ;-).
@A.K. Stimmt natürlich. 128k scheinen sogar billiger als 32k zu sein. So ein Mist :( Leider habe ich aufgrund meiner anfänglichen Fehleinschätzung schon 4 Stück davon rumliegen :) Vielleicht leg ich die wirklich erst mal weg und versuche es mit nem größeren Baustein.
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.