La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

La communication sérielle. Généralités Communication série  La communication série consiste en l’envoie, à un moment donnée, d’un seul bit par l’intermédiaire.

Présentations similaires


Présentation au sujet: "La communication sérielle. Généralités Communication série  La communication série consiste en l’envoie, à un moment donnée, d’un seul bit par l’intermédiaire."— Transcription de la présentation:

1 La communication sérielle

2 Généralités

3 Communication série  La communication série consiste en l’envoie, à un moment donnée, d’un seul bit par l’intermédiaire d’une seule ligne. La chaîne de bits envoyée est codée électriquement selon une méthode particulière appelée « protocole ».  S’oppose à la communication parallèle qui consiste à envoyer un groupe de plusieurs bits simultanément.

4 Communication asynchrone  L’émetteur et le récepteur ont des horloges séparées qui ne sont pas synchronisées avec le temps.  Cela implique que les horloges internes des ports de communications soient configurés à la même fréquence. Mais même avec une configuration identique, les horloges peuvent se décaler l’une par rapport à l’autre durant la transmission. T1 T2

5 Communication synchrone  Les 2 systèmes sont synchronisés. Le signal de synchronisation peut être envoyé:  Sur une ligne séparée;  Exemple: le SCK du SPI.  Codé avec les données. T1 T2 Horloge Maître Esclave

6 Codage de Manchester  On mélange l’horloge avec le signal à transmettre.  Donnée :  Horloge:  Signal :

7 Communication en « simplex »  L’émetteur et le récepteur sont toujours les mêmes. Donc un seul fil est nécessaire pour transmettre les données. (plus un second pour la masse). E E R R

8 Communication en « half duplex »  L’émetteur et le récepteur peuvent changer. Un seul fil est utilisé pour transmettre les données. (plus un second pour la masse). Il faut qu’un seul des deux ordinateurs soit l’émetteur à un temps T. E/R

9 Communication en « full duplex »  L’émetteur et le récepteur peuvent changer. Deux fils sont utilisés pour transmettre les données. (plus un troisième pour la masse). Les deux ordinateurs peuvent être l’émetteur et le récepteur simultanément. E/R

10 Réseau multipoint  Plusieurs périphériques sont connectés au réseau.  La figure est une topologie en bus, mais on retrouve aussi des topologies en étoile, en anneau, en arbre, … E/R

11 Réseau multipoint  Plusieurs équipements étant connectés au réseau, il faut trouver un moyen de s’assurer de la fonctionnalité du réseau.  L’accès au réseau peut être fait par:  Polling:  Un équipement est le maitre du réseau et il consulte les équipements esclaves pour vérifier s’ils ont un message à transmettre.  Une panne du maitre entraine la paralysie du réseau.  Les esclaves doivent passer par le maitre pour communiquer entre eux.  Exemple: Profibus.

12 Réseau multipoint  TDMA – Time Division Multiple Access:  Un équipement est le maitre du réseau et il émet un signal de synchronisation.  Ensuite, chaque équipement se voit alloué un temps précis et peut transmettre une quantité de données de taille fixe.  Cette approche est plus efficace que le polling (moins de messages échangés).  Exemple: Bluetooth

13 Réseau multipoint  Token Ring (Réseau à partage de jeton) :  La topologie du réseau peut être en anneau, mais ce n’est pas obligatoire.  Circulation d’un jeton entre les équipements quand il n’y a pas de messages échangés.  L’ équipement désirant envoyer un message garde le jeton, émet son message et passe le jeton au suivant.  C’est une connexion déterminisme, car chaque équipement à accès au jeton.  Problèmes si le jeton est perdu ou dupliqué.  Exemple: Fiber Distributed Data Interface (FDDI)

14 Réseau multipoint  CSMA/CD (Carrier Sense Multiple Access/Collision Detection):  Les périphériques surveillent le réseau et attendent un blanc avant d’émettre.  Si un seul équipement prend le contrôle, tout va bien, sinon il y aura une collision de données.  Cela se produit car plusieurs équipements peuvent accéder au réseau.  Lors d’une collision, chaque équipement impliqué génère une durée d’attente aléatoire  Cela fait en sorte que ce réseau n’est pas déterministe.  Si le réseau est chargé, il peut y avoir des problèmes.  Exemple: Ethernet IP

15 Réseau multipoint  CSMA/CA (Carrier Sense Multiple Access/Collision Avoidance):  Les périphériques surveillent le réseau et attendent un blanc avant d’émettre.  Un équipement désirant émettre envoie un signal RTS (Request to Send) indiquant le volume de données à transmettre.  Un récepteur répond par un CLS (Clear to Send), et l’émetteur commence l’émission de son message, les autres émetteurs se mettant en attente. La fin d’une transaction est signalée par un ACK (Acknowledge) par le récepteur.  Lors d’une collision, chaque équipement impliqué génère une durée d’attente aléatoire  Exemple: LON : Local Operating Network

16 Réseau multipoint  Binary Countdown (Accès par dominance de bit):  Les périphériques surveillent le réseau et attendent un blanc avant d’émettre.  Chaque message possède un identificateur (soit type de message, soit adresse de l’émetteur).  Utilise la notion de bit dominant et de bit récessif. Un bit dominant gagne contre un bit récessif.  L’identificateur du message introduit une priorité. En cas de collision, l’émetteur ayant des bits récessifs cesse d’émettre dès qu’il détecte un bit déterminant alors qu’il émet un bit récessif.  Cette approche est très efficace, mais elle entraine une limite sur la taille du réseau.  Exemple: CAN

17 Le modèle OSI à 7 couches  Le modèle OSI (Open Systems Interconnection) comporte 7 couches et décrit les fonctionnalités d’un réseau informatique et des équipements qui y sont connectés.Open Systems Interconnection

18 Le modèle OSI à 7 couches  Les 4 couches inférieures sont en charge d’assurer un transport optimal des données.  Les 3 couches du haut sont en charge du traitement des données: cryptage, représentation, …

19 La couche physique.  Elle gère la représentation du bit (codage, timing, synchronisation).  Elle définit les niveaux électriques, optiques,... des signaux ainsi que le support de transmission.

20 La couche liaison.  Elle fournit les moyens fonctionnels nécessaires à l'établissement, au maintien et à la libération des connexions entres les entités du réseau.  Elle force la structuration des données sous forme de trames. Elle est en charge de la détection et correction (par retransmission) des erreurs détectées et non corrigées par le niveau physique (utilisation de codes détecteur/correcteur d’erreur CRC pour erreur trame).

21 La couche réseau.  La couche réseau doit permettre d'acheminer correctement les paquets d'informations jusqu'à l'utilisateur final. Elle assure le contrôle des flux (pour tenir des temps de réponse acceptables), le routage des paquets, et l'adressage (pour l'ensemble des machines du monde !).

22 La couche transport.  La couche transport est en charge de la gestion du dialogue entre deux nœuds actifs. Elle doit optimiser la qualité de la transmission, notamment avec des outils de détection d'erreurs et des algorithmes de renvoi des messages perdus.

23 La couche session.  La couche de session permet aux différents éléments du réseau de structurer leur dialogue.  Il faut s'assurer qu'un récepteur est là avant d’émettre de l'information.  Dans cette couche, il y a un masquage total des problèmes de transmission.

24 La couche présentation.  Cette couche se charge de la représentation des données manipulées par les deux applications communicantes (format, compression, cryptage...).

25 La couche application.  C'est la dernière couche du modèle OSI. Elle donne aux applications le moyen d'accéder aux couches inférieures.  Elle détermine comment différentes applications vont pouvoir coexister et utiliser des modules communs.  De très nombreuses normes ont été définies sur cette base.

26 RS-232

27 Trame de transmission – RS232  Le RS232 est un protocole de transmission sériel asynchrone:

28 Trame de transmission – RS232  Format de transmission (trame):  Nombre de bits transmis: de 7 à 9 bits  1 bit de départ  1 ou 2 bits d ’arrêt  Le bit de parité  Temps de repos (idle time)  Application:  Imprimante, terminal,...  Système externe lent.

29 Le CAN (Controller Area Network)

30 Historique  En 1983, un projet interne de Bosch est lancé et son but est de développer un réseau pour les véhicules.  En collaboration avec l’Université de Karlsruhe.  En 1986, lancement du protocole CAN  En 1991, publication des spécifications du CAN 2.0 par Bosch.  En 1992, CiA : CAN in Automation  En 1992, Premières voitures équipées avec du CAN (Mercedes Benz)  En 1993, le CAN devient le standard ISO

31 Historique  En 1993, le CAN devient le standard ISO  En 1994, Allen Bradley introduit le DeviceNet.  En 1995, introduction du protocole CANopen.

32

33

34

35 Exemple de réseau CAN.

36

37

38 rts/rp-caution-malware-ahead.pdf

39  terworld.com/s/ar ticle/ /Car _hackers_can_kill _brakes_engine_a nd_more terworld.com/s/ar ticle/ /Car _hackers_can_kill _brakes_engine_a nd_more

40  nquirer.net/inqu irer/blog- post/ /b offins-hack-car- speed nquirer.net/inqu irer/blog- post/ /b offins-hack-car- speed

41  review.com/hack/ /taking-over-a-car/ review.com/hack/ /taking-over-a-car/

42  Revenons au bus CAN…

43 Le bus CAN et le modèle OSI

44 Bits dominants vs bits récessifs  Bien que la norme CAN puisse être implantée sur différents supports:  Filaire;  Fibre optique;  Infrarouge;  Radio fréquence.  … elle doit obligatoirement respecter le principe des bits dominants et récessifs.  Le bit dominant correspond au niveau logique 0.  Le bit récessif correspond au niveau logique 1.

45 Bits dominants vs bits récessifs  Si deux nœuds du réseau CAN présentent deux bits de niveaux différents, le bit dominant est celui qui va s’imposer.  Source de l’image: usa.com/Images/Online%20Seminars/PDF/CAN%20Seminar%20Youtube.pdfhttp://www.esd-electronics- usa.com/Images/Online%20Seminars/PDF/CAN%20Seminar%20Youtube.pdf

46 Arbitrage pour l’accès au bus  L’utilisation de bits récessifs et dominant permet de pouvoir faire un arbitrage non destructif.  L’arbitrage non destructif permet de laisser passer le message le plus prioritaire.  Dans la norme CAN, on utilise l’approche CSMA/CD (Carrier Sense, Multiple Access with Collision Detection).  Un message CAN commence toujours par un identificateur qui identifie la nature du message et sa priorité.

47 Arbitrage du bus CAN  Exemple

48 Arbitrage du bus CAN  Exemple L’équipement #2 vient de perdre l’arbitrage

49 Arbitrage du bus CAN  Exemple L’équipement #2 cesse toute activité et maintient son signal à 1.

50 Arbitrage du bus CAN  Ainsi, l’équipement #1 envoie un message important qui possède un identifiant lui donnant la priorité poursuit la transmission du message et l’équipement #2 qui envoie un message moins prioritaire cesse sa transmission et reçoit le message au cas où il est le destinataire.  L’équipement #2, tentera de retransmettre son message lorsque le message envoyé par l’équipement #1 sera terminé (en autant qu’il gagne la prochaine phase d’arbitrage, à moins qu’il soit le seul à transmettre).

51 Arbitrage - Identifiant  En CAN, il y a 11 bits utilisés pour l’identifiant. Plus l’identifiant est petit, plus l’équipement est prioritaire, car un bit à un niveau 0 est dominant.  L’identifiant indique la nature du message, pas l’adresse de l’expéditeur, ni l’adresse du destinataire.  Les équipements recevant les messages, vérifient l’identifiant du message pour déterminer si ce message est d’intérêt ou pas.

52 Format d’une trame de données  Voici l’allure d’une trame de données:

53 Format d’une trame de données  Voici l’allure d’une trame de données:  Début de trame (SOF):  Un seul bit dominant;  Début du message;  Envoyé que si le bus est libre;  Les autres équipements se synchronisent sur ce signal.

54 Format d’une trame de données  Voici l’allure d’une trame de données:

55 Format d’une trame de données  Voici l’allure d’une trame de données: Identificateur du type de message et de sa priorité. Data Frame : bit dominant Remote Frame : bit récessif

56 Format d’une trame de données  Voici l’allure d’une trame de données: Nombre d’octets du message: entre 0 et 8.

57 Format d’une trame de données  Voici l’allure d’une trame de données: Données transmises

58 Format d’une trame de données  Voici l’allure d’une trame de données: Code pour vérifier l’intégrité des données transmises Bit récessif

59 Code CRC : Code de détection d’erreur  Une méthode de détection d’erreurs souvent utilisée est la « somme de vérification » ou checksum.  Exemple:  Données à transférer: 0h4F1C32C5.  Si checksum de 8 bits  Checksum = 4F + 1C C5 = 162 donc on garde 62.  On transmet: 0h4F1C32C562  Si on reçoit: 0h4E1C30C263 (erreurs de transmission)  Checksum = 4E + 1C C2 = 15C : 5C n’égale pas 63.  Erreurs de transmission détectées.

60 Code CRC : Code de détection d’erreur  Exemple #2 :  Données à transférer: 0h4F1C32C5.  Si checksum de 8 bits  Checksum = 4F + 1C C5 = 162 donc on garde 62.  On transmet: 0h4F1C32C562  Si on reçoit: 0h4F1C33C462 (erreurs de transmission)  Checksum = 4F + 1C C4 = 162 : 62 égale 62.  Erreurs de transmission non détectées.

61 Code CRC : Code de détection d’erreur  Le code CRC est basé sur une approche polynomiale.  On considère les bits d’entrées comme un polynôme.  Exemple: le code binaire : 0b peut être interprété comme étant le polynôme suivant:  x 13 +x 12 +x 9 +x 8 +x 7 +x 4 +x 2 +x+1  Supposons que le code CRC (4 bits) est représenté par le polynôme x 3 +x+1.  Le code sera le reste de la division entre les deux polynômes.

62 Code CRC : Code de détection d’erreur  x 13 +x 12 +x 9 +x 8 +x 7 +x 4 +x 2 +x+1 x 3 +x+1.  x 13 +x 11 +x 10 x 10 +x 9 +x 8 +x 6 +x 3 +1  x 12 +x 11 +x 10 +x 9 +x 8 +x 7 +x 4 +x 2 +x+1  x 12 +x 10 +x 9  x 11 +x 8 +x 7 +x 4 +x 2 +x+1  x 11 +x 9 +x 8  x 9 +x 7 +x 4 +x 2 +x+1  x 9 +x 7 +x 6  x 6 +x 4 +x 2 +x+1  x 6 +x 4 +x 3 x 3 +x 2 +x+1 x 3 +x+1 x 2

63 Code CRC - Détection d’erreur  Entrée : 0b x2x2 x1x1 x0x               

64 Code CRC - Détection d’erreur  Une erreur change le polynôme et entraine un changement du reste de la division des deux polynômes.  Dans le cas du CAN, le polynôme diviseur est:  x 15 + x 14 + x 10 + x 8 + x 7 + x 4 + x 3 + x 0.

65 Format d’une trame de données  Voici l’allure d’une trame de données: Acknowledge field 1 er bit – bit récessif généré par l’émetteur Pendant ce but les récepteurs mettent un bit dominant. L’apparition de ce bit confirme la réception. 2 e bit – bit récessif.

66 Format d’une trame de données  Voici l’allure d’une trame de données: Fin de trame: 7 bits récessifs.

67 « Bit stuffing »  Dans la trame de donnée, entre le SOF et le CRC, si on rencontre une séquence de 5 bits de même valeur on en insère une de valeur opposée.  Le but de cette manœuvre est de maintenir la synchronisation entre les points de communication.

68 Types de transfert  Transfert de données:  Envoie d’un message au bus CAN.  Transfert de requêtes (Remote frame):  Demande la transmission d’un message.  Trame d’erreur:

69 Trame de donnée détaillée

70 Trame allongée de donnée détaillée

71 Trame « Remote »

72 Trame d’erreur active

73 Erreurs de transmission/réception

74 Relation taux de transfert vs longueur  Limitation de vitesse à cause de l’observation du signal.

75

76

77

78

79

80 Message broadcasting  Le nœud A envoie un message au réseau.  Les autres nœuds reçoivent le message, mais seul B et D s’y intéressent.

81

82 Lire la bonne valeur  Dans une communication synchrone, on peut transmettre l’horloge sur un fil supplémentaire en plus de celui transmettant les données.  C’est ce qui est fait avec le SPI.  Dans ce cas comme l’horloge est synchronisée avec les données on peut s’assurer que la donnée est correctement interprétée. Horloge E Signal

83 Lire la bonne valeur  Dans une communication synchrone, on peut transmettre l’horloge sur un fil supplémentaire en plus de celui transmettant les données.  C’est ce qui est fait avec le SPI.  Dans ce cas comme l’horloge est synchronisée avec les données on peut s’assurer que la donnée est correctement interprétée. Horloge E Signal

84 Lire la bonne valeur  Dans une communication synchrone, on peut transmettre l’horloge codée avec les données.  Dans ce cas comme l’horloge du récepteur essaye de se synchroniser avec les données. Mais, cette synchronisation peut ne pas être parfaite. Horloge E Horloge R Signal

85 Lire la bonne valeur  En pratique l’horloge au récepteur à une fréquence N fois plus élevée que la fréquence générant le signal. Cette horloge divisée par N génère l’horloge du récepteur que l’on tente de synchroniser avec le signal.  Puisque l’horloge de base est N fois plus rapide, il se produit N cycles durant un cycle de l’horloge récepteur.  On peut ainsi se baser sur cette horloge plus rapide pour fixer le moment de l’échantillonnage.  Par exemple à N/2 cycles après le changement d’état.

86 Dans le CAN  On utilise la notion du « Nominal bit time ». Cela représente la durée de vie du bit sur le bus CAN.  Si la transmission est de 1 Mbits/s, alors la durée nominale d’un bit est de 1 microseconde.

87 Nominal bit time  Le « Nominal bit time » est divisé en quatre parties:  Le segment de synchronisation:  La transition des données de 0 à 1 ou de 1 à 0 doit se produire dans cet intervalle de temps. Cela permet un resynchronisation des horloges des équipements en réception.

88 Nominal bit time  Le « Nominal bit time » est divisé en quatre parties:  Le segment de propagation:  La propagation du signal sur le bus n’est pas instantanée. Les drivers, comparateurs et le bus contribuent à générer un retard. La durée de propagation programmée pour « Prop_Seg » doit être le double de la durée de ce retard question de se protéger des problèmes. Cela explique aussi les limites quant aux vitesses de transmission qui dépendent de la taille du réseau.

89 Nominal bit time  Le « Nominal bit time » est divisé en quatre parties:  Les deux segments de phase « buffer » #1 et #2:  Utilisés pour compenser les erreurs de phase que l’on détecte lors des transitions du signal sur le bus. L’échantillonnage du signal se produit entre ces deux segments.

90 Time Quantum  La base de temps utilisée pour générer le signal est la période de l’horloge du transmetteur. Elle est désignée sous le nom de « Time Quantum ».  Comme la fréquence de l’horloge du transmetteur est une fraction de l’horloge de l’oscillateur, sa période est un multiple de la période de l’horloge de l’oscillateur.  Time Quantum = N * Minimum Time Quantum.  Minimum Time Quantum est la période de l’horloge de l’oscillateur.

91 Chronogramme

92 Time Quantum  Exemple:  Si l’oscillateur est de 100 MHz, alors le Minimum Time Quantum sera de 0.01 microseconde.  Avec N = 10, l’horloge de transmission sera de 10 MHz et la période ou Time Quantum sera de 0.1 microseconde.  La durée des quatre parties du Nominal Bit Time est:  1 Time Quanta pour la partie synchronisation  1 à 8 Time Quanta pour la partie propagation  1 à 8 Time Quanta pour le segment « buffer phase » #1  1 à 8 Time Quanta pour le segment « buffer phase » #2

93 Time Quantum  Ainsi, le Nominal Bit Time peut être de 4 à 25 Time Quanta.  Exemple:  Si les durées en Time Quanta sont de 3, sauf pour la synchronisation qui est de 1, le Nominal Bit Time sera de 10 Time Quanta.  Si un Time Quanta représente 0.1 microseconde (voir acétate précédente), alors le Nominal Bit Time sera de 1 microseconde. Ainsi la cadence de transmission sur le bus sera de 1Mbits par seconde.

94 Propagation du signal


Télécharger ppt "La communication sérielle. Généralités Communication série  La communication série consiste en l’envoie, à un moment donnée, d’un seul bit par l’intermédiaire."

Présentations similaires


Annonces Google