EO_476

DIGITAL HIGH SPEED INTERFACES 42 - ELETTRONICA OGGI 476 - MARZO 2019 Il microcontroller STM32L4R9 accede agli indirizzi delle memorie esterne HyperBus come memoria mappata nello spazio degli indirizzi del bus AHB del microcontroller stes- so, quindi il core accede in lettura e scrittura alla memoria esterna e a quella interna allo stesso modo. Una volta con- figurati i dispositivi di memoria esterna, il funzionamen- to dei dispositivi HyperBus è trasparente per il core. Le memorie HyperBus sono tutte a 16 bit, quindi tutti gli ac- cessi dal microcontroller STM32L4R9 devono rispettare i limiti delle memorie a 16 bit. Gli accessi ai dati dal master STM32L4R9 possono essere a 16 bit o 32 bit, e devono av- venire anch’essi all’interno dei limiti prefissati. Una tipica operazione di lettura o scrittura su HyperBus consiste in una serie sequenziale di trasferimenti di dati a 16 bit della durata di un ciclo di clock tramite due trasferimenti di dati a 8 bit corrispondenti della durata di mezzo ciclo di clock, uno su ciascun fronte di clock a terminazione singola o crossing di clock differenziale. Le operazioni di lettura e scrittura trasferiscono sempre parole di dati a 16 bit com- plete. Le parole dei dati di lettura contengono sempre due byte validi. Le parole dei dati di scrittura possono avere uno o entrambi i byte mascherati per prevenire la scrit- tura di singoli byte nell’ambito di un burst di scrittura. Il protocollo HyperBus non supporta i trasferimenti di byte né le operazioni sui bit, come quelle di bit-banding. Ciascuna porta compatibile con HyperBus del microcon- troller STM32L4R9 dispone di 256 Mbyte dedicati di spa- zio per indirizzi mappato in memoria come segue: Da HyperBus1 (OctoSPI1) 0 x 90.000.000 a 0 x 9FFFFFFF Da HyperBus2 (OctoSPI2) 0 x 70.000.000 a 0 x 7FFFFFFF L’indirizzo interno del dispositivo di memoria HyperFlash o HyperRAM cui è in corso l’accesso presenta un offset rispetto all’indirizzo di memoria base della suddetta po- sizione. Se effettua la lettura dalla posizione di memoria 0 x 90.000.047, ad esempio, il microcontroller STM32F4L9 esegue il read-back del valore memorizzato nel disposi- tivo di memoria cui ha effettuato l’accesso su HyperBus1 nella posizione di memoria 0 x 0.047. Memorie con interfaccia HyperBus Oltre ad avere sviluppato la specifica HyperBus, Cypress Semiconductor offre anche una linea di memorie HyperBus. La memoriaHyperFlashS26KS512SDPBHI020 da 64 MB x 8 di Cypress è in grado di in- terfacciarsi facilmente con una delle porte OctoSPI. Supporta gli accessi burst con wrap fino a un massimo di 32 parole di 16 bit. Grazie a velo- cità di clock massima di 166,6 MHz, la memoria HyperFlash S26KS512 supporta una velocità di lettura continuativa (su- stained) di ben 333 Mbps. Alla velocità massima del clock OctoSPI, pari a 60 MHz, il microcontroller STM32L4R9 è in grado di leggere qualunque memoria esterna HyperBus a una velocità massima di 120 Mbps. Se l’accesso alla memo- ria HyperFlash avviene tramite il bus di sistema di Cortex- M4, il microcontrollore STM32L4R9 è in grado di eseguire il codice direttamente da tale memoria flash. Quando viene utilizzata per la memoria del codice, la porta OctoSPI sup- porta la funzione eXecute In Place (XIP) con un buffer di pre-fetch integrato che carica l’indirizzo di memoria suc- cessivo dalla memoria esterna. La memoria HyperRAM S27KS0641DPBHI020 da 8 MB x 8 di Cypress Semiconduc- tor è una DRAM ad auto-aggiornamento in grado di funge- re da espansione della memoria dati del microcontrollore STM32L4R9. Supporta gli accessi burst con wrap fino a un massimo di 64 parole di 16 bit. La memoria HyperRAM S27KS0641 supporta inoltre velocità di lettura sostenu- te fino a 333 Mbps, e può essere letta dal microcontroller STM32L4R9 a una velocità massima di 120 Mbps. Interfacciamento con le memorie HyperBus Il microcontroller STM32L4R9 è dotato di due porte com- patibili con lo standard HyperBus, ciascuna delle quali è in grado di interfacciarsi separatamente con dispositivi di memoria esterni HyperRAMe HyperFlash (Fig. 2). Il segnale RESET# è opzionale, e non è pertanto mostrato nella figura. Le memorie HyperFlash e HyperRAM di Cypress consen- tono di espandere facilmente la memoria interna del micro- controller STM32L4R9 con un impatto minimo sulle dimen- sioni delle schede CS e sulla complessità di progettazione. I segnali più importanti per il layout sono DQ[0-7] e RWDS. Per ottenere le massime prestazioni, tali segnali devono se- guire il più breve percorso possibile sulla scheda CS tra il microcontroller e la memoria. I segnali CK e CK# del clock differenziale devono trovarsi l’uno accanto all’altro, a una distanza costante per l’intera lunghezza dei segnali. Laddo- ve possibile, è consigliabile schermare CK e CK# con piste Fig. 2 – Il microcontrollore STM32L4R9 è dotato di due porte compatibili con lo standard HyperBus, ciascuna delle quali è in grado di interfacciarsi separatamente con dispositivi di memoria esterni HyperRAM e HyperFlash (Fonte: STMicroelectronics)

RkJQdWJsaXNoZXIy MTg0NzE=