Skyduino:~#
Articles
C/C++, programmation, stm32, test, tutoriel

[Test] STM32L Discovery

Bonjour tout le monde !

Aujourd’hui je vais vous parler de la carte STM32L Discovery de ST.

J’avais par le passé fait le test de la STM32VL Discovery qui m’avait déjà pas mal impressionné niveau perf/hardware.
On m’avais conseillé de tester cette nouvelle version « STM32L », et effectivement ya du nouveau dans cette version « L » !

Comme d’habitude avec les cartes Discovery de ST, la carte est protégé dans une boite plastique.
C’est plutôt malin puisse que ça coute pas chére, que ça protège des chocs mais aussi des décharges électrostatique.

Pour environ 15€ on se retrouve donc avec cette jolie carte verte, qui donne déja envie rien qu’as regarder !
Un écran, des boutons, un slide, des led, … miam !

Comme toute les cartes discovery la STM32L est composé d’une partie st-link (v2) et d’une partie target.
La partie St-link permet de programmer mais aussi de débugger la partie target (ou un STM32 externe) directement, sans avoir besoin d’un débuggeur externe.

La partie « target » est composé du STM32L, de deux boutons, de deux led et d’un slide capacitif.

Un truc qui m’as taraudé l’esprit pendant un bon moment c’est le quartz, enfin plutôt l’emplacement pour un quartz.
Comme vous pouvez le voir dans la photo ci dessus il y a un emplacement pour un quartz ainsi que pour deux condensateurs cms.
Au début je me suis demandé pourquoi il n’y avais pas de quartz, j’avais émis plusieurs hypothèse, soit le STM32L fonctionne avec un oscillateur interne, soit il y a un quartz/oscillateur ailleurs sur le circuit, soit ma carte est foireuse.
En fait ma deuxième hypothèse était la bonne, le quartz du stlink est en réalité relié au STM32L, il y a donc un quartz pour deux CI …
L’empreinte de quartz n’est là que pour ceux qui voudrait séparer l’horloge du stlink de l’horloge du STM32L.

La partie « target » comporte comme je le disait plus haut de deux boutons poussoir, un pour reset le STM32L et un autre libre pour l’utilisateur.
Il y a aussi deux led libre pour l’utilisateur, et un slide (= potentiomètre linéaire) capacitif.
(Note: Le slide n’est réellement sensible qu’as partir de la moitié du 1er « carré » jusqu’au milieu du dernier « carré »)

Ce qui différencie la STM32L discovery de la STM32VL discovery c’est le microcontrôleur.
Sur la STM32L discovery se trouve un STM32L152RBT6, microcontrôleur faisant parti de la nouvelle série des microcontrôleurs « low power » de ST.

Voici ses caractéristiques brute :
Operating conditions :
Operating power supply range: 1.65 V to 3.6 V (without BOR) or 1.8 V to 3.6 V (with BOR option)
Temperature range: –40 to 85 °C

Low power features :
4 modes: Sleep, Low-power run (9 μA at 32 kHz), Low-power sleep (4.4 μA),Stop with RTC (1.45 μA), Stop (570 nA), Standby (300 nA)
Dynamic core voltage scaling down to 233 μA/MHz
Ultralow leakage per I/O: 50 nA
Fast wakeup from Stop: 8 μs
Three wakeup pins

Core: ARM 32-bit Cortex™-M3 CPU :
32 MHz maximum frequency,33.3 DMIPS peak (Dhrystone 2.1)
Memory protection unit

Reset and supply management :
Low power, ultrasafe BOR (brownout reset) with 5 selectable thresholds
Ultralow power POR/PDR
Programmable voltage detector (PVD)

Clock management :
1 to 24 MHz crystal oscillator
32 kHz oscillator for RTC with calibration
Internal 16 MHz factory-trimmed RC
Internal 37 kHz low consumption RC
Internal multispeed low power RC, 65 kHz to 4.2 MHz with consumption down to 1.5 μA
PLL for CPU clock and USB (48 MHz)

Low power calendar RTC :
Alarm, periodic wakeup from Stop/Standby

Memories :
Up to 128 Kbyte of Flash memory with ECC
4 Kbyte of data EEPROM with ECC
Up to 16 Kbyte of RAM
Up to 83 fast I/Os (73 of which are 5 V-tolerant) all mappable on 16 external interrupt vectors

Development support :
Serial wire debug, JTAG and trace

DMA: 7-channel DMA controller, supporting timers, ADC, SPIs, I2Cs and USARTs
LCD 8 × 40 or 4 × 44 with step-up converter
12-bit ADC up to 1 Msps/24 channels
Temperature sensor and internal voltage reference
Operates down to 1.8 V
2 × 12-bit DACs with output buffers
2 ultralow power comparators
Window mode and wakeup capability
10 timers:
6 × 16-bit general-purpose timers, each with up to 4 IC/OC/PWM channels
2 × 16-bit basic timers
2 × watchdog timers (independent and window)
Up to 8 communication interfaces
Up to 2 × I2C interfaces (SMBus/PMBus)
Up to 3 × USARTs (ISO 7816 interface, LIN, IrDA capability, modem control)
Up to 2 × SPIs (16 Mbit/s)
USB 2.0 full speed interface
CRC calculation unit, 96-bit unique ID

La première chose que l’on remarque en voyant la STM32L discovery c’est l’écran.
Il s’agit d’un écran 5x 7 segments avec point décimal et mini bargraph intégré sur le coté.
Il peut servir en autre à afficher une valeur ou divers des informations.

(Remarque: Notez le flux de soudure qui se voit trés clairement sur la photo, un petit coup de nettoyage aprés la soudure n’aurait pas fait de mal)

Pour cette nouvelle version de la discovery, ST a (enfin) pensé aux petits bricoleurs et à leurs montage sur breadboard.
Plus de troisième connecteur perpendiculaire qui empêchait de monter la carte sur breadboard comme c’était le cas sur la STM32VL Discovery, à la place se trouve deux connecteurs SIL « classique » qui rentrerons sans aucun soucis sur une breadboard.

On remarquera aussi la présence de ce qui semble être de toute évidence une empreinte pour un support de pile bouton CR2016.
J’ai cherché sur le net mais je n’est rien trouvé au sujet de la fonctionnalité RTC. Je suppose donc qu’il suffirai de souder un support sur cette empreinte pour jouir de l’option « Real Time Clock » sauvegardé du STM32L.

Si on compare l’ancienne carte Discovery à la nouvelle il n’y a pas photo.
Le prix est quasiment le même, les performance du STM32L152 sont bien meilleur que celle du STM32F103, et niveau périphériques interne et externe la STM32L est bien plus riche.
Cependant comme tout produit nouveau le support dans le monde du libre et encore « léger », pour le moment coocox IDE ne supporte pas la série STM32L (ni même la série STM32F4).
La seul solution consiste donc à compiler sa propre toolchain arm-gcc pour pouvoir utiliser la STM32L Discovery librement.
J’ai à ce sujet trouvé un excellent tutoriel (en français !) expliquant point par point comment procéder.
-> http://tunila.me/article/programmation/embarque/programmer-sur-le-stm32l-discovery-sur-linux.html

Je vais donc conclure ce test en disant que la STM32L Discovery était un bon sujet de test, le hardware « pure » est intéréssant, les fonctionnalités du STM32L152 sont vraiment sympa et ne demande qu’as être poussé à leurs limites. Cependant j’attends la prise en charge des STM32L par CoIDE pour me faire un avis définitif.
Pour le moment je n’ai fait qu’un simple « blink » et quelques bricolage avec l’afficheur, en fait cette nouvelle version de la STM32 Discovery s’avère idéal pour des applications sur batteries ou demandant des fonctionnalités « poussé », mais dans le cas général la STM32 Discovery classique dont le support software est maintenant totalement stable reste une option tout aussi envisageable.

Advertisements

Discussion

Pas encore de commentaire.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

Skyduino devient Carnet du Maker

Le site Carnet du Maker remplace désormais le blog Skyduino pour tout ce qui touche à l'Arduino, l'informatique et au DIY.