Raspberry Pi SC1631 Raspberry mikrokontroller
Produktspesifikasjoner
- Modell: RP2350
- Pakke: QFN-60
- Intern Flash-lagring: Nei
- Voltage Regulator: On-chip switching regulator
- Regulatorpinner: 5 (3.3V inngang, 1.1V utgang, VREG_AVDD, VREG_LX, VREG_PGND)
Produktbruksinstruksjoner
- Kapittel 1: Introduksjon
- RP2350-serien tilbyr forskjellige pakkealternativer sammenlignet med RP2040-serien. RP2350A og RP2354A kommer i en QFN-60-pakke uten og med henholdsvis intern flash-lagring, mens RP2354B og RP2350B kommer i en QFN-80-pakke med og uten flash-lagring.
- Kapittel 2: Strøm
RP2350-serien har en ny on-chip switching voltage regulator med fem pinner. Denne regulatoren krever eksterne komponenter for drift, men tilbyr høyere effekteffektivitet ved høyere belastningsstrømmer sammenlignet med den lineære regulatoren i RP2040-serien. Vær oppmerksom på støyfølsomheten i VREG_AVDD-pinnen som forsyner de analoge kretsene.
Ofte stilte spørsmål (FAQ)
- Spørsmål: Hva er hovedforskjellen mellom RP2350A og RP2350B?
A: Hovedforskjellen ligger i tilstedeværelsen av intern flash-lagring. RP2350A har ikke intern flash-lagring mens RP2350B har. - Spørsmål: Hvor mange pinner har voltage regulator i RP2350-serien har?
A: VoltagRegulatoren i RP2350-serien har fem pinner.
Maskinvaredesign med RP2350 Bruke RP2350 mikrokontrollere til å bygge brett og produkter
Kolofon
- © 2023-2024 Raspberry Pi Ltd
- Denne dokumentasjonen er lisensiert under en Creative Commons Attribution-NoDerivatives 4.0 International (CC BY-ND). byggedato: 2024-08-08 byggeversjon: c0acc5b-clean
- Juridisk ansvarsfraskrivelse
- TEKNISKE DATA OG PÅLITELIGHETSDATA FOR RASPBERRY PI-PRODUKTER (INKLUDERT DATABLAD) SOM ENDRET FRA TIDEN TIL TIDEN (“RESURSER”) LEVERES AV RASPBERRY PI LTD (“RPL”) “SOM DE ER” OG EVENTUELLE UTTRYKKELIGE ELLER UNDERFORSTÅTTE, UNDERFORSTÅET TIL FRASVISES DE UNDERFORSTÅTE GARANTIER OM SALGBARHET OG EGNETHET FOR ET BESTEMT FORMÅL. I DEN MAKSIMALE OMRÅDET SOM TILLATES AV GJELDENDE LOV, SKAL RPL IKKE UNDER OMSTENDIGHETER VÆRE ANSVARLIG FOR EVENTUELLE DIREKTE, INDIREKTE, TILFELDIGE, SPESIELLE, EKSEMPELISKE ELLER FØLGESKADER (INKLUDERT, MEN IKKE BEGRENSET TIL, LEVERANDØR AV OSS; DATA ELLER FORTJENESTE ELLER FORRETNINGSAVBRUTT) HVORDAN FORÅRSAKET OG PÅ ENHVER ANSVARSTEORI, ENTEN I KONTRAKT, STRENGT ANSVAR ELLER ORGANISERING (INKLUDERT UAKTSOMHET ELLER ANNET) SOM OPSTÅR PÅ NOEN MÅTE AV DETTE ANNONSENS, AV SLIK SKADE.
- RPL forbeholder seg retten til å foreta eventuelle forbedringer, forbedringer, rettelser eller andre modifikasjoner av RESSURSENE eller produkter beskrevet i dem når som helst og uten ytterligere varsel.
RESSURSENE er ment for dyktige brukere med passende nivåer av designkunnskap. Brukere er alene ansvarlige for deres valg og bruk av RESSURSENE og enhver bruk av produktene beskrevet i dem. Brukeren godtar å holde RPL skadesløs mot alle forpliktelser, kostnader, skader eller andre tap som oppstår som følge av deres bruk av RESSURSENE. - RPL gir brukere tillatelse til å bruke RESSURSENE utelukkende i forbindelse med Raspberry Pi-produktene. All annen bruk av RESSURSENE er forbudt. Ingen lisens gis til noen annen RPL eller annen tredjeparts immaterielle rettigheter.
- AKTIVITETER MED HØY RISIKO. Raspberry Pi-produkter er ikke designet, produsert eller beregnet for bruk i farlige miljøer som krever feilsikker ytelse, for eksempel ved drift av kjernefysiske anlegg, flynavigasjons- eller kommunikasjonssystemer, lufttrafikkkontroll, våpensystemer eller sikkerhetskritiske applikasjoner (inkludert livsoppretting). systemer og annet medisinsk utstyr), der svikt i produktene kan føre direkte til død, personskade eller alvorlig fysisk skade eller miljøskade («Høyrisikoaktiviteter»). RPL fraskriver seg spesifikt enhver uttrykt eller underforstått garanti om egnethet for høyrisikoaktiviteter og påtar seg intet ansvar for bruk eller inkludering av Raspberry Pi-produkter i høyrisikoaktiviteter.
- Raspberry Pi-produkter leveres underlagt RPLs standardvilkår. RPLs levering av RESSURSENE utvider eller endrer ikke RPLs standardvilkår inkludert, men ikke begrenset til, ansvarsfraskrivelsene og garantiene som er uttrykt i dem.
Kapittel 1. Innledning
Figur 1. KiCad 3D-gjengivelse av RP2350A Minimal design eksample
Da vi først introduserte Raspberry Pi RP2040, ga vi også ut en "Minimal" designeks.ample og medfølgende veiledning Maskinvaredesign med RP2040 som forhåpentligvis forklarte hvordan RP2040 kunne brukes i et enkelt kretskort, og hvorfor de ulike komponentvalgene ble gjort. Med ankomsten av RP235x-serien er det på tide å se tilbake på den originale RP2040 Minimal-designen, og oppdatere den for å ta hensyn til de nye funksjonene, og også for hver av pakkevariantene; RP2350A med sin QFN-60-pakke, og RP2350B som er en QFN-80. Igjen, disse designene er i Kicad (7.0)-format, og er tilgjengelige for nedlasting (https://datasheets.raspberrypi.com/rp2350/Minimal-KiCAD.zip).
Minimalstyret
Det originale Minimal-kortet var et forsøk på å gi et enkelt referansedesign, ved å bruke det minste minimum av eksterne komponenter som kreves for å kjøre RP2040 og fortsatt ha all IO eksponert og tilgjengelig. Dette besto i hovedsak av en strømkilde (en 5V til 3.3V lineær regulator), krystalloscillator, flashminne og IO-tilkoblinger (en mikro-USB-kontakt og GPIO-hoder). De nye RP235x-serien Minimal-kort er stort sett de samme, men med noen endringer nødvendig på grunn av den nye maskinvaren. I tillegg til dette, og til tross for at det går noe mot designets minimale natur, har jeg lagt til et par knapper for bootsel and run, sammen med en separat SWD-header, noe som burde bety en mindre frustrerende feilsøkingsopplevelse denne gangen. Design trenger strengt tatt ikke disse knappene, signalene er fortsatt tilgjengelige på overskriftene, og de kan utelates hvis du er spesielt kostnads- eller plassbevisst, eller har masochistiske tendenser.
RP2040 vs RP235x-serien
Den mest åpenbare endringen er i pakkene. Mens RP2040 er en 7x7 mm QFN-56, har RP235x-serien for øyeblikket fire forskjellige medlemmer. Det er to enheter som deler den samme QFN-60-pakken; RP2350A som ikke inneholder intern flash-lagring, og RP2354A som gjør det. Tilsvarende kommer QFN-80 også i to smaker; RP2354B med blits og RP2350B uten. QFN-60-enhetene og den originale RP2040 deler en felles arvtage.
De har hver 30 GPIO-er, hvorav fire også er koblet til ADC, og er 7x7 mm i størrelse. Til tross for dette er ikke RP2350A en drop-in-erstatning for RP2040, da antallet pinner på hver er forskjellig. Derimot har QFN-80-brikkene nå 48 GPIO-er, og åtte av disse er nå ADC-kompatible. På grunn av dette har vi nå to Minimal-brett; en for 60 pins enheter, og en for 80. Disse Minimal-kortene er primært designet for delene uten intern blits (RP2350), men designene kan enkelt brukes med de interne blitsene (RP2354) ved ganske enkelt å utelate den innebygde blitsen minne, eller til og med bruke den som en sekundær flash-enhet (mer om dette senere). Det er liten forskjell mellom de to brettene, annet enn at QFN-80-versjonen har lengre rader med overskrifter for å romme den ekstra GPIOen, og brettet er derfor større.
Bortsett fra pakken, er den største forskjellen på brettnivå mellom RP235x-serien og RP2040 strømforsyningene. RP235x-serien har noen nye strømpinner, og en annen intern regulator. Den 100mA lineære regulatoren til RP2040 har blitt erstattet med en 200mA svitsjregulator, og som sådan krever den noen veldig spesifikke kretser, og ikke lite omhu tatt med utformingen. Det anbefales på det sterkeste at du følger våre layout og komponentvalg nøye; vi har allerede gått gjennom smerten ved å måtte gjøre flere gjentakelser av designet, så forhåpentligvis trenger du ikke det.
Figur 2. KiCad 3D-gjengivelse av RP2350B Minimal design eksample
Designet
Intensjonen med Minimal design eksamples er å lage et par enkle brett ved hjelp av RP235x-serien, som skal være billig og enkelt å produsere, uten å bruke unødvendig eksotiske PCB-teknologier. Minimal-platene er derfor 2-lags design, med komponenter som bør være allment tilgjengelige, og alle montert på oversiden av brettet. Selv om det ville vært fint å bruke store, lett håndloddbare komponenter, betyr den lille stigningen til QFN-brikkene (0.4 mm) at bruk av noen 0402 (1005 metriske) passive komponenter er uunngåelig hvis alle GPIO-ene skal brukes. Selv om håndlodding av 0402-komponenter ikke er for utfordrende med en anstendig loddebolt, er det nesten umulig å lodde QFN-ene uten spesialutstyr.
I løpet av de neste delene skal jeg forsøke å forklare hva tilleggskretsene er for, og forhåpentligvis hvordan vi kom til å ta de valgene vi gjorde. Siden jeg faktisk skal snakke om to separate design, en for hver pakkestørrelse, har jeg prøvd å holde ting så enkelt som jeg kan. Så langt det er mulig, er alle komponentreferansene for de to brettene identiske, så hvis jeg refererer til U1, R1, etc, så er det like relevant for begge brettene. Det åpenbare unntaket er når komponenten kun er på ett av brettene (i alle tilfeller vil dette være på den større 80 pin-varianten), da vil den aktuelle komponenten kun være på QFN-80-designen; for eksample, R13 vises kun på denne tavlen.
Kapittel 2. Strøm
Strømforsyningene til RP235x-serien og RP2040 skiller seg noe denne gangen, men i sin enkleste konfigurasjon krever den fortsatt to forsyninger, 3.3V og 1.1V. RP235x-serien er samtidig mer strømkrevende, siden den er høyere ytelse, og også mer nøysom (når den er i laveffekttilstand) enn forgjengeren, og derfor har den lineære regulatoren på RP2040 blitt oppgradert med en bytteregulator. Dette gir oss større strømeffektivitet ved høyere strømmer (opptil 200mA sammenlignet med 100mA tidligere).
Ny on-chip voltage regulator
Figur 3. Skjematisk utsnitt som viser den interne regulatorkretsen
Den lineære regulatoren til RP2040 hadde to pinner, en 3.3V-inngang og en 1.1V-utgang for å forsyne DVDD-en på brikken. Denne gangen har regulatoren til RP235x-serien fem pinner, og krever noen eksterne komponenter for å få den til å fungere. Selv om dette virker litt bakover når det gjelder brukervennlighet, har bytteregulatoren fordelentage av å være mer strømeffektiv ved høyere belastningsstrømmer.
Som navnet antyder, slår regulatoren raskt på og av en intern transistor som kobler til 3.3V inngangsvolumtage (VREG_VIN) til VREG_LX-pinnen, og ved hjelp av en induktor (L1) og en utgangskondensator (C7), kan den produsere en DC-utgangsvolumtage som er trappet ned fra inngangen. VREG_FB-pinnen overvåker utgangsvoltage, og justerer på/av-forholdet for koblingssyklusen, for å sikre at nødvendig voltage opprettholdes. Ettersom store strømmer byttes fra VREG_VIN til VREG_LX, kreves det en stor kondensator (C6) nær inngangen, så vi forstyrrer ikke 3.3V-forsyningen for mye. Når vi snakker om disse store svitsjestrømmene, kommer regulatoren også med sin egen jordreturforbindelse, VREG_PGND. Tilsvarende med VREG_VIN og VREG_LX er utformingen av denne forbindelsen kritisk, og mens VREG_PGND må kobles til hoved-GND, må det gjøres på en slik måte at alle de store svitsjestrømmene går direkte tilbake til PGND-pinnen, uten å forstyrre resten av GND for mye.
Den siste pinnen er VREG_AVDD, som forsyner den analoge kretsen i regulatoren, og denne er veldig følsom for støy.
Figur 4. Skjematisk utsnitt som viser PCB-oppsettet til regulatoren
- Utformingen av regulatoren på de minimale brettene gjenspeiler tett det til Raspberry Pi Pico 2. Det er lagt ned mye arbeid i utformingen av denne kretsen, med mange iterasjoner av PCB som kreves for å gjøre den så god som vi muligens. kan. Mens du kan plassere disse komponentene på en rekke forskjellige måter og fortsatt få regulatoren til å "fungere" (dvs. produsere en utgangsvol.tage på omtrent riktig nivå, god nok til å få den til å kjøre kode), har vi funnet ut at regulatoren vår må behandles på nøyaktig riktig måte for å holde den fornøyd, og med fornøyd mener jeg å produsere riktig utgangsvol.tage under en rekke belastningsstrømforhold.
- Mens vi utførte eksperimentene våre på dette, ble vi litt skuffet over å bli påminnet om at fysikkens ubeleilige verden ikke alltid kan ignoreres. Vi som ingeniører prøver i stor grad å gjøre akkurat dette; forenkle komponenter, ignorere (ofte) ubetydelige fysiske egenskaper, og i stedet fokusere på egenskapen vi er interessert i. F.eks.ample, en enkel motstand har ikke bare en motstand, men også induktans osv. I vårt tilfelle (gjen)oppdaget vi at induktorer har et magnetfelt knyttet til seg, og viktigere, stråler i en retning avhengig av hvilken vei spolen er viklet, og strømmens retning. Vi ble også minnet om at en 'fullstendig' skjermet induktor ikke betyr det du tror den kan. Magnetfeltet dempes i stor grad, men noe slipper likevel ut. Vi fant ut at regulatorytelsen kan bli betydelig forbedret hvis induktoren er "den rette veien rundt".
- Det viser seg at magnetfeltet som sendes ut fra en "feil vei rundt" induktor forstyrrer regulatorens utgangskondensator (C7), som igjen forstyrrer kontrollkretsen i RP2350. Med induktoren i riktig orientering, og den nøyaktige layouten og komponentvalgene som brukes her, forsvinner dette problemet. Det vil utvilsomt være andre layouter, komponenter osv. som kan fungere med en induktor i alle retninger, men de vil mest sannsynlig bruke mye mer PCB-plass for å gjøre det. Vi har gitt dette anbefalte oppsettet for å spare folk for de mange ingeniørtimene vi har brukt på å utvikle og foredle denne kompakte og veloppdragne løsningen.
- Mer til poenget, vi går så langt som å si at hvis du velger å ikke bruke eksen vårample, så gjør du det på eget ansvar. Omtrent som vi allerede gjør med RP2040 og krystallkretsen, der vi insisterer (vel, anbefaler sterkt) at du bruker en bestemt del (vi vil gjøre det igjen i krystalldelen av dette dokumentet).
- Retningsevnen til disse små induktorene er stort sett universelt ignorert, med orienteringen til spoleviklingen umulig å utlede, og også tilfeldig fordelt langs en hjul med komponenter. Større induktorhusstørrelser kan ofte ha polaritetsmerker på seg, men vi kunne ikke finne noen passende i 0806 (2016 metrisk) kassestørrelsen vi har valgt. For dette formål har vi jobbet med Abracon for å produsere en 3.3μH-del med en prikk for å indikere polaritet, og viktigere, kom på en snelle med dem alle justert på samme måte. TBDene er (eller vil om kort tid) gjøres tilgjengelig for allmennheten fra distributører. Som nevnt tidligere er VREG_AVDD-forsyningen svært følsom for støy, og må derfor filtreres. Vi fant at siden VREG_AVDD bare trekker rundt 200μA, er et RC-filter på 33Ω og 4.7μF tilstrekkelig.
- Så for å oppsummere, vil komponentene som brukes være...
- C6, C7 og C9 – 4.7 μF (0402, 1005 metrisk)
- L1 – Abracon TBD (0806, 2016 metrisk)
- R3 – 33Ω (0402, 1005 metrisk)
- RP2350-dataarket har en mer detaljert diskusjon om anbefalingene for regulatorlayout, se krav til eksterne komponenter og PCB-layout.
Inngangsforsyning
Inngangsstrømtilkoblingen for dette designet er via 5V VBUS-pinnen til en mikro-USB-kontakt (merket J1 i figur 5). Dette er en vanlig metode for å drive elektroniske enheter, og det er fornuftig her, siden RP2350 har USB-funksjonalitet, som vi vil koble til datapinnene til denne kontakten. Siden vi bare trenger 3.3V for denne designen (1.1V-forsyningen kommer fra den interne), må vi senke den innkommende 5V USB-forsyningen, i dette tilfellet ved å bruke en annen, ekstern volumtage regulator, i dette tilfellet en lineær regulator (aka Low Drop Out regulator, eller LDO). Etter å ha fremhevet fordelene ved å bruke en effektiv koblingsregulator tidligere, kan det også være et klokt valg å bruke en her også, men jeg har valgt for enkelhet. For det første er det nesten alltid enklere å bruke en LDO. Det kreves ingen beregninger for å finne ut hvilken størrelse induktor du bør bruke, eller hvor store utgangskondensatorene er, og oppsettet er vanligvis mye mer enkelt også. For det andre, å spare hver eneste dråpe strøm er ikke målet her; hvis det var det, ville jeg seriøst vurdert å bruke en bytteregulator, og du kan finne en eksampå gjøre det på Raspberry Pi Pico 2. Og for det tredje kan jeg ganske enkelt "låne" kretsen jeg tidligere brukte på RP2040-versjonen av Minimal-kortet. NCP1117 (U2) som er valgt her har en fast utgang på 3.3V, er allment tilgjengelig og kan gi opptil 1A strøm, noe som vil være nok for de fleste design. En titt på dataarket for NCP1117 forteller oss at denne enheten krever en 10μF kondensator på inngangen, og en annen på utgangen (C1 og C5).
Frakople kondensatorer
Figur 6. Skjematisk utsnitt som viser RP2350-strømforsyningsinngangene, voltage regulator og avkoblingskondensatorer
Et annet aspekt ved strømforsyningsdesignet er avkoblingskondensatorene som kreves for RP2350. Disse gir to grunnleggende funksjoner. For det første filtrerer de ut strømforsyningsstøy, og for det andre gir de en lokal ladeforsyning som kretsene inne i RP2350 kan bruke på kort varsel. Dette forhindrer voltagnivået i umiddelbar nærhet faller for mye når dagens etterspørsel plutselig øker. På grunn av dette er det viktig å plassere frakoblingen nær strømpinnene. Vanligvis anbefaler vi bruk av en 100nF kondensator per strømpinne, men vi avviker fra denne regelen i et par tilfeller.
Figur 7. Utsnitt av layout som viser RP2350-ruting og frakobling
- For det første, for å kunne ha nok plass til at alle chippinnene skal kunne rutes ut, vekk fra enheten, må vi gå på akkord med mengden avkoplingskondensatorer vi kan bruke. I denne utformingen deler pinnene 53 og 54 på RP2350A (pinnene 68 og 69 på RP2350B) en enkelt kondensator (C12 i figur 7 og figur 6), siden det ikke er mye plass på den siden av enheten, og komponentene og utformingen av regulatoren har forrang.
- Denne plassmangelen kan overvinnes noe hvis vi brukte mer kompleks/dyr teknologi, som for eksempel mindre komponenter, eller et firelags PCB med komponenter på både over- og undersiden. Dette er en designavveining; vi har redusert kompleksiteten og kostnadene, på bekostning av å ha mindre avkoblingskapasitans, og kondensatorer som er litt lenger unna brikken enn det som er optimalt (dette øker induktansen). Dette kan ha effekten av å begrense den maksimale hastigheten designet kan operere med, ettersom voltagTilførselen kan bli for støyende og falle under minimum tillatt voltage; men for de fleste applikasjoner bør denne avveiningen være akseptabel.
- Det andre avviket fra 100nF-regelen er slik at vi kan forbedre volumet ytterligeretage regulator ytelse; vi anbefaler å bruke en 4.7μF for C10, som er plassert på den andre siden av brikken fra regulatoren.
Kapittel 3. Flash-minne
Primær blits
Figur 8. Skjematisk utsnitt som viser det primære flashminnet og USB_BOOT-kretsene
- For å kunne lagre programkode som RP2350 kan starte og kjøre fra, må vi bruke et flashminne, nærmere bestemt et quad SPI flashminne. Enheten som er valgt her er en W25Q128JVS-enhet (U3 i figur 8), som er en 128Mbit-brikke (16MB). Dette er den største minnestørrelsen som RP2350 kan støtte. Hvis applikasjonen din ikke trenger så mye lagringsplass, kan et mindre, billigere minne brukes i stedet.
- Siden denne databussen kan være ganske høyfrekvent og er regelmessig i bruk, bør QSPI-pinnene til RP2350 kobles direkte til blitsen, ved å bruke korte tilkoblinger for å opprettholde signalintegriteten, og for også å redusere krysstale i omkringliggende kretser. Crosstalk er der signaler på ett kretsnett kan indusere uønsket voltages på en nærliggende krets, noe som potensielt kan forårsake feil.
- QSPI_SS-signalet er et spesielt tilfelle. Den er koblet direkte til blitsen, men den har også to motstander (vel, fire, men det kommer jeg på senere) koblet til. Den første (R1) er en pull-up til 3.3V-forsyningen. Flash-minnet krever at chip-select-inngangen er på samme volumtage som sin egen 3.3V forsyningspinne når enheten slås på, ellers fungerer den ikke som den skal. Når RP2350 er slått på, vil QSPI_SS-pinnen automatisk som standard være en pull-up, men det er en kort periode under påslag hvor tilstanden til QSPI_SS-pinnen ikke kan garanteres. Tillegget av en pull-up motstand sikrer at dette kravet alltid vil bli tilfredsstilt. R1 er merket som DNF (Do Not Fit) på skjemaet, da vi har funnet ut at med denne spesielle blitsen er den eksterne pull-up unødvendig. Men hvis en annen blits brukes, kan det bli viktig å kunne sette inn en 10kΩ motstand her, så den er inkludert for sikkerhets skyld.
- Den andre motstanden (R6) er en 1kΩ motstand, koblet til en trykknapp (SW1) merket 'USB_BOOT'. Dette er fordi QSPI_SS-pinnen brukes som en 'boot strap'; RP2350 sjekker verdien av denne I/O under oppstartssekvensen, og hvis den viser seg å være en logisk 0, går RP2350 tilbake til BOOTSEL-modus, der RP2350 presenterer seg som en USB-masselagringsenhet, og koden kan kopieres direkte til det. Hvis vi bare trykker på knappen, trekker vi QSPI_SS pin til bakken, og hvis enheten deretter tilbakestilles (f.eks. ved å veksle på RUN pin), vil RP2350 starte på nytt i BOOTSEL-modus i stedet for å prøve å kjøre innholdet i blitsen. Disse motstandene, R2 og R6 (R9 og R10 også), bør plasseres nær flash-brikken, så vi unngår ytterligere lengder med kobberspor som kan påvirke signalet.
- Alt det ovennevnte gjelder spesifikt for RP2350, som ikke har noen intern blits. Selvfølgelig har RP2354-enhetene interne 2MB flash-minner, så det eksterne U3-minnet er ikke nødvendig, så U3 kan trygt fjernes fra skjemaet, eller bare forlates ubefolket. I begge disse tilfellene vil vi fortsatt beholde USB_BOOT-bryteren koblet til QSPI_SS, slik at vi fortsatt kan gå inn i USB-oppstartsmodus.
Sekundær blits eller PSRAM
- RP235x-serien støtter nå en ekstra minneenhet som bruker de samme QSPI-pinnene, med en GPIO som gir ekstra brikkevalg. Så hvis vi bruker en RP2354 (som har intern blits), kan vi bruke U3 som en sekundær blits, eller til og med erstatte den med en PSRAM-enhet. For å gjøre dette må vi koble QSPI_SS fra U3, og i stedet koble den til en passende GPIO. Den nærmeste GPIOen som kan være en brikkevelger (XIP_CS1n) er GPIO0, så ved å fjerne 0Ω fra R10 og tilpasse den til R9, kan vi nå få tilgang til U3 i tillegg til flashen på brikken. For å ta fordel fullt uttage av denne funksjonen, hvor vi har to eksterne minneenheter slik at de flash-løse RP2350-delene kan dra nytte av, det største av de to Minimal-kortene, for RP2350B, inkluderer et valgfritt footprint (U4) for en ekstra minnebrikke.
Figur 9. Skjematisk utsnitt som viser den valgfrie sekundære minneenheten
For å kunne bruke denne enheten, må den åpenbart fylles ut, i tillegg til R11 (0Ω), og R13 (10KΩ). Tillegget av R11 kobler GPIO0 (XIP_CS1n-signalet) til brikkevalget til det andre minnet. Opptrekket på brikkevelgerpinnen er definitivt nødvendig denne gangen, siden standardtilstanden til GPIO0 skal trekkes lavt ved oppstart, noe som vil føre til at flashenheten vår svikter. C22 vil også være nødvendig for å gi lokal strømforsyningsavkobling for U4.
Støttede flash-brikker
Den første flash-sondesekvensen, brukt av bunnen for å trekke ut den andre stage fra flash, bruker en 03h seriell lesekommando, med 24-bits adressering, og en seriell klokke på omtrent 1MHz. Den går gjentatte ganger gjennom de fire kombinasjonene av klokkepolaritet og klokkefase, og leter etter et gyldig sekund.tage CRC32 sjekksum.
Som den andre stage er da fri til å konfigurere execute-in-place ved å bruke den samme 03h serielle lesekommandoen, RP2350 kan utføre bufret flash execute-in-place med hvilken som helst brikke som støtter 03h seriell lesing med 24-bits adressering, som inkluderer de fleste 25-serie flash-enheter . SDK gir en eksampden andre stage for CPOL=0 CPHA=0, kl https://github.com/raspberrypi/pico-sdk/blob/master/src/rp2350/boot_stage2/boot2_generic_03h.S. For å støtte flash-programmering ved hjelp av rutinene i bunnen, må enheten også svare på følgende kommandoer:
- 02t 256-byte sideprogram
- 05t statusregister lest
- 06h sett skriveaktiveringslås
- 20 timer 4 kB sektorsletting
RP2350 støtter også et bredt utvalg av dual-SPI- og QSPI-tilgangsmodi. For eksample, https://github.com/raspberrypi/pico-sdk/blob/master/src/rp2350/boot_stage2/boot2_w25q080.S konfigurerer en Winbond W25Q-serie enhet for quad-IO kontinuerlig lesemodus, der RP2350 sender quad-IO adresser (uten kommandoprefiks) og blitsen svarer med quad-IO data.
Litt forsiktighet er nødvendig med flash XIP-moduser der blitsenheten slutter å svare på standard serielle kommandoer, som Winbond kontinuerlig lesemodus nevnt ovenfor. Dette kan forårsake problemer når RP2350 er tilbakestilt, men blitsenheten ikke slås på av/på, fordi blitsen da ikke vil svare på bootroms flashprobesekvens. Før utgivelsen av 03h-serielesingen, utsteder bootrom alltid følgende faste sekvens, som er den beste sekvensen for å avbryte XIP på en rekke flash-enheter:
- CSn=1, IO[3:0]=4'b0000 (via nedtrekk for å unngå krangel), utsted ×32 klokker
- CSn=0, IO[3:0]=4'b1111 (via pull-ups for å unngå krangel), utsted ×32 klokker
- CSn=1
- CSn=0, MOSI=1'b1 (drevet lav-Z, alle andre I/Os Hi-Z), utgave ×16 klokker
Hvis din valgte enhet ikke reagerer på denne sekvensen når den er i kontinuerlig lesemodus, må den holdes i en tilstand der hver overføring er prefikset av en seriell kommando, ellers vil ikke RP2350 kunne gjenopprette etter en intern tilbakestilling.
For mer informasjon om QSPI, se QSPI Memory Interface (QMI) i RP2350 dataarket.
Kapittel 4. Krystalloscillator
Figur 10. Skjematisk utsnitt som viser krystalloscillatoren og belastningskondensatorene
- Strengt tatt krever RP2350 faktisk ikke en ekstern klokkekilde, da den har sin egen interne oscillator. Imidlertid, siden frekvensen til denne interne oscillatoren ikke er godt definert eller kontrollert, varierer fra brikke til brikke, så vel som med forskjellig forsyningsvolumtages og temperaturer, anbefales det å bruke en stabil ekstern frekvenskilde. Applikasjoner som er avhengige av eksakte frekvenser er ikke mulig uten en ekstern frekvenskilde, USB er en førstegangseks.ample.
- Å skaffe en ekstern frekvenskilde kan gjøres på en av to måter: enten ved å gi en klokkekilde med en CMOS-utgang (kvadratbølge av IOVDD vol.tage) inn i XIN-pinnen, eller ved å bruke en 12MHz krystall koblet mellom
- XIN og XOUT. Å bruke en krystall er det foretrukne alternativet her, da de både er relativt billige og veldig nøyaktige.
- Den valgte krystallen for denne utformingen er en ABM8-272-T3 (Y1 i figur 10). Dette er den samme 12MHz krystallen som brukes på Raspberry Pi Pico og Raspberry Pi Pico 2. Vi anbefaler på det sterkeste å bruke denne krystallen sammen med de tilhørende kretsene for å sikre at klokken starter raskt under alle forhold uten å skade selve krystallen. Krystallen har en frekvenstoleranse på 30 ppm, som burde være god nok for de fleste bruksområder. Sammen med en frekvenstoleranse på +/-30ppm, har den en maksimal ESR på 50Ω, og en belastningskapasitans på 10pF, som begge hadde betydning for valget av medfølgende komponenter.
- For at en krystall skal oscillere med ønsket frekvens, spesifiserer produsenten belastningskapasitansen den trenger for å gjøre det, og i dette tilfellet er den 10pF. Denne belastningskapasitansen oppnås ved å plassere to kondensatorer av lik verdi, en på hver side av krystallen til jord (C3 og C4). Fra krystallens punkt av view, disse kondensatorene er koblet i serie mellom de to terminalene. Grunnleggende kretsteori forteller oss at de kombineres for å gi en kapasitans på (C3*C4)/(C3+C4), og som C3=C4, så er det ganske enkelt C3/2. I dette eksample, vi har brukt 15pF kondensatorer, så seriekombinasjonen er 7.5pF. I tillegg til denne tilsiktede lastkapasitansen, må vi også legge til en verdi for den utilsiktede ekstra kapasitansen, eller parasittisk kapasitans, som vi får fra PCB-sporene og XIN- og XOUT-pinnene til RP2350. Vi vil anta en verdi på 3pF for dette, og siden denne kapasitansen er parallelt med C3 og C4, legger vi ganske enkelt dette til for å gi oss en total belastningskapasitans på 10.5pF, som er nær nok til målet på 10pF. Som du kan se, er den parasittiske kapasitansen til PCB-sporene en faktor, og vi må derfor holde dem små slik at vi ikke forstyrrer krystallen og stopper den med å oscillere etter hensikten. Prøv å holde oppsettet så kort som mulig.
- Den andre vurderingen er den maksimale ESR (ekvivalent seriemotstand) til krystallen. Vi har valgt en enhet med maksimalt 50Ω, da vi har funnet ut at dette, sammen med en 1kΩ seriemotstand (R2), er en god verdi for å forhindre at krystallen blir overdrevet og skadet når du bruker en IOVDD nivå på 3.3V. Imidlertid, hvis IOVDD er mindre enn 3.3V, reduseres drivstrømmen til XIN/XOUT-pinnene, og du vil oppdage at amplitude av krystallen er lavere, eller kanskje ikke engang svinge i det hele tatt. I dette tilfellet må en mindre verdi av seriemotstanden brukes. Ethvert avvik fra krystallkretsen vist her, eller med et annet IOVDD-nivå enn 3.3V, vil kreve omfattende testing for å sikre at krystallen svinger under alle forhold, og starter opp tilstrekkelig raskt til å ikke forårsake problemer med applikasjonen din.
Anbefalt krystall
- For originale design som bruker RP2350, anbefaler vi å bruke Abracon ABM8-272-T3. For eksample, i tillegg til minimal design eksample, se Pico 2-kortskjemaet i vedlegg B til Raspberry Pi Pico 2-dataarket og Pico 2-designet files.
- For best ytelse og stabilitet på tvers av typiske driftstemperaturområder, bruk Abracon ABM8-272-T3. Du kan kjøpe ABM8-272-T3 direkte fra Abracon eller fra en autorisert forhandler. Pico 2 er spesifikt innstilt for ABM8-272-T3, som har følgende spesifikasjoner:
- Selv om du bruker en krystall med lignende spesifikasjoner, må du teste kretsen over en rekke temperaturer for å sikre stabilitet.
- Krystalloscillatoren får strøm fra IOVDD voltage. Som et resultat vil Abracon-krystallen og den spesielle damping-motstanden er innstilt for 3.3V-drift. Hvis du bruker en annen IO voltage, du må stille inn på nytt.
- Eventuelle endringer i krystallparametere risikerer ustabilitet på tvers av alle komponenter som er koblet til krystallkretsen.
- Hvis du ikke kan hente den anbefalte krystallen direkte fra Abracon eller en forhandler, ta kontakt applications@raspberrypi.com.
Kapittel 5. IOer
USB
Figur 11. Skjematisk utsnitt som viser USB-pinnene til RP2350 og serieterminering
- RP2350 har to pinner som kan brukes for full hastighet (FS) eller lavhastighets (LS) USB, enten som en vert eller enhet, avhengig av programvaren som brukes. Som vi allerede har diskutert, kan RP2350 også starte opp som en USB-masselagringsenhet, så det er fornuftig å koble disse pinnene til USB-kontakten (J1 i figur 5). USB_DP- og USB_DM-pinnene på RP2350 krever ingen ekstra pull-ups eller pull-downs (nødvendig for å indikere hastighet, FS eller LS, eller om det er en vert eller enhet), da disse er innebygd i I/O-ene. Disse I/O-ene krever imidlertid termineringsmotstander i 27Ω-serien (R7 og R8 i figur 11), plassert nær brikken, for å oppfylle USB-impedansspesifikasjonen.
- Selv om RP2350 er begrenset til full hastighet (12Mbps), bør vi prøve å sørge for at den karakteristiske impedansen til overføringslinjene (kobbersporene som kobler brikken til kontakten) er nær
- USB-spesifikasjon på 90Ω (målt differensielt). På et 1 mm tykt brett som dette, hvis vi bruker 0.8 mm brede spor på USB_DP og USB_DM, med et gap på 0.15 mm mellom dem, bør vi få en differensial karakteristisk impedans på rundt 90Ω. Dette er for å sikre at signalene kan bevege seg langs disse overføringslinjene så rent som mulig, og minimere volumtage refleksjoner som kan redusere integriteten til signalet. For at disse overføringslinjene skal fungere ordentlig, må vi sørge for at det er en jord rett under disse linjene. Et solid, uavbrutt område av slipt kobber som strekker seg over hele banens lengde. På denne utformingen er nesten hele det nederste kobberlaget viet til jord, og det ble tatt spesielt hensyn til at USB-sporene ikke går over annet enn jord. Hvis et PCB tykkere enn 1 mm er valgt for din konstruksjon, har vi to alternativer. Vi kan rekonstruere USB-overføringslinjene for å kompensere for den større avstanden mellom sporet og bakken under (noe som kan være en fysisk umulighet), eller vi kan ignorere det og håpe på det beste. USB FS kan være ganske tilgivende, men kjørelengden din kan variere. Det vil sannsynligvis fungere i mange applikasjoner, men det kommer sannsynligvis ikke til å være kompatibelt med USB-standarden.
I/O-hoder
Figur 12. Skjematisk utsnitt som viser 2.54 mm I/O-hodene til QFN60-versjonen
- I tillegg til USB-kontakten som allerede er nevnt, er det et par doble rader 2.54 mm overskrifter (J2 og J3 i figur 12), en på hver side av brettet, som resten av I/O er koblet til. Det er 30 GPIO på RP2350A, mens det er 48 GPIO på RP2350B, så overskriftene på denne versjonen av Minimal-kortet er større for å tillate ekstra pinner (se figur 13).
- Siden dette er en generell design, uten noen spesiell applikasjon i tankene, har I/O blitt gjort tilgjengelig for å kobles til som brukeren ønsker. Den indre raden med pinner på hver overskrift er I/O-ene, og den ytre raden er alle koblet til jord. Det er god praksis å inkludere mange jordinger på I/O-kontakter. Dette bidrar til å opprettholde en lavimpedansjording, og gir også mange potensielle returveier for strømmer som reiser til og fra
- I/O-tilkoblinger. Dette er viktig for å minimere elektromagnetisk interferens som kan være forårsaket av returstrømmene til raskt skiftende signaler som tar lange sløyfer for å fullføre kretsen.
- Begge overskriftene er på samme 2.54 mm rutenett, noe som gjør det enklere å koble dette brettet til andre ting, for eksempel breadboards. Det kan være lurt å vurdere å montere bare en enkeltrads topper i stedet for torads topper, og unnlate den ytre raden med jordforbindelser, for å gjøre det mer praktisk å montere på en breadboard.
Figur 13. Skjematisk utsnitt som viser 2.54 mm I/O-hodene til QFN80-versjonen
Feilsøkingskobling
Figur 14. Skjematisk utsnitt som viser den valgfrie JST-kontakten for SWD-feilsøking
For on-chip debugging kan det være lurt å koble til SWD-grensesnittet til RP2350. De to pinnene, SWD og SWCLK, er tilgjengelig på 2.54 mm header, J3, for å gjøre det enkelt å koble til den debug-proben du velger. I tillegg til dette har jeg inkludert en valgfri JST-header, som gir en enkel tilkobling til Raspberry Pi Debug Probe. Du trenger ikke å bruke dette, 2.54 mm-hodene vil være tilstrekkelig hvis du har tenkt å feilsøke programvare, men jeg synes det er mer praktisk å gjøre det. Jeg har valgt en horisontal kobling, mest fordi jeg liker utseendet på den, selv om den ikke er på kanten av brettet, men vertikale er tilgjengelige, om enn med et litt annet fotavtrykk.
Knapper
Minimal-designet inneholder nå ikke én, men to knapper, der RP240-versjonen ikke hadde noen. Den ene er for USB-oppstartsvalg som vi tidligere har diskutert, men den andre er en 'reset'-knapp, koblet til RUN-pinnen. Ingen av disse er strengt nødvendig (selv om BOOTSEL-knappen måtte erstattes med en header eller lignende hvis USB-oppstartsmodus var nødvendig), og kan fjernes hvis plass eller kostnad er en bekymring, men de gjør det absolutt langt å bruke RP2350 mer behagelig opplevelse.
Vedlegg A: Komplett skjematisk -RP2350A-versjon
Figur 15. Fullstendig skjematisk av minimal design for RP2350A
Vedlegg B: Komplett skjematisk -RP2350B-versjon
Figur 16. Fullstendig skjematisk av minimal design for RP2350B
Vedlegg H: Utgivelseshistorikk for dokumentasjon
8. august 2024
Første utgivelse.
i Raspberry Pi
Raspberry Pi er et varemerke for Raspberry Pi Ltd
Raspberry Pi Ltd
Dokumenter / Ressurser
![]() |
Raspberry Pi SC1631 Raspberry mikrokontroller [pdf] Bruksanvisning SC1631 Raspberry Microcontroller, SC1631, Raspberry Microcontroller, Microcontroller |