Hallon-logotyp

Raspberry Pi SC1631 Raspberry Microcontroller

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

Produktspecifikationer

  • Modell: RP2350
  • Paket: QFN-60
  • Intern Flash-lagring: Nej
  • Voltage Regulator: On-chip switching regulator
  • Regulatorstift: 5 (3.3V-ingång, 1.1V-utgång, VREG_AVDD, VREG_LX, VREG_PGND)

Produktanvändningsinstruktioner

  • Kapitel 1: Inledning
  • RP2350-serien erbjuder olika paketalternativ jämfört med RP2040-serien. RP2350A och RP2354A kommer i ett QFN-60-paket utan respektive med intern flashlagring, medan RP2354B och RP2350B kommer i ett QFN-80-paket med och utan flashlagring.
  • Kapitel 2: Kraft
    RP2350-serien har en ny on-chip switching voltage regulator med fem stift. Denna regulator kräver externa komponenter för drift men erbjuder högre effekteffektivitet vid högre belastningsströmmar jämfört med den linjära regulatorn i RP2040-serien. Var uppmärksam på bruskänsligheten i VREG_AVDD-stiftet som försörjer den analoga kretsen.

Vanliga frågor (FAQ)

  • F: Vad är den största skillnaden mellan RP2350A och RP2350B?
    S: Den största skillnaden ligger i närvaron av intern flashlagring. RP2350A har inte intern flashlagring medan RP2350B har.
  • F: Hur många stift har voltage regulator i RP2350-serien har?
    A: VoltagRegulatorn i RP2350-serien har fem stift.

Hårdvarudesign med RP2350 Använda RP2350 mikrokontroller för att bygga kort och produkter

Kolofon

  • © 2023-2024 Raspberry Pi Ltd
  • Denna dokumentation är licensierad under en Creative Commons Attribution-NoDerivatives 4.0 International (CC BY-ND). byggdatum: 2024-08-08 byggversion: c0acc5b-clean
  • Juridisk friskrivningsklausul
  • TEKNISK OCH PÅLITLIGHETSDATA FÖR RASPBERRY PI-PRODUKTER (INKLUSIVE DATABLAD) SOM ÄNDRADE FRÅN TID TILL TID ("RESURSER") TILLHANDAHÅLLS AV RASPBERRY PI LTD ("RPL") "I BEFINTLIGT SKICK" OCH EVENTUELLA UTTRYCKLIGA ELLER UNDERFÖRSTÅDDA, UNDERFÖRSTÅDDA, UNDERFÖRSTÅDDA TILL FRÅSES UNDERFÖRSTÅDDA GARANTIER OM SÄLJBARHET OCH LÄMPLIGHET FÖR ETT SÄRSKILT SYFTE. I DEN MAXIMALA UTSTRÄCKNING SOM TILLÅTS AV TILLÄMPLIG LAG SKALL RPL UNDER INGA OMSTÄNDIGHETER VARA ANSVARIGT FÖR NÅGON DIREKTA, INDIREKTA, OAVSIKTLIGA, SPECIELLA, EXEMPELSKADOR ELLER FÖLJDSKADOR (INKLUSIVE, MEN INTE BEGRÄNSADE TILL ANVÄNDNING AV VAROR, UPPHANDLINGAR; DATA ELLER VINST ELLER AFFÄRSAVBROTT ELLER OAVSETT OCH PÅ NÅGON TEORI OM ANSVAR, OAVSETT I KONTRAKT, STIKT ANSVAR ELLER SKADESTÅND (INKLUSIVE FÖRSIKTIGHET ELLER ANNAT SÄTT) SOM UPPSTÅR NÅGOT SÄTT FRÅN ANVÄNDNINGEN, AV SÅDAN SKADA.
  • RPL förbehåller sig rätten att göra förbättringar, förbättringar, korrigeringar eller andra modifieringar av RESURSERNA eller de produkter som beskrivs i dem när som helst och utan ytterligare meddelande.
    RESURSERNA är avsedda för skickliga användare med lämpliga nivåer av designkunskap. Användare är ensamt ansvariga för sitt val och användning av RESURSER och all tillämpning av de produkter som beskrivs i dem. Användaren samtycker till att hålla RPL skadeslös mot alla ansvar, kostnader, skador eller andra förluster som uppstår till följd av deras användning av RESURSERNA.
  • RPL ger användarna tillåtelse att använda RESURSER enbart i samband med Raspberry Pi-produkterna. All annan användning av RESURSERNA är förbjuden. Ingen licens ges till någon annan RPL eller annan immateriell rättighet från tredje part.
  • HÖG RISKAKTIVITETER. Raspberry Pi-produkter är inte designade, tillverkade eller avsedda för användning i farliga miljöer som kräver felsäker prestanda, till exempel vid drift av kärntekniska anläggningar, flygplansnavigering eller kommunikationssystem, flygledning, vapensystem eller säkerhetskritiska applikationer (inklusive livsuppehållande) system och annan medicinsk utrustning), där fel på produkterna direkt kan leda till dödsfall, personskada eller allvarliga fysiska eller miljömässiga skador (”Högriskaktiviteter”). RPL frånsäger sig uttryckligen alla uttryckliga eller underförstådda garantier för lämplighet för högriskaktiviteter och tar inget ansvar för användning eller inkludering av Raspberry Pi-produkter i högriskaktiviteter.
  • Raspberry Pi-produkter tillhandahålls enligt RPL:s standardvillkor. RPL:s tillhandahållande av RESURSERNA utökar eller modifierar inte RPL:s standardvillkor inklusive men inte begränsat till friskrivningarna och garantierna uttryckta i dem.

Kapitel 1. Inledning

Figur 1. KiCad 3D-rendering av RP2350A Minimal design exampleRaspberry-Pi-SC1631-Raspberry-Microcontroller- (1)

När vi först introducerade Raspberry Pi RP2040 släppte vi också ett "Minimal" designex.ample och medföljande guide Hårdvarudesign med RP2040 som förhoppningsvis förklarade hur RP2040 kunde användas i ett enkelt kretskort, och varför de olika komponentvalen gjordes. Med ankomsten av RP235x-serien är det dags att återvända till den ursprungliga RP2040 Minimal-designen och uppdatera den för att ta hänsyn till de nya funktionerna, och även för var och en av paketvarianterna; RP2350A med sitt QFN-60-paket och RP2350B som är en QFN-80. Återigen, dessa mönster är i Kicad (7.0)-format och är tillgängliga för nedladdning (https://datasheets.raspberrypi.com/rp2350/Minimal-KiCAD.zip).

 Minimalstyrelsen
Det ursprungliga Minimal-kortet var ett försök att tillhandahålla en enkel referensdesign, med det absoluta minimum av externa komponenter som krävs för att köra RP2040 och fortfarande ha all IO exponerad och tillgänglig. Detta bestod huvudsakligen av en strömkälla (en 5V till 3.3V linjär regulator), kristalloscillator, flashminne och IO-anslutningar (ett mikro-USB-uttag och GPIO-headers). De nya Minimal-korten i RP235x-serien är i stort sett desamma, men med vissa ändringar nödvändiga på grund av den nya hårdvaran. Utöver detta, och trots att det går något emot designens minimala karaktär, har jag lagt till ett par knappar för bootsel and run, tillsammans med en separat SWD-header, vilket borde innebära en mycket mindre frustrerande felsökningsupplevelse den här gången. Designen behöver strikt sett inte dessa knappar, signalerna finns fortfarande tillgängliga på rubrikerna, och de kan utelämnas om du är särskilt kostnads- eller utrymmesmedveten, eller har masochistiska tendenser.

 RP2040 vs RP235x-serien
Den mest uppenbara förändringen finns i paketen. Medan RP2040 är en 7x7 mm QFN-56, har RP235x-serien för närvarande fyra olika medlemmar. Det finns två enheter som delar samma QFN-60-paket; RP2350A som inte innehåller intern flashlagring och RP2354A som gör det. På samma sätt kommer QFN-80 också i två smaker; RP2354B med blixt och RP2350B utan. QFN-60-enheterna och den ursprungliga RP2040 delar en gemensam arvtage.

De har vardera 30 GPIO:er, varav fyra också är anslutna till ADC:n, och är 7x7 mm stora. Trots detta är RP2350A inte en drop-in ersättning för RP2040, eftersom antalet stift på varje är olika. Däremot har QFN-80-kretsen nu 48 GPIO:er, och åtta av dessa är nu ADC-kompatibla. På grund av detta har vi nu två Minimal-brädor; en för 60-stiftsenheter och en för 80. Dessa Minimal-kort är främst designade för delarna utan intern blixt (RP2350), men designen kan enkelt användas med de interna blixtenheterna (RP2354) genom att helt enkelt utelämna blixten ombord minne, eller till och med använda den som en sekundär flashenhet (mer om detta senare). Det är liten skillnad mellan de två korten, förutom det faktum att QFN-80-versionen har längre rader med rubriker för att rymma den extra GPIO, och kortet är därför större.

Bortsett från paketet är den största skillnaden på kortnivå mellan RP235x-serien och RP2040 strömförsörjningen. RP235x-serien har några nya kraftstift och en annan intern regulator. Den linjära regulatorn på 100mA på RP2040 har ersatts med en 200mA omkopplingsregulator, och som sådan kräver den några mycket specifika kretsar och inte så lite omsorg i layouten. Det rekommenderas starkt att du noga följer våra layout- och komponentval; vi har redan gått igenom smärtan att behöva göra flera iterationer av designen, så förhoppningsvis behöver du inte göra det.

Figur 2. KiCad 3D-rendering av RP2350B Minimal design example Raspberry-Pi-SC1631-Raspberry-Microcontroller- (2)

 Designen
Avsikten med Minimal design examples är att skapa ett par enkla kort med hjälp av RP235x-serien, som ska vara billigt och enkelt att tillverka, utan att använda onödigt exotiska PCB-tekniker. Minimal-brädorna är därför designade i två lager, med komponenter som borde vara allmänt tillgängliga, och alla monterade på ovansidan av brädan. Även om det skulle vara trevligt att använda stora komponenter som är lätta att löda för hand, betyder den lilla stigningen hos QFN-chipsen (2 mm) att det är oundvikligt att använda vissa 0.4 (0402 metriska) passiva komponenter om alla GPIO:er ska användas. Även om handlödning av 1005-komponenter inte är alltför utmanande med en anständig lödkolv, är det nästan omöjligt att löda QFN utan specialutrustning.

Under de kommande avsnitten ska jag försöka förklara vad den extra kretsen är till för, och förhoppningsvis hur vi kom att göra de val vi gjorde. Eftersom jag faktiskt kommer att prata om två separata mönster, en för varje förpackningsstorlek, har jag försökt att hålla saker och ting så enkla som jag kan. Så långt det är möjligt är alla komponentreferenser för de två korten identiska, så om jag hänvisar till U1, R1, etc, så är det lika relevant för båda korten. Det uppenbara undantaget är när komponenten bara finns på ett av korten (i alla fall kommer detta att vara på den större 80-stiftsvarianten), då kommer komponenten i fråga bara att finnas på QFN-80-designen; till exempelample, R13 visas bara på denna tavla.

Kapitel 2. Power

Strömförsörjningen i RP235x-serien och RP2040 skiljer sig något åt ​​den här gången, även om den i sin enklaste konfiguration fortfarande kräver två försörjningar, 3.3V och 1.1V. RP235x-serien är samtidigt mer effekthungrig, eftersom den är högre prestanda, och även mer sparsam (när den är i lågeffekttillstånd) än sin föregångare, och därför har den linjära regulatorn på RP2040 uppgraderats med en switchande regulator. Detta ger oss större effekteffektivitet vid högre strömmar (upp till 200mA jämfört med 100mA tidigare).

 Ny on-chip voltage regulator

Figur 3. Schematisk sektion som visar den interna regulatorkretsenRaspberry-Pi-SC1631-Raspberry-Microcontroller- (1)

Den linjära regulatorn på RP2040 hade två stift, en 3.3V-ingång och en 1.1V-utgång för att försörja DVDD:n på chippet. Den här gången har regulatorn i RP235x-serien fem stift och kräver en del externa komponenter för att få det att fungera. Även om detta verkar lite av ett bakåtsteg när det gäller användbarhet, har växlingsregulatorn fördelentage av att vara mer energieffektiv vid högre belastningsströmmar.

Som namnet antyder slår regulatorn snabbt på och av en intern transistor som ansluter 3.3V ingångsvolymentage (VREG_VIN) till VREG_LX-stiftet, och med hjälp av en induktor (L1) och en utgångskondensator (C7) kan den producera en DC-utgångsvolymtage som har stegrats ned från ingången. VREG_FB-stiftet övervakar utgångsvolymentage, och justerar på/av-förhållandet för omkopplingscykeln, för att säkerställa att den erforderliga volymentage bibehålls. Eftersom stora strömmar växlas från VREG_VIN till VREG_LX krävs en stor kondensator (C6) nära ingången, så vi stör inte 3.3V-matningen för mycket. På tal om dessa stora kopplingsströmmar så kommer regulatorn också med en egen jordreturanslutning, VREG_PGND. På samma sätt med VREG_VIN och VREG_LX är layouten av denna anslutning kritisk, och medan VREG_PGND måste ansluta till huvud-GND, måste det göras på ett sådant sätt att alla de stora omkopplingsströmmarna återgår direkt till PGND-stiftet, utan att störa resten av GND för mycket.

Det sista stiftet är VREG_AVDD, som försörjer den analoga kretsen i regulatorn, och denna är mycket känslig för brus.

Figur 4. Schematisk sektion som visar regulatorns PCB-layout Raspberry-Pi-SC1631-Raspberry-Microcontroller- (3)

  • Layouten för regulatorn på de minimala korten återspeglar nära den hos Raspberry Pi Pico 2. En hel del arbete har lagts ner på designen av denna krets, med många iterationer av PCB som krävs för att göra den så bra som vi möjligen burk. Även om du kan placera dessa komponenter på en mängd olika sätt och fortfarande få regulatorn att "fungera" (dvs. producera en utgångsvolymtage på ungefär rätt nivå, tillräckligt bra för att få den att köra kod), har vi funnit att vår regulator måste behandlas på exakt rätt sätt för att hålla den nöjd, och med glad menar jag att producera rätt volymtage under en rad belastningsströmförhållanden.
  • När vi utförde våra experiment på detta, blev vi något besvikna över att bli påminda om att fysikens obekväma värld inte alltid kan ignoreras. Vi som ingenjörer försöker till stor del göra just detta; förenkla komponenter, ignorera (ofta) obetydliga fysiska egenskaper, och istället fokusera på den egenskap som vi är intresserade av. T.ex.ample, ett enkelt motstånd har inte bara ett motstånd, utan också induktans, etc. I vårt fall har vi (åter)upptäckt att induktorer har ett magnetfält associerat med sig, och viktigare, strålar i en riktning beroende på vilket håll spolen är lindad, och strömmens flödesriktning. Vi blev också påminda om att en "helt" skärmad induktor inte betyder vad du tror att den skulle kunna. Magnetfältet dämpas i stor utsträckning, men en del kommer fortfarande ut. Vi fann att regulatorns prestanda kan förbättras avsevärt om induktorn är "på rätt väg".
  • Det visar sig att det magnetiska fältet som emitteras från en induktor av typen "fel åt gången" stör regulatorns utgångskondensator (C7), vilket i sin tur stör styrkretsen i RP2350. Med induktorn i rätt riktning, och den exakta layouten och komponentvalen som används här, försvinner detta problem. Det kommer utan tvekan att finnas andra layouter, komponenter, etc, som skulle kunna fungera med en induktor i vilken orientering som helst, men de kommer med största sannolikhet att använda mycket mer PCB-utrymme för att göra det. Vi har tillhandahållit denna rekommenderade layout för att spara människor de många ingenjörstimmar vi har lagt ner på att utveckla och förfina denna kompakta och väluppfostrade lösning.
  • Mer till saken, vi går så långt som att säga att om du väljer att inte använda vårt example, då gör du det på egen risk. Ungefär som vi redan gör med RP2040 och kristallkretsen, där vi insisterar (ja, rekommenderar starkt) att du använder en viss del (vi kommer att göra det igen i kristallavsnittet i detta dokument).
  • Riktningen av dessa små induktorer ignoreras i stort sett universellt, med orienteringen av spollindningen omöjlig att härleda, och även slumpmässigt fördelad längs en rulle av komponenter. Större induktorhöljestorlekar kan ofta ha polaritetsmarkeringar på sig, men vi kunde inte hitta några lämpliga i den 0806 (2016 metriska) höljestorleken vi har valt. För detta ändamål har vi arbetat med Abracon för att producera en 3.3 μH del med en prick för att indikera polaritet, och viktigast av allt, kom på en rulle med dem alla inriktade på samma sätt. TBD:erna görs (eller kommer inom kort) att göras tillgängliga för allmänheten från distributörer. Som nämnts tidigare är VREG_AVDD-försörjningen mycket känslig för brus och måste därför filtreras. Vi fann att eftersom VREG_AVDD bara drar runt 200μA, är ett RC-filter på 33Ω och 4.7μF tillräckligt.
  • Så, för att sammanfatta, kommer komponenterna som används att vara...
    • C6, C7 & C9 – 4.7μF (0402, 1005 metrisk)
    • L1 – Abracon TBD (0806, 2016 metrisk)
    •  R3 – 33Ω (0402, 1005 metriskt)
  • RP2350-databladet har en mer detaljerad diskussion om rekommendationer för regulatorlayout, se Externa komponenter och krav på kretskortslayout.

Ingångsförsörjning

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

Ingångsströmanslutningen för denna design sker via 5V VBUS-stiftet på en mikro-USB-kontakt (märkt J1 i figur 5). Detta är en vanlig metod för att driva elektroniska enheter, och det är vettigt här, eftersom RP2350 har USB-funktionalitet, som vi kommer att koppla till datastiften på denna kontakt. Eftersom vi bara behöver 3.3V för denna design (1.1V-matningen kommer från den interna), måste vi sänka den inkommande 5V USB-försörjningen, i det här fallet med en annan, extern volymtage regulator, i detta fall en linjär regulator (alias Low Drop Out regulator, eller LDO). Efter att tidigare ha hyllat fördelarna med att använda en effektiv omkopplingsregulator, kan det också vara ett klokt val att använda en här också, men jag har valt enkelheten. För det första är det nästan alltid lättare att använda en LDO. Det krävs inga beräkningar för att ta reda på vilken storlek induktor du ska använda, eller hur stora utgångskondensatorerna är, och layouten är vanligtvis också mycket enklare. För det andra, att spara varenda droppe ström är inte syftet här; om det var det, skulle jag seriöst överväga att använda en växlingsregulator, och du kan hitta ett exampatt göra det på Raspberry Pi Pico 2. Och för det tredje kan jag helt enkelt "låna" kretsen jag tidigare använde på RP2040-versionen av Minimal-kortet. NCP1117 (U2) som väljs här har en fast uteffekt på 3.3V, är allmänt tillgänglig och kan ge upp till 1A ström, vilket kommer att vara gott för de flesta konstruktioner. En titt på databladet för NCP1117 berättar att denna enhet kräver en 10μF kondensator på ingången och en annan på utgången (C1 och C5).

Frånkopplingskondensatorer

Figur 6. Schematisk sektion som visar RP2350-strömförsörjningens ingångar, voltage regulator och frånkopplingskondensatorerRaspberry-Pi-SC1631-Raspberry-Microcontroller- (3)

En annan aspekt av strömförsörjningsdesignen är de frånkopplingskondensatorer som krävs för RP2350. Dessa tillhandahåller två grundläggande funktioner. För det första filtrerar de bort brus från strömförsörjningen, och för det andra ger de en lokal laddningstillförsel som kretsarna inuti RP2350 kan använda med kort varsel. Detta förhindrar voltage nivån i omedelbar närhet från att sjunka för mycket när den nuvarande efterfrågan plötsligt ökar. Därför är det viktigt att placera frikopplingen nära kraftstiften. Vanligtvis rekommenderar vi användning av en 100nF kondensator per strömstift, men vi avviker från denna regel i ett par fall.

Figur 7. Sektion av layout som visar RP2350-dirigering och frånkoppling Raspberry-Pi-SC1631-Raspberry-Microcontroller- (4)

  • För det första, för att kunna ha tillräckligt med utrymme för att alla chipstift ska kunna dras ut, bort från enheten, måste vi kompromissa med mängden avkopplingskondensatorer vi kan använda. I denna design delar stift 53 och 54 på RP2350A (stift 68 och 69 på RP2350B) en enda kondensator (C12 i figur 7 och figur 6), eftersom det inte finns mycket utrymme på den sidan av enheten, och komponenterna och utformningen av regulatorn har företräde.
  • Denna utrymmesbrist skulle kunna övervinnas något om vi använde mer komplex/dyrare teknik, såsom mindre komponenter, eller ett fyrlagers PCB med komponenter på både över- och undersidan. Detta är en designavvägning; vi har minskat komplexiteten och kostnaden, på bekostnad av mindre avkopplingskapacitans, och kondensatorer som är något längre bort från chippet än vad som är optimalt (detta ökar induktansen). Detta kan ha effekten av att begränsa den maximala hastighet som konstruktionen kan arbeta vid, eftersom voltage-försörjningen kan bli för bullrig och falla under den lägsta tillåtna volymentage; men för de flesta applikationer bör denna avvägning vara acceptabel.
  • Den andra avvikelsen från 100nF-regeln är så att vi kan förbättra volymen ytterligaretage regulatorns prestanda; vi rekommenderar att du använder en 4.7 μF för C10, som är placerad på andra sidan av chipet från regulatorn.

Kapitel 3. Flashminne

 Primär blixt

Figur 8. Schematisk sektion som visar det primära flashminnet och USB_BOOT-kretsen

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

  • För att kunna lagra programkod som RP2350 kan starta och köra från måste vi använda ett flashminne, närmare bestämt ett quad SPI flashminne. Enheten som väljs här är en W25Q128JVS-enhet (U3 i figur 8), vilket är ett 128Mbit-chip (16MB). Detta är den största minnesstorleken som RP2350 kan stödja. Om just din applikation inte behöver lika mycket lagring, så kan ett mindre, billigare minne användas istället.
  • Eftersom denna databuss kan vara ganska högfrekvent och används regelbundet, bör QSPI-stiften på RP2350 kopplas direkt till blixten, med korta anslutningar för att bibehålla signalintegriteten och för att även minska överhörning i omgivande kretsar. Överhörning är där signaler på ett kretsnät kan inducera oönskad volymtages på en angränsande krets, vilket kan orsaka att fel uppstår.
  • QSPI_SS-signalen är ett specialfall. Den är ansluten till blixten direkt, men den har även två motstånd (nåja, fyra, men jag kommer på det senare) kopplade till sig. Den första (R1) är en pull-up till 3.3V-försörjningen. Flashminnet kräver att chip-select-ingången är på samma volymtage som sitt eget 3.3V matningsstift när enheten slås på, annars fungerar den inte korrekt. När RP2350 slås på kommer dess QSPI_SS-stift automatiskt att bli en pull-up som standard, men det finns en kort tidsperiod under påslagning där tillståndet för QSPI_SS-stiftet inte kan garanteras. Tillägget av ett pull-up-motstånd säkerställer att detta krav alltid kommer att uppfyllas. R1 är märkt som DNF (Do Not Fit) på schemat, eftersom vi har funnit att med just den här blixten är den externa pull-up onödig. Men om en annan blixt används kan det bli viktigt att kunna sätta in ett 10kΩ-motstånd här, så det har inkluderats för säkerhets skull.
  • Det andra motståndet (R6) är ett 1kΩ-motstånd, anslutet till en tryckknapp (SW1) märkt 'USB_BOOT'. Detta beror på att QSPI_SS-stiftet används som en 'boot strap'; RP2350 kontrollerar värdet på denna I/O under uppstartssekvensen, och om det visar sig vara en logisk 0, återgår RP2350 till BOOTSEL-läget, där RP2350 presenterar sig som en USB-masslagringsenhet, och koden kan kopieras direkt till det. Om vi ​​helt enkelt trycker på knappen drar vi QSPI_SS stift till jord, och om enheten sedan återställs (t.ex. genom att växla RUN-stiftet), kommer RP2350 att starta om i BOOTSEL-läge istället för att försöka köra innehållet i blixten. Dessa motstånd, R2 och R6 (även R9 och R10), bör placeras nära flashchippet, så vi undviker ytterligare längder av kopparspår som kan påverka signalen.
  • Allt ovanstående gäller specifikt för RP2350, som inte har någon intern blixt. Naturligtvis har RP2354-enheterna interna 2MB flashminnen, så det externa U3-minnet krävs inte, så U3 kan säkert tas bort från schemat, eller helt enkelt lämnas obefolkat. I något av dessa fall skulle vi fortfarande vilja behålla USB_BOOT-omkopplaren ansluten till QSPI_SS, så att vi fortfarande kan gå in i USB-startläge.

 Sekundär blixt eller PSRAM

  • RP235x-serien stöder nu en andra minnesenhet som använder samma QSPI-stift, med en GPIO som ger extra chipval. Så om vi använder en RP2354 (som har intern blixt), kan vi använda U3 som en sekundär blixt, eller till och med ersätta den med en PSRAM-enhet. För att göra detta behöver vi koppla bort QSPI_SS från U3, och istället koppla den till en lämplig GPIO istället. Den närmaste GPIO som kan vara ett chip-val (XIP_CS1n) är GPIO0, så genom att ta bort 0Ω från R10 och anpassa den till R9, kan vi nu komma åt U3 förutom flashen på chipet. För att ta fördel fullt uttage av den här funktionen, där vi har två externa minnesenheter så att de blixtlösa RP2350-delarna kan dra nytta av, det största av de två Minimal-korten, för RP2350B, inkluderar ett valfritt footprint (U4) för ett extra minneschip.

Figur 9. Schematisk sektion som visar den extra sekundära minnesenheten

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

För att kunna använda den här enheten måste den uppenbarligen fyllas i , liksom R11 (0Ω) och R13 (10KΩ). Tillägget av R11 ansluter GPIOO (XIP_CS0n-signalen) till chipvalet i det andra minnet. Uppdraget på chipvalsstiftet behövs definitivt den här gången, eftersom standardtillståndet för GPIO1 ska dras lågt vid uppstart, vilket skulle få vår blixtenhet att misslyckas. C0 skulle också behövas för att tillhandahålla lokal strömförsörjningsfrikoppling för U22.

Flash-chips som stöds
Den initiala flashprobsekvensen, som används av botten för att extrahera den andra stage från flash, använder ett 03h seriellt läskommando, med 24-bitars adressering och en seriell klocka på cirka 1MHz. Den cyklar upprepade gånger genom de fyra kombinationerna av klockpolaritet och klockfas och letar efter en giltig sekund stage CRC32 kontrollsumma.
Som det andra stage är sedan fri att konfigurera execute-in-place med samma 03h seriella läskommando, RP2350 kan utföra cachad flash execute-in-place med vilket chip som helst som stöder 03h seriell läsning med 24-bitars adressering, vilket inkluderar de flesta 25-seriens flashenheter . SDK tillhandahåller ett exampden andra stage för CPOL=0 CPHA=0, vid https://github.com/raspberrypi/pico-sdk/blob/master/src/rp2350/boot_stage2/boot2_generic_03h.S. För att stödja flashprogrammering med hjälp av rutinerna i botten måste enheten också svara på följande kommandon:

  • 02h 256-byte sidprogram
  • 05h statusregister läst
  • 06h ställ in skrivaktiveringsspärr
  • 20h 4kB sektorradering

RP2350 stöder också ett brett utbud av dual-SPI och QSPI åtkomstlägen. Till exempelample, https://github.com/raspberrypi/pico-sdk/blob/master/src/rp2350/boot_stage2/boot2_w25q080.S konfigurerar en Winbond W25Q-serie-enhet för quad-IO kontinuerligt läsläge, där RP2350 skickar quad-IO-adresser (utan ett kommandoprefix) och blixten svarar med quad-IO-data.

Viss försiktighet krävs med flash XIP-lägen där blixtenheten slutar svara på standardseriekommandon, som Winbonds kontinuerliga läsläge som nämns ovan. Detta kan orsaka problem när RP2350 återställs, men blixten är inte påslagen, eftersom blixten då inte svarar på bootroms flashprobsekvens. Innan den 03h seriella läsningen utfärdas, utfärdar bootrom alltid följande fasta sekvens, vilket är en sekvens för att avbryta XIP på en rad flashenheter:

  • CSn=1, IO[3:0]=4'b0000 (via neddragningar för att undvika konflikter), utfärda ×32 klockor
  • CSn=0, IO[3:0]=4'b1111 (via pull-ups för att undvika konflikter), utfärda ×32 klockor
  • CSn=1
  • CSn=0, MOSI=1'b1 (driven låg-Z, alla andra I/Os Hi-Z), problem ×16 klockor

Om din valda enhet inte svarar på denna sekvens när den är i sitt kontinuerliga läsläge, måste den hållas i ett tillstånd där varje överföring är prefixerad av ett seriellt kommando, annars kommer RP2350 inte att kunna återställas efter en intern återställning.
För mer information om QSPI, se QSPI Memory Interface (QMI) i RP2350 databladet.

Kapitel 4. Kristalloscillator

Figur 10. Schematisk sektion som visar kristalloscillatorn och belastningskondensatorerRaspberry-Pi-SC1631-Raspberry-Microcontroller- (6)

  • Strängt taget kräver RP2350 faktiskt ingen extern klockkälla, eftersom den har sin egen interna oscillator. Men eftersom frekvensen för denna interna oscillator inte är väl definierad eller kontrollerad, varierande från chip till chip, såväl som med olika matningsvolymtages och temperaturer, rekommenderas att använda en stabil extern frekvenskälla. Tillämpningar som förlitar sig på exakta frekvenser är inte möjliga utan en extern frekvenskälla, USB är ett främsta ex.ample.
  • Att tillhandahålla en extern frekvenskälla kan göras på ett av två sätt: antingen genom att tillhandahålla en klockkälla med en CMOS-utgång (kvadratvåg av IOVDD vol.tage) i XIN-stiftet, eller genom att använda en 12MHz kristall ansluten mellan
  • XIN och XOUT. Att använda en kristall är det föredragna alternativet här, eftersom de är både relativt billiga och mycket exakta.
  • Den valda kristallen för denna design är en ABM8-272-T3 (Y1 i figur 10). Det här är samma 12MHz kristall som används på Raspberry Pi Pico och Raspberry Pi Pico 2. Vi rekommenderar starkt att du använder denna kristall tillsammans med den medföljande kretsen för att säkerställa att klockan startar snabbt under alla förhållanden utan att skada själva kristallen. Kristallen har en frekvenstolerans på 30 ppm, vilket borde vara tillräckligt bra för de flesta applikationer. Tillsammans med en frekvenstolerans på +/-30ppm har den en maximal ESR på 50Ω och en belastningskapacitans på 10pF, vilket båda hade betydelse för valet av medföljande komponenter.
  • För att en kristall ska oscillera med önskad frekvens specificerar tillverkaren den belastningskapacitans som den behöver för att göra det, och i det här fallet är den 10pF. Denna belastningskapacitans uppnås genom att placera två kondensatorer av lika värde, en på varje sida av kristallen till jord (C3 och C4). Från kristallens punkt view, dessa kondensatorer är seriekopplade mellan dess två terminaler. Grundläggande kretsteori säger oss att de kombineras för att ge en kapacitans på (C3*C4)/(C3+C4), och eftersom C3=C4 är det helt enkelt C3/2. I detta exampvi har använt 15pF kondensatorer, så seriekombinationen är 7.5pF. Utöver denna avsiktliga belastningskapacitans måste vi också lägga till ett värde för den oavsiktliga extra kapacitansen, eller parasitiska kapacitansen, som vi får från PCB-spåren och XIN- och XOUT-stiften på RP2350. Vi antar ett värde på 3pF för detta, och eftersom denna kapacitans är parallell med C3 och C4, lägger vi helt enkelt till detta för att ge oss en total belastningskapacitans på 10.5pF, vilket är tillräckligt nära målet på 10pF. Som du kan se är den parasitära kapacitansen hos PCB-spåren en faktor, och vi måste därför hålla dem små så att vi inte stör kristallen och stoppar den att svänga som avsett. Försök att hålla layouten så kort som möjligt.
  • Den andra faktorn är den maximala ESR (ekvivalent serieresistans) för kristallen. Vi har valt en enhet med maximalt 50Ω, eftersom vi har funnit att detta, tillsammans med ett 1kΩ seriemotstånd (R2), är ett bra värde för att förhindra att kristallen överdrivs och skadas när man använder en IOVDD nivå på 3.3V. Men om IOVDD är mindre än 3.3V, reduceras drivströmmen för XIN/XOUT-stiften, och du kommer att upptäcka att ampkristallens litud är lägre, eller kanske inte ens svänger alls. I det här fallet kommer ett mindre värde på seriemotståndet att behöva användas. Alla avvikelser från kristallkretsen som visas här, eller med en IOVDD-nivå på annan än 3.3V, kommer att kräva omfattande tester för att säkerställa att kristallen oscillerar under alla förhållanden och startar upp tillräckligt snabbt för att inte orsaka problem med din applikation.

 Rekommenderad kristall

  • För originaldesign med RP2350 rekommenderar vi att du använder Abracon ABM8-272-T3. Till exempelample, förutom den minimala designen example, se Pico 2-kortschemat i bilaga B i Raspberry Pi Pico 2-databladet och Pico 2-designen files.
  • För bästa prestanda och stabilitet över typiska driftstemperaturintervall, använd Abracon ABM8-272-T3. Du kan köpa ABM8-272-T3 direkt från Abracon eller från en auktoriserad återförsäljare. Pico 2 har justerats specifikt för ABM8-272-T3, som har följande specifikationer:
  • Även om du använder en kristall med liknande specifikationer, måste du testa kretsen över ett antal temperaturer för att säkerställa stabilitet.
  • Kristalloscillatorn drivs från IOVDD voltage. Som ett resultat, Abracon-kristallen och den särskilda dampingresistorerna är inställda för 3.3V-drift. Om du använder en annan IO voltage, du måste ställa om.
  • Alla ändringar av kristallparametrar riskerar instabilitet över alla komponenter som är anslutna till kristallkretsen.
  • Om du inte kan köpa den rekommenderade kristallen direkt från Abracon eller en återförsäljare, kontakta applications@raspberrypi.com.

Kapitel 5. IOs

 USB
Figur 11. Schematisk sektion som visar USB-stiften på RP2350 och serieavslutning

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

  • RP2350 har två stift som ska användas för full hastighet (FS) eller låg hastighet (LS) USB, antingen som en värd eller enhet, beroende på vilken programvara som används. Som vi redan har diskuterat kan RP2350 också starta som en USB-masslagringsenhet, så att koppla upp dessa stift till USB-kontakten (J1 i figur 5) är vettigt. USB_DP- och USB_DM-stiften på RP2350 kräver inga ytterligare pull-ups eller pull-downs (krävs för att indikera hastighet, FS eller LS, eller om det är en värd eller enhet), eftersom dessa är inbyggda i I/O:erna. Dessa I/O kräver dock termineringsmotstånd i serien 27Ω (R7 och R8 i figur 11), placerade nära chippet, för att uppfylla USB-impedansspecifikationen.
  • Även om RP2350 är begränsad till fullhastighetsdatahastighet (12 Mbps), bör vi försöka se till att den karakteristiska impedansen för transmissionsledningarna (kopparspåren som ansluter chipet till kontakten) är nära
  • USB-specifikation på 90Ω (mätt differentiellt). På en 1 mm tjock skiva som denna, om vi använder 0.8 mm breda spår på USB_DP och USB_DM, med ett mellanrum på 0.15 mm mellan dem, bör vi få en differentialkarakteristisk impedans på runt 90Ω. Detta för att säkerställa att signalerna kan färdas längs dessa transmissionsledningar så rent som möjligt, vilket minimerar volymentage reflektioner som kan minska integriteten hos signalen. För att dessa överföringsledningar ska fungera korrekt måste vi se till att det finns en mark direkt under dessa ledningar. En solid, oavbruten yta av slipad koppar som sträcker sig över hela banans längd. På den här designen är nästan hela det nedre kopparskiktet ägnat åt jord, och särskild noggrannhet vidtogs för att säkerställa att USB-spåren inte går över annat än jord. Om ett PCB tjockare än 1 mm väljs för din konstruktion, så har vi två alternativ. Vi skulle kunna omkonstruera USB-överföringsledningarna för att kompensera för det större avståndet mellan spåret och marken under (vilket kan vara en fysisk omöjlighet), eller så kan vi ignorera det och hoppas på det bästa. USB FS kan vara ganska förlåtande, men din körsträcka kan variera. Det kommer sannolikt att fungera i många applikationer, men det kommer förmodligen inte att vara kompatibelt med USB-standarden.

 I/O-huvuden

Figur 12. Schematisk sektion som visar 2.54 mm I/O-huvudena för QFN60-versionen

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

  • Utöver USB-kontakten som redan nämnts, finns det ett par dubbelrads 2.54 mm headers (J2 och J3 i figur 12), en på varje sida av kortet, till vilka resten av I/O har anslutits. Det finns 30 GPIO på RP2350A, medan det finns 48 GPIO på RP2350B, så rubrikerna på denna version av Minimal-kortet är större för att tillåta de extra stiften (se figur 13).
  • Eftersom detta är en design för allmänna ändamål, utan någon speciell applikation i åtanke, har I/O gjorts tillgänglig för att anslutas som användaren önskar. Den inre raden av stift på varje huvud är I/O, och den yttre raden är alla anslutna till jord. Det är god praxis att inkludera många jordningar på I/O-kontakter. Detta hjälper till att upprätthålla en lågimpedansjord, och ger också gott om potentiella returvägar för strömmar som går till och från
  • I/O-anslutningar. Detta är viktigt för att minimera elektromagnetiska störningar som kan orsakas av att returströmmarna från snabbt växlande signaler tar långa slingor för att slutföra kretsen.
  • Båda sidhuvudena är på samma 2.54 mm rutnät, vilket gör det enklare att ansluta den här brädet till andra saker, till exempel breadboards. Du kanske vill överväga att bara montera en enradshuvud istället för det dubbelradiga huvudet, utan den yttre raden av jordanslutningar, för att göra det mer bekvämt att montera på en brödbräda.

Figur 13. Schematisk sektion som visar 2.54 mm I/O-huvudena för QFN80-versionen

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

Felsökningskontakt

Figur 14. Schematisk sektion som visar den valfria JST-kontakten för SWD-felsökning

Raspberry-Pi-SC1631-Raspberry-Microcontroller- (10)
För felsökning på chip, kanske du vill ansluta till SWD-gränssnittet på RP2350. De två stiften, SWD och SWCLK, är tillgängliga på 2.54 mm header, J3, för att göra det enkelt att ansluta valfri felsökningssond. Utöver detta har jag inkluderat en valfri JST-header, som möjliggör en enkel anslutning till Raspberry Pi Debug Probe. Du behöver inte använda detta, 2.54 mm-huvudena räcker om du har för avsikt att felsöka programvara, men jag tycker att det är bekvämare att göra det. Jag har valt en horisontell koppling, mest för att jag gillar utseendet på den, även om den inte är på kanten av brädet, men vertikala finns tillgängliga, om än med lite annorlunda fotavtryck.

Knappar
Den minimala designen innehåller nu inte en, utan två knappar, där RP240-versionen inte hade några. Den ena är för USB-startval som vi tidigare har diskuterat, men den andra är en "återställ"-knapp, ansluten till RUN-stiftet. Ingen av dessa är strikt nödvändiga (även om BOOTSEL-knappen skulle behöva ersättas med en header eller liknande om USB-startläge krävdes), och kan tas bort om utrymme eller kostnad är ett problem, men de gör verkligen användningen av RP2350 långt trevligare upplevelse.

Bilaga A: Komplett Schematisk version -RP2350A

Figur 15. Fullständigt schema över den minimala designen för RP2350ARaspberry-Pi-SC1631-Raspberry-Microcontroller- (11) Raspberry-Pi-SC1631-Raspberry-Microcontroller- (12)

Bilaga B: Komplett Schematisk version -RP2350B

Figur 16. Fullständigt schema över den minimala designen för RP2350B

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

Bilaga H: Utgivningshistorik för dokumentation

8 augusti 2024
Initial release.

i Raspberry Pi
Raspberry Pi är ett varumärke som tillhör Raspberry Pi Ltd
Raspberry Pi Ltd

Dokument/resurser

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

Referenser

Lämna en kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade *