L'ordine dei pin è importante per questa RAM?


11

Sto cercando di instradare un chip pic32 a una SRAM da 128 kBchip e avere un po 'di fatica a connettere tutte e 17 le linee di indirizzo e tutte e 8 le linee di dati. Sto provando a collegare i primi 16 pin di indirizzo ai pin port 0-15 e i pin di dati a port 0-7. Dopo averci pensato per un po 'mi sono reso conto che probabilmente sto rendendo la mia vita più difficile cercando di allineare rb0 con a0, rb1 con a1, ecc. Tutto quello che voglio davvero essere in grado di fare è scrivere un valore a 16 bit su portB e avere la maggior parte dell'indirizzo caricato e pronto. Se eseguo l'assegnazione dei pin in base alla facilità di routing, l'indirizzo logico sarà diverso tra mcu e ram, ma dovrebbe almeno essere coerente. Poiché nient'altro ha bisogno di comunicare con la RAM, non credo che sarà un problema se la MCU chiede l'indirizzo 0x101 e la RAM gli dà l'indirizzo 0x110.

Tuttavia, mi chiedo se sia una buona idea. Se esiste una struttura interna alla RAM progettata per rendere più efficienti le letture sequenziali, o qualcosa del genere, allora potrei volermi prendere la briga di instradarle 1: 1. La disposizione dei pin su entrambe le chips mi risulta in qualche modo casuale, quindi mi renderebbe molto più semplice se potessi ignorare i numeri particolari. C'è qualche buona ragione per cui dovrei o non dovrei farlo?

Risposte:


12

In questo caso sembra del tutto accettabile scambiare bit di dati e scambiare bit di indirizzo. Questo non è universalmente il caso, come alludi nella tua domanda.

In questo caso il dispositivo è una RAM statica: una rapida occhiata al foglio dati AS6C1008 non indicava alcuna capacità di eseguire accessi veloci di alcun tipo o dipendenze temporali relative agli indirizzi.


Generale:

Alcune memorie dinamiche consentono lo scoppio dei dati bloccando una porzione elevata dell'indirizzo e quindi sequenziando i bit dell'indirizzo basso. Ciò può corrispondere alla struttura logica di riga e colonna pubblicata o ad un meccanismo arcano interno non evidente evidentemente esternamente. In tali casi, è necessario attenersi a quanto indicato nella scheda tecnica per evitare errori di archiviazione.

Alcune memorie dinamiche iniziali si basavano sul sequenziamento degli indirizzi e sui tempi di accesso per ottenere un aggiornamento della cella di memoria. È improbabile che tu possa incontrare molti di questi al giorno d'oggi.

Alcuni ricordi (flash, eerom, altri) hanno una durata che dipende dal numero di accessi, che può essere per accesso (lettura o scrittura) o più di solito solo per scrittura, e può essere per posizione di memoria o per alcuni sottogruppi di celle di memoria . In quest'ultimo caso, se si confondono le righe degli indirizzi, è possibile interferire con gli algoritmi di livellamento dell'usura. Questo sarà solo un potenziale problema con dispositivi abbastanza specializzati e le schede tecniche sono ragionevolmente chiare sui requisiti


+1 per il qualificatore "In questo caso" e spiegazione di quando potrebbe non essere il caso.
SplinterReality,

5

No, l'ordine non ha importanza. Le righe degli indirizzi possono essere in qualsiasi ordine, così come le righe dei dati.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.