Frambozen-logo

Raspberry Pi SC1631 Raspberry-microcontroller

Raspberry-Pi-SC1631-Raspberry-Microcontroller-productafbeelding

Productspecificaties

  • Model: RP2350
  • Pakket: QFN-60
  • Interne Flash-opslag: Nee
  • Deeltage-regelaar: on-chip schakelregelaar
  • Regelaarpinnen: 5 (3.3V ingang, 1.1V uitgang, VREG_AVDD, VREG_LX, VREG_PGND)

Instructies voor productgebruik

  • Hoofdstuk 1: Inleiding
  • De RP2350-serie biedt verschillende pakketopties vergeleken met de RP2040-serie. De RP2350A en RP2354A worden geleverd in een QFN-60-pakket met en zonder interne flashopslag, terwijl de RP2354B en RP2350B worden geleverd in een QFN-80-pakket met en zonder flashopslag.
  • Hoofdstuk 2: Macht
    De RP2350-serie beschikt over een nieuwe on-chip switching-moduletage-regelaar met vijf pinnen. Deze regelaar vereist externe componenten voor de werking, maar biedt een hogere energie-efficiëntie bij hogere belastingsstromen vergeleken met de lineaire regelaar in de RP2040-serie. Let op de ruisgevoeligheid in de VREG_AVDD-pin die de analoge schakeling voedt.

Veelgestelde vragen (FAQ)

  • V: Wat is het belangrijkste verschil tussen RP2350A en RP2350B?
    A: Het grootste verschil zit in de aanwezigheid van interne flashopslag. De RP2350A heeft geen interne flashopslag, terwijl de RP2350B dat wel heeft.
  • V: Hoeveel pinnen heeft de voltagWelke regelaar in de RP2350-serie heeft?
    A: De voltagDe regelaar in de RP2350-serie heeft vijf pinnen.

Hardwareontwerp met RP2350 Het gebruik van RP2350-microcontrollers om borden en producten te bouwen

Colofon

  • © 2023-2024 Raspberry Pi Ltd
  • Deze documentatie is gelicentieerd onder een Creative Commons Naamsvermelding-GeenAfgeleideWerken 4.0 Internationaal (CC BY-ND). build-datum: 2024-08-08 build-versie: c0acc5b-clean
  • Juridische disclaimer
  • TECHNISCHE EN BETROUWBAARHEIDSGEGEVENS VOOR RASPBERRY PI-PRODUCTEN (INCLUSIEF DATASHEETS) ZOALS VAN TIJD TOT TIJD GEWIJZIGD ("BRONNEN") WORDEN DOOR RASPBERRY PI LTD ("RPL") GELEVERD "ZOALS ZE ZIJN" EN ALLE EXPLICIETE OF IMPLICIETE GARANTIES, INCLUSIEF, MAAR NIET BEPERKT TOT, DE IMPLICIETE GARANTIES VAN VERKOOPBAARHEID EN GESCHIKTHEID VOOR EEN BEPAALD DOEL, WORDEN AFGEWEZEN. VOOR ZOVER MAXIMAAL TOEGESTAAN DOOR DE TOEPASSELIJKE WETGEVING IS RPL IN GEEN GEVAL AANSPRAKELIJK VOOR ENIGE DIRECTE, INDIRECTE, INCIDENTELE, SPECIALE, VOORBEELDIGE OF GEVOLGSCHADE (MET INBEGRIP VAN, MAAR NIET BEPERKT TOT, AANSCHAF VAN VERVANGENDE GOEDEREN OF DIENSTEN; VERLIES VAN GEBRUIK, GEGEVENS OF WINST; OF BEDRIJFSONDERBREKING), ONGEACHT DE OORZAAK EN OP BASIS VAN WELKE AANSPRAKELIJKHEIDSTHEORIE DAN OOK, HETZIJ IN CONTRACT, STRIKTE AANSPRAKELIJKHEID OF ONRECHTMATIGE DAAD (MET INBEGRIP VAN NALATIGHEID OF ANDERSZINS), OP ENIGERLEI WIJZE VOORTVLOEIEND UIT HET GEBRUIK VAN DE MIDDELEN, ZELFS ALS RPL OP DE HOOGTE IS GESTELD VAN DE MOGELIJKHEID VAN DERGELIJKE SCHADE.
  • RPL behoudt zich het recht voor om op elk gewenst moment en zonder voorafgaande kennisgeving verbeteringen, correcties of andere wijzigingen aan te brengen in de MIDDELEN of de daarin beschreven producten.
    De RESOURCES zijn bedoeld voor ervaren gebruikers met een passend niveau van ontwerpkennis. Gebruikers zijn als enige verantwoordelijk voor hun selectie en gebruik van de RESOURCES en elke toepassing van de producten die erin worden beschreven. Gebruiker stemt ermee in om RPL schadeloos te stellen en te vrijwaren tegen alle aansprakelijkheden, kosten, schade of andere verliezen die voortvloeien uit hun gebruik van de RESOURCES.
  • RPL verleent gebruikers toestemming om de RESOURCES uitsluitend te gebruiken in combinatie met de Raspberry Pi-producten. Elk ander gebruik van de RESOURCES is verboden. Er wordt geen licentie verleend aan enig ander RPL of ander intellectueel eigendomsrecht van derden.
  • ACTIVITEITEN MET HOOG RISICO. Raspberry Pi-producten zijn niet ontworpen, vervaardigd of bedoeld voor gebruik in gevaarlijke omgevingen die een fail-safe prestatie vereisen, zoals bij de werking van nucleaire faciliteiten, vliegtuignavigatie- of communicatiesystemen, luchtverkeersleiding, wapensystemen of veiligheidskritieke toepassingen (inclusief levensondersteunende systemen en andere medische apparaten), waarbij het falen van de producten direct kan leiden tot overlijden, persoonlijk letsel of ernstige fysieke of milieuschade ("High Risk Activities"). RPL wijst specifiek elke expliciete of impliciete garantie van geschiktheid voor High Risk Activities af en aanvaardt geen aansprakelijkheid voor het gebruik of de toevoeging van Raspberry Pi-producten aan High Risk Activities.
  • Raspberry Pi-producten worden geleverd onder de standaardvoorwaarden van RPL. De levering van de RESOURCES door RPL breidt de standaardvoorwaarden van RPL niet uit of wijzigt deze anderszins, inclusief maar niet beperkt tot de daarin vermelde disclaimers en garanties.

Hoofdstuk 1. Inleiding

Figuur 1. KiCad 3D-weergave van de RP2350A Minimal design exampleRaspberry-Pi-SC1631-Raspberry-Microcontroller- (1)

Toen we de Raspberry Pi RP2040 voor het eerst introduceerden, brachten we ook een 'minimalistisch' ontwerp uitample en bijbehorende gids Hardware-ontwerp met RP2040 die hopelijk uitlegt hoe de RP2040 kan worden gebruikt in een eenvoudig circuitbord en waarom de verschillende componentkeuzes zijn gemaakt. Met de komst van de RP235x-serie is het tijd om het originele RP2040 Minimal-ontwerp opnieuw te bekijken en bij te werken om rekening te houden met de nieuwe functies en ook voor elk van de pakketvarianten; de RP2350A met zijn QFN-60-pakket en de RP2350B die een QFN-80 is. Nogmaals, deze ontwerpen zijn in Kicad (7.0)-formaat en zijn beschikbaar om te downloaden (https://datasheets.raspberrypi.com/rp2350/Minimal-KiCAD.zip).

 Het minimale bord
Het originele Minimal-bord was een poging om een ​​eenvoudig referentieontwerp te bieden, met het absolute minimum aan externe componenten dat nodig was om de RP2040 te laten werken en toch alle I/O zichtbaar en toegankelijk te houden. Dit bestond in wezen uit een stroombron (een lineaire regelaar van 5 V tot 3.3 V), een kristaloscillator, flashgeheugen en I/O-aansluitingen (een micro-USB-aansluiting en GPIO-headers). De nieuwe Minimal-borden van de RP235x-serie zijn grotendeels hetzelfde, maar met enkele noodzakelijke wijzigingen vanwege de nieuwe hardware. Daarnaast heb ik, ondanks dat het enigszins indruist tegen de minimale aard van het ontwerp, een paar knoppen toegevoegd voor bootsel en run, samen met een aparte SWD-header, wat deze keer een veel minder frustrerende debug-ervaring zou moeten betekenen. Ontwerpen hebben strikt genomen deze knoppen niet nodig, de signalen zijn nog steeds beschikbaar op de headers en ze kunnen worden weggelaten als u bijzonder kosten- of ruimtebewust bent, of masochistische neigingen hebt.

 RP2040 vs RP235x-serie
De meest voor de hand liggende verandering zit in de pakketten. Terwijl de RP2040 een 7x7mm QFN-56 is, heeft de RP235x-serie momenteel vier verschillende leden. Er zijn twee apparaten die hetzelfde QFN-60-pakket delen; de RP2350A die geen interne flash-opslag bevat, en de RP2354A die dat wel heeft. Op dezelfde manier is de QFN-80 er ook in twee smaken; de RP2354B met flash en de RP2350B zonder. De QFN-60-apparaten en de originele RP2040 delen een gemeenschappelijke heritage.

Ze hebben elk 30 GPIO's, waarvan er vier ook zijn aangesloten op de ADC, en zijn 7x7mm groot. Desondanks is de RP2350A geen drop-in vervanging voor de RP2040, omdat het aantal pinnen op elk verschillend is. Daarentegen hebben de QFN-80 chips nu 48 GPIO's, en acht daarvan zijn nu ADC-compatibel. Hierdoor hebben we nu twee Minimal-borden; één voor de 60-pins apparaten en één voor de 80. Deze Minimal-borden zijn primair ontworpen voor de onderdelen zonder interne flash (RP2350), maar de ontwerpen kunnen eenvoudig worden gebruikt met de interne flash-apparaten (RP2354) door het ingebouwde flashgeheugen eenvoudigweg weg te laten, of het zelfs te gebruiken als een secundair flash-apparaat (hier later meer over). Er is weinig verschil tussen de twee borden, behalve het feit dat de QFN-80-versie langere rijen headers heeft om de extra GPIO te kunnen huisvesten, en het bord is daarom groter.

Afgezien van de verpakking zijn de grootste verschillen op boardniveau tussen de RP235x-serie en de RP2040 de voedingen. De RP235x-serie heeft een aantal nieuwe voedingspinnen en een andere interne regelaar. De lineaire 100mA-regelaar van de RP2040 is vervangen door een schakelende regelaar van 200mA en vereist daarom een ​​aantal zeer specifieke schakelingen en veel zorg voor de lay-out. Het wordt ten zeerste aanbevolen dat u onze lay-out en componentselecties nauwlettend volgt; we hebben al de pijn doorstaan ​​van het maken van verschillende iteraties van het ontwerp, dus hopelijk hoeft u dat niet te doen.

Figuur 2. KiCad 3D-weergave van de RP2350B Minimal design example Raspberry-Pi-SC1631-Raspberry-Microcontroller- (2)

 Het ontwerp
De bedoeling van het Minimal Design isamples is om een ​​paar eenvoudige borden te maken met behulp van de RP235x-serie, die goedkoop en eenvoudig te produceren zouden moeten zijn, zonder onnodig exotische PCB-technologieën te gebruiken. De Minimal-borden zijn daarom ontwerpen met 2 lagen, met componenten die algemeen verkrijgbaar zouden moeten zijn, en die allemaal aan de bovenkant van het bord zijn gemonteerd. Hoewel het leuk zou zijn om grote, eenvoudig handmatig te solderen componenten te gebruiken, betekent de kleine spoed van de QFN-chips (0.4 mm) dat het gebruik van enkele 0402 (1005 metrisch) passieve componenten onvermijdelijk is als alle GPIO's moeten worden gebruikt. Hoewel het handmatig solderen van 0402-componenten niet al te uitdagend is met een behoorlijke soldeerbout, is het vrijwel onmogelijk om de QFN's te solderen zonder speciale apparatuur.

In de volgende paar secties zal ik proberen uit te leggen waar de extra schakelingen voor zijn, en hopelijk hoe we tot de keuzes zijn gekomen die we hebben gemaakt. Omdat ik het eigenlijk over twee afzonderlijke ontwerpen ga hebben, één voor elke pakketgrootte, heb ik geprobeerd het zo eenvoudig mogelijk te houden. Voor zover mogelijk zijn alle componentreferenties voor de twee borden identiek, dus als ik verwijs naar U1, R1, enz., dan is het even relevant voor beide borden. De voor de hand liggende uitzondering is wanneer het component zich slechts op één van de borden bevindt (in alle gevallen zal dit op de grotere 80-pins variant zijn), dan zal het betreffende component zich alleen op het QFN-80-ontwerp bevinden; bijvoorbeeldample, R13 verschijnt alleen op dit bord.

Hoofdstuk 2. Macht

De voedingen van de RP235x-serie en de RP2040 verschillen deze keer enigszins, hoewel er in de eenvoudigste configuratie nog steeds twee voedingen nodig zijn, 3.3 V en 1.1 V. De RP235x-serie is tegelijkertijd energieverslinder, omdat deze hogere prestaties levert, en ook zuiniger (wanneer deze in een lage vermogenstoestand staat) dan zijn voorganger, en daarom is de lineaire regelaar op de RP2040 geüpgraded met een schakelende regelaar. Dit zorgt voor een hogere energie-efficiëntie bij hogere stromen (tot 200 mA vergeleken met de 100 mA van voorheen).

 Nieuwe on-chip voltagde regelaar

Figuur 3. Schematische doorsnede van het interne regelaarcircuitRaspberry-Pi-SC1631-Raspberry-Microcontroller- (1)

De lineaire regelaar van de RP2040 had twee pinnen, een 3.3V-ingang en een 1.1V-uitgang om de DVDD op de chip te voeden. Deze keer heeft de regelaar van de RP235x-serie vijf pinnen en zijn er wat externe componenten nodig om het te laten werken. Hoewel dit een beetje een stap terug lijkt in termen van bruikbaarheid, heeft de schakelende regelaar het voordeeltage van een hogere energie-efficiëntie bij hogere belastingstromen.

Zoals de naam al doet vermoeden, schakelt de regelaar snel een interne transistor in en uit die de 3.3V-ingangsspanning verbindttage (VREG_VIN) naar de VREG_LX-pin en kan met behulp van een inductor (L1) en een uitgangscondensator (C7) een DC-uitgangsspanning producerentage die is teruggebracht van de invoer. De VREG_FB-pin bewaakt het uitvoervolumetage, en past de aan/uit-verhouding van de schakelcyclus aan, om ervoor te zorgen dat het vereiste volumetage wordt gehandhaafd. Omdat grote stromen van VREG_VIN naar VREG_LX worden geschakeld, is een grote condensator (C6) dicht bij de ingang vereist, zodat we de 3.3V-voeding niet te veel verstoren. Over deze grote schakelstromen gesproken, de regelaar heeft ook een eigen aardingsretourverbinding, VREG_PGND. Net als bij VREG_VIN en VREG_LX is de lay-out van deze verbinding cruciaal, en hoewel VREG_PGND verbinding moet maken met de hoofd-GND, moet dit op zo'n manier worden gedaan dat alle grote schakelstromen rechtstreeks terugkeren naar de PGND-pin, zonder de rest van de GND te veel te verstoren.

De laatste pin is VREG_AVDD, die de analoge schakeling in de regelaar voedt en die erg gevoelig is voor ruis.

Figuur 4. Schematische doorsnede van de PCB-lay-out van de regelaar Raspberry-Pi-SC1631-Raspberry-Microcontroller- (3)

  • De lay-out van de regelaar op de minimale borden komt nauw overeen met die van de Raspberry Pi Pico 2. Er is veel werk gestoken in het ontwerp van dit circuit, met veel iteraties van de PCB die nodig waren om het zo goed mogelijk te maken. Hoewel je deze componenten op verschillende manieren kunt plaatsen en de regelaar toch kunt laten 'werken' (d.w.z. een uitvoervolume producerentage op ongeveer het juiste niveau, goed genoeg om de code te laten draaien), hebben we ontdekt dat onze regelaar op precies de juiste manier behandeld moet worden om hem tevreden te houden, en met tevreden bedoel ik dat hij de juiste outputvolumes produceerttage onder een reeks belastingstroomomstandigheden.
  • Tijdens het uitvoeren van onze experimenten op dit gebied, waren we enigszins teleurgesteld om eraan herinnerd te worden dat de ongemakkelijke wereld van de fysica niet altijd genegeerd kan worden. Wij, als ingenieurs, proberen grotendeels precies dit te doen; componenten vereenvoudigen, (vaak) onbelangrijke fysieke eigenschappen negeren en ons in plaats daarvan richten op de eigenschap waarin we geïnteresseerd zijn. Bijvoorbeeldample, een eenvoudige weerstand heeft niet alleen een weerstand, maar ook inductie, etc. In ons geval (her)ontdekten we dat inductoren een magnetisch veld hebben dat ermee geassocieerd wordt, en belangrijker nog, dat het in een richting straalt die afhankelijk is van de manier waarop de spoel is gewikkeld, en de richting van de stroom. We werden er ook aan herinnerd dat een 'volledig' afgeschermde inductor niet betekent wat je denkt dat het zou kunnen betekenen. Het magnetische veld wordt in grote mate verzwakt, maar er ontsnapt nog steeds wat. We ontdekten dat de prestaties van de regelaar enorm verbeterd konden worden als de inductor 'de goede kant op' is.
  • Het blijkt dat het magnetische veld dat uit een 'verkeerde-om-om'-inductor komt, interfereert met de uitgangscondensator van de regelaar (C7), wat op zijn beurt de regelcircuits in RP2350 verstoort. Met de inductor in de juiste oriëntatie en de precieze lay-out en componentselecties die hier worden gebruikt, verdwijnt dit probleem. Er zullen ongetwijfeld andere lay-outs, componenten, enz. zijn die met een inductor in elke oriëntatie zouden kunnen werken, maar die zullen waarschijnlijk veel meer PCB-ruimte in beslag nemen om dit te doen. We hebben deze aanbevolen lay-out gegeven om mensen de vele engineeringuren te besparen die we hebben besteed aan het ontwikkelen en verfijnen van deze compacte en goed functionerende oplossing.
  • Sterker nog, we gaan zover dat we zeggen dat als u ervoor kiest om onze ex niet te gebruikenample, dan doet u dat op eigen risico. Net zoals we dat al doen met RP2040 en het kristalcircuit, waarbij we erop staan ​​(nou ja, sterk aanraden) dat u een bepaald onderdeel gebruikt (we zullen dat nogmaals doen in het kristalgedeelte van dit document).
  • De richting van deze kleine inductoren wordt vrijwel universeel genegeerd, waarbij de oriëntatie van de spoelwikkeling onmogelijk is af te leiden en ook willekeurig verdeeld is over een rol met componenten. Grotere inductorbehuizingen hebben vaak polariteitsmarkeringen, maar we konden geen geschikte vinden in de 0806 (2016 metrisch) behuizing die we hebben gekozen. Hiervoor hebben we samengewerkt met Abracon om een ​​3.3 μH-onderdeel te produceren met een stip om de polariteit aan te geven en, belangrijker nog, op een rol te komen met ze allemaal op dezelfde manier uitgelijnd. De TBD zijn (of zullen binnenkort) beschikbaar worden gesteld aan het grote publiek door distributeurs. Zoals eerder vermeld, is de VREG_AVDD-voeding erg gevoelig voor ruis en moet daarom worden gefilterd. We ontdekten dat omdat de VREG_AVDD slechts ongeveer 200 μA trekt, een RC-filter van 33 Ω en 4.7 μF voldoende is.
  • Om het nog eens samen te vatten: de gebruikte componenten zijn…
    • C6, C7 en C9 – 4.7 μF (0402, 1005 metrisch)
    • L1 – Abracon TBD (0806, 2016 metrisch)
    •  R3 – 33Ω (0402, 1005 metrisch)
  • In het RP2350-gegevensblad worden de aanbevelingen voor de lay-out van de regelaar uitgebreid besproken. Zie hiervoor Externe componenten en vereisten voor de lay-out van de printplaat.

Ingangstoevoer:

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

De ingangsvoedingsaansluiting voor dit ontwerp verloopt via de 5V VBUS-pin van een Micro-USB-connector (gelabeld als J1 in Afbeelding 5). Dit is een veelgebruikte methode om elektronische apparaten van stroom te voorzien, en het is hier logisch, aangezien RP2350 USB-functionaliteit heeft, die we zullen bedraden naar de datapinnen van deze connector. Omdat we voor dit ontwerp slechts 3.3V nodig hebben (de 1.1V-voeding komt van de interne), moeten we de inkomende 5V USB-voeding verlagen, in dit geval met behulp van een andere, externe voltage regelaar, in dit geval een lineaire regelaar (ook wel Low Drop Out-regelaar of LDO genoemd). Ik heb eerder de voordelen van een efficiënte schakelregelaar geprezen, maar het zou ook een verstandige keuze kunnen zijn om er hier een te gebruiken, maar ik heb gekozen voor eenvoud. Ten eerste is het gebruik van een LDO bijna altijd gemakkelijker. Er zijn geen berekeningen nodig om uit te vinden welke grootte inductor je moet gebruiken, of hoe groot de uitgangscondensatoren zijn, en de lay-out is meestal ook veel eenvoudiger. Ten tweede is het besparen van elke laatste druppel vermogen hier niet het doel; als dat zo was, zou ik serieus overwegen om een ​​schakelregelaar te gebruiken, en je kunt een example om dit te doen op de Raspberry Pi Pico 2. En ten derde kan ik gewoon het circuit 'lenen' dat ik eerder gebruikte op de RP2040-versie van het Minimal-bord. De NCP1117 (U2) die hier is gekozen, heeft een vaste output van 3.3 V, is overal verkrijgbaar en kan tot 1 A stroom leveren, wat voor de meeste ontwerpen voldoende zal zijn. Een blik op het datasheet voor de NCP1117 vertelt ons dat dit apparaat een 10 μF-condensator op de input nodig heeft en nog een op de output (C1 en C5).

Ontkoppelingscondensatoren

Figuur 6. Schematische doorsnede met de ingangen van de RP2350-voeding, vol.tage-regelaar en ontkoppelingscondensatorenRaspberry-Pi-SC1631-Raspberry-Microcontroller- (3)

Een ander aspect van het ontwerp van de voeding zijn de ontkoppelingscondensatoren die nodig zijn voor RP2350. Deze bieden twee basisfuncties. Ten eerste filteren ze de ruis van de voeding weg en ten tweede bieden ze een lokale toevoer van lading die de circuits in RP2350 op korte termijn kunnen gebruiken. Dit voorkomt dat de voltage-niveau in de directe omgeving niet te veel daalt wanneer de stroomvraag plotseling toeneemt. Daarom is het belangrijk om ontkoppeling dicht bij de vermogenspennen te plaatsen. Normaal gesproken raden we aan om een ​​100nF-condensator per vermogenspen te gebruiken, maar in een paar gevallen wijken we van deze regel af.

Figuur 7. Doorsnede van de lay-out met RP2350-routering en ontkoppeling Raspberry-Pi-SC1631-Raspberry-Microcontroller- (4)

  • Ten eerste, om voldoende ruimte te hebben om alle chippinnen weg te kunnen leiden, weg van het apparaat, moeten we een compromis sluiten met het aantal ontkoppelingscondensatoren dat we kunnen gebruiken. In dit ontwerp delen pinnen 53 en 54 van RP2350A (pinnen 68 en 69 van RP2350B) één enkele condensator (C12 in Afbeelding 7 en Afbeelding 6), omdat er niet veel ruimte is aan die kant van het apparaat, en de componenten en lay-out van de regelaar voorrang hebben.
  • Dit gebrek aan ruimte zou enigszins overwonnen kunnen worden als we complexere/duurdere technologie zouden gebruiken, zoals kleinere componenten of een vierlaags PCB met componenten aan zowel de boven- als onderkant. Dit is een ontwerpcompromis; we hebben de complexiteit en kosten verlaagd, ten koste van minder ontkoppelingscapaciteit en condensatoren die iets verder van de chip af staan ​​dan optimaal is (dit verhoogt de inductie). Dit zou het effect kunnen hebben dat de maximale snelheid waarop het ontwerp kan werken, beperkt wordt, omdat de voltagDe toevoer kan te luidruchtig worden en onder het minimaal toegestane volume komentage; maar voor de meeste toepassingen zou deze afweging acceptabel moeten zijn.
  • De andere afwijking van de 100nF-regel is dat we de volumeregeling verder kunnen verbeteren.tagDe prestaties van de regelaar: wij raden aan om een ​​4.7 μF voor C10 te gebruiken, die aan de andere kant van de chip wordt geplaatst dan de regelaar.

Hoofdstuk 3. Flashgeheugen

 Primaire flitser

Figuur 8. Schematische weergave van het primaire flashgeheugen en de USB_BOOT-schakeling

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

  • Om programmacode op te kunnen slaan waar RP2350 vanaf kan opstarten en draaien, moeten we een flashgeheugen gebruiken, specifiek een quad SPI flashgeheugen. Het apparaat dat hier is gekozen, is een W25Q128JVS-apparaat (U3 in Afbeelding 8), een 128 Mbit-chip (16 MB). Dit is de grootste geheugengrootte die RP2350 kan ondersteunen. Als uw specifieke toepassing niet zoveel opslagruimte nodig heeft, kan in plaats daarvan een kleiner, goedkoper geheugen worden gebruikt.
  • Omdat deze databus een vrij hoge frequentie kan hebben en regelmatig wordt gebruikt, moeten de QSPI-pinnen van RP2350 rechtstreeks op de flash worden aangesloten, met behulp van korte verbindingen om de signaalintegriteit te behouden en ook om overspraak in omliggende circuits te verminderen. Overspraak is waar signalen op één circuitnet ongewenste voltagop een naburig circuit, waardoor er fouten kunnen optreden.
  • Het QSPI_SS-signaal is een speciaal geval. Het is rechtstreeks verbonden met de flash, maar er zijn ook twee weerstanden (nou ja, vier, maar daar kom ik later op terug) aan verbonden. De eerste (R1) is een pull-up naar de 3.3V-voeding. Het flashgeheugen vereist dat de chip-select-ingang op hetzelfde volume staattage als zijn eigen 3.3V-voedingspin als het apparaat wordt ingeschakeld, anders functioneert het niet correct. Wanneer de RP2350 wordt ingeschakeld, wordt de QSPI_SS-pin automatisch standaard ingesteld op een pull-up, maar er is een korte periode tijdens het inschakelen waarin de status van de QSPI_SS-pin niet kan worden gegarandeerd. De toevoeging van een pull-up-weerstand zorgt ervoor dat aan deze vereiste altijd wordt voldaan. R1 is gemarkeerd als DNF (Do Not Fit) op het schema, omdat we hebben ontdekt dat met dit specifieke flash-apparaat de externe pull-up onnodig is. Als er echter een andere flash wordt gebruikt, kan het belangrijk worden om hier een 10kΩ-weerstand te kunnen plaatsen, dus deze is voor de zekerheid opgenomen.
  • De tweede weerstand (R6) is een 1kΩ-weerstand, verbonden met een drukknop (SW1) met het label 'USB_BOOT'. Dit komt omdat de QSPI_SS-pin wordt gebruikt als een 'boot strap'; RP2350 controleert de waarde van deze I/O tijdens de opstartvolgorde en als blijkt dat het een logische 0 is, keert RP2350 terug naar de BOOTSEL-modus, waarbij RP2350 zichzelf presenteert als een USB-massaopslagapparaat en code er rechtstreeks naartoe kan worden gekopieerd. Als we gewoon op de knop drukken, trekken we de QSPI_SS-pin naar de grond en als het apparaat vervolgens wordt gereset (bijvoorbeeld door de RUN-pin om te schakelen), start RP2350 opnieuw op in de BOOTSEL-modus in plaats van te proberen de inhoud van de flash uit te voeren. Deze weerstanden, R2 en R6 (ook R9 en R10), moeten dicht bij de flashchip worden geplaatst, zodat we extra lengtes kopersporen vermijden die het signaal kunnen beïnvloeden.
  • Al het bovenstaande is specifiek van toepassing op de RP2350, die geen interne flash heeft. Natuurlijk hebben de RP2354-apparaten interne 2MB flashgeheugens, dus het externe U3-geheugen is niet vereist, dus U3 kan veilig uit het schema worden verwijderd of gewoon leeg worden gelaten. In beide gevallen willen we de USB_BOOT-switch nog steeds aangesloten houden op QSPI_SS, zodat we nog steeds de USB-opstartmodus kunnen openen.

 Secundaire flash of PSRAM

  • De RP235x-serie ondersteunt nu een tweede geheugenapparaat met dezelfde QSPI-pinnen, met een GPIO die de extra chipselectie biedt. Dus als we een RP2354 gebruiken (die een interne flash heeft), dan kunnen we U3 gebruiken als een secundaire flash, of deze zelfs vervangen door een PSRAM-apparaat. Om dit te doen, moeten we QSPI_SS loskoppelen van U3 en deze in plaats daarvan verbinden met een geschikte GPIO. De dichtstbijzijnde GPIO die een chipselectie kan zijn (XIP_CS1n) is GPIO0, dus door de 0Ω van R10 te verwijderen en deze aan te passen aan R9, kunnen we nu toegang krijgen tot U3 naast de on-chip flash. Om volledig te profiterentagVoor deze functie, waarbij we twee externe geheugenapparaten hebben zodat de flashloze RP2350-onderdelen hiervan kunnen profiteren, bevat het grootste van de twee Minimal-borden, voor de RP2350B, een optionele footprint (U4) voor een extra geheugenchip.

Figuur 9. Schematische doorsnede van het optionele secundaire geheugenapparaat

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

Om dit apparaat te kunnen gebruiken, moet het uiteraard worden gevuld, evenals R11 (0Ω) en R13 (10KΩ). De toevoeging van R11 verbindt GPIO0 (het XIP_CS1n-signaal) met de chip select van het tweede geheugen. De pull-up op de chip select-pin is deze keer absoluut nodig, aangezien de standaardstatus van GPIO0 laag moet worden getrokken bij het opstarten, wat ervoor zou zorgen dat ons flash-apparaat zou falen. C22 zou ook nodig zijn om lokale ontkoppeling van de voeding voor U4 te bieden.

Ondersteunde flashchips
De eerste flitsprobesequentie, die door de onderkant wordt gebruikt om de tweede s te extraherentage van flash, gebruikt een 03h seriële leesopdracht, met 24-bits adressering en een seriële klok van ongeveer 1 MHz. Het doorloopt herhaaldelijk de vier combinaties van klokpolariteit en klokfase, op zoek naar een geldige seconde stagDe CRC32-controlesom.
Als de tweede stage is dan vrij om execute-in-place te configureren met behulp van dezelfde 03h seriële leesopdracht, RP2350 kan gecachte flash execute-in-place uitvoeren met elke chip die 03h seriële leesbewerking ondersteunt met 24-bits adressering, wat de meeste 25-serie flashapparaten omvat. De SDK biedt een exampde seconde stage voor CPOL=0 CPHA=0, bij https://github.com/raspberrypi/pico-sdk/blob/master/src/rp2350/boot_stage2/boot2_generic_03h.SOm flashprogrammering met behulp van de routines onderaan te ondersteunen, moet het apparaat ook reageren op de volgende opdrachten:

  • 02h 256-byte pagina programma
  • 05h status register lezen
  • 06h set schrijf-inschakelvergrendeling
  • 20u 4kB sector wissen

RP2350 ondersteunt ook een breed scala aan dual-SPI- en QSPI-toegangsmodi. Bijvoorbeeldampde, https://github.com/raspberrypi/pico-sdk/blob/master/src/rp2350/boot_stage2/boot2_w25q080.S configureert een Winbond W25Q-serie apparaat voor de quad-IO continue leesmodus, waarbij RP2350 quad-IO adressen verzendt (zonder een opdrachtprefix) en de flash reageert met quad-IO gegevens.

Er is enige voorzichtigheid geboden bij flash XIP-modi waarbij het flashapparaat niet meer reageert op standaard seriële opdrachten, zoals de hierboven genoemde Winbond continue leesmodus. Dit kan problemen veroorzaken wanneer RP2350 wordt gereset, maar het flashapparaat niet opnieuw wordt opgestart, omdat de flash dan niet reageert op de flash-probesequentie van de bootrom. Voordat de 03h seriële leesbewerking wordt uitgevoerd, geeft de bootrom altijd de volgende vaste sequentie uit, wat een best-effort-sequentie is voor het stopzetten van XIP op een reeks flashapparaten:

  • CSn=1, IO[3:0]=4'b0000 (via pulldowns om conflicten te voorkomen), geef ×32 klokken uit
  • CSn=0, IO[3:0]=4'b1111 (via pull-ups om conflicten te voorkomen), geef ×32 klokken uit
  • CSn=1
  • CSn=0, MOSI=1'b1 (aangedreven lage-Z, alle andere I/O's Hi-Z), uitgifte ×16 klokken

Als het door u gekozen apparaat niet reageert op deze reeks in de continue leesmodus, moet u het in een toestand houden waarbij elke overdracht wordt voorafgegaan door een serieel commando. Anders kan de RP2350 niet herstellen na een interne reset.
Voor meer informatie over de QSPI, zie QSPI Memory Interface (QMI) in het RP2350-gegevensblad.

Hoofdstuk 4. Kristaloscillator

Figuur 10. Schematische doorsnede van de kristaloscillator en de belastingcondensatorenRaspberry-Pi-SC1631-Raspberry-Microcontroller- (6)

  • Strikt genomen heeft de RP2350 geen externe klokbron nodig, omdat deze een eigen interne oscillator heeft. Echter, omdat de frequentie van deze interne oscillator niet goed gedefinieerd of gecontroleerd is, en varieert van chip tot chip, evenals met verschillende voedingsvolumestages en temperaturen, is het raadzaam om een ​​stabiele externe frequentiebron te gebruiken. Toepassingen die afhankelijk zijn van exacte frequenties zijn niet mogelijk zonder een externe frequentiebron, aangezien USB een prime ex isampik.
  • Er zijn twee manieren om een ​​externe frequentiebron te leveren: door een klokbron met een CMOS-uitgang (vierkante golf van IOVDD-volume) te leveren.tage) in de XIN-pin, of door gebruik te maken van een 12MHz-kristal dat is aangesloten tussen
  • XIN en XOUT. Het gebruik van een kristal is hier de voorkeursoptie, omdat ze beide relatief goedkoop en zeer nauwkeurig zijn.
  • Het gekozen kristal voor dit ontwerp is een ABM8-272-T3 (Y1 in Afbeelding 10). Dit is hetzelfde 12MHz-kristal dat wordt gebruikt op de Raspberry Pi Pico en Raspberry Pi Pico 2. We raden ten zeerste aan om dit kristal te gebruiken in combinatie met de bijbehorende schakelingen om ervoor te zorgen dat de klok onder alle omstandigheden snel start zonder het kristal zelf te beschadigen. Het kristal heeft een frequentietolerantie van 30 ppm, wat goed genoeg zou moeten zijn voor de meeste toepassingen. Samen met een frequentietolerantie van +/- 30 ppm heeft het een maximale ESR van 50 Ω en een belastingscapaciteit van 10 pF, die beide van invloed waren op de keuze van de bijbehorende componenten.
  • Om een ​​kristal op de gewenste frequentie te laten oscilleren, specificeert de fabrikant de belastingscapaciteit die nodig is om dit te doen, en in dit geval is dit 10 pF. Deze belastingscapaciteit wordt bereikt door twee condensatoren van gelijke waarde te plaatsen, één aan elke kant van het kristal naar de aarde (C3 en C4). Vanuit het punt van het kristal view, deze condensatoren zijn in serie geschakeld tussen de twee aansluitingen. De basistheorie van het circuit vertelt ons dat ze samen een capaciteit van (C3*C4)/(C3+C4) opleveren, en als C3=C4, dan is het gewoon C3/2. In deze example, we hebben 15pF condensatoren gebruikt, dus de seriecombinatie is 7.5pF. Naast deze opzettelijke belastingscapaciteit moeten we ook een waarde toevoegen voor de onbedoelde extra capaciteit, of parasitaire capaciteit, die we krijgen van de PCB-sporen en de XIN- en XOUT-pinnen van RP2350. We gaan hiervoor uit van een waarde van 3pF, en aangezien deze capaciteit parallel loopt aan C3 en C4, voegen we dit eenvoudig toe om ons een totale belastingscapaciteit van 10.5pF te geven, wat dicht genoeg bij het doel van 10pF ligt. Zoals u kunt zien, is de parasitaire capaciteit van de PCB-sporen een factor, en daarom moeten we ze klein houden, zodat we het kristal niet verstoren en voorkomen dat het oscilleert zoals bedoeld. Probeer de lay-out zo kort mogelijk te houden.
  • De tweede overweging is de maximale ESR (equivalent series resistance) van het kristal. We hebben gekozen voor een apparaat met maximaal 50Ω, omdat we hebben ontdekt dat dit, samen met een 1kΩ series resistance (R2), een goede waarde is om te voorkomen dat het kristal overstuurd wordt en beschadigd raakt bij gebruik van een IOVDD-niveau van 3.3V. Als IOVDD echter lager is dan 3.3V, wordt de aandrijfstroom van de XIN/XOUT-pinnen verminderd en zult u merken dat de ampde lichtheid van het kristal is lager, of oscilleert mogelijk helemaal niet. In dit geval moet een kleinere waarde van de serieweerstand worden gebruikt. Elke afwijking van het hier getoonde kristalcircuit, of met een IOVDD-niveau anders dan 3.3 V, vereist uitgebreide tests om ervoor te zorgen dat het kristal onder alle omstandigheden oscilleert en snel genoeg opstart om geen problemen met uw toepassing te veroorzaken.

 Aanbevolen kristal

  • Voor originele ontwerpen met RP2350 raden wij aan de Abracon ABM8-272-T3 te gebruiken. Bijvoorbeeldample, naast het minimale ontwerp exampZie het Pico 2-bordschema in Bijlage B van het Raspberry Pi Pico 2-gegevensblad en het Pico 2-ontwerp files.
  • Voor de beste prestaties en stabiliteit in typische bedrijfstemperatuurbereiken gebruikt u de Abracon ABM8-272-T3. U kunt de ABM8-272-T3 rechtstreeks bij Abracon of bij een geautoriseerde wederverkoper bestellen. Pico 2 is speciaal afgestemd op de ABM8-272-T3, die de volgende specificaties heeft:
  • Zelfs als u een kristal met vergelijkbare specificaties gebruikt, moet u het circuit testen bij verschillende temperaturen om de stabiliteit te garanderen.
  • De kristaloscillator wordt gevoed door de IOVDD-voltage. Als gevolg hiervan zijn het Abracon-kristal en die specifieke damping-weerstand zijn afgestemd op 3.3V-werking. Als u een andere IO-voltage, je zult opnieuw moeten afstemmen.
  • Elke wijziging in de kristalparameters brengt het risico met zich mee dat de stabiliteit van alle componenten die op het kristalcircuit zijn aangesloten, in gevaar komt.
  • Als u het aanbevolen kristal niet rechtstreeks bij Abracon of een wederverkoper kunt verkrijgen, neem dan contact op met applicaties@raspberrypi.com.

