bus stuffing
This commit is contained in:
parent
b76ff040bc
commit
917b2258ad
2 changed files with 125 additions and 0 deletions
98
bus/01_init.md
Normal file
98
bus/01_init.md
Normal 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
|
|
@ -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.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue