Reunion_11Jan2k13

Le but de cette réunion est de définir le principe de fonctionnement, le planning et le contexte de fonctionnement du futur bloc UDP. Ce bloc devra être capable de recevoir, analyser, créer et renvoyer des trames d’informations provenant de différentes sources telles qu’un PC, une DIF, …

1 – Planning de conception

Le planning de conception se décompose en 3 étapes :

• Etape 1 : (jusqu’à Mars)

– Création d’une trame de type Ethernet et envoie vers un PC (l’ensemble des champs seront chargés en premier temps depuis des registres fixes)
– Réception d’une trame provenant du PC et lui renvoyer (principe du Ping)
– Réponse à une demande (analyse de la trame de réception et envoie d’une trame réponse)

Il est impératif de développer des blocs les plus génériques possibles et les plus réutilisables possibles pour au final créer une IP.

• Etape 2 : (jusqu’à Juin)

– Programmation de l’adresse IP à travers l’adresse MAC
– Programmation de l’adresse MAC de destination (à savoir celle du PC)
– Programmation du PORT primaire
– Programmation d’une gateway IP (si l’adresse IP est inconnue, on renvoie une trame à une adresse IP définie)
– Création d’un protocole interne LLRHCP
– 1ère Implémentation du protocole ARP (programmation de la réponse uniquement)

• Etape 3 : (jusqu’à …)

– 2ème Implémentation du protocole ARP (programmation de la question)
– Différentes fonction à définir au fur et à mesure

2 – Description d’un trame Ethernet :

Une trame Ethernet se décompose en 4 parties : |Entête Ethernet | Entête IP | Entête UDP | Data |

L’entête Ethernet est composé de 3 champs (nombre d’octets): ==> |Adresse MAC destination (6) | Adresse MAC source (6) | Type de liaison (2) |

L’entête IP est composé de 10 champs (nombre d’octets): ==> | Version + Longueur de l’entête (1) | Service (1) | Longueur_total (2) | Identifiant (2) | Flag (1) | Offset (1) |
Temps de vie (1) | Protocole (1) | Checksum_entete (2) | Adresse IP source (4) | Adresse IP destination (4) |

L’entête UDP est composé de 4 champs (nombre d’octets): ==> | Port source (2) | Port destination (2) | Longueur (2) | Checksum (2) |

2.1 – Trame Ethernet CALICE

Dans le cadre de CALICE la communication avec la carte se fait par des trames Ethernet de type « raw »

DST MAC (6) | SRC MAC (6) | ETH type (2) | GDCC/LDA Type (2) | GDCC/LDA Modifier (2) | GDCC/LDA PKT_ID (2) | GDCC/LDA Data length (2) | GDCC/LDA Data (variable) | Padding | CRC32 (4)|

ETH type est definie suivant 3 valeurs:

0x809 : Command « FAST Packet »

0x810 : Paquet de donnée normale (configuration)

0x811 : Paquet de read-out (données issues des DIFs)

Dans le cas d’une commande « FAST Packet », la trame Ethernet est la suivante :

DST MAC (6) | SRC MAC (6) | ETH type (2) | Command_word (2) | DIF_Link (2) | Comma (1) | DATA (1) | Parity (2) | PAD (padding pour la taille mini ethernet) | CRC32|

3 – Banc de test

Concernant le blanc de test, le matériel nécessaire sera :
– Une carte de développement
– Un réseau local
– Un PC
– Un oscilloscope