Hoofdstuk 5. IO's

 USB
Figuur 11. Schematische doorsnede met de USB-pinnen van RP2350 en seriële afsluiting

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

  • De RP2350 biedt twee pinnen die gebruikt kunnen worden voor full speed (FS) of low speed (LS) USB, hetzij als host of apparaat, afhankelijk van de gebruikte software. Zoals we al hebben besproken, kan de RP2350 ook opstarten als een USB-massaopslagapparaat, dus het is logisch om deze pinnen aan te sluiten op de USB-connector (J1 in Afbeelding 5). De USB_DP- en USB_DM-pinnen op de RP2350 vereisen geen extra pull-ups of pull-downs (vereist om snelheid, FS of LS aan te geven, of het een host of apparaat is), omdat deze in de I/O's zijn ingebouwd. Deze I/O's vereisen echter wel 27Ω-serie-afsluitweerstanden (R7 en R8 in Afbeelding 11), die dicht bij de chip zijn geplaatst, om te voldoen aan de USB-impedantiespecificatie.
  • Hoewel de RP2350 beperkt is tot de volledige datasnelheid (12 Mbps), moeten we proberen ervoor te zorgen dat de karakteristieke impedantie van de transmissielijnen (de koperen sporen die de chip verbinden met de connector) dicht bij de
  • USB-specificatie van 90Ω (differentieel gemeten). Op een 1 mm dik bord zoals dit, als we 0.8 mm brede sporen gebruiken op USB_DP en USB_DM, met een tussenruimte van 0.15 mm ertussen, zouden we een differentiële karakteristieke impedantie van ongeveer 90Ω moeten krijgen. Dit is om ervoor te zorgen dat de signalen zo schoon mogelijk langs deze transmissielijnen kunnen reizen, waardoor het volume wordt geminimaliseerd.tage reflecties die de integriteit van het signaal kunnen verminderen. Om deze transmissielijnen goed te laten werken, moeten we ervoor zorgen dat er direct onder deze lijnen een grond is. Een solide, ononderbroken gebied van kopergrond, dat zich over de gehele lengte van het spoor uitstrekt. Bij dit ontwerp is bijna de gehele onderste koperlaag gewijd aan de grond, en er is met name op gelet dat de USB-sporen alleen over de grond lopen. Als er voor uw bouw een PCB dikker dan 1 mm wordt gekozen, hebben we twee opties. We kunnen de USB-transmissielijnen opnieuw ontwerpen om te compenseren voor de grotere afstand tussen het spoor en de grond eronder (wat fysiek onmogelijk zou kunnen zijn), of we kunnen het negeren en hopen op het beste. USB FS kan behoorlijk vergevingsgezind zijn, maar uw ervaring kan variëren. Het zal waarschijnlijk in veel toepassingen werken, maar het zal waarschijnlijk niet voldoen aan de USB-standaard.

 I/O-headers

Figuur 12. Schematische doorsnede van de 2.54 mm I/O-headers van de QFN60-versie

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

  • Naast de USB-connector die al genoemd is, zijn er een paar dual row 2.54mm headers (J2 en J3 in Figuur 12), één aan elke kant van het bord, waarop de rest van de I/O is aangesloten. Er zijn 30 GPIO op de RP2350A, terwijl er 48 GPIO op de RP2350B zijn, dus de headers op deze versie van het Minimal-bord zijn groter om ruimte te bieden aan de extra pinnen (zie Figuur 13).
  • Omdat dit een algemeen ontwerp is, zonder specifieke toepassing in gedachten, zijn de I/O beschikbaar gemaakt om te worden aangesloten zoals de gebruiker wenst. De binnenste rij pinnen op elke header zijn de I/O's, en de buitenste rij is allemaal verbonden met de aarde. Het is een goede gewoonte om veel aardes op I/O-connectoren op te nemen. Dit helpt om een ​​aarde met lage impedantie te behouden, en ook om voldoende potentiële retourpaden te bieden voor stromen die van en naar de
  • I/O-verbindingen. Dit is belangrijk om elektromagnetische interferentie te minimaliseren die kan worden veroorzaakt door de retourstromen van snel schakelende signalen die lange, lusvormige paden nemen om het circuit te voltooien.
  • Beide headers zitten op hetzelfde 2.54mm raster, wat het verbinden van dit bord met andere dingen, zoals breadboards, makkelijker maakt. U kunt overwegen om alleen een enkele rij header te monteren in plaats van de dubbele rij header, waarbij u de buitenste rij grondverbindingen weglaat, om het gemakkelijker te maken om het op een breadboard te monteren.

