10.07.2015 Views

Communication par bus SPI avec les capteurs de ... - Sensortechnics

Communication par bus SPI avec les capteurs de ... - Sensortechnics

Communication par bus SPI avec les capteurs de ... - Sensortechnics

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Communication</strong> <strong>par</strong> <strong>bus</strong> <strong>SPI</strong> <strong>avec</strong> <strong>les</strong> <strong>capteurs</strong> <strong>de</strong> pression digitaux<strong>de</strong> la série HCE <strong>de</strong> <strong>Sensortechnics</strong>1 INTRODUCTION1.1 Capteurs <strong>de</strong> pression digitauxLes <strong>capteurs</strong> <strong>de</strong> pression digitaux utilisent unASIC interne pour la calibration digitale et lacompensation en température et fournissent unsignal <strong>de</strong> sortie digital d’une résolution allantjusqu’à 15 bits. En plus <strong>de</strong> cela, <strong>les</strong> <strong>capteurs</strong>disposent d’un signal <strong>de</strong> sortie analogique. Letemps <strong>de</strong> réponse du capteur dépend <strong>de</strong> larésolution choisie, en 12 bits il est <strong>de</strong> 0,5 ms.Les <strong>capteurs</strong> <strong>de</strong> pression digitaux <strong>de</strong><strong>Sensortechnics</strong> sont configurés pour lacommunication <strong>par</strong> <strong>bus</strong> I²C ou <strong>SPI</strong>.REMARQUE:Cette note d’application concerneuniquement la communication <strong>par</strong> <strong>bus</strong><strong>SPI</strong> et spécialement <strong>les</strong> <strong>capteurs</strong> <strong>de</strong>pression standard HCE <strong>de</strong><strong>Sensortechnics</strong>.1.2 La liaison <strong>SPI</strong>(Serial Peripheral Interface)La liaison <strong>SPI</strong> (Serial Peripheral Interface) estun <strong>bus</strong> pour la transmission synchrone <strong>de</strong>données „série“ entre un maître et un ouplusieurs esclaves (en théorie, il n’y a pas <strong>de</strong>limitations dans le nombre d’esclaves). Latransmission a lieu en Full Duplex, c’est-à-direque <strong>les</strong> données circulent simultanément dans<strong>les</strong> <strong>de</strong>ux sens. Le maître génère l’horloge etinitialise une transmission <strong>de</strong> données ensélectionnant l’esclave <strong>avec</strong> qui il veutcommuniquer. Chaque esclave est adressé <strong>par</strong>le maître <strong>par</strong> une ligne individuelle SS (SlaveSelect) et n’est actif que lorsqu’il estsélectionné.Le <strong>bus</strong> <strong>SPI</strong> est composé <strong>de</strong> <strong>de</strong>ux lignes <strong>de</strong>signal et <strong>de</strong>ux lignes <strong>de</strong> données:· Slave Select (SS)· Horloge (SCK)· Master Output, Slave Input (MOSI)· Master Input, Slave Output (MISO)Toutes ces lignes sont unidirectionnel<strong>les</strong>.F / 11156 / C1/11www.sensortechnics.com


<strong>Communication</strong> <strong>par</strong> <strong>bus</strong> <strong>SPI</strong> <strong>avec</strong> <strong>les</strong> <strong>capteurs</strong> <strong>de</strong> pression digitaux<strong>de</strong> la série HCE <strong>de</strong> <strong>Sensortechnics</strong>2 CONFIGURATION DU BUS2.1 SCK (Horloge)L’horloge est générée <strong>par</strong> le maître et sert à lasynchronisation <strong>de</strong> tous <strong>les</strong> ap<strong>par</strong>eilsconnectés.2.2 SS (Slave Select)Chaque esclave est adressé <strong>par</strong> le maître <strong>par</strong>une ligne individuelle SS. Le maître sélectionneun esclave donné en mettant sa ligne SS auniveau BAS. Le nombre possible d’esclaves ausein d’un tel système <strong>de</strong> <strong>bus</strong> n’est limité que<strong>par</strong> le nombre possible <strong>de</strong> raccor<strong>de</strong>ments SSdu maître.2.3 MOSI (Master Output - Slave Input)Sur la ligne MOSI le maître transmet <strong>de</strong>sdonnées à l’esclave.2.4 MISO (Master Input - Slave Output)Sur la ligne MISO l’esclave transmet <strong>de</strong>sdonnées au maître.MaîtreSCKMOSIMISOSS1SS2SS3SCKMOSIMISOSSEsclave 1SCKMOSIMISOSSEsclave 2SCKMOSIMISOEsclave 3SSFigure 1: Exemple <strong>de</strong> configuration <strong>de</strong> <strong>bus</strong> <strong>SPI</strong> <strong>avec</strong> un maître et plusieurs esclavesF / 11156 / C2/11www.sensortechnics.com


<strong>Communication</strong> <strong>par</strong> <strong>bus</strong> <strong>SPI</strong> <strong>avec</strong> <strong>les</strong> <strong>capteurs</strong> <strong>de</strong> pression digitaux<strong>de</strong> la série HCE <strong>de</strong> <strong>Sensortechnics</strong>3 PROTOCOLE DU BUS <strong>SPI</strong>3.1 Transmission <strong>de</strong> donnéesPour démarrer une transmission <strong>de</strong> données, lemaître sélectionne un esclave en mettant saligne SS respective au niveau BAS. Ensuite, lemaître transfert ses données dans le registre<strong>de</strong> sortie et rapi<strong>de</strong>ment après il commence àgénérer le signal d’horloge (voir <strong>par</strong>agraphe 4.5Chronogrammes).La transmission <strong>de</strong> données a lieu en FullDuplex en utilisant <strong>de</strong>s registres à décalageaussi bien <strong>par</strong> le maître que <strong>par</strong> l’esclave. Avecchaque coup d’horloge le maître envoie sur laligne MOSI une donnée à l’esclave pendantque l’esclave envoie simultanément unedonnée au maître sur la ligne MISO (voir Fig 2).La transmission <strong>de</strong> données est terminée dèsque la ligne SS est remise au niveau HAUT.REMARQUE:Pour <strong>les</strong> <strong>capteurs</strong> <strong>de</strong> pression pour<strong>bus</strong> <strong>SPI</strong> <strong>de</strong> <strong>Sensortechnics</strong> une ligneMOSI n’est pas nécessaire car aucunedonnée ne doit être transmise vers lecapteur. C’est pourquoi, pour certainesutilisations il est recommandé <strong>de</strong> nepas relier l’entrée MOSI du capteur aumicrocontrôleur du maître, mais <strong>de</strong> lapositionner à un niveau HAUTpermanent <strong>par</strong> une résistance <strong>de</strong> pullup(voir également <strong>par</strong>agraphe 5Exemple d’application).MaîtreSSSSEsclaveSCKSCKMOSIMOSIMISOMISO7 0 7 0Figure 2: Transmission <strong>de</strong> données entre maître et esclave <strong>par</strong> registres à décalageF / 11156 / C3/11www.sensortechnics.com


