Microcontrôleur Raspberry Pi SC1631
Spécifications du produit
- Modèle: RP2350
- Paquet : QFN-60
- Stockage flash interne : Non
- Voltage Régulateur : Régulateur à découpage sur puce
- Broches du régulateur : 5 (entrée 3.3 V, sortie 1.1 V, VREG_AVDD, VREG_LX, VREG_PGND)
Instructions d'utilisation du produit
- Chapitre 1 : Introduction
- La série RP2350 propose différentes options de boîtier par rapport à la série RP2040. Les modèles RP2350A et RP2354A sont livrés dans un boîtier QFN-60 avec et sans stockage flash interne, tandis que les modèles RP2354B et RP2350B sont livrés dans un boîtier QFN-80 avec et sans stockage flash.
- Chapitre 2 : Le pouvoir
La série RP2350 dispose d'un nouveau volume de commutation sur pucetagRégulateur à cinq broches. Ce régulateur nécessite des composants externes pour fonctionner mais offre une efficacité énergétique supérieure à des courants de charge plus élevés par rapport au régulateur linéaire de la série RP2040. Faites attention à la sensibilité au bruit dans la broche VREG_AVDD qui alimente le circuit analogique.
Questions fréquemment posées (FAQ)
- Q : Quelle est la principale différence entre le RP2350A et le RP2350B ?
R : La principale différence réside dans la présence d'un stockage flash interne. Le RP2350A n'a pas de stockage flash interne alors que le RP2350B en a un. - Q : Combien de broches le vol comporte-t-il ?tagLe régulateur de la série RP2350 possède-t-il ?
R : Le voltagLe régulateur de la série RP2350 possède cinq broches.
Conception matérielle avec RP2350 Utilisation de microcontrôleurs RP2350 pour construire des cartes et des produits
Colophon
- © 2023-2024 Raspberry Pi Ltd
- Cette documentation est sous licence Creative Commons Attribution - Pas de Modification 4.0 International (CC BY-ND). date de construction : 2024-08-08 version de construction : c0acc5b-clean
- Mentions légales
- LES DONNÉES TECHNIQUES ET DE FIABILITÉ DES PRODUITS RASPBERRY PI (Y COMPRIS LES FICHES TECHNIQUES) TELLES QUE MODIFIÉES DE TEMPS À AUTRE (« RESSOURCES ») SONT FOURNIES PAR RASPBERRY PI LTD (« RPL ») « EN L'ÉTAT » ET TOUTE GARANTIE EXPRESSE OU IMPLICITE, Y COMPRIS, MAIS SANS S'Y LIMITER, LES GARANTIES IMPLICITES DE QUALITÉ MARCHANDE ET D'ADÉQUATION À UN USAGE PARTICULIER SONT EXCLUES. DANS LA MESURE MAXIMALE PERMISE PAR LA LOI APPLICABLE, RPL NE SERA EN AUCUN CAS RESPONSABLE DE TOUT DOMMAGE DIRECT, INDIRECT, ACCESSOIRE, SPÉCIAL, EXEMPLAIRE OU CONSÉCUTIF (Y COMPRIS, MAIS SANS S'Y LIMITER, L'ACQUISITION DE BIENS OU SERVICES DE SUBSTITUTION ; LA PERTE D'UTILISATION, DE DONNÉES OU DE PROFITS ; OU L'INTERRUPTION D'ACTIVITÉ) QUELLE QU'EN SOIT LA CAUSE ET SUR TOUTE THÉORIE DE RESPONSABILITÉ, QU'ELLE SOIT CONTRACTUELLE, STRICTE OU DÉLICTUELLE (Y COMPRIS LA NÉGLIGENCE OU AUTRE) DÉCOULANT DE QUELQUE MANIÈRE QUE CE SOIT DE L'UTILISATION DES RESSOURCES, MÊME SI ELLE EST AVISÉE DE LA POSSIBILITÉ DE TELS DOMMAGES.
- RPL se réserve le droit d'apporter des améliorations, des corrections ou toute autre modification aux RESSOURCES ou à tout produit qui y est décrit à tout moment et sans préavis.
Les RESSOURCES sont destinées aux utilisateurs expérimentés ayant des niveaux de connaissances en conception appropriés. Les utilisateurs sont seuls responsables de leur sélection et de leur utilisation des RESSOURCES et de toute application des produits qui y sont décrits. L'utilisateur s'engage à indemniser et à dégager RPL de toute responsabilité, de tous coûts, de tous dommages ou de toutes autres pertes découlant de son utilisation des RESSOURCES. - RPL accorde aux utilisateurs la permission d'utiliser les RESSOURCES uniquement en conjonction avec les produits Raspberry Pi. Toute autre utilisation des RESSOURCES est interdite. Aucune licence n'est accordée à un autre RPL ou à un autre droit de propriété intellectuelle de tiers.
- ACTIVITÉS À HAUT RISQUE. Les produits Raspberry Pi ne sont pas conçus, fabriqués ou destinés à être utilisés dans des environnements dangereux nécessitant des performances à sécurité intégrée, comme dans le fonctionnement d'installations nucléaires, de systèmes de navigation ou de communication d'aéronefs, de contrôle du trafic aérien, de systèmes d'armes ou d'applications critiques pour la sécurité (y compris les systèmes de survie et autres dispositifs médicaux), dans lesquels la défaillance des produits pourrait entraîner directement la mort, des blessures corporelles ou des dommages physiques ou environnementaux graves (« Activités à haut risque »). RPL décline spécifiquement toute garantie expresse ou implicite d'adéquation aux activités à haut risque et n'accepte aucune responsabilité pour l'utilisation ou l'inclusion de produits Raspberry Pi dans des activités à haut risque.
- Les produits Raspberry Pi sont fournis sous réserve des conditions générales de RPL. La fourniture des RESSOURCES par RPL n'étend ni ne modifie les conditions générales de RPL, y compris, mais sans s'y limiter, les clauses de non-responsabilité et les garanties qui y sont exprimées.
Chapitre 1. Introduction
Figure 1. Rendu 3D KiCad de l'exemple de conception minimale RP2350Aample
Lorsque nous avons présenté pour la première fois le Raspberry Pi RP2040, nous avons également publié un modèle de conception « minimaliste »ample guide d'accompagnement Conception matérielle avec RP2040 qui explique comment le RP2040 peut être utilisé dans un circuit imprimé simple et pourquoi les différents choix de composants ont été faits. Avec l'arrivée de la série RP235x, il est temps de revisiter la conception minimale originale du RP2040 et de la mettre à jour pour tenir compte des nouvelles fonctionnalités, ainsi que pour chacune des variantes de boîtier ; le RP2350A avec son boîtier QFN-60 et le RP2350B qui est un QFN-80. Encore une fois, ces conceptions sont au format Kicad (7.0) et sont disponibles en téléchargement (https://datasheets.raspberrypi.com/rp2350/Minimal-KiCAD.zip).
Le tableau minimal
La carte Minimal originale était une tentative de fournir une conception de référence simple, utilisant le strict minimum de composants externes requis pour faire fonctionner le RP2040 tout en ayant toutes les E/S exposées et accessibles. Elle était essentiellement composée d'une source d'alimentation (un régulateur linéaire de 5 V à 3.3 V), d'un oscillateur à quartz, d'une mémoire flash et de connexions E/S (une prise micro USB et des embases GPIO). Les nouvelles cartes Minimal de la série RP235x sont en grande partie les mêmes, mais avec quelques modifications nécessaires en raison du nouveau matériel. En plus de cela, et malgré le fait d'aller quelque peu à l'encontre de la nature minimale de la conception, j'ai ajouté quelques boutons pour le démarrage et l'exécution, ainsi qu'un en-tête SWD séparé, ce qui devrait signifier une expérience de débogage beaucoup moins frustrante cette fois-ci. Les conceptions n'ont pas strictement besoin de ces boutons, les signaux sont toujours disponibles sur les en-têtes, et ils peuvent être omis si vous êtes particulièrement soucieux des coûts ou de l'espace, ou si vous avez des tendances masochistes.
Séries RP2040 et RP235x
Le changement le plus évident se situe au niveau des boîtiers. Alors que le RP2040 est un QFN-7 7x56 mm, la série RP235x compte actuellement quatre membres différents. Deux appareils partagent le même boîtier QFN-60 : le RP2350A qui ne contient pas de stockage flash interne, et le RP2354A qui en contient. De même, le QFN-80 est également disponible en deux versions : le RP2354B avec flash et le RP2350B sans. Les appareils QFN-60 et le RP2040 d'origine partagent un héritage communtage.
Elles ont chacune 30 GPIO, dont quatre sont également connectées à l'ADC, et ont une taille de 7 x 7 mm. Malgré cela, la RP2350A n'est pas un remplacement direct de la RP2040, car le nombre de broches sur chacune est différent. En revanche, les puces QFN-80 ont maintenant 48 GPIO, et huit d'entre elles sont désormais compatibles ADC. Pour cette raison, nous avons maintenant deux cartes Minimal ; une pour les périphériques à 60 broches et une pour les 80. Ces cartes Minimal sont principalement conçues pour les pièces sans mémoire flash interne (RP2350), mais les conceptions peuvent facilement être utilisées avec les périphériques flash internes (RP2354) en omettant simplement la mémoire flash intégrée, ou même en l'utilisant comme périphérique flash secondaire (plus d'informations à ce sujet plus tard). Il y a peu de différence entre les deux cartes, à part le fait que la version QFN-80 a des rangées d'en-têtes plus longues pour accueillir les GPIO supplémentaires, et que la carte est donc plus grande.
Outre le boîtier, la plus grande différence au niveau de la carte entre la série RP235x et la RP2040 réside dans les alimentations. La série RP235x possède de nouvelles broches d'alimentation et un régulateur interne différent. Le régulateur linéaire de 100 mA du RP2040 a été remplacé par un régulateur à découpage de 200 mA, ce qui nécessite des circuits très spécifiques et un soin particulier apporté à la disposition. Il est fortement recommandé de suivre de près notre sélection de disposition et de composants ; nous avons déjà subi la difficulté de devoir faire plusieurs itérations de la conception, donc nous espérons que vous n'aurez pas à le faire.
Figure 2. Rendu 3D KiCad de l'exemple de conception minimale RP2350Bample
La conception
L'intention du design minimal exampL'objectif de l'invention est de créer une paire de cartes simples utilisant la série RP235x, qui devraient être peu coûteuses et faciles à fabriquer, sans utiliser de technologies PCB inutilement exotiques. Les cartes Minimal sont donc des conceptions à 2 couches, utilisant des composants qui devraient être couramment disponibles, et tous montés sur la face supérieure de la carte. Bien qu'il serait agréable d'utiliser des composants de grande taille, faciles à souder à la main, le petit pas des puces QFN (0.4 mm) signifie que l'utilisation de certains composants passifs 0402 (1005 métriques) est inévitable si tous les GPIO doivent être utilisés. Bien que le soudage manuel des composants 0402 ne soit pas trop difficile avec un fer à souder décent, il est presque impossible de souder les QFN sans équipement spécialisé.
Dans les sections suivantes, je vais tenter d'expliquer à quoi servent les circuits supplémentaires et, je l'espère, comment nous en sommes arrivés à faire les choix que nous avons faits. Comme je vais en fait parler de deux conceptions distinctes, une pour chaque taille de boîtier, j'ai essayé de garder les choses aussi simples que possible. Dans la mesure du possible, toutes les références de composants pour les deux cartes sont identiques, donc si je fais référence à U1, R1, etc., cela est également pertinent pour les deux cartes. L'exception évidente est lorsque le composant ne se trouve que sur l'une des cartes (dans tous les cas, ce sera sur la variante à 80 broches plus grande), alors le composant en question ne sera que sur la conception QFN-80 ; par exempleample, R13 n'apparaît que sur ce tableau.
Chapitre 2. Le pouvoir
Les alimentations de la série RP235x et de la RP2040 diffèrent quelque peu cette fois-ci, bien que dans sa configuration la plus simple, elle nécessite toujours deux alimentations, 3.3 V et 1.1 V. La série RP235x est à la fois plus gourmande en énergie, car elle est plus performante, et également plus économe (en état de faible consommation) que son prédécesseur, c'est pourquoi le régulateur linéaire de la RP2040 a été mis à niveau avec un régulateur à découpage. Cela nous permet une plus grande efficacité énergétique à des courants plus élevés (jusqu'à 200 mA par rapport aux 100 mA précédents).
Nouveau vol sur pucetage régulateur
Figure 3. Section schématique montrant le circuit régulateur interne
Le régulateur linéaire du RP2040 avait deux broches, une entrée de 3.3 V et une sortie de 1.1 V pour alimenter le DVDD sur la puce. Cette fois, le régulateur de la série RP235x a cinq broches et nécessite des composants externes pour le faire fonctionner. Bien que cela semble un peu un pas en arrière en termes de facilité d'utilisation, le régulateur de commutation a l'avantagetage d'être plus économe en énergie à des courants de charge plus élevés.
Comme son nom l'indique, le régulateur allume et éteint rapidement un transistor interne reliant le volume d'entrée 3.3 Vtage (VREG_VIN) à la broche VREG_LX, et avec l'aide d'un inducteur (L1) et d'un condensateur de sortie (C7), il peut produire une tension de sortie CCtage qui a été abaissé par rapport à l'entrée. La broche VREG_FB surveille le volume de sortietage, et ajuste le rapport marche/arrêt du cycle de commutation, pour garantir que le volume requistage est maintenu. Comme de gros courants sont commutés de VREG_VIN à VREG_LX, un gros condensateur (C6) proche de l'entrée est nécessaire, afin de ne pas trop perturber l'alimentation 3.3 V. En parlant de ces gros courants de commutation, le régulateur est également livré avec sa propre connexion de retour à la terre, VREG_PGND. De même avec VREG_VIN et VREG_LX, la disposition de cette connexion est critique, et bien que VREG_PGND doive se connecter au GND principal, cela doit être fait de telle manière que tous les gros courants de commutation reviennent directement à la broche PGND, sans trop perturber le reste du GND.
La dernière broche est VREG_AVDD, qui alimente le circuit analogique au sein du régulateur, et celui-ci est très sensible au bruit.
Figure 4. Section schématique montrant la disposition du PCB du régulateur
- La disposition du régulateur sur les cartes minimales reflète étroitement celle du Raspberry Pi Pico 2. Un travail considérable a été consacré à la conception de ce circuit, avec de nombreuses itérations du PCB nécessaires pour le rendre aussi bon que possible. Bien que vous puissiez placer ces composants de différentes manières et faire en sorte que le régulateur « fonctionne » (c'est-à-dire produise un volume de sortie),tage à peu près au bon niveau, assez bon pour exécuter le code), nous avons constaté que notre régulateur doit être traité exactement de la bonne manière pour le garder heureux, et par heureux, j'entends produire le volume de sortie correcttage dans une gamme de conditions de courant de charge.
- En effectuant nos expériences sur ce sujet, nous avons été quelque peu déçus de nous voir rappeler que le monde peu pratique de la physique ne peut pas toujours être ignoré. En tant qu'ingénieurs, nous essayons en grande partie de faire exactement cela : simplifier les composants, ignorer (souvent) les propriétés physiques insignifiantes et nous concentrer plutôt sur la propriété qui nous intéresse. Par exempleampEn effet, une simple résistance n'a pas seulement une résistance, mais aussi une inductance, etc. Dans notre cas, nous avons (re)découvert que les inducteurs ont un champ magnétique qui leur est associé et, surtout, qu'il rayonne dans une direction qui dépend du sens dans lequel la bobine est enroulée et du sens du flux de courant. On nous a également rappelé qu'un inducteur « entièrement » blindé ne signifie pas ce que vous pensez. Le champ magnétique est atténué dans une large mesure, mais une partie s'échappe toujours. Nous avons découvert que les performances du régulateur pourraient être considérablement améliorées si l'inducteur est « dans le bon sens ».
- Il s'avère que le champ magnétique émis par un inducteur « à l'envers » interfère avec le condensateur de sortie du régulateur (C7), ce qui à son tour perturbe le circuit de commande du RP2350. Avec l'inducteur dans la bonne orientation et la disposition précise et les sélections de composants utilisées ici, ce problème disparaît. Il y aura sans aucun doute d'autres configurations, composants, etc., qui pourraient fonctionner avec un inducteur dans n'importe quelle orientation, mais ils utiliseront très probablement beaucoup plus d'espace PCB pour le faire. Nous avons fourni cette configuration recommandée pour épargner aux gens les nombreuses heures d'ingénierie que nous avons passées à développer et à affiner cette solution compacte et bien conçue.
- Plus précisément, nous allons même jusqu'à dire que si vous choisissez de ne pas utiliser notre example, alors vous le faites à vos propres risques. Tout comme nous le faisons déjà avec le RP2040 et le circuit à cristal, où nous insistons (enfin, nous vous suggérons fortement) d'utiliser une pièce particulière (nous le ferons à nouveau dans la section sur le cristal de ce document).
- La directionnalité de ces petits inducteurs est pratiquement ignorée de manière universelle, l'orientation de l'enroulement de la bobine étant impossible à déduire et également distribuée de manière aléatoire le long d'une bobine de composants. Les boîtiers d'inducteurs de plus grande taille comportent souvent des marquages de polarité, mais nous n'avons pas pu en trouver de appropriés dans la taille de boîtier 0806 (métrique 2016) que nous avons choisie. À cette fin, nous avons travaillé avec Abracon pour produire une pièce de 3.3 μH avec un point pour indiquer la polarité et, surtout, livrée sur une bobine avec tous les éléments alignés de la même manière. Les TBD sont (ou seront très prochainement) mis à la disposition du grand public par les distributeurs. Comme mentionné précédemment, l'alimentation VREG_AVDD est très sensible au bruit et doit donc être filtrée. Nous avons constaté que comme le VREG_AVDD ne consomme qu'environ 200 μA, un filtre RC de 33 Ω et 4.7 μF est adéquat.
- Donc, pour résumer, les composants utilisés seront…
- C6, C7 et C9 – 4.7 μF (0402, 1005 métrique)
- L1 – Abracon à déterminer (0806, 2016 métrique)
- R3 – 33Ω (0402, 1005 métrique)
- La fiche technique du RP2350 contient une discussion plus détaillée sur les recommandations de disposition du régulateur, veuillez consulter les composants externes et les exigences de disposition des PCB.
Alimentation d'entrée
La connexion d'alimentation d'entrée pour cette conception se fait via la broche VBUS 5 V d'un connecteur Micro-USB (étiqueté J1 sur la Figure 5). Il s'agit d'une méthode courante d'alimentation des appareils électroniques, et elle a du sens ici, car le RP2350 dispose d'une fonctionnalité USB, que nous allons câbler aux broches de données de ce connecteur. Comme nous n'avons besoin que de 3.3 V pour cette conception (l'alimentation de 1.1 V provient de l'interne), nous devons réduire l'alimentation USB entrante de 5 V, dans ce cas, en utilisant un autre vol externetage régulateur, dans ce cas un régulateur linéaire (alias régulateur Low Drop Out, ou LDO). Ayant déjà vanté les vertus de l'utilisation d'un régulateur de commutation efficace, il pourrait également être judicieux d'en utiliser un ici aussi, mais j'ai opté pour la simplicité. Tout d'abord, l'utilisation d'un LDO est presque toujours plus simple. Il n'y a pas de calculs nécessaires pour déterminer la taille de l'inductance à utiliser, ni la taille des condensateurs de sortie, et la disposition est généralement beaucoup plus simple également. Deuxièmement, économiser la moindre goutte d'énergie n'est pas l'objectif ici ; si c'était le cas, j'envisagerais sérieusement d'utiliser un régulateur de commutation, et vous pouvez en trouver un exampLe circuit que j'ai utilisé précédemment sur la version RP2 de la carte Minimal est très simple à utiliser. Le NCP2040 (U1117) choisi ici a une sortie fixe de 2 V, est largement disponible et peut fournir jusqu'à 3.3 A de courant, ce qui sera largement suffisant pour la plupart des conceptions. Un coup d'œil à la fiche technique du NCP1 nous indique que cet appareil nécessite un condensateur de 1117 μF en entrée et un autre en sortie (C10 et C1).
Condensateurs de découplage
Figure 6. Section schématique montrant les entrées de l'alimentation RP2350, vol.tagrégulateur et condensateurs de découplage
Un autre aspect de la conception de l'alimentation électrique concerne les condensateurs de découplage requis pour le RP2350. Ceux-ci remplissent deux fonctions de base. Tout d'abord, ils filtrent le bruit de l'alimentation électrique et, deuxièmement, ils fournissent une alimentation locale en charge que les circuits à l'intérieur du RP2350 peuvent utiliser à court terme. Cela empêche le voltagLe niveau de courant à proximité immédiate ne chute pas trop lorsque la demande de courant augmente soudainement. C'est pourquoi il est important de placer le découplage à proximité des broches d'alimentation. En règle générale, nous recommandons l'utilisation d'un condensateur de 100 nF par broche d'alimentation, mais nous nous écartons de cette règle dans quelques cas.
Figure 7. Section de la mise en page montrant le routage et le découplage du RP2350
- Premièrement, pour pouvoir disposer de suffisamment d'espace pour que toutes les broches de la puce puissent être acheminées vers l'extérieur, à l'écart de l'appareil, nous devons faire un compromis avec la quantité de condensateurs de découplage que nous pouvons utiliser. Dans cette conception, les broches 53 et 54 du RP2350A (broches 68 et 69 du RP2350B) partagent un seul condensateur (C12 sur la Figure 7 et la Figure 6), car il n'y a pas beaucoup de place de ce côté de l'appareil, et les composants et la disposition du régulateur ont la priorité.
- Ce manque d'espace pourrait être quelque peu surmonté si nous utilisions une technologie plus complexe/coûteuse, comme des composants plus petits ou un PCB à quatre couches avec des composants sur les côtés supérieur et inférieur. Il s'agit d'un compromis de conception ; nous avons réduit la complexité et le coût, au détriment d'une capacité de découplage moindre et de condensateurs légèrement plus éloignés de la puce que ce qui est optimal (ce qui augmente l'inductance). Cela pourrait avoir pour effet de limiter la vitesse maximale à laquelle la conception pourrait fonctionner, car le volumetagL'alimentation pourrait devenir trop bruyante et tomber en dessous du volume minimum autorisétage; mais pour la plupart des applications, ce compromis devrait être acceptable.
- L'autre écart par rapport à la règle des 100 nF est que nous pouvons encore améliorer le volumetage performances du régulateur ; nous recommandons d'utiliser un 4.7 μF pour C10, qui est placé de l'autre côté de la puce par rapport au régulateur.
Chapitre 3. Mémoire Flash
Flash primaire
Figure 8. Section schématique montrant la mémoire flash principale et le circuit USB_BOOT
- Pour pouvoir stocker le code du programme à partir duquel le RP2350 peut démarrer et s'exécuter, nous devons utiliser une mémoire flash, plus précisément une mémoire flash quad SPI. Le périphérique choisi ici est un périphérique W25Q128JVS (U3 sur la Figure 8), qui est une puce de 128 Mbit (16 Mo). Il s'agit de la plus grande taille de mémoire que le RP2350 peut prendre en charge. Si votre application particulière n'a pas besoin d'autant de stockage, une mémoire plus petite et moins chère peut être utilisée à la place.
- Comme ce bus de données peut être à très haute fréquence et est régulièrement utilisé, les broches QSPI du RP2350 doivent être câblées directement au flash, en utilisant des connexions courtes pour maintenir l'intégrité du signal et pour réduire également la diaphonie dans les circuits environnants. La diaphonie se produit lorsque des signaux sur un réseau de circuit peuvent induire un volume indésirabletages sur un circuit voisin, ce qui peut potentiellement provoquer des erreurs.
- Le signal QSPI_SS est un cas particulier. Il est connecté directement au flash, mais il possède également deux résistances (enfin, quatre, mais j'y reviendrai plus tard) qui lui sont connectées. La première (R1) est une résistance de rappel vers l'alimentation 3.3 V. La mémoire flash nécessite que l'entrée de sélection de puce soit au même niveautagLe RP3.3 est alimenté par une broche d'alimentation 2350 V, sinon il ne fonctionne pas correctement. Lorsque le RP1 est alimenté, sa broche QSPI_SS passe automatiquement par défaut à une résistance de rappel, mais il y a une courte période pendant la mise sous tension où l'état de la broche QSPI_SS ne peut pas être garanti. L'ajout d'une résistance de rappel garantit que cette exigence sera toujours satisfaite. R10 est marqué comme DNF (Do Not Fit) sur le schéma, car nous avons constaté qu'avec ce périphérique flash particulier, le rappel externe est inutile. Cependant, si un flash différent est utilisé, il peut devenir important de pouvoir insérer une résistance de XNUMX kΩ ici, elle a donc été incluse au cas où.
- La deuxième résistance (R6) est une résistance de 1 kΩ, connectée à un bouton-poussoir (SW1) étiqueté « USB_BOOT ». En effet, la broche QSPI_SS est utilisée comme « boot strap » ; le RP2350 vérifie la valeur de cette E/S pendant la séquence de démarrage, et si elle s'avère être un 0 logique, alors le RP2350 revient au mode BOOTSEL, où le RP2350 se présente comme un périphérique de stockage de masse USB, et le code peut y être copié directement. Si nous appuyons simplement sur le bouton, nous mettons la broche QSPI_SS à la masse, et si le périphérique est ensuite réinitialisé (par exemple en basculant la broche RUN), le RP2350 redémarrera en mode BOOTSEL au lieu de tenter d'exécuter le contenu du flash. Ces résistances, R2 et R6 (R9 et R10 également), doivent être placées à proximité de la puce flash, afin d'éviter des longueurs supplémentaires de pistes en cuivre qui pourraient affecter le signal.
- Tout ce qui précède s'applique spécifiquement au RP2350, qui n'a pas de mémoire flash interne. Bien entendu, les appareils RP2354 ont des mémoires flash internes de 2 Mo, donc la mémoire U3 externe n'est pas nécessaire, donc U3 peut être retiré en toute sécurité du schéma, ou simplement laissé vide. Dans l'un ou l'autre de ces cas, nous voudrions toujours garder le commutateur USB_BOOT connecté à QSPI_SS, afin de pouvoir toujours entrer en mode de démarrage USB.
Flash secondaire ou PSRAM
- La série RP235x prend désormais en charge un second périphérique de mémoire utilisant les mêmes broches QSPI, avec un GPIO fournissant la sélection de puce supplémentaire. Ainsi, si nous utilisons un RP2354 (qui possède une mémoire flash interne), nous pouvons utiliser U3 comme mémoire flash secondaire, voire la remplacer par un périphérique PSRAM. Pour ce faire, nous devons déconnecter QSPI_SS de U3 et le connecter à un GPIO approprié. Le GPIO le plus proche capable d'être une sélection de puce (XIP_CS1n) est GPIO0, donc en retirant le 0Ω de R10 et en l'installant sur R9, nous pouvons désormais accéder à U3 en plus de la mémoire flash intégrée. Afin de profiter pleinement de l'avantagetage de cette fonctionnalité, où nous avons deux périphériques de mémoire externes afin que les pièces RP2350 sans flash puissent en bénéficier, la plus grande des deux cartes Minimal, pour le RP2350B, comprend une empreinte optionnelle (U4) pour une puce mémoire supplémentaire.
Figure 9. Section schématique montrant le périphérique de mémoire secondaire optionnel
Pour pouvoir utiliser ce dispositif, il faudra évidemment le peupler, ainsi que R11 (0Ω), et R13 (10KΩ). L'ajout de R11 connecte GPIO0 (le signal XIP_CS1n) au chip select de la seconde mémoire. Le pull-up sur la broche de sélection de puce est définitivement nécessaire cette fois, car l'état par défaut de GPIO0 est d'être tiré vers le bas à la mise sous tension, ce qui provoquerait la panne de notre dispositif flash. C22 serait également nécessaire pour fournir un découplage d'alimentation locale pour U4.
Puces flash prises en charge
La séquence initiale de la sonde flash, utilisée par le bas pour extraire le deuxième stage à partir de la mémoire flash, utilise une commande de lecture série 03h, avec un adressage 24 bits et une horloge série d'environ 1 MHz. Il parcourt de manière répétée les quatre combinaisons de polarité et de phase d'horloge, à la recherche d'une seconde validetaget la somme de contrôle CRC32.
Comme le deuxième stagIl est alors libre de configurer l'exécution sur place à l'aide de la même commande de lecture série 03h. Le RP2350 peut exécuter l'exécution sur place du flash mis en cache avec n'importe quelle puce prenant en charge la lecture série 03h avec un adressage 24 bits, ce qui inclut la plupart des périphériques flash de la série 25. Le SDK fournit un example deuxième stage pour CPOL=0 CPHA=0, à https://github.com/raspberrypi/pico-sdk/blob/master/src/rp2350/boot_stage2/boot2_generic_03h.SPour prendre en charge la programmation flash à l'aide des routines du bas, l'appareil doit également répondre aux commandes suivantes :
- 02h Programme de page de 256 octets
- 05h lecture du registre d'état
- 06h définit le verrou d'activation d'écriture
- Effacement de secteur de 20h 4 Ko
Le RP2350 prend également en charge une grande variété de modes d'accès double SPI et QSPI. Par exempleample, https://github.com/raspberrypi/pico-sdk/blob/master/src/rp2350/boot_stage2/boot2_w25q080.S configure un périphérique Winbond série W25Q pour le mode de lecture continue quad-IO, où le RP2350 envoie des adresses quad-IO (sans préfixe de commande) et le flash répond avec des données quad-IO.
Il faut faire preuve de prudence avec les modes XIP flash où le périphérique flash cesse de répondre aux commandes série standard, comme le mode de lecture continue Winbond mentionné ci-dessus. Cela peut entraîner des problèmes lorsque le RP2350 est réinitialisé, mais que le périphérique flash n'est pas mis hors tension, car le flash ne répondra alors pas à la séquence de sonde flash de la mémoire bootrom. Avant d'émettre la lecture série 03h, la mémoire bootrom émet toujours la séquence fixe suivante, qui est une séquence de meilleur effort pour interrompre XIP sur une gamme de périphériques flash :
- CSn=1, IO[3:0]=4'b0000 (via des menus déroulants pour éviter les conflits), émet ×32 horloges
- CSn=0, IO[3:0]=4'b1111 (via des pull-ups pour éviter les conflits), problème ×32 horloges
- CSn=1
- CSn=0, MOSI=1'b1 (piloté low-Z, toutes les autres E/S Hi-Z), problème ×16 horloges
Si l'appareil que vous avez choisi ne répond pas à cette séquence lorsqu'il est en mode de lecture continue, il doit alors être maintenu dans un état où chaque transfert est préfixé par une commande série, sinon le RP2350 ne pourra pas récupérer après une réinitialisation interne.
Pour plus de détails sur le QSPI, veuillez consulter l'interface mémoire QSPI (QMI) dans la fiche technique du RP2350.
Chapitre 4. Oscillateur à cristal
Figure 10. Section schématique montrant l'oscillateur à cristal et les condensateurs de charge
- À proprement parler, le RP2350 ne nécessite pas de source d'horloge externe, car il possède son propre oscillateur interne. Cependant, comme la fréquence de cet oscillateur interne n'est pas bien définie ou contrôlée, elle varie d'une puce à l'autre, ainsi qu'avec différents volumes d'alimentation.tagEn raison des variations de température et d'humidité, il est recommandé d'utiliser une source de fréquence externe stable. Les applications qui dépendent de fréquences exactes ne sont pas possibles sans une source de fréquence externe, l'USB étant un exemple de choix.ample.
- La fourniture d'une source de fréquence externe peut être effectuée de deux manières : soit en fournissant une source d'horloge avec une sortie CMOS (onde carrée de volume IOVDDtage) dans la broche XIN, ou en utilisant un cristal 12 MHz connecté entre
- XIN et XOUT. L'utilisation d'un cristal est ici l'option préférée, car ils sont tous deux relativement bon marché et très précis.
- Le cristal choisi pour cette conception est un ABM8-272-T3 (Y1 sur la figure 10). Il s'agit du même cristal 12 MHz utilisé sur le Raspberry Pi Pico et le Raspberry Pi Pico 2. Nous recommandons vivement d'utiliser ce cristal avec le circuit qui l'accompagne pour garantir que l'horloge démarre rapidement dans toutes les conditions sans endommager le cristal lui-même. Le cristal a une tolérance de fréquence de 30 ppm, ce qui devrait être suffisant pour la plupart des applications. Outre une tolérance de fréquence de +/- 30 ppm, il a une ESR maximale de 50 Ω et une capacité de charge de 10 pF, qui ont toutes deux eu une incidence sur le choix des composants qui l'accompagnent.
- Pour qu'un cristal oscille à la fréquence souhaitée, le fabricant spécifie la capacité de charge dont il a besoin pour le faire, et dans ce cas, elle est de 10 pF. Cette capacité de charge est obtenue en plaçant deux condensateurs de valeur égale, un de chaque côté du cristal à la terre (C3 et C4). Du point de vue du cristal view, ces condensateurs sont connectés en série entre ses deux bornes. La théorie de base des circuits nous dit qu'ils se combinent pour donner une capacité de (C3*C4)/(C3+C4), et comme C3=C4, alors c'est simplement C3/2. Dans cet exempleampNous avons utilisé des condensateurs de 15 pF, donc la combinaison en série est de 7.5 pF. En plus de cette capacité de charge intentionnelle, nous devons également ajouter une valeur pour la capacité supplémentaire non intentionnelle, ou capacité parasite, que nous obtenons des pistes du PCB et des broches XIN et XOUT du RP2350. Nous supposerons une valeur de 3 pF pour cela, et comme cette capacité est en parallèle avec C3 et C4, nous l'ajoutons simplement pour obtenir une capacité de charge totale de 10.5 pF, ce qui est assez proche de la cible de 10 pF. Comme vous pouvez le voir, la capacité parasite des traces du PCB est un facteur, et nous devons donc la garder petite afin de ne pas perturber le cristal et de l'empêcher d'osciller comme prévu. Essayez de garder la disposition aussi courte que possible.
- La deuxième considération est la résistance série équivalente (ESR) maximale du cristal. Nous avons opté pour un appareil avec un maximum de 50 Ω, car nous avons constaté que cela, associé à une résistance série de 1 kΩ (R2), constitue une bonne valeur pour éviter que le cristal ne soit surchargé et endommagé lors de l'utilisation d'un niveau IOVDD de 3.3 V. Cependant, si IOVDD est inférieur à 3.3 V, le courant de commande des broches XIN/XOUT est réduit et vous constaterez que le ampSi la tension du cristal est plus faible, voire qu'il n'oscille pas du tout, il faudra utiliser une valeur plus faible de la résistance série. Tout écart par rapport au circuit à cristal illustré ici, ou avec un niveau IOVDD autre que 3.3 V, nécessitera des tests approfondis pour garantir que le cristal oscille dans toutes les conditions et démarre suffisamment rapidement pour ne pas causer de problèmes avec votre application.
Cristal recommandé
- Pour les conceptions originales utilisant RP2350, nous recommandons d'utiliser l'Abracon ABM8-272-T3. Par exempleample, en plus du design minimal example, voir le schéma de la carte Pico 2 dans l'annexe B de la fiche technique du Raspberry Pi Pico 2 et la conception du Pico 2 files.
- Pour des performances et une stabilité optimales sur les plages de températures de fonctionnement typiques, utilisez l'Abracon ABM8-272-T3. Vous pouvez vous procurer l'ABM8-272-T3 directement auprès d'Abracon ou d'un revendeur agréé. Pico 2 a été spécialement réglé pour l'ABM8-272-T3, qui présente les spécifications suivantes :
- Même si vous utilisez un cristal avec des spécifications similaires, vous devrez tester le circuit sur une plage de températures pour garantir la stabilité.
- L'oscillateur à cristal est alimenté par le vol IOVDDtage. En conséquence, le cristal d'Abracon et ce d particulierampLes résistances de charge sont réglées pour un fonctionnement à 3.3 V. Si vous utilisez un volume d'E/S différenttage, vous devrez réajuster.
- Toute modification des paramètres du cristal risque d’entraîner une instabilité sur tous les composants connectés au circuit cristallin.
- Si vous ne parvenez pas à vous procurer le cristal recommandé directement auprès d'Abracon ou d'un revendeur, contactez applications@raspberrypi.com.
Chapitre 5. IOs
USB
Figure 11. Section schématique montrant les broches USB du RP2350 et la terminaison série
- Le RP2350 fournit deux broches à utiliser pour l'USB à pleine vitesse (FS) ou à faible vitesse (LS), en tant qu'hôte ou périphérique, selon le logiciel utilisé. Comme nous l'avons déjà évoqué, le RP2350 peut également démarrer en tant que périphérique de stockage de masse USB, il est donc logique de connecter ces broches au connecteur USB (J1 sur la Figure 5). Les broches USB_DP et USB_DM du RP2350 ne nécessitent pas de résistances de rappel supplémentaires (nécessaires pour indiquer la vitesse, FS ou LS, ou s'il s'agit d'un hôte ou d'un périphérique), car elles sont intégrées aux E/S. Cependant, ces E/S nécessitent des résistances de terminaison en série de 27 Ω (R7 et R8 sur la Figure 11), placées à proximité de la puce, afin de respecter la spécification d'impédance USB.
- Même si le RP2350 est limité au débit de données à pleine vitesse (12 Mbps), nous devons essayer de nous assurer que l'impédance caractéristique des lignes de transmission (les pistes de cuivre reliant la puce au connecteur) est proche de la
- Spécification USB de 90Ω (mesurée différentiellement). Sur une carte de 1 mm d'épaisseur comme celle-ci, si nous utilisons des pistes de 0.8 mm de large sur USB_DP et USB_DM, avec un espace de 0.15 mm entre elles, nous devrions obtenir une impédance caractéristique différentielle d'environ 90Ω. Cela permet de garantir que les signaux peuvent circuler le long de ces lignes de transmission aussi proprement que possible, en minimisant le volumetagLes réflexions qui peuvent réduire l'intégrité du signal. Pour que ces lignes de transmission fonctionnent correctement, nous devons nous assurer que directement en dessous de ces lignes se trouve une terre. Une zone solide et ininterrompue de cuivre de terre, s'étendant sur toute la longueur de la piste. Sur cette conception, presque toute la couche de cuivre inférieure est consacrée à la terre, et un soin particulier a été pris pour garantir que les pistes USB ne passent que sur la terre. Si un PCB plus épais que 1 mm est choisi pour votre construction, nous avons alors deux options. Nous pourrions repenser les lignes de transmission USB pour compenser la plus grande distance entre la piste et la terre en dessous (ce qui pourrait être une impossibilité physique), ou nous pourrions l'ignorer et espérer le meilleur. L'USB FS peut être assez indulgent, mais votre kilométrage peut varier. Il est susceptible de fonctionner dans de nombreuses applications, mais il ne sera probablement pas conforme à la norme USB.
En-têtes d'E/S
Figure 12. Section schématique montrant les embases d'E/S de 2.54 mm de la version QFN60
- En plus du connecteur USB déjà mentionné, il y a une paire d'en-têtes à double rangée de 2.54 mm (J2 et J3 sur la Figure 12), un de chaque côté de la carte, sur lesquels le reste des E/S a été connecté. Il y a 30 GPIO sur le RP2350A, alors qu'il y en a 48 sur le RP2350B, donc les en-têtes de cette version de la carte Minimal sont plus grands pour permettre les broches supplémentaires (voir Figure 13).
- Comme il s'agit d'une conception à usage général, sans application particulière en tête, les E/S ont été rendues disponibles pour être connectées selon les souhaits de l'utilisateur. La rangée intérieure de broches de chaque embase correspond aux E/S, et la rangée extérieure est entièrement connectée à la terre. Il est recommandé d'inclure de nombreuses masses sur les connecteurs d'E/S. Cela permet de maintenir une masse à faible impédance et également de fournir de nombreux chemins de retour potentiels pour les courants circulant vers et depuis l'embase.
- Connexions E/S. Ceci est important pour minimiser les interférences électromagnétiques qui peuvent être causées par les courants de retour des signaux à commutation rapide empruntant de longs chemins en boucle pour compléter le circuit.
- Les deux connecteurs sont sur la même grille de 2.54 mm, ce qui facilite la connexion de cette carte à d'autres éléments, tels que des platines d'expérimentation. Vous pouvez envisager de n'installer qu'un seul connecteur à une seule rangée au lieu du connecteur à deux rangées, en supprimant la rangée extérieure de connexions de terre, pour faciliter l'installation sur une platine d'expérimentation.
Figure 13. Section schématique montrant les embases d'E/S de 2.54 mm de la version QFN80
Connecteur de débogage
Figure 14. Section schématique montrant le connecteur JST optionnel pour le débogage SWD
Pour le débogage sur puce, vous souhaiterez peut-être vous connecter à l'interface SWD du RP2350. Les deux broches, SWD et SWCLK, sont disponibles sur l'en-tête 2.54 mm, J3, pour permettre à la sonde de débogage de votre choix d'être facilement connectée. En plus de cela, j'ai inclus un en-tête JST en option, qui permet une connexion facile à la sonde de débogage Raspberry Pi. Vous n'avez pas besoin de l'utiliser, les en-têtes 2.54 mm suffiront si vous avez l'intention de déboguer un logiciel, mais je trouve plus pratique de le faire. J'ai choisi un connecteur horizontal, principalement parce que j'aime son apparence, même s'il n'est pas sur le bord de la carte, mais des connecteurs verticaux sont disponibles, bien qu'avec une empreinte légèrement différente.
Boutons
La conception minimaliste contient désormais non pas un, mais deux boutons, là où la version RP240 n'en avait aucun. L'un sert à sélectionner le démarrage USB comme nous l'avons déjà évoqué, mais le second est un bouton de « réinitialisation », relié à la broche RUN. Aucun de ces deux boutons n'est strictement nécessaire (bien que le bouton BOOTSEL doive être remplacé par un en-tête ou similaire si le mode de démarrage USB était requis), et peut être retiré si l'espace ou le coût sont un problème, mais ils rendent certainement l'utilisation du RP2350 beaucoup plus agréable.
Annexe A : Schéma complet - version RP2350A
Figure 15. Schéma complet de la conception minimale du RP2350A
Annexe B : Schéma complet - version RP2350B
Figure 16. Schéma complet de la conception minimale du RP2350B
Annexe H : Historique des versions de la documentation
8 août 2024
Version initiale.
je Raspberry Pi
Raspberry Pi est une marque déposée de Raspberry Pi Ltd
Raspberry Pi Ltd.
Documents / Ressources
![]() |
Microcontrôleur Raspberry Pi SC1631 [pdf] Manuel d'instructions Microcontrôleur Raspberry SC1631, SC1631, Microcontrôleur Raspberry, Microcontrôleur |