Hindbær-logo

Raspberry Pi SC1631 Raspberry Microcontroller

Raspberry-Pi-SC1631-Raspberry-Microcontroller-product-image

Produktspecifikationer

  • Model: RP2350
  • Pakke: QFN-60
  • Intern Flash-lagring: Nej
  • Voltage Regulator: On-chip switching regulator
  • Regulatorben: 5 (3.3V indgang, 1.1V udgang, VREG_AVDD, VREG_LX, VREG_PGND)

Produktbrugsvejledning

  • Kapitel 1: Introduktion
  • RP2350-serien tilbyder forskellige pakkemuligheder sammenlignet med RP2040-serien. RP2350A og RP2354A kommer i en QFN-60-pakke uden og med henholdsvis intern flash-lagring, mens RP2354B og RP2350B kommer i en QFN-80-pakke med og uden flash-lager.
  • Kapitel 2: Strøm
    RP2350-serien har en ny on-chip switching voltage regulator med fem stifter. Denne regulator kræver eksterne komponenter til drift, men tilbyder højere effekteffektivitet ved højere belastningsstrømme sammenlignet med den lineære regulator i RP2040-serien. Vær opmærksom på støjfølsomheden i VREG_AVDD-stiften, der forsyner det analoge kredsløb.

Ofte stillede spørgsmål (FAQ)

  • Q: Hvad er den største forskel mellem RP2350A og RP2350B?
    A: Den største forskel ligger i tilstedeværelsen af ​​intern flash-lagring. RP2350A har ikke intern flash-lagring, mens RP2350B har.
  • Q: Hvor mange ben har voltage regulator i RP2350-serien har?
    A: VoltagRegulatoren i RP2350-serien har fem ben.

Hardwaredesign med RP2350 Brug af RP2350 mikrocontrollere til at bygge boards og produkter

Kolofon

  • © 2023-2024 Raspberry Pi Ltd
  • Denne dokumentation er licenseret under en Creative Commons Attribution-NoDerivatives 4.0 International (CC BY-ND). build-dato: 2024-08-08 build-version: c0acc5b-clean
  • Juridisk ansvarsfraskrivelse
  • TEKNISKE DATA OG PÅLIDELIGHED FOR RASPBERRY PI-PRODUKTER (INKLUSIVE DATABLAD) SOM ÆNDRET FRA TID TIL ANDEN (“RESOURCER”) LEVERES AF RASPBERRY PI LTD (“RPL”) “SOM DE ER” OG EVENTUELLE UDTRYKKELIGE ELLER UNDERFORSTÅET, UNDERFORSTÅET, UNDERFORSTÅET TIL ER DE UNDERFORSTÅEDE GARANTIER FOR SALGBARHED OG EGNETHED TIL ET BESTEMT FORMÅL FRASKRIFTLIG. I DET MAKSIMALTE OMFANG, DER ER TILLADET AF GÆLDENDE LOV, KAN RPL UNDER INGEN OMSTÆNDIGHEDER VÆRE ANSVARLIG FOR NOGEN DIREKTE, INDIREKTE, TILFÆLDELIGE, SÆRLIGE, EKSEMPEL- ELLER FØLGESKADER (INKLUSIVE, MEN IKKE BEGRÆNSET TIL, UDBYGNINGER, UDBYGNINGER, UDBYGNINGER, DATA ELLER FORTJENESTE ELLER VIRKSOMHEDSAFBRYDELSE) HVORDAN FORÅRSAGET OG PÅ ENHVER ANSVARSTEORI, HVIS I KONTRAKTER, STRIKT ANSVAR, ELLER ORGANISATION (HERunder Uagtsomhed ELLER ANDEN MÅDE), SOM ER OPSTÅET PÅ ENHVER MÅDE UD AF DET ANVENDELSE, AF SÅDAN SKADE.
  • RPL forbeholder sig retten til at foretage eventuelle forbedringer, forbedringer, rettelser eller andre ændringer af RESSOURCERNE eller produkter beskrevet i dem til enhver tid og uden yderligere varsel.
    RESSOURCERNE er beregnet til dygtige brugere med passende niveauer af designviden. Brugerne er eneansvarlige for deres valg og brug af RESSOURCERNE og enhver anvendelse af produkterne beskrevet i dem. Brugeren indvilliger i at holde RPL skadesløs over for alle forpligtelser, omkostninger, skader eller andre tab, der opstår som følge af deres brug af RESSOURCERNE.
  • RPL giver brugere tilladelse til at bruge RESOURCERNE udelukkende i forbindelse med Raspberry Pi-produkterne. Al anden brug af RESSOURCERNE er forbudt. Der gives ingen licens til nogen anden RPL eller anden intellektuel ejendomsret fra tredjepart.
  • AKTIVITETER MED HØJ RISIKO. Raspberry Pi-produkter er ikke designet, fremstillet eller beregnet til brug i farlige miljøer, der kræver fejlsikker ydeevne, såsom i driften af ​​nukleare anlæg, flynavigations- eller kommunikationssystemer, lufttrafikkontrol, våbensystemer eller sikkerhedskritiske applikationer (inklusive livsstøtte). systemer og andet medicinsk udstyr), hvor svigt af produkterne kan føre direkte til død, personskade eller alvorlig fysisk eller miljømæssig skade ("Højrisikoaktiviteter"). RPL fraskriver sig specifikt enhver udtrykkelig eller underforstået garanti for egnethed til højrisikoaktiviteter og påtager sig intet ansvar for brug eller inklusion af Raspberry Pi-produkter i højrisikoaktiviteter.
  • Raspberry Pi-produkter leveres underlagt RPLs standardvilkår. RPL's levering af RESSOURCERNE udvider eller på anden måde ændrer ikke RPL's standardvilkår, herunder men ikke begrænset til de ansvarsfraskrivelser og garantier, der er udtrykt i dem.

