EO_476

DIGITAL HIGH SPEED INTERFACES 43 - ELETTRONICA OGGI 476 - MARZO 2019 di guardia V SS per ridurre al minimo le interferenze EMI. Per ridurre al minimo il disadattamento di impedenza, è bene separare tutti i segnali sullo strato superiore delle schede CS, con uno strato solido V SS al di sotto. Per gli sviluppatori con limitata conoscenza dello standard HyperBus, è buona norma aggiungere punti di sondaggio (probing). Nel caso dei segnali DQ[0-7] e RWDS, devono di preferenza essere presenti punti di prova sia sul microcontroller STM32L4R9, sia sul dispositivo di memoria. Quando il microcontroller STM32L4R9 sta eseguendo operazioni di scrittura, è utile osservare i punti di prova più vicini al dispositivo di memo- ria. Quando il microcontroller STM32L4R9 sta eseguendo operazioni di lettura, bisogna osservare i punti di prova più vicini ad esso. Inoltre è opportuno disporre i punti di prova dei segnali CK, CK# e CS più vicini al dispositivo di memo- ria. A causa delle elevate frequenze di clock dell’interfaccia DDR, è importante che la tensione di alimentazione del mi- crocontrollore STM32L4R9 e dei dispositivi di memoria sia il più “pulita” possibile. Un’alimentazione rumorosa influisce negativamente sulla temporizzazione dei segnali e può cau- sare errori di trasferimento sul bus, quindi si consiglia l’a- dozione di condensatori di disaccoppiamento. I dispositivi di memoria HyperBus sono dotati di alimentazione e terra separate per i pin di I/O, ed è opportuno aggiungere al V CCQ dell’alimentazione di I/O condensatori da 1 e 0,1 μF sullo strato superiore e inferiore. Accesso del firmware ai dispositivi HyperBus I dispositivi di memoria HyperBus sono dotati di registri su chip utilizzati per impostare opzioni e temporizzazioni del dispositivo stesso. Lo standard HyperBus indica tali elementi come registri di configurazione (CR). Tutti i di- spositivi HyperRAM dispongono di CR che consentono di impostare determinate caratteristiche di funzionamento. Nel caso del modello HyperRAM S27KS0641, il firmware è in grado di configurare le modalità a basso consumo, il tipo e la durata di burst con wrap, i parametri di temporiz- zazione R/W e l’energia con cui viene pilotata l’uscita sul bus dati esterno a 8 bit. Le memorie HyperFlash non di- spongono di CR, ma sono dotate di registri di stato: il mod. HyperFlash S26KS512, ad esempio, possiede tre registri di stato, supporta un codice di correzione degli errori (ECC) interno per la convalida delle operazioni di scrittura e dispone di un registro di stato ECC per l’indicazione de- gli errori di scrittura. Un altro registro contiene l’indirizzo di tutti gli eventuali errori ECC. Un terzo registro effettua il conteggio delle correzioni ECC e degli errori che non è possibile correggere. Tutti i registri in questione sono di sola lettura. Le transazioni su HyperBus supportano due tipi di operazioni di memoria: lettura o scrittura su memo- rie esterne e lettura o scrittura su CR o registri di stato di lettura. Una volta configurata una porta OctoSPI del mi- crocontroller STM32L4L9 come porta HyperBus, il core è in grado di accedere alla memoria come a qualunque al- tra posizione mappata in memoria. Ogni operazione di let- tura o scrittura nello spazio HyperBus mappato in memo- ria avvia un’operazione fra il microcontroller e la memoria esterna. Ogni transazione HyperBus inizia nel momento in cui il microcontroller invia al dispositivo di memoria ester- no tre parole di 16 bit con istruzioni di comando/indirizzo. La sequenza di comando/indirizzo indica al dispositivo di memoria esterno se l’operazione è di lettura o di scrittu- ra, se è indirizzata allo spazio di memoria o ai registri di configurazione e se l’operazione è di tipo burst con wrap o lineare, specificando inoltre la riga e la colonna dell’in- dirizzo di destinazione. Tutto questo è trasparente per il microcontroller con firmware operativo, ma la sequenza di comando/indirizzo è importante durante il debugging. Primi passi con HyperBus Una volta compreso il protocollo HyperBus è senza dubbio utile creare qualche programma sperimentale da eseguire con una scheda di valutazione; questo consiglio è rivolto soprattutto agli sviluppatori privi di esperienza con questa interfaccia. La scheda di valutazione STM32L4R9I-EVAL di STMicroelectronics per il microcontroller STM32L4R9 rappresenta un buon punto di partenza (Fig. 3). Il cerchio rosso indica il dispositivo di memoria HyperRAM; i suoi punti di prova si trovano sul connettore basetta a destra. La scheda STM32L4R9I-EVAL offre numerose caratteristi- che, fra cui un’interfaccia per telecamera, due microfoni MEMS, un joystick e un display LCD TFT a colori da 4,3” e 480x272 pixel. La scheda di valutazione supporta l’inter- faccia OctoSPI, e dispone di un dispositivo ISSI HyperRAM IS66WVH8M8BLL da 64 Mbit saldato sulla scheda CS. Fig. 3 – La scheda STM32L4R9I-EVAL di STMicroelectronics viene utilizzata per valutare il microcontroller STM32L4R9. Il cerchio rosso indica il dispositivo di memoria HyperRAM; i suoi punti di prova si trovano sul connettore basetta a destra (Fonte: STMicroelectronics)

RkJQdWJsaXNoZXIy MTg0NzE=