<strong>Communication</strong> <strong>par</strong> <strong>bus</strong> <strong>SPI</strong> <strong>avec</strong> <strong>les</strong> <strong>capteurs</strong> <strong>de</strong> pression digitaux<strong>de</strong> la série HCE <strong>de</strong> <strong>Sensortechnics</strong>3.2 Mo<strong>de</strong> <strong>de</strong> serviceLe protocole <strong>bus</strong> <strong>SPI</strong> détermine le type <strong>de</strong>signal d’horloge (SCK) grâce à <strong>de</strong>ux<strong>par</strong>amètres: le bit <strong>de</strong> poids fort CPOL (ClockPolarity) et le bit <strong>de</strong> poids faible CPHA (ClockPhase). Ils en résultent quatre différents mo<strong>de</strong>s<strong>de</strong> transmission comme indiqués en Tab 1. Ces<strong>par</strong>amètres <strong>de</strong> réglage déterminent sur quelfront d’horloge <strong>les</strong> données sont transmises, età quel moment ces données peuvent êtremodifiées.Pour une transmission <strong>de</strong> données correcte i<strong>les</strong>t important que ces <strong>par</strong>amètres soient réglés<strong>de</strong> manière i<strong>de</strong>ntique pour tous <strong>les</strong> ap<strong>par</strong>eilsreliés au <strong>bus</strong>.3.2.1 CPOL (Clock Polarity)Le CPOL détermine si au repos l’horloge estsur le niveau BAS (CPOL=0) ou HAUT(CPOL=1).3.2.2 CPHA (Clock Phase)Le CPHA détermine à quel front <strong>de</strong> l’horloge <strong>les</strong>données sont transmises. CPHA=0 signifie que<strong>les</strong> données sont vali<strong>de</strong>s au premier frontd’horloge, CPHA=1 qu’el<strong>les</strong> sont vali<strong>de</strong>s au<strong>de</strong>uxième front.Mo<strong>de</strong><strong>SPI</strong> CPOL0 0 01 0 12 1 03 1 1Tableau 1: Mo<strong>de</strong>s <strong>de</strong> transmission <strong>SPI</strong>CPHAREMARQUE:En mo<strong>de</strong> standard, <strong>les</strong> <strong>capteurs</strong> <strong>de</strong>pression digitaux pour <strong>bus</strong> <strong>SPI</strong> <strong>de</strong><strong>Sensortechnics</strong> sont programmés<strong>avec</strong> CPHA = 0 et CPOL = 0. En règlegénérale, ces <strong>capteurs</strong> acceptent <strong>les</strong> 4différents mo<strong>de</strong>s. Pour plusd’informations veuillez vous adresser à<strong>Sensortechnics</strong>.F / 11156 / C4/11www.sensortechnics.com


<strong>Communication</strong> <strong>par</strong> <strong>bus</strong> <strong>SPI</strong> <strong>avec</strong> <strong>les</strong> <strong>capteurs</strong> <strong>de</strong> pression digitaux<strong>de</strong> la série HCE <strong>de</strong> <strong>Sensortechnics</strong>3.3 Format du transfert <strong>de</strong> données3.3.1 CPHA = 0Lorsque CPHA est mis à 0, <strong>les</strong> données sontvali<strong>de</strong>s au premier front du signal d’horloge. Lapolarité CPOL détermine s’il s’agit d’un frontmontant ou <strong>de</strong>scendant. A CPOL=0, au repos,l’horloge est sur le niveau BAS; le premier frontest donc un front montant. A CPOL=1, aurepos, l’horloge est sur le niveau HAUT; lepremier front est donc un front <strong>de</strong>scendant.REMARQUE:Le format <strong>de</strong> transmission <strong>de</strong> donnéesindiqué en Fig 3 et 4 décrit la théoriegénérale du <strong>bus</strong> <strong>SPI</strong>. Concernant <strong>les</strong>caractéristiques <strong>de</strong>s <strong>capteurs</strong> <strong>de</strong>pression HCE veuillez consulter le<strong>par</strong>agraphe „4.5 chronogrammes“.Cependant, la polarité <strong>de</strong> l’horloge n’a pasd’influence sur le moment où le premier bit <strong>de</strong>données est vali<strong>de</strong> et <strong>par</strong> conséquent n’a pasd’effet sur le format du transfert <strong>de</strong> données,comme indiqué en Fig 3.Cycle SCK 1 2 3 4 5 6 7 8SCK(CPOL=0)SCK(CPOL=1)MOSIMSBLSBMISOMSBLSBSSRéception<strong>de</strong> donnéesFin <strong>de</strong>l'état <strong>de</strong> reposDébut <strong>de</strong>l'état <strong>de</strong> reposFigure 3: Exemple d’une transmission <strong>de</strong> données <strong>SPI</strong> <strong>de</strong> 1 octet pour CPHA=0F / 11156 / C5/11www.sensortechnics.com


<strong>Communication</strong> <strong>par</strong> <strong>bus</strong> <strong>SPI</strong> <strong>avec</strong> <strong>les</strong> <strong>capteurs</strong> <strong>de</strong> pression digitaux<strong>de</strong> la série HCE <strong>de</strong> <strong>Sensortechnics</strong>3.3.2 CPHA = 1Lorsque CPHA est mis à 1, <strong>les</strong> données sontréceptionnées <strong>avec</strong> le <strong>de</strong>uxième front du signald’horloge. La polarité CPOL détermine s’il s’agitd’un front montant ou <strong>de</strong>scendant. AvecCPOL=0, au repos, l’horloge est sur le niveauBAS et monte au niveau HAUT après lepremier front; le <strong>de</strong>uxième front est donc unfront <strong>de</strong>scendant. Avec CPOL=1, au repos,l’horloge est au niveau HAUT et <strong>de</strong>scend auniveau BAS après le premier front; le <strong>de</strong>uxièmefront est donc un front montant.Cependant, la polarité <strong>de</strong> l’horloge n’a pasd’influence sur le moment où le premier bit <strong>de</strong>données est vali<strong>de</strong> et <strong>par</strong> conséquent n’a pasd’effet sur le format du transfert <strong>de</strong> données,comme indiqué en Fig 4.Cycle SCK 1 2 3 4 5 6 7 8SCK(CPOL=0)SCK(CPOL=1)MOSIMSBLSBMISOMSBLSBSSRéception<strong>de</strong> donnéesFin <strong>de</strong>l'état <strong>de</strong> reposDébut <strong>de</strong>l'état <strong>de</strong> reposFigure 4: Exemple d’une transmission <strong>de</strong> données <strong>SPI</strong> <strong>de</strong> 1 octet pour CPHA=1F / 11156 / C6/11www.sensortechnics.com


<strong>Communication</strong> <strong>par</strong> <strong>bus</strong> <strong>SPI</strong> <strong>avec</strong> <strong>les</strong> <strong>capteurs</strong> <strong>de</strong> pression digitaux<strong>de</strong> la série HCE <strong>de</strong> <strong>Sensortechnics</strong>4 TRANSMISSION DE DONNEES SUR BUS <strong>SPI</strong> AVEC LES CAPTEURS DEPRESSION HCE4.1 Lecture <strong>de</strong> valeurs <strong>de</strong> pressionPour démarrer une transmission <strong>de</strong> données, lemaître met la ligne „Slave Select“ (SS) ducapteur <strong>de</strong> pression à l’état BAS (masse). Lavaleur <strong>de</strong> pression est transmise sous formed’un mot <strong>de</strong> 15 bits à l’intérieur d’un suite <strong>de</strong> 3octets <strong>de</strong> données (voir Fig 5). Les <strong>capteurs</strong> <strong>de</strong>pression digitaux <strong>de</strong>s séries HCE <strong>de</strong><strong>Sensortechnics</strong> ne sont pas conçus pourrecevoir <strong>de</strong>s données. Il est donc recommandé<strong>de</strong> ne transmettre sur la ligne MOSI que <strong>de</strong>sniveaux HAUTS (=1) pour éviter toute perturbationou mauvaise interprétation du capteur (voirégalement la remarque au <strong>par</strong>agraphe 3.1).Etant donné que le maître est tout <strong>de</strong> mêmesusceptible d’envoyer un ordre au capteur endébut <strong>de</strong> transfert, <strong>par</strong> sécurité <strong>les</strong> valeurs <strong>de</strong>pression ne sont transmises qu’après le <strong>de</strong>uxièmeoctet <strong>de</strong> données et le premier octet est nonsignificatif(le capteur transmet 0xFFh). La valeur<strong>de</strong> pression réelle, contenue dans <strong>les</strong> octets 2 et3, commence <strong>avec</strong> l’octet <strong>de</strong> poids le plus fort (MSB).La transmission <strong>de</strong> données est terminée dèsque le maître remet la ligne SS au niveauHAUT. Si après le troisième octet la ligne SS<strong>de</strong>meure au niveau BAS, le capteur envoie encontinu <strong>de</strong>s valeurs <strong>de</strong> pression au maître. Cesvaleurs <strong>de</strong> pression n’ont alors qu’une longueur<strong>de</strong> 2 octets chacune.4.2 Lecture <strong>de</strong> la valeur <strong>de</strong> la températureEn option, le capteur peut être programmé enusine pour fournir la valeur <strong>de</strong> la températureREMARQUE 1:Les <strong>capteurs</strong> <strong>de</strong> pression <strong>bus</strong> <strong>SPI</strong> <strong>de</strong><strong>Sensortechnics</strong> sont conçus pour latransmission <strong>de</strong> 3 ou <strong>de</strong> 2 octets <strong>de</strong>données. Entre ces octets la ligne SSne doit pas être mise au niveau HAUTpour ne pas causer une interruption <strong>de</strong>la transmission.REMARQUE 2:A une fréquence d’horloge <strong>de</strong> 500 kHzla transmission <strong>de</strong>s trois premiersoctets dure environ 50 µs. Les valeurs<strong>de</strong> pression suivantes <strong>de</strong> 2 octetschacunes nécessitent environ 32 µs.Cependant en mo<strong>de</strong> standard 14 bitsdu capteur HCE, le temps du cycle <strong>de</strong>conversion pour obtenir une nouvellevaleur est <strong>de</strong> 500 µs. C’est pourquoi,lors d’une cession <strong>de</strong> lecture continuedu capteur, le maître reçoit au moins14 fois la même valeur <strong>de</strong> pression!Pour plus d’informations, veuillezcontacter <strong>Sensortechnics</strong>.codée sur 15 bits. Celle-ci est transmisecomme quatrième et cinquième octet après <strong>les</strong>octets comportant la lecture <strong>de</strong> la pression. Tantque la transmission <strong>de</strong> données n’est pasterminée, le capteur fournit en continu <strong>de</strong>s mots<strong>de</strong> 4 octets représentant successivement <strong>les</strong>valeurs <strong>de</strong> pression et <strong>de</strong> température.MOSIMISOOctet 1 <strong>de</strong> données Octet 2 <strong>de</strong> données Octet 3 <strong>de</strong> données1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1X X X X X X X X X P14 P13 P12 P11 P10 P9 P8 P7 P6 P5 P4 P3 P2 P1 P0Données uti<strong>les</strong>Figure 5: Transmission <strong>de</strong> données sur 3 octets d’une valeur <strong>de</strong> pression codée sur 15 bitsF / 11156 / C7/11www.sensortechnics.com


<strong>Communication</strong> <strong>par</strong> <strong>bus</strong> <strong>SPI</strong> <strong>avec</strong> <strong>les</strong> <strong>capteurs</strong> <strong>de</strong> pression digitaux<strong>de</strong> la série HCE <strong>de</strong> <strong>Sensortechnics</strong>4.3 Détermination <strong>de</strong> la valeur <strong>de</strong> pressionà <strong>par</strong>tir <strong>de</strong> la valeur digitale lueLa formule suivante montre comment calculerla valeur physique réelle <strong>de</strong> la pression à <strong>par</strong>tir<strong>de</strong> l’information numérique:Outmax− OutminS =P − P(1)maxminP − OutP +Scounts min= Pmin(2)Définitions:S = Sensibilité [comptages/mbar]Out max= Sortie à la pression maximale [comptages]Out min= Sortie à la pression minimale [comptages]P max= Valeur haute <strong>de</strong> la gamme <strong>de</strong> pression [mbar]P min= Valeur basse <strong>de</strong> la gamme <strong>de</strong> pression [mbar]P = Valeur physique <strong>de</strong> la pression lue [mbar]= Valeur digitale <strong>de</strong> la pression lue [comptages]P countsL’exemple suivant montre le calcul pour lecapteur <strong>de</strong> pression HCEM100DB... (gamme <strong>de</strong>pression bidirectionnelle <strong>de</strong> 0 à ±100 mbar).Pour <strong>les</strong> calculs suivants nous avons utilisé <strong>les</strong>valeurs <strong>de</strong> calibration typiques, qui peuventvarier légèrement suivant la référence ducapteur. Merci <strong>de</strong> vous reporter à la fichetechnique <strong>de</strong> la famille HCE pour <strong>les</strong>caractéristiques techniques précises.Par exemple pour une valeur digitale lue <strong>de</strong>:P counts= 20608 comptages décimalOn en déduit la valeur physique <strong>de</strong> la pressiongrâce à la formule (2), ce qui donne:P =( 20608 −1638)comptages+ ( −100mbar)131,07comptages / mbarP = 44,73mbar4.4 RésolutionChaque valeur <strong>de</strong> pression et <strong>de</strong> températuretransmise est codée sur 15 bits. Pourtant, larésolution réelle peut être inférieure, car elledépend <strong>de</strong> la configuration du convertisseurA/D interne. De plus, la résolution peut êtredégradée à cause <strong>de</strong> calculs internes et <strong>de</strong>certains traitements du signal. La résolutionstandard interne du capteur <strong>de</strong> pression HCEest fixée à 14 bits. La résolution limite <strong>de</strong> lamesure <strong>de</strong> température est égalementdépendante <strong>de</strong> la sensibilité du capteur <strong>de</strong>température. Pour plus d’informations veuillezcontacter <strong>Sensortechnics</strong>.Out min(-100 mbar) = 0666 hex = 1638 <strong>de</strong>cOut max(+100 mbar) = 6CCC hex = 27852 <strong>de</strong>cLa sensibilité du capteur se déduit <strong>de</strong> laformule (1) comme suit:27852comptages −1638 comptagesS =100mbar − ( −100mbar)S = 131,07 comptages/mbarF / 11156 / C8/11www.sensortechnics.com


<strong>Communication</strong> <strong>par</strong> <strong>bus</strong> <strong>SPI</strong> <strong>avec</strong> <strong>les</strong> <strong>capteurs</strong> <strong>de</strong> pression digitaux<strong>de</strong> la série HCE <strong>de</strong> <strong>Sensortechnics</strong>ParamètreS ymboleM in.T yp.Max.Niveau d'entrée HAUT90100Niveau d'entrée BAS0 10Niveau <strong>de</strong> sortie BAS10Unité% <strong>de</strong> VSRésistance<strong>de</strong> pull-up500ΩCapacité<strong>de</strong> chargeC ISOCapacitéd'entréeC PI_INSCK Fréquence d'horlogefCKMISO Temps <strong>de</strong> maintien après le front SCK tPI_HD_MIS OMOSITemps <strong>de</strong> setup avant le front SCK t<strong>SPI</strong>_SU_MOSITemps<strong>de</strong> setup SS avant le front SCKtPI_SU_S STemps<strong>de</strong> délai après le front SCKt<strong>SPI</strong>_HD_SSM400S10S100*40S002/fCLKS0pF6 kHz2 ns1 ns1/fCLK* recommandé (voir la note en page 10)Tableau 2: Paramètres et chronogrammes <strong>de</strong> communication sur <strong>bus</strong> <strong>SPI</strong> <strong>avec</strong> <strong>les</strong> <strong>capteurs</strong> <strong>de</strong> pression HCE4.5 ChronogrammesPour une transmission <strong>de</strong> données correcte lecapteur <strong>de</strong> pression doit détecter la fonctionSTART (ligne SS à l’état BAS) avant que lemaître n’envoie le premier coup d’horloge. C’estpourquoi, avant le premier coup d’horloge, lemaître doit respecter un délai minimum t<strong>SPI</strong>_SU_SS(voir tableaux 2 et Fig 6). Après le <strong>de</strong>rnier coupd’horloge un délai minimum t <strong>SPI</strong>_HD_SSdoit êtrerespecté avant que le maître termine lacommunication (ligne SS à l’état HAUT).Les chronogrammes sont contrô<strong>les</strong> <strong>par</strong> lemaître et dépen<strong>de</strong>nt entre autres <strong>de</strong>s conditionssuivantes.· le mo<strong>de</strong> <strong>de</strong> communication du <strong>bus</strong> <strong>SPI</strong>· la vitesse du <strong>bus</strong>· le circuit électronique extérieur(p.ex. la valeur <strong>de</strong>s résistances <strong>de</strong> pull-up)· <strong>les</strong> impédances et capacités <strong>de</strong>s lignes du<strong>bus</strong> <strong>SPI</strong>SCK(CPOL=0)MOSIMISOSSt<strong>SPI</strong>_SU_SSt<strong>SPI</strong>_SU_MOSIt<strong>SPI</strong>_HD_MISOFigure 6: Chronogrammes <strong>bus</strong> <strong>SPI</strong>t<strong>SPI</strong>_HD_SSContrairement à la théorie (Fig 3, Page 5), <strong>les</strong><strong>capteurs</strong> <strong>de</strong> pression HCE <strong>de</strong> <strong>Sensortechnics</strong>actualisent leurs données très rapi<strong>de</strong>mentaprès avoir respecté le délai t <strong>SPI</strong>_HD_MISOsuivantun front d’horloge vali<strong>de</strong> (voir Fig 6). Ceciconduit, et ce spécialement lors d’unetransmission à faible vitesse, à avoirl’impression que la transmission ne s’effectuepas sur le front montant mais <strong>de</strong>scendant(CPAH=1, CPOL=0, voir <strong>par</strong>agraphe 3.3.2, Fig 4).F / 11156 / C9/11www.sensortechnics.com


<strong>Communication</strong> <strong>par</strong> <strong>bus</strong> <strong>SPI</strong> <strong>avec</strong> <strong>les</strong> <strong>capteurs</strong> <strong>de</strong> pression digitaux<strong>de</strong> la série HCE <strong>de</strong> <strong>Sensortechnics</strong>4.6 Vitesse <strong>de</strong> transmissionLa vitesse maximale <strong>de</strong> <strong>bus</strong> permise dépend <strong>de</strong>la configuration <strong>de</strong> la fréquence <strong>de</strong> l’horlogeinterne du capteur qui varie en fonction <strong>de</strong> latempérature et <strong>de</strong>s conditions <strong>de</strong> fabrication.Dans le pire <strong>de</strong>s cas, pour <strong>les</strong> <strong>capteurs</strong> <strong>de</strong>sséries HCE, cette fréquence d’horloge enconfiguration standard est <strong>de</strong> 640 kHz. Enconfiguration spéciale, elle peut aller jusqu’à730 kHz.4.7 Perturbations électromagnétiquesLes fronts très rai<strong>de</strong>s <strong>de</strong>s signaux transmis surle <strong>bus</strong> <strong>SPI</strong> peuvent provoquer <strong>de</strong>s perturbationsélectromagnétiques. Particulièrement pour <strong>les</strong><strong>capteurs</strong> faib<strong>les</strong> pressions, montés sur <strong>de</strong>scircuits imprimés <strong>de</strong> tail<strong>les</strong> réduites, ceci peutperturber le signal bas-niveau (mV) issu ducapteur et détériorer le signal analogique.Au cas où l’on utiliserait en même temps <strong>les</strong>sorties digitale et analogique il est recommandéd’éloigner autant que possible <strong>les</strong> <strong>de</strong>ux signaux.Il est également recommandé <strong>de</strong> placer unecapacité <strong>de</strong> découplage <strong>de</strong> 220nF entrel’alimentation et la masse, et une <strong>de</strong> 15nF entrela sortie analogique et la masse. Lescon<strong>de</strong>nsateurs doivent se trouver le plus prèspossible <strong>de</strong>s pattes du capteur.REMARQUE:Pour empêcher <strong>de</strong>s perturbationsélectromagnétiques, <strong>Sensortechnics</strong>conseille une fréquence d’horloge <strong>de</strong>100 kHz minimum (640 kHz maximum) et<strong>de</strong>s pauses <strong>de</strong> transmissions <strong>de</strong> 500 µsminimum entre <strong>de</strong>ux transmissions <strong>de</strong>pression. Ceci est <strong>par</strong>ticulièrementimportant pour toutes <strong>les</strong> versionsfaib<strong>les</strong> pressions jusqu’à 25 mbar.Pour plus d’informations veuillezcontacter <strong>Sensortechnics</strong>.5 EXEMPLE D’APPLICATIONSur chaque ligne <strong>de</strong> transmission, il estrecommandé d’utiliser une résistance <strong>de</strong> pull-upd’environ 4,7 kΩ et <strong>de</strong> plus une résistance série<strong>de</strong> 330 Ω, comme indiqué en Fig 7.+V s4k74k74k74k7MOSI330MOSIHCEMISO330MISOSS330SSSCK330SCKFigure 7: Exemple <strong>de</strong> circuit d’application sur <strong>bus</strong> <strong>SPI</strong> pour <strong>capteurs</strong> <strong>de</strong> pression HCEF / 11156 / C10/11www.sensortechnics.com


<strong>Communication</strong> <strong>par</strong> <strong>bus</strong> <strong>SPI</strong> <strong>avec</strong> <strong>les</strong> <strong>capteurs</strong> <strong>de</strong> pression digitaux<strong>de</strong> la série HCE <strong>de</strong> <strong>Sensortechnics</strong>6 EXEMPLE DE PROGRAMME POUR LE BUS <strong>SPI</strong>byte dont_care;byte byte_msb, byte_lsb;int16 pressure;// 8bit values// 8bit values// 16bit value// If your controller does not control the /SS pin, you'll need to configure it yourself// Set output value to 1/high state (<strong>SPI</strong> in idle state)pin_ss = 1;// Set pin to outputset_inout_mo<strong>de</strong>(pin_ss, PIN_OUT);// Set <strong>SPI</strong> unit to <strong>SPI</strong> master mo<strong>de</strong>, clock speed 100 kHz and <strong>SPI</strong> mo<strong>de</strong> 0 (CPHA = 0 & CPOL = 0)configure<strong>SPI</strong> (<strong>SPI</strong>_MASTER | CLK_SPEED_100KHZ | <strong>SPI</strong>_MODE_0);// Set /SS Pin low (Start communication)pin_ss = 0;// Transfer one byte over <strong>SPI</strong> <strong>bus</strong> (send 0xFF, write received data to dont_care (discard first byte))<strong>SPI</strong>_transfer (0xFF, &dont_care);// Transfer one byte over <strong>SPI</strong> <strong>bus</strong> (send 0xFF, write received data to byte_msb)<strong>SPI</strong>_transfer (0xFF, &byte_msb);// Transfer one byte over <strong>SPI</strong> <strong>bus</strong> (send 0xFF, write received data to byte_lsb)<strong>SPI</strong>_transfer (0xFF, &byte_lsb);// Set /SS pin high (End communication)pin_ss = 1;// Put both values togetherpressure = ((int16)byte_msb

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!