Kapitel 1. Indledning

Figur 1. KiCad 3D-gengivelse af RP2350A Minimal design f.eksampleRaspberry-Pi-SC1631-Raspberry-Microcontroller- (1)

Da vi først introducerede Raspberry Pi RP2040, udgav vi også en 'Minimal' designeks.ample og medfølgende vejledning Hardwaredesign med RP2040, som forhåbentlig forklarede, hvordan RP2040 kunne bruges i et simpelt printkort, og hvorfor de forskellige komponentvalg blev foretaget. Med ankomsten af ​​RP235x-serien er det tid til at gense det originale RP2040 Minimal-design og opdatere det for at tage højde for de nye funktioner og også for hver af pakkevarianterne; RP2350A med sin QFN-60-pakke, og RP2350B, som er en QFN-80. Igen er disse designs i Kicad (7.0) format og er tilgængelige til download (https://datasheets.raspberrypi.com/rp2350/Minimal-KiCAD.zip).

 Minimalbestyrelsen
Det originale Minimal-kort var et forsøg på at give et simpelt referencedesign ved at bruge det absolutte minimum af eksterne komponenter, der kræves for at køre RP2040 og stadig have al IO eksponeret og tilgængelig. Dette bestod i det væsentlige af en strømkilde (en 5V til 3.3V lineær regulator), krystaloscillator, flashhukommelse og IO-forbindelser (en mikro-USB-stik og GPIO-headere). De nye RP235x serie Minimal boards er stort set de samme, men med nogle ændringer nødvendige på grund af den nye hardware. Ud over dette, og på trods af at det går noget imod designets minimale karakter, har jeg tilføjet et par knapper til bootsel and run, sammen med en separat SWD header, hvilket burde betyde en grundigt mindre frustrerende fejlretningsoplevelse denne gang. Designs behøver strengt taget ikke disse knapper, signalerne er stadig tilgængelige på overskrifterne, og de kan udelades, hvis du er særligt omkostnings- eller pladsbevidst, eller har masochistiske tendenser.

 RP2040 vs RP235x-serien
Den mest åbenlyse ændring er i pakkerne. Mens RP2040 er en 7x7 mm QFN-56, har RP235x-serien i øjeblikket fire forskellige medlemmer. Der er to enheder, som deler den samme QFN-60-pakke; RP2350A, som ikke indeholder intern flash-lagring, og RP2354A, der gør. På samme måde kommer QFN-80 også i to varianter; RP2354B med flash og RP2350B uden. QFN-60-enhederne og den originale RP2040 deler en fælles arvtage.

De har hver 30 GPIO'er, hvoraf fire også er forbundet til ADC'en, og er 7x7 mm store. På trods af dette er RP2350A ikke en drop-in erstatning for RP2040, da antallet af ben på hver er forskelligt. Derimod har QFN-80-chippene nu 48 GPIO'er, og otte af disse er nu ADC-kompatible. På grund af dette har vi nu to Minimal boards; en til 60-bens enheder og en til 80. Disse Minimal-kort er primært designet til delene uden intern flash (RP2350), men designet kan nemt bruges med de interne flash-enheder (RP2354) ved blot at udelade den indbyggede flash hukommelse, eller endda bruge den som en sekundær flash-enhed (mere om dette senere). Der er lille forskel mellem de to boards, udover det faktum, at QFN-80-versionen har længere rækker af headere for at rumme den ekstra GPIO, og boardet er derfor større.

Bortset fra pakken er den største forskel på kortniveau mellem RP235x-serien og RP2040 strømforsyningerne. RP235x-serien har nogle nye strømben og en anden intern regulator. Den 100mA lineære regulator af RP2040 er blevet erstattet med en 200mA switching regulator, og som sådan kræver det nogle meget specifikke kredsløb og ikke lidt omhu med layoutet. Det anbefales stærkt, at du nøje følger vores layout og komponentvalg; vi har allerede gennemgået smerten ved at skulle lave flere gentagelser af designet, så forhåbentlig behøver du ikke det.

Figur 2. KiCad 3D-gengivelse af RP2350B Minimal design f.eksample Raspberry-Pi-SC1631-Raspberry-Microcontroller- (2)

 Designet
Hensigten med Minimal design examples er at skabe et par simple boards ved hjælp af RP235x-serien, som skal være billigt og nemt at fremstille uden brug af unødvendigt eksotiske PCB-teknologier. Minimal-pladerne er derfor 2-lags designs, der bruger komponenter, som burde være almindeligt tilgængelige, og alle monteret på oversiden af ​​pladen. Selvom det ville være rart at bruge store komponenter, der let kan håndloddes, betyder den lille stigning på QFN-chippene (0.4 mm), at det er uundgåeligt at bruge nogle 0402 (1005 metriske) passive komponenter, hvis alle GPIO'erne skal bruges. Mens håndlodning af 0402-komponenter ikke er for udfordrende med et anstændigt loddekolbe, er det næsten umuligt at lodde QFN'erne uden specialudstyr.

I løbet af de næste par afsnit vil jeg forsøge at forklare, hvad det ekstra kredsløb er til for, og forhåbentlig hvordan vi kom til at træffe de valg, vi gjorde. Da jeg faktisk kommer til at tale om to separate designs, et for hver pakkestørrelse, har jeg forsøgt at holde tingene så enkle, som jeg kan. Så vidt det er muligt, er alle komponentreferencerne for de to tavler identiske, så hvis jeg henviser til U1, R1 osv., så er det lige relevant for begge tavler. Den åbenlyse undtagelse er, når komponenten kun er på et af pladerne (i alle tilfælde vil dette være på den større 80-bens variant), så vil den pågældende komponent kun være på QFN-80-designet; f.eksample, R13 vises kun på denne tavle.

Kapitel 2. Strøm

Strømforsyningerne i RP235x-serien og RP2040 adskiller sig noget denne gang, selvom den i sin enkleste konfiguration stadig kræver to forsyninger, 3.3V og 1.1V. RP235x-serien er samtidig mere strømkrævende, da den er højere ydeevne og også mere sparsommelig (når den er i en laveffekttilstand) end dens forgænger, og derfor er den lineære regulator på RP2040 blevet opgraderet med en skiftende regulator. Dette giver os større strømeffektivitet ved højere strømme (op til 200mA sammenlignet med tidligere 100mA).

 Ny on-chip voltage regulator

Figur 3. Skematisk snit, der viser det interne regulatorkredsløbRaspberry-Pi-SC1631-Raspberry-Microcontroller- (1)

Den lineære regulator på RP2040 havde to ben, en 3.3V-indgang og en 1.1V-udgang til at forsyne DVDD'en på chippen. Denne gang har regulatoren i RP235x-serien fem ben og kræver nogle eksterne komponenter for at få det til at fungere. Selvom dette virker lidt af et tilbageskridt med hensyn til brugervenlighed, har switching-regulatoren fordelentage at være mere strømeffektiv ved højere belastningsstrømme.

Som navnet antyder, tænder og slukker regulatoren hurtigt for en intern transistor, der forbinder 3.3V input vol.tage (VREG_VIN) til VREG_LX-stiften, og ved hjælp af en induktor (L1) og en udgangskondensator (C7) kan den producere en DC-udgangsvol.tage som er blevet trappet ned fra inputtet. VREG_FB-stiften overvåger udgangsvolumentage, og justerer tænd/sluk-forholdet for koblingscyklussen for at sikre, at den nødvendige voltage opretholdes. Da der skiftes store strømme fra VREG_VIN til VREG_LX, kræves der en stor kondensator (C6) tæt på indgangen, så vi forstyrrer ikke 3.3V forsyningen for meget. Når vi taler om disse store koblingsstrømme, så kommer regulatoren også med sin egen jordreturforbindelse, VREG_PGND. På samme måde med VREG_VIN og VREG_LX er layoutet af denne forbindelse kritisk, og mens VREG_PGND skal forbindes til hoved-GND, skal det gøres på en sådan måde, at alle de store koblingsstrømme vender direkte tilbage til PGND-stiften, uden at forstyrre resten af GND for meget.

Den sidste pin er VREG_AVDD, som forsyner det analoge kredsløb i regulatoren, og denne er meget følsom over for støj.

Figur 4. Skematisk snit, der viser regulatorens printkortlayout Raspberry-Pi-SC1631-Raspberry-Microcontroller- (3)

  • Layoutet af regulatoren på de minimale boards afspejler nøje det i Raspberry Pi Pico 2. Der er lagt et stort arbejde i designet af dette kredsløb, med mange gentagelser af PCB'en påkrævet for at gøre det så godt som vi evt. kan. Mens du kan placere disse komponenter på en række forskellige måder og stadig få regulatoren til at 'fungere' (dvs. producere en output vol.tage på nogenlunde det rigtige niveau, god nok til at få den til at køre kode), har vi fundet ud af, at vores regulator skal behandles på den helt rigtige måde for at holde den glad, og med glad mener jeg at producere den korrekte output vol.tage under en række belastningsstrømforhold.
  • Mens vi udførte vores eksperimenter på dette, var vi noget skuffede over at blive mindet om, at fysikkens ubelejlige verden ikke altid kan ignoreres. Vi, som ingeniører, forsøger i høj grad at gøre netop dette; at forenkle komponenter, ignorere (ofte) ubetydelige fysiske egenskaber og i stedet fokusere på den egenskab, som vi er interesserede i. F.eks.ample, en simpel modstand har ikke bare en modstand, men også induktans osv. I vores tilfælde (gen) opdagede vi, at induktorer har et magnetisk felt forbundet med sig, og vigtigst af alt, udstråler i en retning afhængig af hvilken vej spolen er viklet, og strømmens retning. Vi blev også mindet om, at en 'fuldt' afskærmet induktor ikke betyder, hvad du tror, ​​den kunne. Magnetfeltet dæmpes i høj grad, men nogle slipper stadig ud. Vi fandt ud af, at regulatorens ydeevne kunne forbedres betydeligt, hvis induktoren er 'den rigtige vej rundt'.
  • Det viser sig, at det magnetiske felt, der udsendes fra en 'forkert vej rundt' induktor, forstyrrer regulatorens udgangskondensator (C7), hvilket igen forstyrrer styrekredsløbet i RP2350. Med induktoren i den rigtige orientering og det præcise layout og komponentvalg, der bruges her, så forsvinder dette problem. Der vil uden tvivl være andre layouts, komponenter osv., som kunne fungere med en induktor i enhver orientering, men de vil højst sandsynligt bruge meget mere PCB-plads for at gøre det. Vi har leveret dette anbefalede layout for at spare folk for de mange ingeniørtimer, vi har brugt på at udvikle og forfine denne kompakte og velopdragne løsning.
  • Mere til punktet, vi går så langt som at sige, at hvis du vælger ikke at bruge vores eksample, så gør du det på eget ansvar. Ligesom vi allerede gør med RP2040 og krystalkredsløbet, hvor vi insisterer på (vel, stærkt foreslår), at du bruger en bestemt del (vi vil gøre det igen i krystalafsnittet i dette dokument).
  • Retningsevnen af ​​disse små induktorer er stort set universelt ignoreret, med orienteringen af ​​spolens vikling umulig at udlede, og også tilfældigt fordelt langs en rulle af komponenter. Større induktorhusstørrelser kan ofte ses at have polaritetsmarkeringer på dem, men vi kunne ikke finde nogen passende i den 0806 (2016 metriske) husstørrelse, vi har valgt. Til dette formål har vi arbejdet sammen med Abracon om at producere en 3.3μH-del med en prik for at angive polaritet, og vigtigst af alt, kom på en rulle med dem alle justeret på samme måde. TBD'erne er (eller vil meget snart) blive gjort tilgængelige for offentligheden fra distributører. Som tidligere nævnt er VREG_AVDD-forsyningen meget støjfølsom og skal derfor filtreres. Vi fandt ud af, at da VREG_AVDD kun trækker omkring 200μA, er et RC-filter på 33Ω og 4.7μF tilstrækkeligt.
  • Så for at opsummere vil de anvendte komponenter være...
    • C6, C7 & C9 – 4.7μF (0402, 1005 metrisk)
    • L1 – Abracon TBD (0806, 2016 metrisk)
    •  R3 – 33Ω (0402, 1005 metrisk)
  • RP2350-databladet har en mere detaljeret diskussion om anbefalingerne til regulatorlayout, se venligst Eksterne komponenter og krav til printkortlayout.

Indgangsforsyning

Raspberry-Pi-SC1631-Raspberry-Microcontroller- (2)

Indgangsstrømforbindelsen til dette design er via 5V VBUS-benet på et mikro-USB-stik (mærket J1 i figur 5). Dette er en almindelig metode til at forsyne elektroniske enheder, og det giver mening her, da RP2350 har USB-funktionalitet, som vi vil forbinde til databenene på dette stik. Da vi kun har brug for 3.3V til dette design (1.1V-forsyningen kommer fra den interne), skal vi sænke den indgående 5V USB-forsyning, i dette tilfælde ved hjælp af en anden, ekstern vol.tage regulator, i dette tilfælde en lineær regulator (aka Low Drop Out regulator eller LDO). Efter tidligere at have hyldet fordelene ved at bruge en effektiv omskiftningsregulator, kunne det også være et klogt valg at bruge en her også, men jeg har valgt enkelhed. For det første er det næsten altid nemmere at bruge en LDO. Der kræves ingen beregninger for at finde ud af, hvilken størrelse induktor du skal bruge, eller hvor store udgangskondensatorerne er, og layoutet er normalt også meget mere ligetil. For det andet er det ikke målet at spare hver sidste dråbe strøm; hvis det var, ville jeg seriøst overveje at bruge en skifteregulator, og du kan finde en exampat gøre det på Raspberry Pi Pico 2. Og for det tredje kan jeg simpelthen 'låne' det kredsløb, jeg tidligere brugte på RP2040-versionen af ​​Minimal-kortet. NCP1117 (U2), der er valgt her, har en fast udgang på 3.3V, er bredt tilgængelig og kan levere op til 1A strøm, hvilket vil være rigeligt til de fleste designs. Et kig på dataarket for NCP1117 fortæller os, at denne enhed kræver en 10μF kondensator på indgangen og en anden på udgangen (C1 og C5).

Afkobling af kondensatorer

Figur 6. Skematisk snit, der viser RP2350 strømforsyningens indgange, voltage regulator og afkoblingskondensatorerRaspberry-Pi-SC1631-Raspberry-Microcontroller- (3)

Et andet aspekt af strømforsyningsdesignet er de afkoblingskondensatorer, der kræves til RP2350. Disse giver to grundlæggende funktioner. For det første filtrerer de strømforsyningsstøj fra, og for det andet giver de en lokal forsyning af ladning, som kredsløbene inde i RP2350 kan bruge med kort varsel. Dette forhindrer voltage niveauet i umiddelbar nærhed fra at falde for meget, når den aktuelle efterspørgsel pludselig stiger. Derfor er det vigtigt at placere afkoblingen tæt på strømstifterne. Normalt anbefaler vi brugen af ​​en 100nF kondensator pr. strømben, dog afviger vi fra denne regel i et par tilfælde.

Figur 7. Udsnit af layout, der viser RP2350 routing og afkobling Raspberry-Pi-SC1631-Raspberry-Microcontroller- (4)

  • For det første er vi nødt til at gå på kompromis med mængden af ​​afkoblingskondensatorer, vi kan bruge, for at være i stand til at have plads nok til, at alle chipbenene kan føres ud, væk fra enheden. I dette design deler ben 53 og 54 på RP2350A (ben 68 og 69 på RP2350B) en enkelt kondensator (C12 i figur 7 og figur 6), da der ikke er meget plads på den side af enheden, og komponenterne og layout af regulatoren har forrang.
  • Denne mangel på plads kunne overvindes noget, hvis vi brugte mere kompleks/dyr teknologi, såsom mindre komponenter, eller et firelags printkort med komponenter på både over- og undersiden. Dette er en design-afvejning; vi har reduceret kompleksiteten og omkostningerne, på bekostning af at have mindre afkoblingskapacitans, og kondensatorer, som er lidt længere væk fra chippen, end det er optimalt (dette øger induktansen). Dette kunne have den effekt, at det begrænser den maksimale hastighed, designet kan fungere ved, da voltage-forsyningen kan blive for støjende og falde til under den tilladte minimumsvolumentage; men for de fleste applikationer bør denne afvejning være acceptabel.
  • Den anden afvigelse fra 100nF-reglen er, så vi kan forbedre voltage regulator ydeevne; vi anbefaler at bruge en 4.7μF til C10, som er placeret på den anden side af chippen fra regulatoren.

Kapitel 3. Flash-hukommelse

 Primær blitz

Figur 8. Skematisk sektion, der viser den primære flashhukommelse og USB_BOOT-kredsløb

Raspberry-Pi-SC1631-Raspberry-Microcontroller- (4)

  • For at kunne gemme programkode, som RP2350 kan starte og køre fra, skal vi bruge en flashhukommelse, specifikt en quad SPI flashhukommelse. Enheden, der er valgt her, er en W25Q128JVS-enhed (U3 i figur 8), som er en 128Mbit-chip (16MB). Dette er den største hukommelsesstørrelse, som RP2350 kan understøtte. Hvis netop din applikation ikke har brug for så meget lagerplads, så kunne en mindre, billigere hukommelse bruges i stedet.
  • Da denne databus kan være ret højfrekvent og er regelmæssigt i brug, bør QSPI-benene på RP2350 forbindes direkte til flashen ved at bruge korte forbindelser for at opretholde signalintegriteten og også reducere krydstale i omgivende kredsløb. Crosstalk er hvor signaler på et kredsløbsnet kan inducere uønsket voltages på et tilstødende kredsløb, hvilket potentielt forårsager fejl.
  • QSPI_SS-signalet er et specialtilfælde. Den er tilsluttet blitzen direkte, men den har også to modstande (nå, fire, men det kommer jeg ind på senere) tilsluttet. Den første (R1) er en pull-up til 3.3V-forsyningen. Flash-hukommelsen kræver, at chip-select-indgangen er på samme voltage som sin egen 3.3V forsyningsstift, når enheden tændes, ellers fungerer den ikke korrekt. Når RP2350 er tændt, vil dens QSPI_SS pin automatisk som standard være en pull-up, men der er en kort periode under tænding, hvor tilstanden af ​​QSPI_SS pin ikke kan garanteres. Tilføjelsen af ​​en pull-up modstand sikrer, at dette krav altid vil blive opfyldt. R1 er markeret som DNF (Do Not Fit) på skemaet, da vi har fundet ud af, at med netop denne flashenhed er den eksterne pull-up unødvendig. Men hvis der bruges en anden flash, kan det blive vigtigt at kunne indsætte en 10kΩ modstand her, så den er inkluderet for en sikkerheds skyld.
  • Den anden modstand (R6) er en 1kΩ modstand, forbundet til en trykknap (SW1) mærket 'USB_BOOT'. Dette er fordi QSPI_SS pin bruges som en 'boot strap'; RP2350 kontrollerer værdien af ​​denne I/O under opstartssekvensen, og hvis den viser sig at være et logisk 0, så vender RP2350 tilbage til BOOTSEL-tilstanden, hvor RP2350 præsenterer sig selv som en USB-masselagerenhed, og kode kan kopieres direkte til det. Hvis vi blot trykker på knappen, trækker vi QSPI_SS pin til jorden, og hvis enheden så efterfølgende nulstilles (f.eks. ved at skifte RUN pin), vil RP2350 genstarte i BOOTSEL mode i stedet for at forsøge at køre indholdet af flashen. Disse modstande, R2 og R6 (også R9 og R10), bør placeres tæt på flash-chippen, så vi undgår yderligere længder af kobberspor, som kan påvirke signalet.
  • Alt ovenstående gælder specifikt for RP2350, som ikke har nogen intern flash. Selvfølgelig har RP2354-enhederne interne 2MB flash-hukommelser, så den eksterne U3-hukommelse er ikke påkrævet, så U3 kan sikkert fjernes fra skemaet eller blot efterlades ubefolket. I begge disse tilfælde ønsker vi stadig at beholde USB_BOOT-switchen forbundet til QSPI_SS, så vi stadig kan gå ind i USB-starttilstand.

 Sekundær flash eller PSRAM

  • RP235x-serien understøtter nu en anden hukommelsesenhed, der bruger de samme QSPI-ben, med en GPIO, der giver det ekstra chipvalg. Så hvis vi bruger en RP2354 (som har intern flash), så kunne vi bruge U3 som en sekundær flash eller endda erstatte den med en PSRAM-enhed. For at gøre dette skal vi afbryde QSPI_SS fra U3, og i stedet forbinde den til en passende GPIO. Den nærmeste GPIO, der er i stand til at være en chip-selektion (XIP_CS1n), er GPIO0, så ved at fjerne 0Ω fra R10 og tilpasse den til R9, kan vi nu få adgang til U3 foruden on-chip flashen. For fuldt ud at udnyttetage af denne funktion, hvor vi har to eksterne hukommelsesenheder, så de flash-løse RP2350-dele kan drage fordel, det største af de to Minimal-kort, til RP2350B, inkluderer et valgfrit footprint (U4) til en ekstra hukommelseschip.

Figur 9. Skematisk snit, der viser den valgfri sekundære hukommelsesenhed

Raspberry-Pi-SC1631-Raspberry-Microcontroller- (5)

For at kunne bruge denne enhed skal den naturligvis være udfyldt samt R11 (0Ω) og R13 (10KΩ). Tilføjelsen af ​​R11 forbinder GPIO0 (XIP_CS1n-signalet) til chipvalget i den anden hukommelse. Pull-up'en på chip select pin er absolut nødvendig denne gang, da standardtilstanden for GPIO0 skal trækkes lavt ved opstart, hvilket ville få vores flashenhed til at svigte. C22 ville også være nødvendig for at levere lokal strømforsyningsafkobling til U4.

Understøttede flash-chips
Den indledende flash-sondesekvens, brugt af bunden til at udtrække den anden stage fra flash, bruger en 03h seriel læsekommando med 24-bit adressering og et serielt ur på cirka 1MHz. Den cykler gentagne gange gennem de fire kombinationer af klokpolaritet og klokfase og leder efter et gyldigt sekund.tage CRC32 kontrolsum.
Som den anden stage er så fri til at konfigurere execute-in-place ved hjælp af den samme 03h serielle læsekommando, RP2350 kan udføre cached flash execute-in-place med enhver chip, der understøtter 03h seriel læsning med 24-bit adressering, som inkluderer de fleste 25-serie flash-enheder . SDK'en giver en exampden anden stage for CPOL=0 CPHA=0, kl https://github.com/raspberrypi/pico-sdk/blob/master/src/rp2350/boot_stage2/boot2_generic_03h.S. For at understøtte flash-programmering ved hjælp af rutinerne i bunden skal enheden også reagere på følgende kommandoer:

  • 02h 256-byte side program
  • 05h statusregister læst
  • 06h sæt skriveaktiveringslås
  • 20 timer 4 kB sektorsletning

RP2350 understøtter også en lang række dual-SPI- og QSPI-adgangstilstande. F.eksample, https://github.com/raspberrypi/pico-sdk/blob/master/src/rp2350/boot_stage2/boot2_w25q080.S konfigurerer en Winbond W25Q-serie enhed til quad-IO kontinuerlig læsetilstand, hvor RP2350 sender quad-IO adresser (uden kommandopræfiks), og flashen reagerer med quad-IO data.

Der er behov for en vis forsigtighed med flash XIP-tilstande, hvor flashenheden holder op med at reagere på standard serielle kommandoer, som Winbond kontinuerlig læsetilstand nævnt ovenfor. Dette kan forårsage problemer, når RP2350 nulstilles, men flashenheden er ikke tændt, fordi flashen så ikke reagerer på bootrom'ens flashsondesekvens. Før udsendelse af 03h-serielæsningen, udsender bootrom altid følgende faste sekvens, som er den bedste indsats for at afbryde XIP på en række flash-enheder:

  • CSn=1, IO[3:0]=4'b0000 (via pull-downs for at undgå uenighed), udstede ×32 ure
  • CSn=0, IO[3:0]=4'b1111 (via pull-ups for at undgå uenighed), udstede ×32 ure
  • CSn=1
  • CSn=0, MOSI=1'b1 (drevet lav-Z, alle andre I/O'er Hi-Z), problem ×16 ure

Hvis din valgte enhed ikke reagerer på denne sekvens, når den er i sin kontinuerlige læsetilstand, skal den holdes i en tilstand, hvor hver overførsel er præfikset af en seriel kommando, ellers vil RP2350 ikke være i stand til at genoprette efter en intern nulstilling.
For flere detaljer om QSPI, se venligst QSPI Memory Interface (QMI) i RP2350 dataarket.

Kapitel 4. Krystaloscillator

Figur 10. Skematisk snit, der viser krystaloscillatoren og belastningskondensatorerneRaspberry-Pi-SC1631-Raspberry-Microcontroller- (6)

  • Strengt taget kræver RP2350 faktisk ikke en ekstern clock-kilde, da den har sin egen interne oscillator. Men da frekvensen af ​​denne interne oscillator ikke er veldefineret eller kontrolleret, varierer fra chip til chip, såvel som med forskellig forsyningsvolumentages og temperaturer, anbefales det at bruge en stabil ekstern frekvenskilde. Applikationer, der er afhængige af nøjagtige frekvenser, er ikke mulige uden en ekstern frekvenskilde, idet USB er et primært eks.ample.
  • Tilvejebringelse af en ekstern frekvenskilde kan gøres på en af ​​to måder: enten ved at levere en klokkilde med en CMOS-udgang (firkantbølge af IOVDD vol.tage) ind i XIN-stiften, eller ved at bruge en 12MHz krystal forbundet imellem
  • XIN og XOUT. Brug af en krystal er den foretrukne mulighed her, da de både er relativt billige og meget præcise.
  • Den valgte krystal til dette design er en ABM8-272-T3 (Y1 i figur 10). Dette er den samme 12MHz krystal, der bruges på Raspberry Pi Pico og Raspberry Pi Pico 2. Vi anbefaler stærkt at bruge denne krystal sammen med det medfølgende kredsløb for at sikre, at uret starter hurtigt under alle forhold uden at beskadige selve krystallen. Krystallen har en frekvenstolerance på 30 ppm, hvilket burde være godt nok til de fleste applikationer. Sammen med en frekvenstolerance på +/-30 ppm har den en maksimal ESR på 50Ω, og en belastningskapacitans på 10pF, hvilket begge har haft betydning for valget af medfølgende komponenter.
  • For at en krystal skal oscillere ved den ønskede frekvens, specificerer producenten den belastningskapacitans, den skal bruge for at gøre det, og i dette tilfælde er den 10pF. Denne belastningskapacitans opnås ved at placere to kondensatorer af samme værdi, en på hver side af krystallen til jord (C3 og C4). Fra krystallens punkt view, er disse kondensatorer forbundet i serie mellem de to terminaler. Grundlæggende kredsløbsteori fortæller os, at de kombineres for at give en kapacitans på (C3*C4)/(C3+C4), og da C3=C4, så er det simpelthen C3/2. I dette example, vi har brugt 15pF kondensatorer, så seriekombinationen er 7.5pF. Ud over denne tilsigtede belastningskapacitans skal vi også tilføje en værdi for den utilsigtede ekstra kapacitans, eller parasitære kapacitans, som vi får fra PCB-sporene og XIN- og XOUT-benene på RP2350. Vi antager en værdi på 3pF for dette, og da denne kapacitans er parallel med C3 og C4, tilføjer vi blot dette for at give os en samlet belastningskapacitans på 10.5pF, hvilket er tæt nok på målet på 10pF. Som du kan se, er PCB-sporenes parasitære kapacitans en faktor, og vi skal derfor holde dem små, så vi ikke forstyrrer krystallen og stopper den med at svinge efter hensigten. Prøv at holde layoutet så kort som muligt.
  • Den anden betragtning er den maksimale ESR (ækvivalent seriemodstand) for krystallen. Vi har valgt en enhed med maksimalt 50Ω, da vi har fundet ud af, at dette sammen med en 1kΩ seriemodstand (R2) er en god værdi for at forhindre, at krystallen bliver overdrevet og beskadiget, når man bruger en IOVDD niveau på 3.3V. Men hvis IOVDD er mindre end 3.3V, reduceres drevstrømmen for XIN/XOUT-benene, og du vil opdage, at ampkrystallens litude er lavere eller svinger måske slet ikke. I dette tilfælde skal der bruges en mindre værdi af seriemodstanden. Enhver afvigelse fra krystalkredsløbet vist her, eller med et andet IOVDD-niveau end 3.3V, vil kræve omfattende test for at sikre, at krystallen svinger under alle forhold og starter tilstrækkeligt hurtigt op til ikke at forårsage problemer med din applikation.

 Anbefalet krystal

  • Til originale designs, der bruger RP2350, anbefaler vi at bruge Abracon ABM8-272-T3. F.eksample, udover det minimale design example, se Pico 2-kortskemaet i appendiks B til Raspberry Pi Pico 2-databladet og Pico 2-designet files.
  • Brug Abracon ABM8-272-T3 for den bedste ydeevne og stabilitet på tværs af typiske driftstemperaturområder. Du kan købe ABM8-272-T3 direkte fra Abracon eller fra en autoriseret forhandler. Pico 2 er blevet specifikt tunet til ABM8-272-T3, som har følgende specifikationer:
  • Selvom du bruger en krystal med lignende specifikationer, skal du teste kredsløbet over en række temperaturer for at sikre stabilitet.
  • Krystaloscillatoren får strøm fra IOVDD voltage. Som et resultat, Abracon-krystallen og den særlige dampingmodstanden er indstillet til 3.3V drift. Hvis du bruger en anden IO voltage, du bliver nødt til at genindstille.
  • Enhver ændring af krystalparametre risikerer ustabilitet på tværs af komponenter forbundet til krystalkredsløbet.
  • Hvis du ikke kan købe den anbefalede krystal direkte fra Abracon eller en forhandler, så kontakt applications@raspberrypi.com.

Kapitel 5. IO'er

 USB
Figur 11. Skematisk snit, der viser USB-benene på RP2350 og serieterminering

Raspberry-Pi-SC1631-Raspberry-Microcontroller- (7)

  • RP2350 har to ben, der skal bruges til fuld hastighed (FS) eller lav hastighed (LS) USB, enten som vært eller enhed, afhængigt af den anvendte software. Som vi allerede har diskuteret, kan RP2350 også starte som en USB-masselagerenhed, så det giver mening at forbinde disse ben til USB-stikket (J1 i figur 5). USB_DP- og USB_DM-benene på RP2350 kræver ingen yderligere pull-ups eller pull-downs (kræves for at angive hastighed, FS eller LS, eller om det er en vært eller enhed), da disse er indbygget i I/O'erne. Disse I/O'er kræver dog 27Ω serietermineringsmodstande (R7 og R8 i figur 11), placeret tæt på chippen for at opfylde USB-impedansspecifikationen.
  • Selvom RP2350 er begrænset til fuld hastighedsdatahastighed (12 Mbps), bør vi prøve at sikre, at den karakteristiske impedans af transmissionslinjerne (kobbersporene, der forbinder chippen med stikket) er tæt på
  • USB-specifikation på 90Ω (målt differentielt). På et 1 mm tykt bord som dette, hvis vi bruger 0.8 mm brede spor på USB_DP og USB_DM, med et mellemrum på 0.15 mm mellem dem, skulle vi få en differentialkarakteristisk impedans på omkring 90Ω. Dette er for at sikre, at signalerne kan rejse langs disse transmissionslinjer så rent som muligt, hvilket minimerer voltage refleksioner, som kan reducere signalets integritet. For at disse transmissionsledninger skal fungere ordentligt, skal vi sørge for, at der er jord direkte under disse ledninger. Et solidt, uafbrudt område af jordkobber, der strækker sig i hele banens længde. På dette design er næsten hele det nederste kobberlag viet til jord, og der blev taget særligt hensyn til at sikre, at USB-sporene passerer over intet andet end jord. Hvis der vælges et printkort tykkere end 1 mm til din opbygning, så har vi to muligheder. Vi kunne omkonstruere USB-transmissionslinjerne for at kompensere for den større afstand mellem sporet og jorden nedenunder (hvilket kunne være en fysisk umulighed), eller vi kunne ignorere det og håbe på det bedste. USB FS kan være ret tilgivende, men dit kilometertal kan variere. Det vil sandsynligvis fungere i mange applikationer, men det vil sandsynligvis ikke være kompatibelt med USB-standarden.

 I/O-headere

Figur 12. Skematisk snit, der viser 2.54 mm I/O-headers af QFN60-versionen

Raspberry-Pi-SC1631-Raspberry-Microcontroller- (8)

  • Ud over det allerede nævnte USB-stik er der et par dobbeltrækkede 2.54 mm headere (J2 og J3 i figur 12), en på hver side af kortet, som resten af ​​I/O'en er blevet tilsluttet. Der er 30 GPIO på RP2350A, hvorimod der er 48 GPIO på RP2350B, så overskrifterne på denne version af Minimal-kortet er større for at tillade de ekstra ben (se figur 13).
  • Da dette er et design til generelle formål, uden nogen særlig applikation i tankerne, er I/O'en blevet stillet til rådighed for tilslutning, som brugeren ønsker. Den inderste række af ben på hver header er I/O'erne, og den ydre række er alle forbundet til jord. Det er god praksis at inkludere mange jordforbindelser på I/O-stik. Dette hjælper med at opretholde en lav impedansjord og giver også masser af potentielle returveje for strømme, der rejser til og fra
  • I/O-forbindelser. Dette er vigtigt for at minimere elektromagnetisk interferens, som kan være forårsaget af returstrømmene fra hurtigt skiftende signaler, der tager lange sløjfer for at fuldende kredsløbet.
  • Begge headere er på det samme 2.54 mm gitter, hvilket gør det nemmere at forbinde dette board med andre ting, såsom breadboards. Du vil måske overveje kun at montere en enkelt række skærebord i stedet for dobbelt række skærebord, undvære den ydre række af jordforbindelser, for at gøre det mere bekvemt at montere på et brødbræt.

