Raspberry Pi SC1631 Microcontrollore Raspberry
Specifiche del prodotto
- Modello: RP2350
- Pacchetto: QFN-60
- Memoria flash interna: No
- Voltage Regolatore: Regolatore di commutazione su chip
- Pin regolatore: 5 (ingresso 3.3 V, uscita 1.1 V, VREG_AVDD, VREG_LX, VREG_PGND)
Istruzioni per l'uso del prodotto
- Capitolo 1: Introduzione
- La serie RP2350 offre diverse opzioni di package rispetto alla serie RP2040. RP2350A e RP2354A sono disponibili in un package QFN-60 senza e con storage flash interno rispettivamente, mentre RP2354B e RP2350B sono disponibili in un package QFN-80 con e senza storage flash.
- Capitolo 2: Potere
La serie RP2350 è dotata di un nuovo volume di commutazione on-chiptage regolatore con cinque pin. Questo regolatore richiede componenti esterni per il funzionamento ma offre una maggiore efficienza energetica a correnti di carico più elevate rispetto al regolatore lineare della serie RP2040. Prestare attenzione alla sensibilità al rumore nel pin VREG_AVDD che alimenta il circuito analogico.
Domande frequenti (FAQ)
- D: Qual è la differenza principale tra RP2350A e RP2350B?
R: La differenza principale risiede nella presenza di memoria flash interna. RP2350A non ha memoria flash interna, mentre RP2350B sì. - D: Quanti pin ha il voltage il regolatore della serie RP2350 ha?
R: Il voltagIl regolatore della serie RP2350 ha cinque pin.
Progettazione hardware con RP2350 Utilizzo di microcontrollori RP2350 per costruire schede e prodotti
Colofone
- © 2023-2024 Raspberry Pi Ltd
- Questa documentazione è concessa in licenza con licenza Creative Commons Attribuzione - Non opere derivate 4.0 Internazionale (CC BY-ND). build-date: 2024-08-08 build-version: c0acc5b-clean
- Avviso di esclusione di responsabilità legale
- I DATI TECNICI E DI AFFIDABILITÀ PER I PRODOTTI RASPBERRY PI (COMPRESE LE SCHEDE TECNICHE) COME MODIFICATI DI VOLTA IN VOLTA ("RISORSE") SONO FORNITI DA RASPBERRY PI LTD ("RPL") "COSÌ COME SONO" E QUALSIASI GARANZIA ESPLICITA O IMPLICITA, COMPRESE, MA NON LIMITATE A, LE GARANZIE IMPLICITE DI COMMERCIABILITÀ E IDONEITÀ PER UNO SCOPO PARTICOLARE, SONO ESCLUSE. NELLA MISURA MASSIMA CONSENTITA DALLA LEGGE APPLICABILE, RPL NON SARÀ IN NESSUN CASO RESPONSABILE PER DANNI DIRETTI, INDIRETTI, ACCIDENTALI, SPECIALI, ESEMPLARI O CONSEGUENTI (INCLUSI, SENZA LIMITAZIONE, L'ACQUISTO DI BENI O SERVIZI SOSTITUTIVI; LA PERDITA DI UTILIZZO, DATI O PROFITTI; O L'INTERRUZIONE DELL'ATTIVITÀ) COMUNQUE CAUSATI E IN BASE A QUALSIASI TEORIA DI RESPONSABILITÀ, SIA PER CONTRATTO, RESPONSABILITÀ OGGETTIVA O ILLECITO CIVILE (INCLUSA NEGLIGENZA O ALTRO) DERIVANTI IN QUALSIASI MODO DALL'UTILIZZO DELLE RISORSE, ANCHE SE INFORMATI DELLA POSSIBILITÀ DI TALE DANNO.
- RPL si riserva il diritto di apportare miglioramenti, correzioni o altre modifiche alle RISORSE o ai prodotti in esse descritti in qualsiasi momento e senza ulteriore preavviso.
Le RISORSE sono destinate a utenti esperti con livelli adeguati di conoscenza della progettazione. Gli utenti sono gli unici responsabili della loro selezione e utilizzo delle RISORSE e di qualsiasi applicazione dei prodotti in esse descritti. L'utente accetta di indennizzare e tenere indenne RPL da tutte le responsabilità, costi, danni o altre perdite derivanti dal loro utilizzo delle RISORSE. - RPL concede agli utenti il permesso di utilizzare le RISORSE esclusivamente in combinazione con i prodotti Raspberry Pi. Ogni altro utilizzo delle RISORSE è proibito. Non viene concessa alcuna licenza a nessun altro RPL o ad altri diritti di proprietà intellettuale di terze parti.
- ATTIVITÀ AD ALTO RISCHIO. I prodotti Raspberry Pi non sono progettati, realizzati o destinati all'uso in ambienti pericolosi che richiedono prestazioni a prova di guasto, come nel funzionamento di impianti nucleari, sistemi di navigazione o comunicazione di aeromobili, controllo del traffico aereo, sistemi di armi o applicazioni critiche per la sicurezza (inclusi sistemi di supporto vitale e altri dispositivi medici), in cui il guasto dei prodotti potrebbe portare direttamente a morte, lesioni personali o gravi danni fisici o ambientali ("Attività ad alto rischio"). RPL declina espressamente qualsiasi garanzia espressa o implicita di idoneità per Attività ad alto rischio e non accetta alcuna responsabilità per l'uso o l'inclusione di prodotti Raspberry Pi in Attività ad alto rischio.
- I prodotti Raspberry Pi sono forniti in base ai Termini standard di RPL. La fornitura delle RISORSE da parte di RPL non amplia o modifica in altro modo i Termini standard di RPL, inclusi, a titolo esemplificativo ma non esaustivo, i disclaimer e le garanzie in essi espressi.
Capitolo 1. Introduzione
Figura 1. Rendering 3D KiCad del design minimo RP2350Aample
Quando abbiamo presentato per la prima volta il Raspberry Pi RP2040, abbiamo anche rilasciato un'esemplare dal design "minimal"ample e la guida di accompagnamento Progettazione hardware con RP2040 che, si spera, spiega come l'RP2040 potrebbe essere utilizzato in una semplice scheda di circuito e perché sono state fatte le varie scelte di componenti. Con l'arrivo della serie RP235x, è tempo di rivisitare il design originale RP2040 Minimal e aggiornarlo per tenere conto delle nuove funzionalità e anche per ciascuna delle varianti di package; RP2350A con il suo package QFN-60 e RP2350B che è un QFN-80. Di nuovo, questi design sono in formato Kicad (7.0) e sono disponibili per il download (https://datasheets.raspberrypi.com/rp2350/Minimal-KiCAD.zip).
La tavola minima
La scheda Minimal originale era un tentativo di fornire un semplice progetto di riferimento, utilizzando il minimo indispensabile di componenti esterni necessari per far funzionare l'RP2040 e avere comunque tutti gli IO esposti e accessibili. Questo era essenzialmente composto da una fonte di alimentazione (un regolatore lineare da 5 V a 3.3 V), oscillatore a cristallo, memoria flash e connessioni IO (una presa micro USB e header GPIO). Le nuove schede Minimal della serie RP235x sono in gran parte le stesse, ma con alcune modifiche necessarie a causa del nuovo hardware. Oltre a questo, e nonostante vada un po' contro la natura minimale del progetto, ho aggiunto un paio di pulsanti per bootsel ed run, insieme a un header SWD separato, il che dovrebbe significare un'esperienza di debug decisamente meno frustrante questa volta. I progetti non hanno strettamente bisogno di questi pulsanti, i segnali sono ancora disponibili sugli header e possono essere omessi se si è particolarmente attenti ai costi o allo spazio, o si hanno tendenze masochiste.
Serie RP2040 vs RP235x
Il cambiamento più evidente è nei package. Mentre l'RP2040 è un QFN-7 da 7x56 mm, la serie RP235x ha attualmente quattro membri diversi. Ci sono due dispositivi che condividono lo stesso package QFN-60; l'RP2350A che non contiene memoria flash interna e l'RP2354A che ce l'ha. Allo stesso modo, anche il QFN-80 è disponibile in due varianti: l'RP2354B con flash e l'RP2350B senza. I dispositivi QFN-60 e l'RP2040 originale condividono un'heritage.
Hanno ciascuno 30 GPIO, quattro dei quali sono anche collegati all'ADC, e sono di dimensioni 7x7mm. Nonostante questo, l'RP2350A non è un sostituto diretto per l'RP2040, poiché il numero di pin su ciascuno è diverso. Al contrario, i chip QFN-80 hanno ora 48 GPIO e otto di questi sono ora compatibili con l'ADC. Per questo motivo, ora abbiamo due schede Minimal; una per i dispositivi a 60 pin e una per quelli a 80. Queste schede Minimal sono progettate principalmente per le parti senza flash interna (RP2350), tuttavia i progetti possono essere facilmente utilizzati con i dispositivi flash interni (RP2354) semplicemente omettendo la memoria flash integrata o persino utilizzandola come dispositivo flash secondario (ne parleremo più avanti). C'è poca differenza tra le due schede, a parte il fatto che la versione QFN-80 ha file più lunghe di header per ospitare il GPIO extra e la scheda è quindi più grande.
A parte il package, la differenza più grande a livello di scheda tra la serie RP235x e RP2040 sono gli alimentatori. La serie RP235x ha alcuni nuovi pin di alimentazione e un regolatore interno diverso. Il regolatore lineare da 100 mA dell'RP2040 è stato sostituito con un regolatore di commutazione da 200 mA e, come tale, richiede alcuni circuiti molto specifici e non poca cura per il layout. Si consiglia vivamente di seguire attentamente il nostro layout e le selezioni dei componenti; abbiamo già affrontato il dolore di dover effettuare diverse iterazioni del design, quindi speriamo che non dobbiate farlo voi.
Figura 2. Rendering 3D KiCad del design minimo RP2350Bample
Il design
L'intenzione del design minimale examples è creare una coppia di schede semplici usando la serie RP235x, che dovrebbe essere economica e facilmente producibile, senza usare tecnologie PCB inutilmente esotiche. Le schede Minimal sono quindi progetti a 2 strati, usando componenti che dovrebbero essere comunemente disponibili, e tutti montati sul lato superiore della scheda. Mentre sarebbe bello usare componenti grandi, facilmente saldabili a mano, il piccolo passo dei chip QFN (0.4 mm) significa che usare alcuni componenti passivi 0402 (1005 metric) è inevitabile se si vogliono usare tutti i GPIO. Mentre la saldatura a mano dei componenti 0402 non è troppo impegnativa con un saldatore decente, è quasi impossibile saldare i QFN senza attrezzatura specialistica.
Nelle prossime sezioni, cercherò di spiegare a cosa serve il circuito aggiuntivo e, si spera, come siamo arrivati a fare le scelte che abbiamo fatto. Poiché in realtà parlerò di due progetti separati, uno per ogni dimensione del package, ho cercato di mantenere le cose il più semplici possibile. Per quanto possibile, tutti i riferimenti dei componenti per le due schede sono identici, quindi se faccio riferimento a U1, R1, ecc., allora è ugualmente rilevante per entrambe le schede. L'eccezione ovvia è quando il componente è solo su una delle schede (in tutti i casi, questo sarà sulla variante più grande a 80 pin), quindi il componente in questione sarà solo sul progetto QFN-80; ad esempioample, R13 appare solo su questa bacheca.
Capitolo 2. Potere
Gli alimentatori della serie RP235x e RP2040 differiscono un po' questa volta, anche se nella sua configurazione più semplice, richiede ancora due alimentatori, 3.3 V e 1.1 V. La serie RP235x è contemporaneamente più affamata di energia, in quanto ha prestazioni più elevate, e anche più frugale (quando è in uno stato di bassa potenza) rispetto al suo predecessore, e quindi il regolatore lineare su RP2040 è stato aggiornato con un regolatore switching. Ciò ci consente una maggiore efficienza energetica a correnti più elevate (fino a 200 mA rispetto ai 100 mA precedenti).
Nuovo volume on-chiptage regolatore
Figura 3. Sezione schematica che mostra il circuito del regolatore interno
Il regolatore lineare dell'RP2040 aveva due pin, un ingresso da 3.3 V e un'uscita da 1.1 V per alimentare il DVDD sul chip. Questa volta, il regolatore della serie RP235x ha cinque pin e richiede alcuni componenti esterni per funzionare. Sebbene questo sembri un passo indietro in termini di usabilità, il regolatore switching ha il vantaggiotagdi essere più efficiente dal punto di vista energetico a correnti di carico più elevate.
Come suggerisce il nome, il regolatore accende e spegne rapidamente un transistor interno che collega la tensione di ingresso a 3.3 Vtage (VREG_VIN) al pin VREG_LX e, con l'aiuto di un induttore (L1) e di un condensatore di uscita (C7), può produrre un voltaggio di uscita CCtage che è stato ridotto rispetto all'ingresso. Il pin VREG_FB monitora il volume di uscitatage, e regola il rapporto on/off del ciclo di commutazione, per garantire che il volume richiestotage viene mantenuto. Poiché grandi correnti vengono commutate da VREG_VIN a VREG_LX, è necessario un grande condensatore (C6) vicino all'ingresso, in modo da non alterare troppo l'alimentazione a 3.3 V. Parlando di queste grandi correnti di commutazione, il regolatore è dotato anche di una propria connessione di ritorno a terra, VREG_PGND. Similmente a VREG_VIN e VREG_LX, il layout di questa connessione è fondamentale e, mentre VREG_PGND deve connettersi al GND principale, deve essere fatto in modo tale che tutte le grandi correnti di commutazione ritornino direttamente al pin PGND, senza disturbare troppo il resto del GND.
L'ultimo pin è VREG_AVDD, che alimenta il circuito analogico all'interno del regolatore ed è molto sensibile al rumore.
Figura 4. Sezione schematica che mostra il layout del PCB del regolatore
- Il layout del regolatore sulle schede minime rispecchia da vicino quello del Raspberry Pi Pico 2. È stato dedicato molto lavoro alla progettazione di questo circuito, con molte iterazioni del PCB necessarie per renderlo il migliore possibile. Mentre potresti posizionare questi componenti in vari modi diversi e far comunque "funzionare" il regolatore (ad esempio, produrre un volume di uscitatage più o meno al livello giusto, abbastanza buono da fargli eseguire il codice), abbiamo scoperto che il nostro regolatore deve essere trattato esattamente nel modo giusto per mantenerlo felice, e per felice intendo produrre il volume di output correttotage in una gamma di condizioni di corrente di carico.
- Mentre eseguivamo i nostri esperimenti su questo, siamo rimasti un po' delusi nel ricordare che il mondo scomodo della fisica non può sempre essere ignorato. Noi, come ingegneri, cerchiamo in gran parte di fare esattamente questo; semplificare i componenti, ignorare (spesso) proprietà fisiche insignificanti e concentrarci invece sulla proprietà che ci interessa. Ad esempioample, un semplice resistore non ha solo una resistenza, ma anche un'induttanza, ecc. Nel nostro caso, abbiamo (ri)scoperto che gli induttori hanno un campo magnetico associato a loro e, cosa importante, irradia in una direzione a seconda del modo in cui è avvolta la bobina e della direzione del flusso di corrente. Ci è stato anche ricordato che un induttore "completamente" schermato non significa ciò che pensi. Il campo magnetico è attenuato in larga misura, ma una parte sfugge ancora. Abbiamo scoperto che le prestazioni del regolatore potrebbero essere notevolmente migliorate se l'induttore fosse "nel verso giusto".
- Si scopre che il campo magnetico emesso da un induttore "al contrario" interferisce con il condensatore di uscita del regolatore (C7), che a sua volta sconvolge il circuito di controllo all'interno di RP2350. Con l'induttore nell'orientamento corretto e il layout preciso e le selezioni dei componenti utilizzate qui, questo problema scompare. Ci saranno senza dubbio altri layout, componenti, ecc., che potrebbero funzionare con un induttore in qualsiasi orientamento, ma molto probabilmente utilizzeranno molto più spazio sul PCB per farlo. Abbiamo fornito questo layout consigliato per risparmiare alle persone le numerose ore di ingegneria che abbiamo trascorso a sviluppare e perfezionare questa soluzione compatta e ben educata.
- Più concretamente, stiamo arrivando al punto di dire che se scegli di non usare il nostro example, allora lo fai a tuo rischio e pericolo. Proprio come facciamo già con RP2040 e il circuito al cristallo, dove insistiamo (beh, ti consigliamo vivamente) di usare una parte specifica (lo faremo di nuovo nella sezione sul cristallo di questo documento).
- La direzionalità di questi piccoli induttori è praticamente ignorata universalmente, con l'orientamento dell'avvolgimento della bobina impossibile da dedurre, e anche distribuito casualmente lungo una bobina di componenti. Spesso si possono trovare dimensioni di induttori più grandi che hanno marcature di polarità su di esse, tuttavia non siamo riusciti a trovarne di adatte nella dimensione di custodia 0806 (metrica 2016) che abbiamo scelto. A tal fine, abbiamo lavorato con Abracon per produrre una parte da 3.3μH con un punto per indicare la polarità e, cosa importante, venire su una bobina con tutti i componenti allineati nello stesso modo. I TBD sono (o saranno molto presto) resi disponibili al pubblico dai distributori. Come accennato in precedenza, l'alimentazione VREG_AVDD è molto sensibile al rumore e pertanto deve essere filtrata. Abbiamo scoperto che poiché il VREG_AVDD assorbe solo circa 200μA, un filtro RC da 33Ω e 4.7μF è adeguato.
- Quindi, ricapitolando, i componenti utilizzati saranno…
- C6, C7 e C9 – 4.7μF (0402, 1005 metrico)
- L1 – Abracon TBD (0806, 2016 metrico)
- R3 – 33Ω (0402, 1005 metrico)
- Nella scheda tecnica del modello RP2350 sono riportate informazioni più dettagliate sulle raccomandazioni relative al layout del regolatore; consultare i componenti esterni e i requisiti di layout del PCB.
Alimentazione in ingresso
La connessione di alimentazione in ingresso per questo progetto avviene tramite il pin VBUS da 5 V di un connettore Micro-USB (etichettato J1 nella Figura 5). Questo è un metodo comune per alimentare dispositivi elettronici e ha senso qui, poiché RP2350 ha funzionalità USB, che collegheremo ai pin dati di questo connettore. Poiché per questo progetto abbiamo bisogno solo di 3.3 V (l'alimentazione da 1.1 V proviene dall'interno), dobbiamo abbassare l'alimentazione USB in ingresso da 5 V, in questo caso, utilizzando un altro volutage regolatore, in questo caso un regolatore lineare (noto anche come regolatore Low Drop Out, o LDO). Avendo già decantato le virtù dell'uso di un regolatore switching efficiente, potrebbe anche essere una scelta saggia usarne uno anche qui, ma ho optato per la semplicità. Innanzitutto, usare un LDO è quasi sempre più facile. Non sono richiesti calcoli per capire quale dimensione di induttore dovresti usare, o quanto sono grandi i condensatori di uscita, e anche il layout è solitamente molto più semplice. In secondo luogo, risparmiare fino all'ultima goccia di energia non è l'obiettivo qui; se lo fosse, prenderei seriamente in considerazione l'uso di un regolatore switching, e puoi trovare un example di farlo sul Raspberry Pi Pico 2. E in terzo luogo, posso semplicemente "prendere in prestito" il circuito che ho usato in precedenza sulla versione RP2040 della scheda Minimal. L'NCP1117 (U2) scelto qui ha un'uscita fissa di 3.3 V, è ampiamente disponibile e può fornire fino a 1 A di corrente, che sarà più che sufficiente per la maggior parte dei progetti. Uno sguardo alla scheda tecnica dell'NCP1117 ci dice che questo dispositivo richiede un condensatore da 10 μF sull'ingresso e un altro sull'uscita (C1 e C5).
Condensatori di disaccoppiamento
Figura 6. Sezione schematica che mostra gli ingressi dell'alimentatore RP2350, voltage regolatore e condensatori di disaccoppiamento
Un altro aspetto della progettazione dell'alimentatore sono i condensatori di disaccoppiamento richiesti per RP2350. Questi forniscono due funzioni di base. In primo luogo, filtrano il rumore dell'alimentatore e, in secondo luogo, forniscono una fornitura locale di carica che i circuiti all'interno di RP2350 possono utilizzare con breve preavviso. Ciò impedisce la voltage il livello nelle immediate vicinanze non scenda troppo quando la richiesta di corrente aumenta improvvisamente. Per questo motivo, è importante posizionare il disaccoppiamento vicino ai pin di alimentazione. Di solito, raccomandiamo l'uso di un condensatore da 100nF per pin di alimentazione, tuttavia, in un paio di casi ci discostiamo da questa regola.
Figura 7. Sezione del layout che mostra il routing e il disaccoppiamento RP2350
- Innanzitutto, per avere abbastanza spazio per far sì che tutti i pin del chip possano essere instradati lontano dal dispositivo, dobbiamo scendere a compromessi con la quantità di condensatori di disaccoppiamento che possiamo utilizzare. In questo progetto, i pin 53 e 54 di RP2350A (pin 68 e 69 di RP2350B) condividono un singolo condensatore (C12 in Figura 7 e Figura 6), poiché non c'è molto spazio su quel lato del dispositivo e i componenti e il layout del regolatore hanno la precedenza.
- Questa mancanza di spazio potrebbe essere in qualche modo superata se utilizzassimo una tecnologia più complessa/costosa, come componenti più piccoli o un PCB a quattro strati con componenti sia sul lato superiore che su quello inferiore. Questo è un compromesso di progettazione; abbiamo ridotto la complessità e il costo, a scapito di una minore capacità di disaccoppiamento e condensatori leggermente più lontani dal chip rispetto a quanto sarebbe ottimale (ciò aumenta l'induttanza). Ciò potrebbe avere l'effetto di limitare la velocità massima a cui il progetto potrebbe funzionare, poiché il voltagL'offerta potrebbe diventare troppo rumorosa e scendere al di sotto del volume minimo consentitotage; ma per la maggior parte delle applicazioni questo compromesso dovrebbe essere accettabile.
- L'altra deviazione dalla regola dei 100nF è che possiamo migliorare ulteriormente la voltage prestazioni del regolatore; consigliamo di utilizzare un 4.7μF per C10, che è posizionato sull'altro lato del chip rispetto al regolatore.
Capitolo 3. Memoria Flash
Flash primario
Figura 8. Sezione schematica che mostra la memoria flash primaria e il circuito USB_BOOT
- Per poter memorizzare il codice di programma che RP2350 può avviare ed eseguire, dobbiamo usare una memoria flash, in particolare una memoria flash quad SPI. Il dispositivo scelto qui è un dispositivo W25Q128JVS (U3 nella Figura 8), che è un chip da 128 Mbit (16 MB). Questa è la dimensione di memoria più grande che RP2350 può supportare. Se la tua particolare applicazione non ha bisogno di così tanto spazio di archiviazione, allora potrebbe essere usata una memoria più piccola ed economica.
- Poiché questo databus può avere una frequenza piuttosto elevata ed è regolarmente in uso, i pin QSPI di RP2350 dovrebbero essere cablati direttamente alla flash, utilizzando connessioni corte per mantenere l'integrità del segnale e anche per ridurre la diafonia nei circuiti circostanti. La diafonia è dove i segnali su una rete di circuito possono indurre voltagsu un circuito vicino, causando potenzialmente errori.
- Il segnale QSPI_SS è un caso speciale. È collegato direttamente alla flash, ma ha anche due resistori (beh, quattro, ma ci arriverò più avanti) collegati. Il primo (R1) è un pull-up all'alimentazione a 3.3 V. La memoria flash richiede che l'ingresso chip-select sia allo stesso voltage come pin di alimentazione da 3.3 V quando il dispositivo è acceso, altrimenti non funziona correttamente. Quando l'RP2350 è acceso, il suo pin QSPI_SS passerà automaticamente a un pull-up, ma c'è un breve periodo di tempo durante l'accensione in cui lo stato del pin QSPI_SS non può essere garantito. L'aggiunta di una resistenza di pull-up assicura che questo requisito sarà sempre soddisfatto. R1 è contrassegnato come DNF (Do Not Fit) sullo schema, poiché abbiamo scoperto che con questo particolare dispositivo flash, il pull-up esterno non è necessario. Tuttavia, se viene utilizzato un flash diverso, potrebbe diventare importante poter inserire qui una resistenza da 10 kΩ, quindi è stata inclusa per ogni evenienza.
- Il secondo resistore (R6) è un resistore da 1 kΩ, collegato a un pulsante (SW1) etichettato 'USB_BOOT'. Questo perché il pin QSPI_SS è utilizzato come 'boot strap'; RP2350 controlla il valore di questo I/O durante la sequenza di avvio e, se viene rilevato come uno 0 logico, RP2350 torna alla modalità BOOTSEL, in cui RP2350 si presenta come un dispositivo di archiviazione di massa USB e il codice può essere copiato direttamente su di esso. Se premiamo semplicemente il pulsante, tiriamo il pin QSPI_SS a terra e, se il dispositivo viene quindi successivamente ripristinato (ad esempio commutando il pin RUN), RP2350 si riavvierà in modalità BOOTSEL invece di tentare di eseguire il contenuto della flash. Questi resistori, R2 e R6 (anche R9 e R10), dovrebbero essere posizionati vicino al chip flash, in modo da evitare lunghezze aggiuntive di tracce di rame che potrebbero influenzare il segnale.
- Tutto quanto sopra si applica specificamente all'RP2350, che non ha flash interna. Naturalmente, i dispositivi RP2354 hanno memorie flash interne da 2 MB, quindi la memoria U3 esterna non è richiesta, quindi U3 può essere tranquillamente rimossa dallo schema o semplicemente lasciata vuota. In entrambi i casi, vorremmo comunque mantenere lo switch USB_BOOT collegato a QSPI_SS, in modo da poter comunque entrare in modalità di avvio USB.
Flash secondario o PSRAM
- La serie RP235x supporta ora un secondo dispositivo di memoria che utilizza gli stessi pin QSPI, con un GPIO che fornisce la selezione chip aggiuntiva. Quindi, se stiamo utilizzando un RP2354 (che ha una flash interna), potremmo usare U3 come flash secondaria o addirittura sostituirla con un dispositivo PSRAM. Per fare ciò, dobbiamo scollegare QSPI_SS da U3 e invece collegarlo a un GPIO adatto. Il GPIO più vicino in grado di essere una selezione chip (XIP_CS1n) è GPIO0, quindi rimuovendo lo 0Ω da R10 e inserendolo in R9, ora possiamo accedere a U3 oltre alla flash on-chip. Per sfruttare appienotagPer quanto riguarda questa caratteristica, in cui abbiamo due dispositivi di memoria esterni in modo che le parti RP2350 senza flash possano trarne vantaggio, la più grande delle due schede Minimal, per RP2350B, include un'impronta opzionale (U4) per un chip di memoria aggiuntivo.
Figura 9. Sezione schematica che mostra il dispositivo di memoria secondaria opzionale
Per poter utilizzare questo dispositivo, dovrà ovviamente essere popolato, così come R11 (0Ω) e R13 (10KΩ). L'aggiunta di R11 collega GPIO0 (il segnale XIP_CS1n) al chip select della seconda memoria. Il pull-up sul pin chip select è sicuramente necessario questa volta, poiché lo stato predefinito di GPIO0 deve essere portato basso all'accensione, il che causerebbe il guasto del nostro dispositivo flash. C22 sarebbe anche necessario per fornire il disaccoppiamento dell'alimentazione locale per U4.
Chip flash supportati
La sequenza iniziale della sonda flash, utilizzata dal fondo per estrarre il secondo stage da flash, utilizza un comando di lettura seriale 03h, con indirizzamento a 24 bit e un clock seriale di circa 1 MHz. Esegue cicli ripetuti attraverso le quattro combinazioni di polarità e fase del clock, alla ricerca di un secondo valido stage checksum CRC32.
Come il secondo stage è quindi libero di configurare l'esecuzione sul posto utilizzando lo stesso comando di lettura seriale 03h, RP2350 può eseguire l'esecuzione flash memorizzata nella cache sul posto con qualsiasi chip che supporti la lettura seriale 03h con indirizzamento a 24 bit, che include la maggior parte dei dispositivi flash della serie 25. L'SDK fornisce un'exampil secondo stage per CPOL=0 CPHA=0, a https://github.com/raspberrypi/pico-sdk/blob/master/src/rp2350/boot_stage2/boot2_generic_03h.SPer supportare la programmazione flash tramite le routine in basso, il dispositivo deve anche rispondere ai seguenti comandi:
- 02h Programma di pagina da 256 byte
- 05h registro di stato letto
- 06h imposta scrittura abilita latch
- 20h cancellazione settore 4kB
RP2350 supporta anche un'ampia varietà di modalità di accesso dual-SPI e QSPI. Ad esempioampLui, https://github.com/raspberrypi/pico-sdk/blob/master/src/rp2350/boot_stage2/boot2_w25q080.S configura un dispositivo Winbond serie W25Q per la modalità di lettura continua quad-IO, in cui RP2350 invia indirizzi quad-IO (senza prefisso di comando) e la flash risponde con dati quad-IO.
È necessaria una certa cautela con le modalità flash XIP in cui il dispositivo flash smette di rispondere ai comandi seriali standard, come la modalità di lettura continua Winbond menzionata sopra. Ciò può causare problemi quando RP2350 viene ripristinato, ma il dispositivo flash non viene spento e riacceso, perché il flash non risponderà alla sequenza di sonda flash del bootrom. Prima di emettere la lettura seriale 03h, il bootrom emette sempre la seguente sequenza fissa, che è una sequenza best-effort per interrompere XIP su una gamma di dispositivi flash:
- CSn=1, IO[3:0]=4'b0000 (tramite pull down per evitare contese), emette orologi ×32
- CSn=0, IO[3:0]=4'b1111 (tramite pull up per evitare contese), emette orologi ×32
- CSn=1
- CSn=0, MOSI=1'b1 (pilotato low-Z, tutti gli altri I/O Hi-Z), emette ×16 orologi
Se il dispositivo scelto non risponde a questa sequenza quando è in modalità di lettura continua, è necessario mantenerlo in uno stato in cui ogni trasferimento è preceduto da un comando seriale, altrimenti RP2350 non sarà in grado di ripristinarsi dopo un ripristino interno.
Per maggiori dettagli su QSPI, vedere QSPI Memory Interface (QMI) nella scheda tecnica RP2350.
Capitolo 4. Oscillatore a cristallo
Figura 10. Sezione schematica che mostra l'oscillatore a cristallo e i condensatori di carico
- In senso stretto, RP2350 non richiede effettivamente una sorgente di clock esterna, poiché ha il suo oscillatore interno. Tuttavia, poiché la frequenza di questo oscillatore interno non è ben definita o controllata, variando da chip a chip, nonché con diversi volumi di alimentazionetage temperature, si consiglia di utilizzare una sorgente di frequenza esterna stabile. Le applicazioni che si basano su frequenze esatte non sono possibili senza una sorgente di frequenza esterna, essendo l'USB un'examplui.
- La fornitura di una sorgente di frequenza esterna può essere effettuata in due modi: fornendo una sorgente di clock con un'uscita CMOS (onda quadra di volume IOVDDtage) nel pin XIN, oppure utilizzando un cristallo da 12 MHz collegato tra
- XIN e XOUT. L'uso di un cristallo è l'opzione preferita in questo caso, poiché sono entrambi relativamente economici e molto precisi.
- Il cristallo scelto per questo progetto è un ABM8-272-T3 (Y1 nella Figura 10). Si tratta dello stesso cristallo da 12 MHz utilizzato su Raspberry Pi Pico e Raspberry Pi Pico 2. Consigliamo vivamente di utilizzare questo cristallo insieme al circuito di accompagnamento per garantire che l'orologio si avvii rapidamente in tutte le condizioni senza danneggiare il cristallo stesso. Il cristallo ha una tolleranza di frequenza di 30 ppm, che dovrebbe essere sufficiente per la maggior parte delle applicazioni. Insieme a una tolleranza di frequenza di +/-30 ppm, ha un ESR massimo di 50 Ω e una capacità di carico di 10 pF, entrambi fattori che hanno avuto un impatto sulla scelta dei componenti di accompagnamento.
- Per far oscillare un cristallo alla frequenza desiderata, il produttore specifica la capacità di carico di cui ha bisogno per farlo, e in questo caso è 10pF. Questa capacità di carico si ottiene posizionando due condensatori di valore uguale, uno su ogni lato del cristallo a terra (C3 e C4). Dal punto di vista del cristallo view, questi condensatori sono collegati in serie tra i suoi due terminali. La teoria dei circuiti di base ci dice che si combinano per dare una capacità di (C3*C4)/(C3+C4), e poiché C3=C4, allora è semplicemente C3/2. In questo esempioample, abbiamo usato condensatori da 15pF, quindi la combinazione in serie è 7.5pF. Oltre a questa capacità di carico intenzionale, dobbiamo anche aggiungere un valore per la capacità extra involontaria, o capacità parassita, che otteniamo dalle tracce del PCB e dai pin XIN e XOUT di RP2350. Supporremo un valore di 3pF per questo, e poiché questa capacità è in parallelo a C3 e C4, la aggiungiamo semplicemente per ottenere una capacità di carico totale di 10.5pF, che è abbastanza vicina all'obiettivo di 10pF. Come puoi vedere, la capacità parassita delle tracce del PCB è un fattore, e quindi dobbiamo mantenerla piccola in modo da non sconvolgere il cristallo e impedirgli di oscillare come previsto. Prova a mantenere il layout il più breve possibile.
- La seconda considerazione è la massima ESR (resistenza equivalente in serie) del cristallo. Abbiamo optato per un dispositivo con un massimo di 50Ω, poiché abbiamo scoperto che questo, insieme a una resistenza in serie da 1kΩ (R2), è un buon valore per impedire che il cristallo venga sovrapilotato e danneggiato quando si utilizza un livello IOVDD di 3.3 V. Tuttavia, se IOVDD è inferiore a 3.3 V, la corrente di pilotaggio dei pin XIN/XOUT viene ridotta e si scoprirà che amplitude del cristallo è inferiore, o potrebbe non oscillare affatto. In questo caso, sarà necessario utilizzare un valore inferiore del resistore in serie. Qualsiasi deviazione dal circuito del cristallo mostrato qui, o con un livello IOVDD diverso da 3.3 V, richiederà test approfonditi per garantire che il cristallo oscilli in tutte le condizioni e si avvii sufficientemente rapidamente da non causare problemi con la tua applicazione.
Cristallo consigliato
- Per i progetti originali che utilizzano RP2350, consigliamo di utilizzare Abracon ABM8-272-T3. Ad esempioample, oltre al design minimale example, vedere lo schema della scheda Pico 2 nell'Appendice B del foglio dati Raspberry Pi Pico 2 e il design Pico 2 files.
- Per le migliori prestazioni e stabilità nei tipici intervalli di temperatura di esercizio, utilizzare Abracon ABM8-272-T3. È possibile acquistare ABM8-272-T3 direttamente da Abracon o da un rivenditore autorizzato. Pico 2 è stato specificamente messo a punto per ABM8-272-T3, che ha le seguenti specifiche:
- Anche se si utilizza un cristallo con specifiche simili, sarà necessario testare il circuito su un intervallo di temperature per garantirne la stabilità.
- L'oscillatore a cristallo è alimentato dal volume IOVDDtage. Di conseguenza, il cristallo di Abracon e quel particolare damping sono sintonizzati per il funzionamento a 3.3 V. Se si utilizza un diverso IO voltage, sarà necessario riaccordarlo.
- Qualsiasi modifica ai parametri del cristallo rischia di causare instabilità in tutti i componenti collegati al circuito del cristallo.
- Se non riesci a procurarti il cristallo consigliato direttamente da Abracon o da un rivenditore, contatta applicazioni@raspberrypi.com.
Capitolo 5. IO
USB
Figura 11. Sezione schematica che mostra i pin USB di RP2350 e la terminazione in serie
- L'RP2350 fornisce due pin da utilizzare per USB a piena velocità (FS) o bassa velocità (LS), sia come host che come dispositivo, a seconda del software utilizzato. Come abbiamo già discusso, l'RP2350 può anche avviarsi come dispositivo di archiviazione di massa USB, quindi ha senso collegare questi pin al connettore USB (J1 nella Figura 5). I pin USB_DP e USB_DM sull'RP2350 non richiedono pull-up o pull-down aggiuntivi (necessari per indicare velocità, FS o LS, o se si tratta di un host o di un dispositivo), poiché sono integrati negli I/O. Tuttavia, questi I/O richiedono resistori di terminazione in serie da 27Ω (R7 e R8 nella Figura 11), posizionati vicino al chip, per soddisfare le specifiche di impedenza USB.
- Anche se RP2350 è limitato alla velocità massima di trasmissione dati (12 Mbps), dovremmo provare a fare in modo che l'impedenza caratteristica delle linee di trasmissione (le piste di rame che collegano il chip al connettore) sia vicina a quella
- Specifica USB di 90Ω (misurata in modo differenziale). Su una scheda spessa 1 mm come questa, se utilizziamo tracce larghe 0.8 mm su USB_DP e USB_DM, con uno spazio di 0.15 mm tra di loro, dovremmo ottenere un'impedenza caratteristica differenziale di circa 90Ω. Questo per garantire che i segnali possano viaggiare lungo queste linee di trasmissione nel modo più pulito possibile, riducendo al minimo la voltage riflessioni che possono ridurre l'integrità del segnale. Affinché queste linee di trasmissione funzionino correttamente, dobbiamo assicurarci che direttamente sotto queste linee ci sia una messa a terra. Un'area solida e ininterrotta di rame di messa a terra, che si estende per l'intera lunghezza della traccia. In questo progetto, quasi l'intero strato di rame inferiore è dedicato alla messa a terra e si è prestata particolare attenzione a garantire che le tracce USB passino solo sulla messa a terra. Se per la tua build viene scelto un PCB più spesso di 1 mm, allora abbiamo due opzioni. Potremmo riprogettare le linee di trasmissione USB per compensare la maggiore distanza tra la traccia e la messa a terra sottostante (che potrebbe essere un'impossibilità fisica), oppure potremmo ignorarla e sperare per il meglio. USB FS può essere abbastanza indulgente, ma i tuoi risultati possono variare. È probabile che funzioni in molte applicazioni, ma probabilmente non sarà conforme allo standard USB.
Intestazioni di I/O
Figura 12. Sezione schematica che mostra le intestazioni I/O da 2.54 mm della versione QFN60
- Oltre al connettore USB già menzionato, ci sono una coppia di header da 2.54 mm a doppia fila (J2 e J3 nella Figura 12), uno su ogni lato della scheda, a cui è stato collegato il resto dell'I/O. Ci sono 30 GPIO sulla RP2350A, mentre ce ne sono 48 sulla RP2350B, quindi gli header su questa versione della scheda Minimal sono più grandi per consentire i pin extra (vedere Figura 13).
- Poiché si tratta di un progetto di uso generale, senza alcuna applicazione particolare in mente, gli I/O sono stati resi disponibili per essere collegati come desidera l'utente. La fila interna di pin su ogni header sono gli I/O e la fila esterna è tutta collegata a terra. È buona norma includere molte masse sui connettori I/O. Ciò aiuta a mantenere una bassa impedenza di terra e anche a fornire molti potenziali percorsi di ritorno per le correnti che viaggiano da e verso il
- Connessioni I/O. Ciò è importante per ridurre al minimo le interferenze elettromagnetiche che possono essere causate dalle correnti di ritorno dei segnali a commutazione rapida che impiegano lunghi percorsi ad anello per completare il circuito.
- Entrambe le intestazioni sono sulla stessa griglia da 2.54 mm, il che semplifica il collegamento di questa scheda ad altre cose, come le breadboard. Potresti prendere in considerazione l'idea di montare solo un'intestazione a fila singola anziché un'intestazione a fila doppia, eliminando la fila esterna di connessioni di terra, per renderla più comoda da montare su una breadboard.
Figura 13. Sezione schematica che mostra le intestazioni I/O da 2.54 mm della versione QFN80
Connettore di debug
Figura 14. Sezione schematica che mostra il connettore JST opzionale per il debug SWD
Per il debug on-chip, potresti volerti connettere all'interfaccia SWD dell'RP2350. I due pin, SWD e SWCLK, sono disponibili sull'intestazione da 2.54 mm, J3, per consentire di collegare facilmente la sonda di debug di tua scelta. Oltre a questo, ho incluso un'intestazione JST opzionale, che consente una facile connessione alla sonda di debug Raspberry Pi. Non devi usarla, le intestazioni da 2.54 mm saranno sufficienti se intendi eseguire il debug del software, ma trovo che sia più comodo farlo. Ho scelto un connettore orizzontale, principalmente perché mi piace il suo aspetto, anche se non è sul bordo della scheda, ma sono disponibili quelli verticali, anche se con un'impronta leggermente diversa.
Pulsanti
Il design Minimal ora contiene non uno, ma due pulsanti, mentre la versione RP240 non ne aveva nessuno. Uno è per la selezione dell'avvio USB, come abbiamo già discusso in precedenza, ma il secondo è un pulsante "reset", collegato al pin RUN. Nessuno di questi è strettamente necessario (anche se il pulsante BOOTSEL dovrebbe essere sostituito con un header o simile se fosse richiesta la modalità di avvio USB) e può essere rimosso se lo spazio o il costo sono un problema, ma certamente rendono l'utilizzo dell'RP2350 un'esperienza molto più piacevole.
Appendice A: Schema completo - versione RP2350A
Figura 15. Schema completo del design minimo per RP2350A
Appendice B: Schema completo - versione RP2350B
Figura 16. Schema completo del design minimo per RP2350B
Appendice H: Cronologia delle versioni della documentazione
8 agosto 2024
Versione iniziale.
io Raspberry Pi
Raspberry Pi è un marchio registrato di Raspberry Pi Ltd
Raspberry Pi Ltd
Documenti / Risorse
![]() |
Raspberry Pi SC1631 Microcontrollore Raspberry [pdf] Manuale di istruzioni Microcontrollore Raspberry SC1631, SC1631, Microcontrollore Raspberry, Microcontrollore |