Ich versuche, einen pic32-Chip an einen 128-kB-SRAM weiterzuleitenChip und es fällt ein bisschen schwer, alle 17 Adressleitungen und alle 8 Datenleitungen miteinander zu verbinden. Ich versuche, die ersten 16 Adresspins mit PortB-Pins 0-15 und die Datenpins mit PortD 0-7 zu verbinden. Nachdem ich eine Weile darüber nachgedacht hatte, wurde mir klar, dass ich mein Leben wahrscheinlich schwieriger mache, indem ich versuche, rb0 mit a0, rb1 mit a1 usw. auszurichten. Alles, was ich wirklich tun möchte, ist, einen 16-Bit-Wert in portB zu schreiben und haben den größten Teil der Adresse geladen und bereit. Wenn ich Pin-Zuweisungen basierend auf der Einfachheit des Routings vornehme, unterscheidet sich die logische Adresse zwischen dem mcu und dem RAM, sollte aber zumindest konsistent sein. Da nichts anderes mit dem RAM kommunizieren muss, denke ich nicht, dass es ein Problem sein wird, wenn das mcu nach der Adresse 0x101 fragt und der RAM ihm die Adresse 0x110 gibt.
Ich frage mich jedoch, ob es eine gute Idee ist. Wenn es eine interne Struktur im RAM gibt, die dazu dient, sequentielle Lesevorgänge effizienter zu gestalten, oder so etwas, dann möchte ich vielleicht die Mühe machen, sie 1: 1 weiterzuleiten. Die Anordnung der Pins auf beiden Chips ist für mich etwas zufällig, so dass es für mich viel einfacher wäre, wenn ich die bestimmten Zahlen ignorieren könnte. Gibt es einen guten Grund, warum ich das tun sollte oder nicht?
Nein, Reihenfolge spielt keine Rolle. Adressleitungen können in beliebiger Reihenfolge sein, ebenso wie Datenleitungen.
quelle