Figur 13. Skematisk snit, der viser 2.54 mm I/O-headers af QFN80-versionen

Raspberry-Pi-SC1631-Raspberry-Microcontroller- (9)

Debug stik

Figur 14. Skematisk sektion, der viser det valgfrie JST-stik til SWD-fejlretning

Raspberry-Pi-SC1631-Raspberry-Microcontroller- (10)
For on-chip debugging kan du ønske at oprette forbindelse til SWD-grænsefladen på RP2350. De to ben, SWD og SWCLK, er tilgængelige på 2.54 mm header, J3, for at gøre det nemt at tilslutte den debug-probe efter eget valg. Ud over dette har jeg inkluderet en valgfri JST-header, som giver en nem forbindelse til Raspberry Pi Debug Probe. Du behøver ikke bruge dette, 2.54 mm overskrifterne vil være tilstrækkelige, hvis du har til hensigt at fejlfinde software, men jeg finder det mere praktisk at gøre det. Jeg har valgt et vandret stik, mest fordi jeg godt kan lide udseendet af det, selvom det ikke er på kanten af ​​brættet, men lodrette fås, dog med et lidt andet fodaftryk.

Knapper
Det minimale design indeholder nu ikke én, men to knapper, hvor RP240-versionen ikke havde nogen. Den ene er til USB-opstartsvalg, som vi tidligere har diskuteret, men den anden er en 'reset'-knap, der er koblet til RUN-pinden. Ingen af ​​disse er strengt nødvendige (selvom BOOTSEL-knappen skulle udskiftes med en header eller lignende, hvis USB-opstartstilstand var påkrævet), og kan fjernes, hvis plads eller omkostninger er et problem, men de gør det bestemt at bruge RP2350 mere behagelig oplevelse.

Bilag A: Komplet Skematisk -RP2350A version

Figur 15. Fuldt skema over det minimale design til RP2350ARaspberry-Pi-SC1631-Raspberry-Microcontroller- (11) Raspberry-Pi-SC1631-Raspberry-Microcontroller- (12)

Bilag B: Komplet skematisk -RP2350B version

Figur 16. Fuldt skema over det minimale design til RP2350B

Raspberry-Pi-SC1631-Raspberry-Microcontroller- (13) Raspberry-Pi-SC1631-Raspberry-Microcontroller- (14)

Bilag H: Udgivelseshistorik for dokumentation

8. august 2024
Første udgivelse.

i Raspberry Pi
Raspberry Pi er et varemærke tilhørende Raspberry Pi Ltd
Raspberry Pi Ltd

Dokumenter/ressourcer

Raspberry Pi SC1631 Raspberry Microcontroller [pdf] Brugsanvisning
SC1631 Raspberry Microcontroller, SC1631, Raspberry Microcontroller, Microcontroller

Referencer

Efterlad en kommentar

Din e-mailadresse vil ikke blive offentliggjort. Påkrævede felter er markeret *