Upload
kassab-karim
View
65
Download
1
Embed Size (px)
Citation preview
Les IP de la carte STM32
RÉALISÉ PAR: KASSAB KARIM HAIDRI ARIJ CHAABANE CHOUROUK MAATOUG LOBNA
ANNEE UNIVERSITAIRE/ 2014/2015
2PLAN Introduction Présentation de l’OP AMP Présentation du FLASH Présentation du CRYPTO Présentation de SDIO Présentation de IWDG Conclusion
3Introduction
Dans le cadre de maitriser la programmation sur la carte STM32 nous avons choisi de vous présenter :
Un périphérique système :le FLASH Un périphérique analogique :l’OPAMP Deux périphériques digitaux: le CRYP et l’IWDG Un protocole de communication SDIO
4OP AMP (Operational Amplifier)
C’est un amplificateur différentiel.
Il permet de modéliser les opérations mathématiques de base.
Il est utilisé dans bien d'autres applications .
5Amplificateur inverseur
Amplificateur non inverseur
6
Les caractéristiques
*Une consommation aussi faible que 2 µA *un courant de sortie élevé (200 mA min.), *grande produit gain-bande (130MHz) * capable de commander une charge de 25 W avec un courant de sortie de 160mA à ± 6V alimentation
La famille STM32L1 plus précisément STM32L152D dispose de trois OPAMP
7
8
9Activer
l’horloge SYSCFG APB
Configurer l'entrée
d’OPAMP en mode
analogique
Configurer l’ OPAMP
Activer l’OPAMP
RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG,
ENABLE);
GPIO_Init()
OPAMP_Init()
OPAMP_Cmd()
10
FLASH
11Une mémoire est un élément de stockage de l’information.
Les bits stockes sont organisés sous forme d’une matrice.Chaque ligne de la mémoire est appelée un mot. Elle est identifiée par une adresse.
Généralement Deux operations sont possibles, toujours sur une ligne : lecture (read) et l'ecriture (write)
12Types de mémoire FLASH
RAM(random-access memory): memoire volatile Statique (SRAM): l'information est
conservée tant que la tension d'alimentation est présente.
Dynamique (DRAM): il faut recharger (rafraichir) périodiquement les cellules de la mémoire pour conserver les données.
Il existe deux grands types de mémoires
13ROM (read-only memory): memoire non volatile Mask: le contenu est initialisé au moment de la
fabrication . PROM (Programmable ROM): le contenu peut être
modifié une fois par l'utilisateur, à l'aide d'un équipement spécialisé.
EPROM (Erasable PROM): le contenu peut être effacé et modifié plusieurs fois.
EEPROM (Electrically EPROM): le contenu est effacé électriquement (quelques millisecondes).
Flash: le contenu est effacé électriquement et plus rapidement que sur les EEPROM.
14Les mémoires FLASH Mémoires non volatiles rapides, à grande densité et bas prix. Le seul INCONVINIENT des mémoires Flash est que l'effacement n'est
possible que dans sa totalité ou par secteurs, mais pas byte a byte Trois opérations sont possibles dans une mémoire Flash: • programmation: initialement, tous les bits sont a 1. Pour programmer un bit a 0, il faut lui appliquer une tension. Une fois programmée, la mémoire peut garder son contenu pendant 100 ans, sans besoin d'alimentation électrique •lecture •effacement: la mémoire Flash doit être effacée avant d‘être reprogrammée.
15Mémoire FLASH sur STM32
Venant compléter l’actuelle gammeSTM32 F4 de ST, les microcontrôleurs STM32 F427 et F437 confirment la domination de la Société sur le marché des produits architecturés autour d’un cœur ARM® Cortex™-M4 .
L’exécution d’applications plus riches, que complètent des ports de communications supplémentaires,
Accélérer la conception logicielle en utulisant des languages de programmation évolué Java™, Microsoft® .Net ou uClinux™
Un niveau de sécurité accru. Une consommation d’énergie optimisée.
16Programmeur de FLASHST-LINK Le ST-LINK, est limitée que pour une
utilisation avec STM8 et STM32 des familles microcontrôleurs.
Forte augmentation dans le temps de développement et les frustrations de débogage.
17Jlink la J-Link est le plus rapide émulateur de
débogage disponibles : programmer 1 Mo de mémoire en 4 secondes,
la haute performance : la sonde soutenant un débit élevé de 256 Ko/s.
la fiabilité : Le chargement du code intègre une vérification de chaque bloc en écriture, et une vérification finale (checksum)
la compatibilité : Keil, IAR, Atmel, Atollic, Freescale, Tasking et Mentor Graphics.
18J-Link Commander
J-Link Commander permet également des téléchargements dans la mémoire flash des systèmes cibles. J-Link to the PC. Connect target system to J-Link Start J-Link Commander. Type the following commands:
J-Link> device <devicename> // For a list of known devices, please refer to here J-Link> speed <speed_khz> J-Link> r J-Link> h J-Link> loadbin <PathToBinFile>, <programmingaddress>
19J-Flash Lite Connect J-Link sur le PC Sélectionnez l'appareil, l'interface de débogage et la vitesse de
communication.
20
CRYPTOGRAPHIE
21
La cryptographie conversion des données lisible en des données illisibles dans le but de la rendre sécuritaire.
22STM32 package bibliothèque cryptographique
Le HAL contrôle les registres et les fonctions du périphérique STM32 basé sur deux principaux bibliothèques: - Couche de CMSIS:Noyau couche
d'accès périphérique. - STM32 bibliothèque
cryptographique : basé sur une architecture modulaire dont on peut ajouter des nouveaux algorithmes peuvent être ajoutés
RNG RSA HCC AES HASH DES
23DES (Data Encryption Standard)
Un algorithme de chiffrement symétrique
traite des données des blocs de 64 bits sous le contrôle d'une clé de 64 bits.
24
ECB : Electronic codebook
Le cryptage et le décryptage en utilisant les modes suivants:
Le message à chiffrer est subdivisé en plusieurs blocs qui sont chiffrés séparément les uns après les autres
25
Dans on applique sur chaque bloc un ‘OU exclusif’ avec le chiffrement du bloc précédent avant qu’il soit lui-même chiffré.
CBC :Cipher Block Chaining
26
DES library functions
27
28
SDIO
29Qu’est ce que un SDIO ?
Sécurisé Digital Input / Output (SDIO) est une norme importante pour les appareils qui disposent d'options de mémoire interchangeables
C’est une interface qui étend les fonctionnalités des appareils en utilisant un emplacement de carte SD standard pour donner des dispositifs de nouvelles capacités. Une liste partielle des nouvelles fonctionnalités comprennent: GPS Camera Wi-Fi FM radio Ethernet
30
31
32
33
34
35Pour suspendre une fonction, l'hôte local doit:
Sauvegarder MMC_CMD valeur [DDIR]. Ensemble MMC_IOSR [SUSP] à 1. Envoyer la commande de suspendre (CMD52) et vérifier l'état de la
carte SDIO pour l'acquittement. Répétez la commande aussi longtemps que nécessaire.
Ensemble MMC_IOSR [STOP] pour 1 et lire MMC_IOSR [STOP] jusqu'à 0. Désactiver canal DMA si activé. Enregistrer MMC_NBLK registre. Set MMC_IOSR [SAVE] bit à 1 et vider le FIFO par la lecture MMC_DATA
inscrire jusqu'au vide (signalé par MMC_STAT [AF] = 0. Effacer MMC_IOSR [SUSP] et MMC_IOSR [Enregistrer] bits à 0.
36Une nouvelle commande peut être envoyée à une autre fonction à ce stade. Pour reprendre la fonction suspendu, l'hôte local doit: Restaurer le contenu FIFO en écrivant dans le registre de
MMC_DATA. Restaurer registre de MMC_NBLK avec la valeur enregistrée. Réactivation canal DMA si en mode DMA. Ensemble MMC_IOSR [RESU] bit à 1. Envoyer la commande de CV (CMD52) avec MMC_CMD [DDIR]
réglé selon la fonction suspendu (nécessaire pour reprendre la fonction
que un multiple-lecture de bloc ou un multiple-écriture de bloc)
37
38 Configurer les pérepheriques de SDIO SDIO_InitStructure.SDIO_ClockDiv = 120; //SDIO_INIT_CLK_DIV;
SDIO_InitStructure.SDIO_ClockEdge = SDIO_ClockEdge_Rising;
SDIO_InitStructure.SDIO_ClockBypass = SDIO_ClockBypass_Disable;
SDIO_InitStructure.SDIO_ClockPowerSave=SDIO_ClockPowerSave_ Disable;
SDIO_InitStructure.SDIO_BusWide = SDIO_BusWide_4b;SDIO_InitStructure.SDIO_HardwareFlowControl =
SDIO_HardwareFlowControl_Disable;SDIO_Init(&SDIO_InitStructure); Activer la tension
SDIO_SetPowerState(SDIO_PowerState_ON);
39 Activer SDIO Clock
SDIO_ClockCmd(ENABLE);
CMD0: mettre à l’etat veille: No CMD response required
SDIO_CmdInitStructure.SDIO_Argument = 0x0;
SDIO_CmdInitStructure.SDIO_CmdIndex = SD_CMD_GO_IDLE_STATE;
SDIO_CmdInitStructure.SDIO_Response = SDIO_Response_No;
SDIO_CmdInitStructure.SDIO_Wait = SDIO_Wait_No;
SDIO_CmdInitStructure.SDIO_CPSM = SDIO_CPSM_Enable;
SDIO_SendCommand(&SDIO_CmdInitStructure);
40
IWDG
41 Le STM32 a deux périphériques de surveillance intégrées qui offrent une combinaison de haut niveau de sécurité, précision de la synchronisation et de la souplesse d'utilisation. Ce sont IWDG( Independant WatchDog) et WWDG( Window WatchDog).
IWDG/WWDG
Détecter et résoudre les
dysfonctionnements
déclencher la réinitialisation du système ou une
interruption
42
IWDG est cadencé par sa propre horloge basse vitesse dédié (LSI) et reste donc actif même si l'horloge principale échoue.
IWDG est configuré pour s’activer après 2 secondes . LED PB15 indique que le IWDG n’est plus rechargé et va maintenant réinitialiser la carte . LED PB12 s’allume lorsque le redémarrage a été provoqué par le IWDG .
Le IWDG est le mieux adapté pour les applications qui nécessitent le Watchdog afin de fonctionner comme un tout processus indépendant dehors de l'application principale, mais avoir une précision de synchronisation inférieure de contraintes.
43Principales Caractéristiques de IWDG
Décompteur Libre
cadencé par un oscillateur RC indépendant
Reset lorsque la valeur de décomptage est
atteint
44Description Fonctionnelle
Ecriture de 0xCCCC
Ecriture de 0xAAAArechargé
45
Si la fonction "watchdog" est activée via les bits d'option de l'appareil, le watchdog est automatiquement activé à la mise sous tension, et va générer une réinitialisation si le registre clé est écrit par le logiciel avant que le compteur atteint fin de compte.
Le mode de débogageLorsque le microcontrôleur entre en mode débogage (core Cortex®-M3 arrêté), le compteur IWDG soit continue de travailler normalement ou s’arrête, selon la configuration DBG_IWDG_STOP bits dans le module DBG.
46Conclusion
Cette présentation nous a permis de se familiariser avec les différentes IP de la carte STM, comme connaitre leur configuration.