View
222
Download
2
Category
Preview:
Citation preview
GEI 437 Laboratoire d ’interfaces et microprocesseurs
TCP/IP embarqué
Mise en œuvre de TCP/IP sur unsystème à microcontrôleur
2GEI 437 Laboratoire d ’interfaces et microprocesseurs
Philippe Mabilleau Ing.
Contenu
• Mise en œuvre de TCP/IP sur unsystème embarqué
• Mise en œuvre matérielle
• Mise en œuvre minimale sans OS
• Mise en œuvre avec un OS
• Mise en œuvre en Java
• Applications
3GEI 437 Laboratoire d ’interfaces et microprocesseurs
Philippe Mabilleau Ing.
Mise en œuvre de TCP/IP
TCP UDP
IP ARP
DNS, SNMP...Applications
PPP Piloteréseau
Interfaceréseau
Lien sérieModem
OS
CPU Mémoire
4GEI 437 Laboratoire d ’interfaces et microprocesseurs
Philippe Mabilleau Ing.
Les modules requis
• Interface réseau– Ethernet
– Lien série
• PPP requis pour le lien série
• ARP requis pour Ethernet
• IP et ICMP
• UDP et TCP
• Application
5GEI 437 Laboratoire d ’interfaces et microprocesseurs
Philippe Mabilleau Ing.
Lien série• Port de communication série standard
– UART
• Utilisation d ’un modem– établissement de la connexion
• Implique la mise en œuvre du protocolePPP– machine à états
• Autres supports possibles– ISDN
6GEI 437 Laboratoire d ’interfaces et microprocesseurs
Philippe Mabilleau Ing.
Ethernet• Utilisation d ’un « chip set » standard
• Bus ISA– accessible par 68K, 80x
• Microsoft Plug and Play– généralement désactivé
• Boot ROM– également désactivée
• EEPROM (adresse Ethernet)
• connexions AUI et TP
7GEI 437 Laboratoire d ’interfaces et microprocesseurs
Philippe Mabilleau Ing.
Interface réseau
• Interface bas niveau vers le réseau– couche MAC
• Envoi et réception de paquets
• Distribution des paquets reçus enfonction de leur type aux clients desstrates supérieures– IP
– ARP
8GEI 437 Laboratoire d ’interfaces et microprocesseurs
Philippe Mabilleau Ing.
Mise en œuvre de ARP
• Anté-mémoire– globale ou propre à chaque interface
– politique de retrait une fois pleine
– expiration automatique des entrées
– file de paquets à transmettre devantchaque entrée
9GEI 437 Laboratoire d ’interfaces et microprocesseurs
Philippe Mabilleau Ing.
Processus ARP
ARP Anté-mémoire
Demande de résolution
Requête ou réponseRequête
10GEI 437 Laboratoire d ’interfaces et microprocesseurs
Philippe Mabilleau Ing.
Mise en œuvre de IP
• Commutation des paquets IP issus desdifférentes interfaces
• La machine locale peut être vue commeune interface
• Cas simplifié d ’une seule interface– pas de relais des paquets
• Cas ultra-simplifié d ’une seule interfacepoint à point
11GEI 437 Laboratoire d ’interfaces et microprocesseurs
Philippe Mabilleau Ing.
Processus IP
IP
Machinelocale
Interfaceréseau 1
Interfaceréseau N
Interfaceréseau 1
Interfaceréseau N
Tabled’acheminement
12GEI 437 Laboratoire d ’interfaces et microprocesseurs
Philippe Mabilleau Ing.
Fonctionnement de IP• Le processus IP va traiter tour à tour les
paquets issus des différentes interfacesincluant la machine hôte
• C ’est la réception d ’un paquet qui vaactiver IP
• La table d ’acheminement doit êtreconstruite et mise à jour– table statique
– utilisation d ’une seule passerelle
13GEI 437 Laboratoire d ’interfaces et microprocesseurs
Philippe Mabilleau Ing.
Mise en œuvre de ICMP
• Les paquets ICMP sont généralementtraités par le processus IP
• Prise en charge des requêtes d ’écho(Ping)
• Reconnaissance des erreurs– nœud distant qui ne peut être rejoint
14GEI 437 Laboratoire d ’interfaces et microprocesseurs
Philippe Mabilleau Ing.
Mise en œuvre de UDP
• Relation directe entre les datagrammesUDP et les paquets IP
• Multiplexage des datagrammes entrants– selon le port de destination
– selon les ports d ’origine et de destination
15GEI 437 Laboratoire d ’interfaces et microprocesseurs
Philippe Mabilleau Ing.
Mise en œuvre de TCP• Utilisation d ’une machine à états
• Machine « macroscopique »– états de la connexion : open, close...
• Machine « microscopique »– états de la transmission : retransmissions,
acquiescements, « TimeOut »
• Contrôlée– par table (une ligne par état et une colonne
par événement)
– par procédure (une procédure par état)
16GEI 437 Laboratoire d ’interfaces et microprocesseurs
Philippe Mabilleau Ing.
Processus TCP
TCP
Expiration d ’untemporisateur
Retrait d ’octetsDépôt d ’octets
Réception d ’un paquetEnvoi d ’un paquet
GEI 437 Laboratoire d ’interfaces et microprocesseurs
Mise en œuvre matérielle
Exemple
SEÏKO S-7600A
18GEI 437 Laboratoire d ’interfaces et microprocesseurs
Philippe Mabilleau Ing.
Description
• Mise en œuvre de la pile de protocoleTCP/IP/PPP dans un circuit
• Interface de type lien série uniquement
• Mise en œuvre des machines à étatssous forme matérielle
• 2 connexions simultanées supportées,UDP ou TCP
19GEI 437 Laboratoire d ’interfaces et microprocesseurs
Philippe Mabilleau Ing.
Diagramme du circuit
20GEI 437 Laboratoire d ’interfaces et microprocesseurs
Philippe Mabilleau Ing.
Utilisation• Interface µcontrôleur
– Bus 68k, x80 ou interface série synchrone
– Logique 3.3 v
• UART interne– accès direct pour le contrôle d ’un modem
– < 1.25 Mbps
• Contrôle d ’accès via PAP
• 2 « socket » configurables UDP ou TCP
21GEI 437 Laboratoire d ’interfaces et microprocesseurs
Philippe Mabilleau Ing.
Registres
GEI 437 Laboratoire d ’interfaces et microprocesseurs
Mise en œuvre sans OS
Exemple
RABBIT
TCP/IP Development Kit
23GEI 437 Laboratoire d ’interfaces et microprocesseurs
Philippe Mabilleau Ing.
TCP/IP Development Kit
24GEI 437 Laboratoire d ’interfaces et microprocesseurs
Philippe Mabilleau Ing.
Caractéristiques
• µprocesseur RABBIT 2000 18 Mhz– 8 bits
– héritier du Z80
• Interface 10BaseT
• 512 K EEPROM, 128 K SRAM
• Compilateur Dynamic C– exécution concurrente simulée
– pas de noyau temps réel
25GEI 437 Laboratoire d ’interfaces et microprocesseurs
Philippe Mabilleau Ing.
Structure d ’un programme
Appel périodique de la « machine TCP/IP »
26GEI 437 Laboratoire d ’interfaces et microprocesseurs
Philippe Mabilleau Ing.
Serveur d ’écho
27GEI 437 Laboratoire d ’interfaces et microprocesseurs
Philippe Mabilleau Ing.
Client HTTP
28GEI 437 Laboratoire d ’interfaces et microprocesseurs
Philippe Mabilleau Ing.
Interface 10BaseT
GEI 437 Laboratoire d ’interfaces et microprocesseurs
Mise en œuvre avec un OS
Exemple
NetBurner
30GEI 437 Laboratoire d ’interfaces et microprocesseurs
Philippe Mabilleau Ing.
CFV2-40
31GEI 437 Laboratoire d ’interfaces et microprocesseurs
Philippe Mabilleau Ing.
Caractéristiques
• Noyau temps réel µC/OS II
• Pile TCP/IP– ARP, ICMP (ping), UDP, TCP, PPP,
Telnet, HTTP
• Documents HTML comprimés dansl ’application– Dynamic HTML
– Forms, Cookies and Passwords
GEI 437 Laboratoire d ’interfaces et microprocesseurs
Mise en œuvre en Java
Exemple
Dallas TINI Board
33GEI 437 Laboratoire d ’interfaces et microprocesseurs
Philippe Mabilleau Ing.
TINI Board
34GEI 437 Laboratoire d ’interfaces et microprocesseurs
Philippe Mabilleau Ing.
Caractéristiques• DS80C390 processor
• Ethernet controller
• 512k Flash ROM
• 512k battery backed RAM (expandableto 1MB)
• Two integrated serial ports
• Two integerated CAN controllers
• Internal and external One-Wire buses
• Real time clock
35GEI 437 Laboratoire d ’interfaces et microprocesseurs
Philippe Mabilleau Ing.
Architecture du logiciel
36GEI 437 Laboratoire d ’interfaces et microprocesseurs
Philippe Mabilleau Ing.
Logiciel• JDK 1.1 API and firmware providing a
multi-tasking, multi-threaded
• TINI OS with a full TCP/IP stack,garbage collection, serial port and One-Wire drivers, PPP support, and muchmore.
• Slush, a system shell giving a Unix(tm)like interface with TTY, Telnet, and FTPservers.
GEI 437 Laboratoire d ’interfaces et microprocesseurs
Applications
38GEI 437 Laboratoire d ’interfaces et microprocesseurs
Philippe Mabilleau Ing.
Exemples d ’applications
• Basées sur des protocoles applicationsexistants ou dédiés
• Serveur– le système embarqué offre des services
via le réseau
• Cliente– le système embarqué exploite des services
via le réseau
39GEI 437 Laboratoire d ’interfaces et microprocesseurs
Philippe Mabilleau Ing.
Applications serveurs– HTTP
• consultation et configuration à l ’aide d ’unnavigateur
• interface graphique
• interaction via des applets ou des servlets Java
– Telnet• configuration en mode terminal
• accès à un moniteur ou à un « shell »
– FTP, TFTP• entreposage et recherche d ’informations
40GEI 437 Laboratoire d ’interfaces et microprocesseurs
Philippe Mabilleau Ing.
Applications clientes• Courrier SMTP
– envoi de rapports
• Configuration– BOOTP, DHCP
• Gestion– SNMP
• Ressources distantes– fichiers : FTP, TFTP, NFS
– imprimantes
41GEI 437 Laboratoire d ’interfaces et microprocesseurs
Philippe Mabilleau Ing.
Applications dédiées• Appel de fonctions distantes
• Offre les services d ’un systèmeembarqué distant à une applicationlocale
• Passage de paramètres par valeur etretour d ’une valeur
• Mise en œuvre– UDP : duplication possible
– TCP : unicité d ’appel garantie
Recommended