23
Lycée Couffignal TS1 CIRA ©Y.D 2011 1 SOMMAIRE DU FASCICULE Principe en base quelconque a Base 2 ou code binaire naturel Base 8 ou code octal Base 16 ou code hexadécimal Conversions de codes Autres codes Code BCD Code binaire réfléchi ou code Gray Code complément à 1 Code complément à 2 Détection d’erreur en communication Représentation en virgule flottante Synthèse et exercices Annexes 1 - Numérisation du son 2-1-Codeur absolu 2-2- Codeur incrémental 3- Module d’entrée analogique SM331 de Siemens 4- Module de sortie analogique SM332 de Siemens

SOMMAIRE DU FASCICULE - cira-couffignal.frcira-couffignal.fr/archives/archives2011-2012/fichiers-cours/LES... · 2-2- Codeur incrémental 3- Module d’entrée analogique SM331 de

Embed Size (px)

Citation preview

Page 1: SOMMAIRE DU FASCICULE - cira-couffignal.frcira-couffignal.fr/archives/archives2011-2012/fichiers-cours/LES... · 2-2- Codeur incrémental 3- Module d’entrée analogique SM331 de

Lycée Couffignal TS1 CIRA

©Y.D 2011 1

SOMMAIRE DU FASCICULE

Principe en base quelconque a

Base 2 ou code binaire naturel

Base 8 ou code octal

Base 16 ou code hexadécimal

Conversions de codes

Autres codes

Code BCD

Code binaire réfléchi ou code Gray

Code complément à 1

Code complément à 2

Détection d’erreur en communication

Représentation en virgule flottante

Synthèse et exercices

Annexes 1 - Numérisation du son

2-1-Codeur absolu

2-2- Codeur incrémental

3- Module d’entrée analogique SM331 de Siemens

4- Module de sortie analogique SM332 de Siemens

Page 2: SOMMAIRE DU FASCICULE - cira-couffignal.frcira-couffignal.fr/archives/archives2011-2012/fichiers-cours/LES... · 2-2- Codeur incrémental 3- Module d’entrée analogique SM331 de

Lycée Couffignal TS1 CIRA

©Y.D 2011 2

LES PRINCIPAUX CODES UTILISES EN AUTOMATISME

I] Principe en base a : Tout nombre N peut s’écrire en base « a » sous la forme ( avec n chiffres) :

N = i0 . a0 + i1 . a

1 + i2 . a

2 + i3 . a

3 + . . . + in-1 . a

n-1

avec : i0 à in les différents chiffres de la représentation en base a ( avec imaxi = a –1)

a0 à a

n les différents « poids numériques » de la représentation, il s’agit de puissances

entières de la base de numération utilisée.

Par convention, l’écriture de ce nombre consiste en une juxtaposition des chiffres i0 à in, soit :

N = in-1 … i3 i2 i1 i0 (a) La valeur maximale du nombre que l’on peut coder avec cette représentation est

an – 1

Exemple en base décimale (10) :

Les différents chiffres de la représentation décimale vont de 0 à 9.

Pour une représentation sur 4 chiffres, donc n = 4, la valeur maximale du nombre est : 10 4 – 1 soit 10 000 – 1 =

9 999

Le nombre 1515 se décompose sur 4 chiffres sous la forme suivante :

5 . 100 + 1 . 10

1 + 5 . 10

2 + 1 . 10

3 = 5 . 1 + 1 .10 + 5 . 100 + 1 . 1000 = 5 + 10 + 500 + 1000

II] La base deux ou code binaire naturel :

C’est la base de toutes représentations en informatique, automatisme industriel et numérique (voir exemple en

annexe 1 : enregistrement et lecture numérique p.14).

Les deux chiffres utilisés sont 0 et 1.

Les premiers nombres de la représentation binaire sur 4 chiffres sont dans le tableau suivant : N

en code

décimal

N

en code binaire

101 100 23 22 21 20

0 0

1 1

2 1 0

3 1 1

4 1 0 0

5 1 0 1

6 1 1 0

7 1 1 1

8 1 0 0 0

9 1 0 0 1

1 0 1 0 1 0

1 1 1 0 1 1

1 2 1 1 0 0

1 3 1 1 0 1

1 4 1 1 1 0

1 5 1 1 1 1

La deuxième ligne de ce tableau correspond aux

poids numériques de chaque code.

La valeur maximale du nombre N, sur n = 4 chiffres

en base 2, est 24 – 1 soit 16 – 1 =15

Exemple : soit N = 14(10) = 1110(2)

Soit la décomposition en binaire naturel :

0 . 20 + 1 . 2

1 + 1 . 2

2 + 1 . 2

3 =

0 + 2 + 4 + 8 = 14

Exemple le codage d’un pixel : se fait sur 24 bits soit 8 bits par couleurs primaires qui sont le rouge , le vert et

le bleu soit le code RVB ou RGB en anglais pour red, green et blue.

