bus stuffing

This commit is contained in:
JOLIMAITRE Matthieu 2024-02-29 10:38:14 +01:00
parent b76ff040bc
commit 917b2258ad
2 changed files with 125 additions and 0 deletions

98
bus/01_init.md Normal file
View file

@ -0,0 +1,98 @@
# Multiplexage
## Pourquoi ?
Machines à plusieurs objectifs.
- sécurisation
- réduction de consomation
- confort de conduite
Grand nombre de périphériques à connecter.
### Conventionnalité : une connection par liaison nécessaire :
```
+---+ +---+
| A |---| B |
| |-+ | |
+---+ | +---+
| |
| +---+
+-| C |
+---+
```
- Nombre de connections exponentelle.
- Difficile à mettre à jour.
### Multiplexage : une connection commune en 'réseau'.
```
+---+ +---+
| A |-+-| B |
+---+ | +---+
|
| +---+
+-| C |
+---+
```
- Nombre de connections linéaire.
- Disponibilité de l'information.
## Avantages
- moins de capteurs et de nombres de liaisons
- le poids et les couts diminuent
- extensibilité avec un cout minimal
- reconnu par une norme iso de fiabilité
## Principes
- un capteur par donnée nécessaire
- échange de donnée sur un cannal global.
### Détail
- Un réseau unifié
- Structuration des trames
- Synchronisation des horloges
- Arbitrage, priorisation de l'accès au Bus
## Architecture en couches
### étage d'entrée
Interface avec les capteurs
### étage de calcul
Le microprocesseur
- contient possiblement des mémoires
### étage de sortie
Interface avec les actionneurs
## Architecture réseau
- maitre esclave
- multi-maitre
- mixte
## Protocole
- l'acheminement des trames
- synchronisation d'horloges
- deux trames peuvent être émise en même temps
- l'arbitrage détermine celle qui est transmise
- la seconde sera ré-émise ensuite pour ne pas perdre d'information
### Méthode CSMA
- chaque message a un ID, un ID faible donne une plus haute priorité
- un temps est réservé pour la lecture des messages à envoyer
- un hashset des IDs supperposés est écrit sur le BUS,
- l'ID le plus faible enverra son message au temps suivant

View file

@ -70,6 +70,10 @@
## Protocole de communication ## Protocole de communication
> Note :
> Dans notre modèle, la seule opération sur le milieu (cable/bus) est l'interruption du signal actuel partagé.
> i.e. écrire 0 sur un signal qui est par défaut à 1.
### Arbitrage ### Arbitrage
L'arbitrage CSMA se fait en organisant des temps pour que les composants puissent déclarer vouloir envoyer un message. L'arbitrage CSMA se fait en organisant des temps pour que les composants puissent déclarer vouloir envoyer un message.
@ -149,3 +153,26 @@ taile | 1 | 11 | 1 | 1 | 1 | 4 | 0~64 | 15 | 1 | 1 | 1 | 7 | 3 | /
+---+----+---+---+---+---+------+--------+---+---+---+---+---+--- +---+----+---+---+---+---+------+--------+---+---+---+---+---+---
nature |arbitration | control | data | check | aquit.| protocole nature |arbitration | control | data | check | aquit.| protocole
``` ```
- DLC : Description des données utiles.
- checksum / CRC : Code de vérification d'un message.
- ACK : Aquitement d'un message.
## Synchronisation STUFF
Un bit est envoyé tout les N bits pour éviter des mots interdits (exemple : 11 × 0 / 11 × 1 ).
Cette responsabilité est celle de l'émetteur et du récepteur.
STUFF-ing à 4 bits :
```
donnée actuelle : 0100.0000.0111
donnée écrite sur le bus : 01001000010001
donnée dé-stuffé : 0100.0000.0111
^\___^\____ bits STUFF-é
```
Selon le protocol, il est également possible d'avoir des bits de 'stuffing' alternant.
> Note :
> Le 'stuffing' peut servir de synchronisation d'horloge car il assure une alternance dans le signal.