Cette carte électronique constitue une plateforme de développement que j'utilise pour de nombreux projets personnels. Elle a été conçue afin de disposer d'un système suffisamment puissant et polyvalent, tout en conservant un encombrement raisonnable.
Elle est principalement basée sur un microcontrôleur STM32F722 et intègre directement un écran graphique couleur de 320 × 240 pixels ainsi qu'une interface tactile capacitive.
L'objectif de cette carte est de disposer d'une base matérielle complète, permettant de développer rapidement différents projets sans devoir concevoir à chaque fois une nouvelle carte électronique.
Le choix du STM32F722 permet de disposer d'un microcontrôleur performant tout en conservant une grande flexibilité pour les différents projets. La carte met à disposition la majorité des ressources du microcontrôleur afin de pouvoir les réutiliser selon les besoins de l'application.
La gestion de l'affichage est confiée au FT800Q. Ce circuit dédié permet de prendre en charge une grande partie du travail nécessaire à l'affichage graphique et à la gestion de l'écran tactile. Le microcontrôleur peut ainsi communiquer avec le GPU au travers de l'interface SPI sans avoir à gérer directement l'ensemble des pixels de l'écran.
Le choix d'un écran de 320 × 240 pixels offre un compromis intéressant entre la taille de la carte, la lisibilité de l'interface et les ressources nécessaires à sa gestion. Associé au tactile capacitif, il permet de réaliser des interfaces utilisateur relativement complexes tout en conservant une utilisation simple et intuitive.
Plutôt que d'utiliser une carte Arduino ou une carte de développement STM32 du commerce, j'ai souhaité développer mon propre module, spécifiquement adapté à mes différentes applications. L'objectif est de disposer d'une plateforme complète, flexible et facilement réutilisable d'un projet à l'autre.
Pour l'alimentation de la carte, j'ai intégré un convertisseur Buck-Boost LTC3115-2. Il permet d'obtenir une tension d'alimentation stable malgré les variations de la tension d'entrée.
J'ai également intégré un LTC1261L, qui permet de générer une tension négative d'environ −2,5 V. Cette tension est notamment utilisée pour certaines fonctions analogiques de la carte.
Je ne présenterai pas ici le GPU FT800Q, celui-ci faisant l'objet d'une note spécifique dans le sous-menu « Composants ».
L'écran choisi est un EA TFT035-32ATS de DISPLAY VISIONS. Il s'agit d'un écran TFT-LCD couleur de 3,5 pouces, conçu à l'origine pour des applications telles que les caméscopes, les appareils photo numériques et autres équipements électroniques nécessitant un affichage couleur de qualité.
Son format compact et son affichage couleur en font une interface particulièrement adaptée aux applications embarquées et aux instruments électroniques.
Le rétroéclairage de l'écran est assuré par un DIO5661ST6, un circuit intégré spécialement conçu pour le pilotage des LED.
Le circuit régule directement le courant traversant les LED, ce qui permet de s'affranchir de leur tension directe. Le courant maximal est défini à l'aide d'une résistance de mesure externe.
La luminosité peut ensuite être ajustée électroniquement grâce à une commande PWM appliquée sur l'entrée EN du DIO5661. Le rapport cyclique du signal PWM permet ainsi de faire varier la consigne de courant et donc la luminosité du rétroéclairage.
Cette architecture permet d'obtenir un rétroéclairage stable, homogène et facilement réglable par le microcontrôleur, tout en conservant une électronique de commande relativement simple.
La FM24C64B est une mémoire non volatile de 64 kbits, utilisant la technologie FRAM.
Elle permet de sauvegarder des paramètres et des données même lorsque la carte est hors tension. Contrairement à une mémoire Flash classique, elle offre une très grande endurance en écriture et des temps d'accès rapides, ce qui la rend particulièrement adaptée à l'enregistrement fréquent de données.
Certaines interfaces du microcontrôleur sont utilisées par les périphériques intégrés à la carte : SPI2 pour le GPU, I²C2 pour la gestion de l'écran tactile et I²C3 pour la mémoire FRAM non volatile.
Les broches du microcontrôleur qui ne sont pas utilisées, ainsi que celles pouvant faire l'objet d'un double usage, comme les lignes SCL et SDA des interfaces I²C, sont également déportées sur deux connecteurs situés de part et d'autre du PCB.
Cette organisation permet de conserver un maximum de possibilités d'extension et facilite la connexion de circuits ou de modules supplémentaires en fonction des besoins de chaque projet.
L'organisation du circuit imprimé a été pensée de manière à séparer les différentes fonctions. L'image ci-dessous permet de visualiser l'organisation générale de la carte. Les différentes zones seront ensuite détaillées afin de présenter leur rôle et les principaux choix techniques qui ont guidé la conception du PCB.
Cette vue présente l’implantation des composants sur le circuit imprimé. Une attention particulière a été portée au respect des recommandations et des design guidelines des fabricants, notamment pour les circuits d’alimentation, afin de garantir un routage et une implantation aussi fiables que possible. Le connecteur de programmation permet également d’accéder aux signaux de programmation et de débogage du microcontrôleur. Le signal SWDIO est notamment disponible sur ce connecteur, ce qui permet d’utiliser un débogueur externe et d’effectuer un débogage en temps réel du firmware directement sur la carte.
La liste des composants présente les principaux éléments nécessaires à la réalisation de la carte. Elle a volontairement été simplifiée et adaptée à une présentation plus lisible : notamment, les noms complets des empreintes (footprints) ont été raccourcis, car leur désignation détaillée apporte peu d’informations utiles dans le cadre de cette documentation. Les informations relatives au prix et au distributeur n’ont pas été indiquées. Les composants utilisés étant disponibles auprès de nombreux fournisseurs, ces données sont susceptibles de varier dans le temps et selon les conditions d’achat. Les références des composants sont toutefois conservées afin de permettre leur identification et leur approvisionnement auprès du fournisseur de son choix.
DISPLAY VISIONS
L'afficheur est monté en superposition sur la carte et n'est donc pas inclus dans la liste des composants implantés sur le PCB.
| ID | Designator | Empreinte | Qté | Désignation |
|---|---|---|---|---|
| 1 | C1, C5, C11, C25 | C_1210 | 4 | 4.7 µF |
| 2 | C2 | C_1206 | 1 | 47 pF |
| 3 | C4, C10, C21, C23 | C_1210 | 4 | 10 µF |
| 4 | C6 | C_1206 | 1 | 10 µF |
| 5 | C7, C8, C9, C12, C13, C17, C18, C22, C26, C27 | C_1206 | 10 | 100 nF |
| 6 | C14 | CP_EIA-7132 | 1 | 100 µF |
| 7 | C15 | C_1206 | 1 | 4.7 nF |
| 8 | C16, C24 | C_1206 | 2 | 2.2 µF |
| 9 | D1 | D_SOD-123 | 1 | STPS0540 |
| 10 | D2 | LED_PLCC | 1 | LED |
| 11 | D3 | D_SOD-123 | 1 | MBR0530 |
| 12 | D4 | D_MiniMELF | 1 | PLZ3V3 B |
| 13 | IC1 | TSSOP-20 | 1 | LTC3115-2 |
| 14 | IC3 | SOIC127P599X175-8N | 1 | LTC1261L |
| 15 | J1 | conn_3p_SEL | 1 | Conn_01x03 |
| 16 | J2 | EA-TFT-240320 | 1 | Conn_01x40 |
| 17 | J4 | Hirose_FH12-10S | 1 | Conn_01x10 |
| 18 | J5 | PinHeader_2x05 | 1 | Conn_02x05 |
| 19 | J6 | PinHeader_2x08 | 1 | Conn_02x08_Odd_Even |
| 20 | J7 | PinHeader_2x20 | 1 | Conn_02x20 |
| 21 | L1 | L_D1040 | 1 | 22 µH |
| 22 | L2 | LPS6225 | 1 | 10 µH |
| 23 | Q1 | SOT-23 | 1 | BSS138 |
| 24 | R1, R15 | R_0805 | 2 | 2K2 |
| 25 | R2, R3, R4, R5, R10, R11, R14, R17, R18 | R_0805 | 9 | 10K |
| 26 | R6 | R_0805 | 1 | 10 |
| 27 | R7 | R_0805 | 1 | 100K |
| 28 | R8 | R_0805 | 1 | 47K |
| 29 | R9, R13 | R_0805 | 2 | 1M |
| 30 | R12 | R_0805 | 1 | 240K |
| 31 | R16 | R_0805 | 1 | 100 |
| 32 | R23, R24, R25, R26, R27, R28 | R_0805 | 6 | 4K7 |
| 33 | TFT | TFT035 | 1 | TFT035 |
| 34 | U1 | SOT230P700X180-4N | 1 | LT2117 3.3V |
| 35 | U2 | VQFN-48 | 1 | FT800Q |
| 36 | U3 | SOT95P280X125-6N | 1 | DIO5661ST6 |
| 37 | U4 | LQFP-64 | 1 | STM32F722RETx |
| 38 | U5 | SOIC127P599X175-8N | 1 | FM24CL64B |
| 39 | X1 | Oscillator_SMD | 1 | XO53 |