Exemple la couleur

composante rouge : 251, soit en codage binaire (sur 8 bits) 11111011 ;

composante verte : 208, soit 11010000 ;

composante bleue : 151, soit 10010111.

Le codage binaire sur 24 bits de cette couleur est donc le suivant :111110111101000010010111.

Page 3: SOMMAIRE DU FASCICULE - cira-couffignal.frcira-couffignal.fr/archives/archives2011-2012/fichiers-cours/LES... · 2-2- Codeur incrémental 3- Module d’entrée analogique SM331 de

Lycée Couffignal TS1 CIRA

©Y.D 2011 3

II] La base 8 ou code octal :

Les 8 chiffres de la représentation sont : 0,1,2,3,4,5,6 et 7.

Exemple de codage des 16 premiers nombres du code décimal :

N

en code

décimal

N

en code

octal

101 10

0 8

1 8

0

0 0

1 1

2 2

3 3

4 4

5 5

6 6

7 7

8 1 0

9 1 1

1 0 1 2

1 1 1 3

1 2 1 4

1 3 1 5

1 4 1 6

1 5 1 7

La valeur maximale de N sur 2 chiffres

est de 82 – 1 soit 63(10) ou 77(8)

La décomposition du nombre 14(10) ou

16(8) est 1 . 81 + 6 . 8

0 en octal

soit 8 + 6 = 14(10)

III] La base 16 ou code hexadécimal : Pour la représentation dans cette base on a recours à une notation alphanumérique les nombres arabes ne

suffisant pas.

Les 16 caractères de la décomposition sont : 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E et F

Exemple de codage des 21 premiers nombres du code décimal :

N

en code

décimal

N

en code

hexa.

101 10

0 16

1

160

0 0

1 1

2 2

3 3

4 4

5 5

6 6

7 7

8 8

9 9

1 0 A

1 1 B

1 2 C

1 3 D

1 4 E

1 5 F

1 6 1 0

1 7 1 1

1 8 1 2

1 9 1 3

2 0 1 4

La valeur maximale de N sur 2 chiffres

est de 162 – 1 soit 255(10) ou FF(16)

La décomposition du nombre 20(10) ou

14(16) est 1 . 161 + 4 . 16

0 en hexadécimal

soit 16 + 4 = 20(10)

Page 4: SOMMAIRE DU FASCICULE - cira-couffignal.frcira-couffignal.fr/archives/archives2011-2012/fichiers-cours/LES... · 2-2- Codeur incrémental 3- Module d’entrée analogique SM331 de

Lycée Couffignal TS1 CIRA

©Y.D 2011 4

IV] Conversion de codes :

4.1) Conversion d’un nombre d’une base quelconque en décimal :

On développe le nombre N à convertir sous forme d’une somme de puissances de la base.

Exemples :

Soit à convertir les nombres suivants en décimal :

10 111(2) - ABC(16) - 747(8)

N exprimé dans sa

base d’origine

Décomposition N en

décimal

10 111(2) 1 . 20 + 1 . 21 + 1 . 22 + 0 . 23 + 1 . 24 = 1 + 2 + 4 + 16 = 23 23

ABC(16)

747(8)

4.2) Conversion d’un nombre en décimal en base a quelconque :

* 4.2.1) Pour convertir un nombre en décimal en une base quelconque, on divise ce nombre par la base ; puis

le quotient ainsi obtenu par la base et ainsi de suite jusqu’à obtenir un quotient nul.

Le nombre cherché est donné par les restes successifs des différentes divisions.

Mais en sachant que le reste de la première division exprime le coefficient de poids le plus faible LSB (Least

Significant Bit) et le dernier reste exprime le coefficient de poids le plus fort MSB (Most Significant Bit).

Il faut donc lire le résultat en « remontant » les restes.

Exemple soit à coder 36(10) en code binaire :

36 2 18 2 9 2 4 2 2 2 1 2

16 18 0 9 1 4 0 2 0 1 1 0

0

le résultat de la conversion est

36(10) = 100 100(2)

Exemple soit à coder 36(10) en code hexadécimal :

36 16 2 16

4 2 2 0 le résultat de la conversion est : 36(10) = 24(16)

Exemple soit à coder 36(10) en code octal :

36 8 4 8 4 4 4 0 le résultat de la conversion est : 36(10) = 44(8)

*4.2.2) Par encadrement successif : chercher la puissance de la base a immédiatement inférieure au nombre à

convertir puis opérer aux soustraction successives :

64 32 16 8 4 2 1

0 1 0 0 1 0 0

Sens de la lecture

Sens de la lecture

Sens de la lecture

Page 5: SOMMAIRE DU FASCICULE - cira-couffignal.frcira-couffignal.fr/archives/archives2011-2012/fichiers-cours/LES... · 2-2- Codeur incrémental 3- Module d’entrée analogique SM331 de

Lycée Couffignal TS1 CIRA

©Y.D 2011 5

4.3) Conversion d’un nombre codé en binaire en hexadécimal :

Il suffit de décomposer l’expression binaire par des sous-ensembles de quatre variables

(quartet) pour en déduire l’équivalent en hexadécimal.

Exemple : 10 1101 0110 (2)

……………..(16)

4.4) Conversion d’un nombre codé en binaire en octal :

Il faut décomposer l’expression binaire par des sous-ensembles de trois variables (triolet)

pour en déduire l’équivalent en octal.

Exemple : 1 011 010 110 (2)

……………….. (8)

4.5) Conversion d’un nombre codé en octal en binaire :

Il suffit de convertir chaque chiffre du nombre en octal par son équivalent binaire (la totalité

des combinaisons binaires sur trois chiffres étant utilisée en base 8).

Exemple : 1 3 5 6 (8)

(2)

(base)

4.6) Conversion d’un nombre codé en octal en hexadécimal :

Il faut d’abord convertir le nombre en binaire puis diviser l’expression obtenue en quartets.

Exemple : 1 5 3 7 (8)

(2)

(16)

4.7) Conversion d’un nombre codé en hexadécimal en binaire

Il suffit de convertir chaque chiffre du nombre en hexadécimal par son équivalent binaire.

Exemple : 6 B 2 (16)

(2)

4.8) Conversion d’un nombre codé en hexadécimal en octal :

Il faut convertir tout d’abord le nombre en binaire puis en octal (voir §5.4).

Exemple : 3 C 2 (16)

(2)

(8)

Page 6: SOMMAIRE DU FASCICULE - cira-couffignal.frcira-couffignal.fr/archives/archives2011-2012/fichiers-cours/LES... · 2-2- Codeur incrémental 3- Module d’entrée analogique SM331 de

©Y.D 2011 6

V] Autres codes:

5.1) Code décimal codé binaire (DCB) ou BCD en anglais:

Ce code est utilisé pour certaines roues codeuses (voir TP n°5 Câblage des entrées-sorties TOR)

Le passage d’un nombre codé en décimal en un nombre codé en DCB se fait par conversion

de chaque chiffre, du nombre décimal, en son équivalent en binaire naturel.

Exemple : Soit le nombre 1789(10) à coder en DCB :

1 7 8 9 Base 10

D.C.B.

Base 2

Remarques :

Le nombre 1789 est composé de 13 variables lorsqu’il est exprimé en DCB, alors que 11

suffisent lorsqu’il est exprimé en binaire naturel (la numération binaire utilise toutes les

combinaisons tandis qu’en DCB seules 10 combinaisons sur 16 possibles sont utilisés sur le

premier quartet).

L’opération inverse de conversion DCB vers décimal se fait en découpant par quartets

l’expression DCB et d’y faire correspondre sa valeur décimale.

5.2) Code binaire réfléchi ou code Gray:

La particularité de ce code est qu’une seule variable change d’état d’une expression à l’autre ,

les expressions sont dites adjacentes. Voir tableau ci-dessous des seize premières

combinaisons de ce code. Code

décimal

Code binaire

réfléchi 0 0 0 0 0

1 0 0 0 1

2 0 0 1 1

3 0 0 1 0

4 0 1 1 0

5 0 1 1 1

6 0 1 0 1

7 0 1 0 0

8 1 1 0 0

9 1 1 0 1

10 1 1 1 1

11 1 1 1 0

12 1 0 1 0

13 1 0 1 1

14 1 0 0 1

15 1 0 0 0

16

17

18

19

Cette particularité de ce code (un seul bit évolue au cours d’un pas) est utilisé pour réaliser

les codeurs absolus. Voir en annexe 2 (p.15 et 16) la vue éclatée d’un tel codeur, il permet de

connaître la position angulaire d’un axe en rotation avec une résolution de 1°. Le nombre de

combinaisons sur un tour est donc de 360, soit 9 signaux de sortie nécessaires (28 < 360 <2

9).

La construction de ce tableau se

fait par une réflexion sur les 2

premières combinaisons, puis les

4 suivantes et finalement les huit

combinaisons

Page 7: SOMMAIRE DU FASCICULE - cira-couffignal.frcira-couffignal.fr/archives/archives2011-2012/fichiers-cours/LES... · 2-2- Codeur incrémental 3- Module d’entrée analogique SM331 de

©Y.D 2011 7

Méthode de conversion d’un nombre codé en binaire réfléchi en code binaire :

En allant de gauche à droite : soit on transcrit le chiffre tel quel, soit on le remplace par son

complément si le chiffre précédent, résultant de la conversion, vaut 1.

Exemple : 19 1 1 0 1 0 Binaire réfléchi

1 0 0 1 1 (2)

Exemple : 11 1 1 1 0 Binaire réfléchi

(2)

Méthode de conversion d’un nombre codé en binaire en code binaire réfléchi :

Additionner sans retenue, le nombre et le même nombre décalé d’un rang vers la gauche, puis

abandonner le chiffre de poids faible.

Exemple : 13 1 1 0 1 (2)

1 1 0 1

1 0 1 1 1 Binaire réfléchi

Exemple : 19 1 0 0 1 1 (2)

Binaire réfléchi

5.3) Code signé : Code complément à 1 :

Ce type de code permet d’exprimer les entiers relatifs (nombres signés). Ce code est utilisé lors de conversion

analogique→numérique sur des grandeurs analogiques pouvant changer de signe (gammes bipolaires) :

- gamme –10V à + 10V

- gamme –20mA à +20mA

- gamme –5V à +5V

Afin de coder les nombres relatifs, le moyen le plus simple est d’introduire un bit de signe (situé à gauche de

l’expression binaire de ce nombre) avec la convention suivante :

- lorsque le nombre est négatif, ce bit est égal à 1

- lorsque le nombre est positif , ce bit est égal à 0

Pour faciliter les opérations numériques sur des nombres codés en binaire , on utilise les codes complémentés

pour la partie significative de l’expression binaire des nombres négatifs ( hors bit de signe) et pour les

nombres positifs le code binaire naturel.

Complémenter à 1 un nombre en code binaire revient à remplacer 0 par 1 et 1 par 0 de la partie significative.

Le bit de signe respectant toujours la convention précédente.

Exemple soit à coder –2810 et +2810 sur 6 bits dont un bit de signe :

Recherche de 2810 en code binaire naturel :

28 2 14 2 7 2 3 2 1 2

8 14 0 7 1 3 1 1 1 0

0

Expression en code binaire naturel :

11 100 soit 16 + 8 + 4 = 28

Page 8: SOMMAIRE DU FASCICULE - cira-couffignal.frcira-couffignal.fr/archives/archives2011-2012/fichiers-cours/LES... · 2-2- Codeur incrémental 3- Module d’entrée analogique SM331 de

©Y.D 2011 8

Nombre en

décimal

Nombre en binaire naturel pour signe >0 et complémenter à 1 pour signe <0

Bit de signe 24 2

3 2

2 2

1 2

0

+ 28 0 1 1 1 0 0

-28 1 0 0 0 1 1

Application : soit à additionner les deux nombres signés : 55 et -19 en code complément à 1 Nombre en

décimal

Bit de signe 25 2

4 2

3 2

2 2

1 2

0

55

-19

5.4) Code signé : Code complément à 2 (le plus courant des codes signés):

Certaines conversion analogique→numérique utilise le code complément à 2 pour les nombres négatifs (c’est le

cas du coupleur de chaîne de mesure industrielle SM331 de Siemens, dont les valeurs numériques sont codés sur

16 bits dont un bit de signe voir annexe 3 p.18).

Complémenter à 2, un nombre binaire revient à additionner 1 à son complément à 1. Le bit de signe restant

inchangé.

Exemple : soit à coder –2810 et +2810 en code complément à 2.

Nombre en

décimal

Nombre en binaire naturel pour signe >0 et complémenter à 2 pour signe <0

Bit de signe 24 2

3 2

2 2

1 2

0

+ 28 0 1 1 1 0 0

-28 1 0 0 1 0 0

Remarque pour le coupleur SM331 :

Le codage se faisant sur 16 bits dont un bit de signe, la gamme numérique est de :

- 32 768 à + 32 767 soit de - 2 15

à + 2 15

– 1

Soit pour une expression binaire sur n bits significatifs plus un bit de signe :

(- 2 n ) à (+ 2

n – 1)

Application soit à additionner deux nombres signés en code complément à 2 : On écrit les nombres positifs en binaire et les nombres négatifs en code complément à 2

Si le résultat est positif (bit de signe à 0), il est alors exprimé en code binaire

Si le résultat est négatif (bit de signe à1), il est alors exprimé en code complément à 2

Nombre en

décimal

Bit de signe 25 2

4 2

3 2

2 2

1 2

0

+ 34

-19

Nombre en

décimal

Bit de signe 25 2

4 2

3 2

2 2

1 2

0

-34

-19

Page 9: SOMMAIRE DU FASCICULE - cira-couffignal.frcira-couffignal.fr/archives/archives2011-2012/fichiers-cours/LES... · 2-2- Codeur incrémental 3- Module d’entrée analogique SM331 de

©Y.D 2011 9

Nombre en

décimal

Bit de signe 25 2

4 2

3 2

2 2

1 2

0

-34

+19

5.5) Code ASCII (American Standard Code for Information Interchange)

Il s’agit d’un code normalisé pour la transmission numérique d’informations

alphanumériques.

Il existe deux types de table sur 7 bits donc 128 caractères et sur 8 bits soit 256 caractères .

Exemple table sur 7 bits :

Soit à coder l’expression CIRA en ASCII

Caractères Code ASCII

b7 b6 b5 b4 b3 b2 b1

C

I

R

A

VI] Détection d’erreur

Pour permettre de contrôler un échange d’informations numériques, on a recours au code de

détection d’erreurs. Le plus rudimentaire correspond au code de parité .

Il est essentiellement utilisé dans les transmissions série. Il consiste en l’adjonction d’un bit

supplémentaire dit de parité à chaque émission d’un ensemble de sept ou huit bits.

On lui attribue une valeur telle que le nombre total d’états logiques 1 soit pair ou impair

suivant la configuration choisie. Ce bit est généralement placé à gauche de l’expression

binaire.

Page 10: SOMMAIRE DU FASCICULE - cira-couffignal.frcira-couffignal.fr/archives/archives2011-2012/fichiers-cours/LES... · 2-2- Codeur incrémental 3- Module d’entrée analogique SM331 de

©Y.D 2011 10

Caractères Caractères en ASCII avec code de parité paire Bit de parité

paire (even) b7 b6 b5 b4 b3 b2 b1

C

I

R

A

Caractères Caractères en ASCII avec code de parité impaire Bit de parité

impaire (odd) b7 b6 b5 b4 b3 b2 b1

C

I

R

A

Ce type de code permet de détecter une erreur sans la corriger

Emetteur de

codage

Récepteur de

codage et détection

d’erreur

Perturbations

électromagnétiques

Page 11: SOMMAIRE DU FASCICULE - cira-couffignal.frcira-couffignal.fr/archives/archives2011-2012/fichiers-cours/LES... · 2-2- Codeur incrémental 3- Module d’entrée analogique SM331 de

©Y.D 2011 11

VII] Représentation d’une valeur numérique décimale sous forme de 32 bits à virgule flottante

Ce type de représentation permet de représenter de très grandes et très petites valeurs dans un

espace limité. D’après le format IEEE-754 (simple précision) :

Tout nombre N(10) peut s’écrire suivant la formule suivante :

N(10) = (-1) signe

x 2(exposant –127)

x (1 + mantisse) Signe, s=0 nombre positif et s=1 nombre négatif

Exposant codé sur 8 bits (1<exposant<254)

Mantisse (partie fractionnaire) codée sur 23 bits (0<mantisse<1-2-23

)

Exemple : 10,0 = (-1) 0 x 2

(130 – 127) x (1 + 0,25) = 1.25 x 2

3

Plage des valeurs :

Valeurs négatives: de -3,402 832 x 10+38

à – 1,175 495 x 10-38

Valeurs positives :de + 1,175 495 x 10-38

à +3,402 832 x 10+38

La mesure est codée sur 32 bits répartis sur 4 octets en respectant le format suivant :

octet n+3 octet n+2 octet n+1 octet n Bit

7

bit

6

bit

5

bit

4

bit

3

bit

2

bit

1

bit

0

bit

7

bit

6

bit

5

bit

4

bit

3

bit

2

bit

1

bit

0

bit

7

bit

6

bit

5

bit

4

bit

3

bit

2

bit

1

bit

0

bit

7

bit

6

bit

5

bit

4

bit

3

bit

2

bit

1

bit

0

S 27 2

6 2

5 2

4 2

3 2

2 2

1 2

0 2-1 2-2 2-3 2-4 2-5 2-6 2-7 2-8 2-9 2

-10 2

-11 2

-12 2

-13 2

-14 2

-15 2

-16 2

-17 2

-18 2

-19 2

-20 2

-21 2

-22 2

-23

S Exposant Mantisse

Exemple : capteur d’un bus de terrain Profibus PA :

La valeur de la mesure est transmise sous forme de 32 bits avec le format dit « à virgule flottante » et ce sur 4

octets, à ceux-ci se rajoute un octet d’état :

Octet 4 Octet 3 Octet 2 Octet 1 Octet0

Etat Signe Exposant Mantisse

Valeur de la mesure en virgule flottante

L’octet d’état permet de connaître un éventuel défaut du capteur, si la mesure est OK, sa valeur est de 80(16)

Exemples de mesure :

Valeur de la mesure = 41 70 00 00 (16) en déduire la valeur décimale de la mesure

4 1 7 0 0 0 0 0

octet n+3 octet n+2 octet n+1 octet n Bit

7

bit

6

bit

5

bit

4

bit

3

bit

2

bit

1

bit

0

bit

7

bit

6

bit

5

bit

4

bit

3

bit

2

bit

1

bit

0

bit

7

bit

6

bit

5

bit

4

bit

3

bit

2

bit

1

bit

0

bit

7

bit

6

bit

5

bit

4

bit

3

bit

2

bit

1

bit

0

S 27 2

6 2

5 2

4 2

3 2

2 2

1 2

0 2-1 2-2 2-3 2-4 2-5 2-6 2-7 2-8 2-9 2

-10 2

-11 2

-12 2

-13 2

-14 2

-15 2

-16 2

-17 2

-18 2

-19 2

-20 2

-21 2

-22 2

-23

Exposant= Mantisse=

Valeur de la mesure = 40 49 0F DC(16) en déduire la valeur décimale de la mesure

octet n+3 octet n+2 octet n+1 octet n Bit

7

bit

6

bit

5

bit

4

bit

3

bit

2

bit

1

bit

0

bit

7

bit

6

bit

5

bit

4

bit

3

bit

2

bit

1

bit

0

bit

7

bit

6

bit

5

bit

4

bit

3

bit

2

bit

1

bit

0

bit

7

bit

6

bit

5

bit

4

bit

3

bit

2

bit

1

bit

0

S 27 2

6 2

5 2

4 2

3 2

2 2

1 2

0 2-1 2-2 2-3 2-4 2-5 2-6 2-7 2-8 2-9 2

-10 2

-11 2

-12 2

-13 2

-14 2

-15 2

-16 2

-17 2

-18 2

-19 2

-20 2

-21 2

-22 2

-23

Exposant= Mantisse=

Page 12: SOMMAIRE DU FASCICULE - cira-couffignal.frcira-couffignal.fr/archives/archives2011-2012/fichiers-cours/LES... · 2-2- Codeur incrémental 3- Module d’entrée analogique SM331 de

©Y.D 2011 12

VIII] SYNTHESE :Changements de codes numériques de nombres entiers

CODE INITIAL METHODE DE CONVERSION CODE FINAL

Base « a » 645(8)

52(16)

11101(2)

Somme des chiffres pondérés Base 10

Base 10 421

59

45

356

256

66

Divisions successives par « a »

Soustractions successives des puissances de la base « a »

Base « a »

(8)

(16)

(2)

(8)

(16)

(2)

Base 2 1111011110(2)

Conversion de chaque quartet en chiffre hexadécimal

Base 16

(16)

Base 2 1111011110(2)

Conversion de chaque triolet en chiffre octal Base 8

(8)

Base 8 57(8)

Chaque chiffre octal est converti par son équivalent binaire Base 2

(2)

Base 8 57(8)

Convertir en binaire puis en hexadécimal

Base 16

(16)

Base 16 DA7(16)

Conversion de chaque chiffre hexadécimal en son équivalent binaire sur 4 bits Base 2

(2)

Base 16 DA7(16)

Convertir en binaire puis en octal

Base 8

(8)

Base 10 356

Convertir chaque chiffre décimal en binaire sur 4 bits

Code DCB

(DCB)

Base 2

1111011110(2)

Additionner sans retenue le nombre binaire avec le même nombre

décalé d’un rang vers la gauche et en abandonnant le chiffre de

poids faible

Code BR

(BR)

Code BR

11010(BR)

En partant du chiffre le plus à gauche du nombre en B.R., on

recopie ce chiffre ou on le complémente si le chiffre précédent

dans la conversion est 1

Base 2

(2)

Page 13: SOMMAIRE DU FASCICULE - cira-couffignal.frcira-couffignal.fr/archives/archives2011-2012/fichiers-cours/LES... · 2-2- Codeur incrémental 3- Module d’entrée analogique SM331 de

©Y.D 2011 13

EXERCICES : Somme algébrique en binaire :

Effectuer en binaire ou en binaire complément à deux (suivant le signe) sur 7 bits dont un bit de signe l’opération

suivante : -12+25= ?

(-12)

Codage valeur absolue: (décomposition) Résultat codé en ……………

S

(25) Codage valeur absolue: (décomposition) Résultat codé en…………

S

SOMME : Interpréter le résultat suivant son signe et retrouver la valeur décimale attendue

- 12

+25

Signe du résultat :……………..

Code du résultat :……………..

Valeur absolue du résultat :…………….

II] Codage en binaire :

Donner les équivalents binaires sur 8bits des expressions suivantes en détaillant votre conversion :

52(10)

4A(16)

65(8)

10010111 (BCD)

Page 14: SOMMAIRE DU FASCICULE - cira-couffignal.frcira-couffignal.fr/archives/archives2011-2012/fichiers-cours/LES... · 2-2- Codeur incrémental 3- Module d’entrée analogique SM331 de

©Y.D 2011 14

Page 15: SOMMAIRE DU FASCICULE - cira-couffignal.frcira-couffignal.fr/archives/archives2011-2012/fichiers-cours/LES... · 2-2- Codeur incrémental 3- Module d’entrée analogique SM331 de

©Y.D 2011 15

ANNEXE 1 :

NUMERISATION DU SON

Un signal numérisé se caractérise

par deux paramètres :

- Le pas de quantification : c’est

la variation minimale d’intensité

du signal que l’on va coder.

- La fréquence d’échantillonnage :

c’est le nombre de prélèvements

effectués sur le signal par

seconde.

Pour un disque compact (CD) le pas

de quantification est choisi pour

obtenir un codage sur 65 536

niveaux, soit un codage sur 16 bits.

La fréquence d’échantillonnage est

de 44 100 Hz.

La fréquence d’échantillonnage doit

être supérieure à la fréquence du

signal à échantillonner, sinon il y a

perte d’information.

D’après le théorème de Shannon

f échantillonnage > 2x f maxi du signal

Exemple pour le son audible pour

un homme la fréquence va de 20 à

20 000Hz, sur un CD la fréquence

d’échantillonnage vérifie bien le

théorème de Shannon

Page 16: SOMMAIRE DU FASCICULE - cira-couffignal.frcira-couffignal.fr/archives/archives2011-2012/fichiers-cours/LES... · 2-2- Codeur incrémental 3- Module d’entrée analogique SM331 de

©Y.D 2011 16

ANNEXE 2 :

2-1 CODEUR ABSOLU (documentation BAUMER electric)

Page 17: SOMMAIRE DU FASCICULE - cira-couffignal.frcira-couffignal.fr/archives/archives2011-2012/fichiers-cours/LES... · 2-2- Codeur incrémental 3- Module d’entrée analogique SM331 de

©Y.D 2011 17

Ce capteur permet de connaître la position angulaire d’un disque sous forme de combinaison binaire

Avec un disque comportant 3 pistes en code binaire (piste A : LSB et piste C : MSB) on

obtient 23 combinaisons soit 8 positions :

Généralement les disques sont codés en code Gray, pourquoi le code Gray plutôt que le code

binaire ? Une seule variable change d’état avec le code Gray lorsque l’on passe d’une position à l’autre

Exemple passage de la position 5 à 6 :

En binaire :

1 1

0 1

1 0 (LSB)

5 7 6

On passe par une valeur fausse : la position 7 (code

111), inadmissible.

En Gray :

1 1

1 0

1 1 (LSB) 5 5 6

Pas de valeur fausse intermédiaire

Exemple de disque à 4 pistes donc 16 positions :

Inconvénient du code gray : le code n’est pas pondéré, il faut passer par un transcodeur Gray-

binaire (voire automatisme combinatoire).

« 1 » logique

« 0 » logique

Page 18: SOMMAIRE DU FASCICULE - cira-couffignal.frcira-couffignal.fr/archives/archives2011-2012/fichiers-cours/LES... · 2-2- Codeur incrémental 3- Module d’entrée analogique SM331 de

©Y.D 2011 18

Exemple positionnement d’un plateau dont le déplacement linéaire est obtenu par une vis à billes:

Cahier des charges : Un tour complet (pas de vis) correspond à un déplacement de 20mm, on cherche une précision de positionnement de 0,01mm

Longueur totale du déplacement 160 mm.

Déterminer la résolution d’un tour et le nombre de tours nécessaires pour le déplacement maxi

Quelle est la résolution du codeur? (Nombre de combinaisons ou positions par tour)

Nombre de pistes du disque ?

Nombre de tours pour le déplacement complet ?

Nombre de bits pour coder les 8 tours ?

Nombre total de bits ?

2-2 CODEUR INCREMENTAL Ce capteur permet de connaître la vitesse angulaire, et le sens de rotation, ainsi que la position s’il est associé à un compteur

et un comparateur (moins cher que le précédent).

Il comporte 2 pistes déphasées d’un quart de période permettant de déterminer le sens de rotation et 1 piste composée

uniquement d'un trou permettant l'initialisation à chaque tour.

Ce codeur, associé à une interface numérique, permet, par comptage des impulsions, de donner la position angulaire d'un

mobile.

Le fait que la voie B soit en avance sur la voie A dans un sens et en retard dans le sens inverse permet de déterminer le sens

de rotation.

Principe de détection du sens de rotation :

Compléter les chronogrammes suivant et en déduire la fonction logique permettant la détection du sens de rotation:

Sens des aiguilles d’une montre :

Voie A 0 0 1 1 0

Voie B 1 0 0 1 1

Sens trigonométrique :

Voie A 1

Voie B 1

Schéma de principe d’un asservissement de position

avec un codeur incrémental, à compléter avec

les légendes suivantes :

(1) Comparateur

(2) Codeur incrémental

(3) Moto réducteur

(4) Détecteur de sens de rotation

(5) Commande de puissance

(6) Compteur/décompteur

Moto

réducteu

r

Codeur

absolu

plateau

Piste extérieure :

Voie A

Piste intérieure :

Voie B

Détecter le

sens de

rotation

Voie A

Voie B

Sens de

Rotation S :

S=1

S=0

Voie B

Voie A

Sens

Consigne

« 1 » logique

« 0 » logique

Page 19: SOMMAIRE DU FASCICULE - cira-couffignal.frcira-couffignal.fr/archives/archives2011-2012/fichiers-cours/LES... · 2-2- Codeur incrémental 3- Module d’entrée analogique SM331 de

©Y.D 2011 19

ANNEXE 3 : MODULE D’ENTREE ANALOGIQUE

Exemple SM 331 de Siemens

