Partie matérielle

Spécifications

Les IO

Vous avez à concevoir un système embarqué, basé sur un STM32F446RET6, et présentant les interfaces suivantes :

  • 1 port RS232, utilisable pour la reprogrammation par le bootloader intégré.
  • 1 port USB FS OTG, utilisable pour la reprogrammation par le bootloader intégré.
  • 1 entrée analogique destinée à mesurer la tension de la batterie et à mettre le système en veille si on atteint la tension de décharge maximum.
  • 1 module Wi-Fi AMW006.
  • 1 buzzer PKLCS1212E4001-R1.
  • 1 joystick MCMT5-F-V.
  • 1 LED RGB HSMF-C114, dont chaque couleur doit être pilotée en PWM hardware. Par défaut au boot, la LED rouge doit s'allumer faiblement pour indiquer que la carte est sous tension.
  • 1 LED IR de haute puissance TSTS7100 qu'on soudera sur la carte grâce à deux pads de 3mmx1mm.
  • Des GPIO (le plus possible) qu'on fera sortir sur les connecteurs de notre choix.
  • 1 port SWD bien entendu, qu'on reliera à l'aide d'un connecteur FTSH-105-01-L-DV. Pour le brochage, on s'aidera de la documentation officielle d'ARM sur les connecteurs à 9 broches, ou de l'adaptateur pour sondes SEGGER "J-Link 9-pin Cortex-M Adapter".
  • 1 connecteur pour carte µSD relié en SDIO 4 bits.

L'alimentation

La carte disposera de deux sources d'alimentation :

  • Une batterie LiPo de 4.2V telle que celle-ci (tension nominale 3.7V, tension maximale 4.2V. Tension déchargée : 2.7V).
  • Le port USB. Lorsqu'on branche le port USB, un circuit doit pouvoir en profiter pour recharger la batterie : MCP73831T-2ACI/OT. Une LED doit pouvoir signaler la fin de charge de la batterie.

Le régulateur de tension qu'on utilisera sera le MIC5504-3.3YM5-TR (régulateur linéaire).
On reliera la batterie à la carte par un connecteur B2B-PH-SM4-TB, dont la broche 1 sera le VCC et la broche 2 le GND.
Il y a plusieurs façons de procéder pour faire fonctionner une carte tout en rechargeant une batterie, l'application note AN1149 de Microchip vous sera d'une aide précieuse.

Le PCB

Le PCB se fera en deux couches, classe 5 avec un empilage "standard".

Partez du template de projet dans le dépôt des bibliothèques, déjà paramétré, en suivant les instructions données en cours pour le copier et le renommer. Donnez-lui comme nom : TP_STM32_VOTRE_PRÉNOM.

Documentation

Page principale du processeur chez ST : http://www.st.com/en/microcontrollers/stm32f446re.html. La datasheet comme le référence manual vous seront utiles !

Pour un exemple de carte basée sur ce processeur, Google est votre ami…

Choix des fonctions

Les STM32, comme tous les microcontrôleurs, ont des broches multiplexées : on peut affecter à la plupart des broches une fonction parmi plusieurs possibles. Réciproquement, chaque fonction est disponible sur plusieurs broches. Une des étapes préliminaire est donc d'affecter à chaque fonction une broche.

Pour cela, deux ressources :

  1. Nous vous avons préparé un fichier OpenOffice Calc d'un ancien projet, présentant les différentes fonctions de chaque broche, qui vous permettra de choisir les affectations plus facilement : on peut voir d'un seul coup d'oeil quelle foncion affecter à quelle broche et choisir des broches proches les unes des autres. Ce tableau doit être rempli selon le modèle fourni, avec chaque grande fonction dans une couleur qui lui est propre.
  2. Pour vérifier que vous n'avez pas fait de bêtises (et que le tableau est bien juste), téléchargez et installez le logiciel STM32CubeMX, qui tourne sous Linux et Windows (et peut-être OSX ?). Vérifiez que l'assignement des broches que vous avez choisi est correct.
  3. Dans le deuxième onglet de ce même logiciel, paramétrez les horloges / PLL de façon à fonctionner à la fréquence maximale. Cela vous donnera les coefficients à entrer dans le mcuconf.h de ChibiOS.

Lors du placement / routage, vous serez probablement amenés à changer l'affectation des broches pour simplifier le placement et/ou le routage. Le tableau OpenOffice devra donc être mis à jour, ainsi que le projet STM32CubeMX.

Brochage du port série

Le port série sera câblé sur un connecteur Micromatch 4 broches (en CMS) sans mettre de transceiver. Le transceiver sera inclus dans le câble reliant la carte au PC en USB. On prendra le brochage suivant :

  • broche 1 : non connecté
  • broche 2 : RX du processeur
  • broche 3 : TX du processeur
  • broche 4 : GND
Fichier attachéTaille
Fichier table_de_routage.ods20.4 Ko