Partie 9 Communication série SPI Serial communication with SPI

Documents pareils
Les liaisons SPI et I2C

1. PRESENTATION DU PROJET

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

STS SE. FreeRTOS. Programmation réseau WIFI. Programmation réseau. Socket Tcp. FlyPort smart Wi-Fi module

Modules d automatismes simples

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Chap17 - CORRECTİON DES EXERCİCES

Partie Agir : Défis du XXI ème siècle CHAP 20-ACT EXP Convertisseur Analogique Numérique (CAN)

Tuto pour connecter une source RVB RGB à un moniteur Commodore / Amiga

La conversion de données : Convertisseur Analogique Numérique (CAN) Convertisseur Numérique Analogique (CNA)

Etudier l influence de différents paramètres sur un phénomène physique Communiquer et argumenter en utilisant un vocabulaire scientifique adapté

Ordinateurs, Structure et Applications

Le multiplexage. Sommaire

NAGRA VI Enregistreur numérique six pistes

Solution parfaite pour une expérience bureautique transparente. Récapitulatif. Processeur Teradici avancé, haute performance

Les réseaux cellulaires vers la 3G

Bus de communication

Fiche technique CPU 314SC/DPM (314-6CG13)

TS 35 Numériser. Activité introductive - Exercice et démarche expérimentale en fin d activité Notions et contenus du programme de Terminale S

Instruments de mesure

Equipement. électronique

Chapitre 18 : Transmettre et stocker de l information

PIC EVAL Dev Board PIC18F97J60

Les techniques de multiplexage

CENTRALE DE SURVEILLANCE EMBARQUEE MULTIMEDIA

ID 15 l alternative intelligente au système de code à barres. Le système d identification ID 15 de Rexroth

Spécifications détaillées

COMMANDER la puissance par MODULATION COMMUNIQUER

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

UMG 20CM. UMG 20CM Appareil de surveillance des circuits de distribution avec 20 entrées et RCM. Analyse d harmoniques RCM. Gestion d alarmes.

DimNet Gradateurs Numériques Evolués Compulite. CompuDim 2000

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Précision d un résultat et calculs d incertitudes

Fiche technique. 1) Pour faire tourner le moteur en avant ou en arrière (deux straps)... 2

Cours 1 : Qu est-ce que la programmation?

Oscilloscope actif de précision CONCEPT 4000M

Prototypage électronique

2 Raccordement d une imprimante, d un terminal ou d un ordinateur au DULCOMARIN

Recopieur de position Type 4748

SYSTEME DE PALPAGE A TRANSMISSION RADIO ETUDE DU RECEPTEUR (MI16) DOSSIER DE PRESENTATION. Contenu du dossier :

Comme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est:

Fiche technique CPU 315SN/PN (315-4PN33)

Introduction au langage C

Ecran programmable. Testez la différence grâce. à sa puissance, sa rapidité. et ses possibilités réseaux

BD 302 MINI. Etage de puissance pas à pas en mode bipolaire. Manuel 2059-A003 F

Evaluation. Partie Quelles sont les possibilités offertes par cette caméra d un point de vue utilisation?

Vers du matériel libre

! analyse du fonctionnement

Cahier des charges. driver WIFI pour chipset Ralink RT2571W. sur hardware ARM7

TABLE DES MATIÈRES 1. DÉMARRER ISIS 2 2. SAISIE D UN SCHÉMA 3 & ' " ( ) '*+ ", ##) # " -. /0 " 1 2 " 3. SIMULATION 7 " - 4.

Fiche technique Schneider

V- Manipulations de nombres en binaire

Téléphone de Secours Memcom

NOTRE OFFRE GLOBALE STAGES INTER-ENTREPRISES

Université de La Rochelle. Réseaux TD n 6

SOMMAIRE Equipement Instructions générales. 1.Vue générale. 1.1 Face avant. 1.2 Face arrière. 2 Mode D emploi Adressage DMX

crm+ capteurs à ultrasons Extrait de notre catalogue en ligne : Mise à jour :

Connexion sur REDLION G-308 avec le modem GSM GDW-11 pour envoi de SMS

Matériel & Logiciels (Hardware & Software)

Architecture des ordinateurs

Liste des Paramètres 2FC4...-1ST 2FC4...-1PB 2FC4...-1PN 2FC4...-1SC 2FC4...-1CB

TP Modulation Démodulation BPSK

NFC Near Field Communication

DS 400 mobil Enregistreur à écran mobile à prix avantageux

Dossier technique. Présentation du bus DMX et Utilisation des options EL13 / EL14 ERM AUTOMATISMES INDUSTRIELS 1 LE PROTOCOLE DMX 2

Mentions légales (non traduites) Introduction Légendes Schémas de raccordement Configuration de la S16...

systèmes étendus Guide des Version 6.7 pour systèmes HD sous Macintosh ou Windows Digidesign

TP_Codeur_Incrémental

Système d automation TROVIS 6400 Régulateur compact TROVIS 6493

CLIP. (Calling Line Identification Presentation) Appareil autonome affichant le numéro appelant

Système M-Bus NIEVEAU TERRAIN NIVEAU AUTOMATION NIVEAU GESTION. Domaines d'application

MultiMedia Board. Système de développement. Manuel utilisateur. pour PIC32MX4

Débuter avec PsoC ou PsoC niveau 0

03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing

TeamConnect. SL TeamConnect CU1, Unité centrale SL TeamConnect CB1, Combox CARACTÉRISTIQUES

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Représentation d un entier en base b

DAC. avec interface USB audio et préampli stéréo Casque CONVERTISSEUR DIGITAL VERS ANALOGIQUE. Guide d utilisation V1.1 Jan 2011

DTS MOBATime's Distributed Time System

Conférence sur les microcontroleurs.

Projet de synthèse de l'électronique analogique : réalisation d'une balance à jauges de contrainte

Prise en main. Prise en main - 0

SEO 200. Banc d étude du positionnement angulaire d une éolienne face au vent DESCRIPTIF APPLICATIONS PEDAGOGIQUES

ANALYSE TRAMEs LIAISON SERIE

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Guide du test de Conformité USB 2.0

VIII- Circuits séquentiels. Mémoires

Chapitre 13 Numérisation de l information

Digital Subscriber Line

Programmation système I Les entrées/sorties

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

INDEX ACCESSOIRES CES ARTICLES SONT CONDITIONNES AVEC LE LASER MAC VI :

CARACTERISTIQUES: Le Poste de Température

3 ÉLÉMENTS forment un LABoratoire.

«Tous les sons sont-ils audibles»

L information sera transmise selon des signaux de nature et de fréquences différentes (sons, ultrasons, électromagnétiques, électriques).

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

PRESENTATION RESSOURCES. Christian Dupaty BTS Systèmes Numériques Lycée Fourcade Gardanne Académie d Aix Marseille

Transcription:

Cours/TD d informatique embarquée Utilisation d un microcontrôleur MBED Partie 9 Communication série SPI Serial communication with SPI Plan du cours 9.1. Introduction 9.2. Etude de la communication SPI 9.3. Utilisation de SPI avec mbed 9.4. Etude du circuit MCP3201 9.5. Etude du circuit MCP4141 CV C/TD INFO2 - Partie 9 page 1

9.1. Introduction SPI est l abréviation de. SPI est un protocole. Ce protocole utilise une relation maître/esclave entre les composants. Lorsque le maître initie la communication en sélectionnant un esclave, les données peuvent être transférées : communication Il existe de nombreux composants compatibles SPI. Le protocole SPI utilise 4 signaux de communication (+ la masse) : : (horloge) : (transmission du maître vers l esclave) : (transmission de l esclave vers le maître) : (sélectionne l esclave actif, un fil CS par esclave) 9.2 Etude de la communication SPI SPI est adapté, par exemple des données de communication entre 2 microprocesseurs ou le transfert de données à partir d'un convertisseur analogique-numérique nécessitant. Le transfert de données est plus, car la fréquence de l horloge, il n y a pas besoin de transmettre. La communication SPI est bien adapté pour. Procédure de transfert de données : 1. Le maître (SCLK) qui doit être supportée par l esclave (jusqu à 70MHz) 2. Le maître en activant (Souvent actif à 0V) 3. Le maître active et 4. L esclave renvoie les données de la même manière sur le fil MISO Rq : Le nombre de bits de chaque trame peut être configuré (généralement compris entre 4 et 16 bits) CV C/TD INFO2 - Partie 9 page 2

Le maître configure également la polarité de l horloge (CPOL) et la phase (CPHA): Il y a donc 4 modes possibles du bus SPI : En général, les composants SPI sont configurés pour fonctionner dans l un de ces 4 modes (voir dans la datasheet de chaque composant). Exercice 1 : Rechercher 3 composants fonctionnant sur le bus SPI (capteur de température, LCD...) - - 9.3 Utilisation de SPI avec mbed Les méthodes associées au type SPI sont dans le tableau ci-dessous : SPI Utilisation SPI Définit un maître SPI connecté à des broches spécifiques format frequency Permet d une donnée ou d une commande et write de l esclave Rq : pour faire une lecture il faudra «paradoxalement» utiliser la méthode write() Remarque : Ce tableau regroupe les méthodes d un maître SPI. Il existe également une liste de méthode pour créer un esclave SPI sur mbed : SPISlave. Nous n en parlerons pas dans le cadre de ce cours. CV C/TD INFO2 - Partie 9 page 3

Le LPC1768 possède 2 interfaces SPI sur les broches p5/p6/p7 et p11/p12/p13. En plus de ces broches il faudra utiliser. Par défaut les réglages de l interface mbed SPI sont : Fréquence = 1MHz Longueur des données : 8 bits Mode de transmission : 0 Exercice 2 : Ecrire les lignes de code permettant de définir un port SPI sur les broches p11, p12 et p13 du LPC1768, de régler la fréquence de transmission à 500 khz, le format de données sur 8 bits, et le mode à 1. 9.4 Etude du composant MCP3201 MCP3201 est un convertisseur analogique-numérique 2,7V/12bits Il sera utilisé en lecture, donc seule la broche MISO du mbed sera connectée Montage à réaliser : CV C/TD INFO2 - Partie 9 page 4

Après la mise à 0 de CS les données sont lues par le maître à partir du 4ème front montant 4ème front : B11 14ème front : B1 15ème front : B0 16ème front : de nouveau B1 (il faudra ne pas en tenir compte) Extrait de la datasheet illustrant la transmission des 12 bits de mesure : Code permettant de lire la valeur du convertisseur : #include "mbed.h" SPI spi(p5, p6, p7); // mosi, miso, sclk DigitalOut cs(p8); int main() { cs = 1; //initialisation de CS à 1 spi.format(16,0); //communication sur 16 bits / mode 0 spi.frequency(1000000); //fréquence de 1MHz while(1){ cs = 0; //CS à 0 <-> activation du circuit unsigned int valeur = spi.write(0x00); //Lecture de la valeur en //écrivant n importe //quoi... valeur = (valeur>>1)&0x0fff; //Mise en forme des deux //bits lus et décalage de //1bits pour ne pas tenir //compte du deuxième B1 printf("valeur lue = %d\n\r", valeur); //Affichage sur la //console cs = 1; //CS à 1 <-> désactivation CV C/TD INFO2 - Partie 9 page 5

Exercice 3 : (si vous n'avez pas assez de composant MCP3201 passez à la partie 9.4) a) Dessiner le schéma électrique d'un potentiomètre connecté entre le 0V et le 3,3V et dont la tension du point milieu évolue entre 0 et 3,3V. b) Réaliser et tester le montage et le programme ci-dessus (vous utiliserez un potentiomètre pour générer la tension mesurée par le convertisseur). Vérifier que la mesure est correcte. c) Relever à l'oscilloscope la trame transmise entre le MCP3201 et le mbed. chronogramme de MISO et SCLK d) Générer un signal triangulaire avec la sortie AnalogOut, de fréquence 5HZ et mesurer la avec le MCP3201, afficher la mesure sur la console. 9.4 Etude du composant MCP4141 MCP4141 est un potentiomètre ajustable SPI. Il possède une mémoire permettant de le régler. Il est possible de fixer la position du point milieu en envoyant une valeur à l adresse 0x00 de sa mémoire (valeur comprise entre 0 et 127). Il est possible d incrémenter la position du point milieu en envoyant la commande 0x04. Il est possible d incrémenter la position du point milieu en envoyant la commande 0x08. Il sera utilisé en écriture, donc seule la broche MOSI du mbed sera connectée. La résistance entre 5 et 6 (et entre 6 et 7) sera variable. CV C/TD INFO2 - Partie 9 page 6

Le programme suivant permet de fixer la valeur du potentiomètre : #include "mbed.h" SPI spi(p5, p6, p7); void ecriture(int n); //prototype de la fonction ecriture int main() { cs=1; spi.format(8,0); // 8 bits, mode 0 spi.frequency(1000000); while (1) { ecriture(63);// Fixe le potentiomètre au milieu de sa course wait(1); void ecriture(int n) { //n est compris entre 0 et 127 cs=1; cs=0; spi.write(0x00); spi.write(n); cs=1; Exercice 4 : a) Réaliser et tester le montage et le programme ci-dessus. Mesurer à l'aide d'un multimètre la résistance entre les broches 5 et 7, puis entre les broches 5 et 6. Résistances mesurées : b) Réaliser un pont diviseur de tension avec une résistance de 10kW et la résistance variable du MCP4141. Mesurer la tension de ce pont diviseur avec une entrée AnalogIn, afficher la valeur lue sur la console c) Calculer la valeur de la résistance SPI informatiquement et afficher sa valeur sur la console. d) Modifier le programme pour que la résistance s'incrémente toutes les 500 ms (utiliser la fonction incrément présentée sur la vidéo). CV C/TD INFO2 - Partie 9 page 7

Questions de cours : Q1) Que signifie SPI? Q2) Combien faut-il de signaux pour utiliser une composant SPI? Q3) Combien faut-il de signaux pour utiliser 5 composants SPI? Q4) En utilisant un seul port SPI, combien de composants SPI pouvons nous connecter sur le LPC1768? Q5) Quel est l'avantage du bus SPI par rapport à un bus I²C? Q6) Quel est l'inconvénient du bus SPI par rapport au bus I²C? Q7) Qu'est-ce qu'une communication full-duplex? Q8) En mode 1, le transfert des données se fait sur quel front? Q9) Avec le MCP3201 pourquoi ne connecte-t-on que le fil MISO? Q10) Quelle ligne d'instruction en langage C permet de supprimer le bit de poids faible et de forcer à 0 les 4 bits de poids forts sur une donnée de 16 bits? CV C/TD INFO2 - Partie 9 page 8