Mise à l’échelle d’une entrée analogique:

Exercice d’application : CAHIER DES CHARGES D’UNE ALARME

Surveillance d’un niveau haut sur une cuve de dimension 0 à 10,0 m.

Alarme niveau HH enclenchée si niveau de 850 cm dépassé et effacée si niveau haut inférieur

à 830 cm.

Caractéristiques du capteur de niveau : sortie 4-20 mA, étendue d’échelle de 0 à 1000 cm.

Caractéristiques de l’entrée analogique API : entrée 4-20 mA, conversion numérique sur 12 bits.

Configuration de l’entrée analogique d’adresse PIW288:

SCHEMA DE LA CHAINE DE MESURE

API

PIW288

….points

(Entiers)

MD40

0 – 100 .cm

(Réels)

I

4 - 20mA

CAN de l’entrée analogique Capteur de niveau Mise à l’échelle FC 105

Hauteur

0 – 1000 cm

Capter

une

grandeur

physique à

mesurer

Conditionner

en un signal

électrique

normalisé

Traiter

l’information

numérique

Convertir

une grandeur

analogique en

une grandeur

numérique

Signal analogique de

bas niveau

Signal

électrique

normalisé

Sonde du capteur

continu Transmetteur du

capteur continu

Module d’entrée

analogique

CPU de l’API

Valeur numérique

en « points »

Page 20: SOMMAIRE DU FASCICULE - cira-couffignal.frcira-couffignal.fr/archives/archives2011-2012/fichiers-cours/LES... · 2-2- Codeur incrémental 3- Module d’entrée analogique SM331 de

©Y.D 2011 20

Programme de mise à l’échelle en cm :

Programme de l’alarme de niveau :

Adresse du mot

d’entrée issu du

CAN (entier)

Etendue d’échelle

maxi de la

conversion (réel)

Etendue d’échelle

mini de la

conversion (réel)

Type d’entrée

0 :unipolaire

1 :biboplaire

Adresse du mot

d’erreur de conversion

éventuelle

Adresse du mot

contenant le niveau

en cm

Adresse du bit de la

sortie TOR « HH »

Page 21: SOMMAIRE DU FASCICULE - cira-couffignal.frcira-couffignal.fr/archives/archives2011-2012/fichiers-cours/LES... · 2-2- Codeur incrémental 3- Module d’entrée analogique SM331 de

©Y.D 2011 21

ANNEXE 4 : MODULE DE SORTIE ANALOGIQUE

Exemple SM 332 de Siemens

Mise à l’échelle d’une sortie analogique: Exercice d’application : CAHIER DES CHARGES D’UNE REGULATION DISCONTINUE

On désire réaliser une régulation discontinue de niveau autour d’un point de consigne de 75% et suivant le

tableau de commande de la vanne de type NF fourni ci-dessous.

La sortie analogique commandant le convertisseur I/P de la vanne est du type 4-20 mA avec une conversion

numérique sur 10 bits.

Régulation discontinue

LTN en % YVN en %

0<LTN<50 100

50LTN<60 50

60LTN<70 20

70LTN75 10

LTN>75 0

LTN

YVN

API

LT

YV

4-20 mA

4-20 mA

Convertir

en une

grandeur

mécanique

Convertir un

signal

électrique

normalisé en

un signal

"utile

Traiter

l’information

numérique

Convertir une

grandeur

numérique

en une grandeur

analogique

Signal analogique

utile

Signal

électrique

normalisé

Actionneur Pré actionneur Module de sortie

analogique CPU de l’API

Valeur numérique

en « points »

Page 22: SOMMAIRE DU FASCICULE - cira-couffignal.frcira-couffignal.fr/archives/archives2011-2012/fichiers-cours/LES... · 2-2- Codeur incrémental 3- Module d’entrée analogique SM331 de

©Y.D 2011 22

SCHEMA DE LA CHAINE D’ACTION :

Configuration de la sortie analogique d’adresse PQW304:

Programme d’inversion de la mise à l ‘échelle de

Adresse du mot

YVN en % (réel)

Etendue d’échelle

maxi de YVN

(réel)

Etendue d’échelle

mini de YVN (réel) Type de sortie

0 :unipolaire

1 :biboplaire

Adresse du mot

d’erreur de conversion

éventuelle

Adresse du mot de

sortie YV (entier)

Pression

d'air

vanne

0,2 à 1 bars

Convertisseur I/P

PQW304

….points

(Entiers)

I

4 – 20 mA

YVN

0 – 100 %

(Réels)

CNA de la sortie analogique

API

Conversion en points

FC106

Page 23: SOMMAIRE DU FASCICULE - cira-couffignal.frcira-couffignal.fr/archives/archives2011-2012/fichiers-cours/LES... · 2-2- Codeur incrémental 3- Module d’entrée analogique SM331 de

©Y.D 2011 23

Programme de commande du convertisseur de la vanne YV: