Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
1
SPI - Serial Peripheral Interface
Pour aller lire le CAN et écrire dans le CNA
2
Schéma bloc
6
Chronogrammes Mode 0 Mode 1
7
Chronogrammes Mode 2 Mode 3
8
Chronogramme d’une transaction
9
Chronogramme d’une transaction
12
Registre des modes du SPI
24
Exemple initialisation du SPI
25
Exemple initialisation du SPI
26
Configuration du SPI 1) Associer les broches au SPI: Exemple SPI #1:
PIO_Configure(pinsSPI1, PIO_LISTSIZE(pinsSPI1));
27
Configuration du SPI 2) Configuration des registres SPI_CR et SPI_MR:
Structure: config = (AT91C_SPI_DLYBCS & (0 << 24)) | (AT91C_SPI_PCS & (0xE << 16)) | (AT91C_SPI_LLB & (0 << 7)) | (AT91C_SPI_MODFDIS & (1 << 4)) | (AT91C_SPI_PCSDEC & (0 << 2)) | (AT91C_SPI_PS & (1 << 1)) | (AT91C_SPI_MSTR & (1 << 0)); SPI_Configure(AT91C_BASE_SPI1, AT91C_ID_SPI1, config);
28
Configuration du SPI 2) Configuration des registres SPI_CR et SPI_MR :
Structure: config = (AT91C_SPI_DLYBCS & (0 << 24)) | (AT91C_SPI_PCS & (0xE << 16)) | (AT91C_SPI_LLB & (0 << 7)) | (AT91C_SPI_MODFDIS & (1 << 4)) | (AT91C_SPI_PCSDEC & (0 << 2)) | (AT91C_SPI_PS & (1 << 1)) | (AT91C_SPI_MSTR & (1 << 0)); SPI_Configure(AT91C_BASE_SPI1, AT91C_ID_SPI1, config); Délais entre « chip select » « Chip select » périphérique « Local loopback » Détection de fautes Décodage périphérique Sélection périphérique comm. Maitre ou esclave
29
Configuration du SPI 2) Configuration du registre SPI_CSR3: Structure:
config = (AT91C_SPI_DLYBCT & (0x01 << 24)) | (AT91C_SPI_DLYBS & (0x01 << 16)) | (AT91C_SPI_SCBR & (0x10 << 8)) | (AT91C_SPI_BITS & (AT91C_SPI_BITS_16)) | (AT91C_SPI_CSAAT & (0x0 << 3)) | (AT91C_SPI_NCPHA & (0x0 << 1)) | (AT91C_SPI_CPOL & (0x1 << 0)); SPI_ConfigureNPCS(AT91C_BASE_SPI1, 3, config);
30
Configuration du SPI 2) Configuration du registre SPI_CSR3 :
Structure: config = (AT91C_SPI_DLYBCT & (0x01 << 24)) | (AT91C_SPI_DLYBS & (0x01 << 16)) | (AT91C_SPI_SCBR & (0x10 << 8)) | (AT91C_SPI_BITS & (AT91C_SPI_BITS_16)) | (AT91C_SPI_CSAAT & (0x0 << 3)) | (AT91C_SPI_NCPHA & (0x0 << 1)) | (AT91C_SPI_CPOL & (0x1 << 0)); SPI_ConfigureNPCS(AT91C_BASE_SPI1, 3, config); Délai entre 2 transactions Délai avant SPCK Vitesse communication Taille du transfert (16 bits) Chip select actif après trans. ? Phase de l’horloge Polarité de l’horloge du SPI CNA
31
Configuration du SPI 2b) Configuration du registre SPI_CSR2 :
… SPI_ConfigureNPCS(AT91C_BASE_SPI1, 2, config); 3) Activation du SPI: Directement (pour le SPI #1): SPI_Enable(AT91C_BASE_SPI1); Tout cela peut se regrouper dans une fonction que nous pouvons nommer: void initSPI(void){ } CAN
32
MAX5322 Convertisseur numérique analogique
33
Montage de laboratoire
34
MAX5322 – Schéma bloc
35
CNA MAX5322 – Conversion R-2R
39
Tensions en sortie
40
Configuration du CNA
41
Configuration broches MAX5322
Déclaration variables SetupDAC() Board.h
42
Suite Broche LDAC mise à 1 Broche CLR mise à 1
Broche UNI/BIP A mise à 0 Broche UNI/BIP B mise à 1 Broche SHDN mise à 1
43
Transactions du SPI avec le CNA
Initialisation du CNA SPI_Write(AT91C_BASE_SPI1, 3, 0xE000); SPI_Read(AT91C_BASE_SPI1); Wait(1000); SPI_Write(AT91C_BASE_SPI1, 3, (0x4000 | 0x07FF)); Activations des canaux du CNA 0 volt Canal A – DAC_OUT
44
Transactions du SPI avec le CNA
Initialisation du CNA SPI_Write(AT91C_BASE_SPI1, 3, 0xE000); SPI_Read(AT91C_BASE_SPI1); Wait(1000); SPI_Write(AT91C_BASE_SPI1, 3, (0x4000 | 0x07FF)); SPI_Write(AT91C_BASE_SPI1, 3, (0x5000 | 0x0000)); Activations des canaux du CNA 0 volt Canal A – DAC_OUT 0 volt Canal B - VSHIFT
45
MAX1270 Convertisseur analogique numérique
46
Montage de laboratoire
47
MAX1270 – Schéma de la puce
48
MAX1270 – Schéma bloc interne
49
CAN MAX1270
52
Étendues et polarités
53
Transaction avec le CAN
54
Transaction avec le CAN
Pour une lecture du CAN, il faut faire deux transactions. La première envoie le numéro du canal à lire; Exemple: 0x9100 START = 1 Canal choisi: 0x001 – Canal 1 RNG = 1 et BIP = 0: Sortie monopolaire; PD1 = 0 et PD0 = 0: Opération normale, horloge interne. Réponse du convertisseur: les 3 premiers bits du CAN.
55
Transaction avec le CAN
Pour une lecture du CAN, il faut faire deux transactions. La deuxième est pour permettre de recevoir le reste; Réponse du convertisseur: les 9 derniers bits du CAN. Canaux: Canal 0 : 0x8D00 -> Borne J6 Canal 1: 0x9100 -> Vshift Canal 2: 0xA100 -> Thermocouple Canal 3: 0xB100 -> Puce LM35
56
Initialisation du CAN Faite lors de l’initialisation du SPI #1.
Associer les broches du SPI #1 pour le CAN
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.