Figuur 13. Schematische doorsnede van de 2.54 mm I/O-headers van de QFN80-versie

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

Debug-connector

Figuur 14. Schematische doorsnede met de optionele JST-connector voor SWD-foutopsporing

Raspberry-Pi-SC1631-Raspberry-Microcontroller- (10)
Voor on-chip debugging kunt u verbinding maken met de SWD-interface van de RP2350. De twee pinnen, SWD en SWCLK, zijn beschikbaar op de 2.54 mm header, J3, zodat de debug-probe van uw keuze eenvoudig kan worden aangesloten. Daarnaast heb ik een optionele JST-header toegevoegd, die een eenvoudige verbinding met Raspberry Pi Debug Probe mogelijk maakt. U hoeft deze niet te gebruiken, de 2.54 mm headers zijn voldoende als u van plan bent om software te debuggen, maar ik vind het handiger om dit te doen. Ik heb gekozen voor een horizontale connector, vooral omdat ik het uiterlijk ervan mooi vind, ook al zit deze niet aan de rand van het bord, maar verticale zijn beschikbaar, zij het met een iets andere footprint.

Knoppen
Het Minimal-ontwerp bevat nu niet één, maar twee knoppen, terwijl de RP240-versie er geen had. Eén is voor USB-bootselectie, zoals we eerder hebben besproken, maar de tweede is een 'reset'-knop, aangesloten op de RUN-pin. Geen van beide is strikt noodzakelijk (hoewel de BOOTSEL-knop vervangen zou moeten worden door een header of iets dergelijks als USB-bootmodus vereist was), en kan worden verwijderd als ruimte of kosten een probleem zijn, maar ze maken het gebruik van de RP2350 zeker een veel aangenamere ervaring.

Bijlage A: Volledig schema - RP2350A-versie

Figuur 15. Volledig schema van het minimale ontwerp voor RP2350ARaspberry-Pi-SC1631-Raspberry-Microcontroller- (11) Raspberry-Pi-SC1631-Raspberry-Microcontroller- (12)

Bijlage B: Volledig schema - RP2350B-versie

Figuur 16. Volledig schema van het minimale ontwerp voor RP2350B

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

Bijlage H: Documentatie Release Geschiedenis

8 augustus 2024
Eerste release.

ik Raspberry Pi
Raspberry Pi is een handelsmerk van Raspberry Pi Ltd.
Raspberry Pi Ltd

Documenten / Bronnen

Raspberry Pi SC1631 Raspberry-microcontroller [pdf] Gebruiksaanwijzing
SC1631 Raspberry-microcontroller, SC1631, Raspberry-microcontroller, Microcontroller

Referenties

Laat een reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd *