18
MARCO TEORICO PROYECTO IMPLEMENTACIÓN DE SERVIDOR EN MICROCONTROLADOR USANDO PROTOCOLO TCP/IP Presentado por: LUZ DIVIA PAEZ TOVAR JUAN CARLOS BOLAÑOS LOPEZ LABORATORIO IV DE ELECTRÓNICA Presentado a: Ing. Juan Sebastián

Marco Teorico Proyecto[1]

Embed Size (px)

DESCRIPTION

mmm

Citation preview

Page 1: Marco Teorico Proyecto[1]

MARCO TEORICO PROYECTOIMPLEMENTACIÓN DE SERVIDOR EN MICROCONTROLADOR

USANDO PROTOCOLO TCP/IP

Presentado por:

LUZ DIVIA PAEZ TOVARJUAN CARLOS BOLAÑOS LOPEZ

LABORATORIO IV DE ELECTRÓNICA

Presentado a:

Ing. Juan Sebastián

FACULTAD DE INGENIERIA ELECTRONICA Y TELECOMUNICACIONES

UNIVERSIDAD DEL CAUCAPOPAYAN

2008

Page 2: Marco Teorico Proyecto[1]

TABLA DE CONTENIDO

1. INTRODUCCION....................................................................................................32. ETHERNET..............................................................................................................4

2.1 ETHERNET IEEE 802.3...............................................................................4

2.2 FAST ETHERNET IEEE 802.3u.................................................................5

2.3 GIGABIT ETHERNET IEEE 802.3z...........................................................6

3. TCP/IP.........................................................................................................................7Transmission Control Protocol/Intenet Protocol..............................................7

3.1 ARQUITECTURA TCP/IP..................................................................................7

4. SPI (Serial Peripheral Interface).......................................................................94.1 Operación del SPI..........................................................................................10

5. CONTROLADOR ENC28J60................................................................................125.1 Características del Controlador ENC28j60..........................................12

2

Page 3: Marco Teorico Proyecto[1]

1. INTRODUCCION

En los últimos años las comunicaciones y la electrónica se han convertido en herramientas, que facilitan la realización de diferentes actividades, por un lado las comunicaciones han evolucionado de tal manera que cumplen con su objetivo en casi todos los ámbitos, un ejemplo es el INTERNET y su uso masivo, dado que su implementación y su funcionamiento se realiza de una manera estandarizada, de fácil acceso y manejo, logrando así grandes avances y el soporte de una gran variedad de servicios, por otro lado, la electrónica, por medio de la generación de nuevos y mejores dispositivos contribuye en el desarrollo de nuevas tecnologías que brindan servicios que dan solución a necesidades especificas o que simplemente facilitan el diario vivir. Es así que en este proyecto converge la potencialidad de estas dos herramientas, tomando como base la comunicación por medio de Internet y el uso del microcontrolador como un ente prestador de un servicio.

En este documento se estudiaran los diferentes elementos necesarios para el establecimiento de una comunicación basada en las redes de datos, como los son ethernet, el conjunto de protocolos TCP/IP y todo lo concerniente con la implementación física y lógica para llevar a cabo la comunicación del microcontrolador con una red de datos.

3

Page 4: Marco Teorico Proyecto[1]

2. ETHERNET

Las redes de área local son hoy en día uno de los sectores de más amplio crecimiento en la industria de la comunicación de datos, es por ello que surgen tecnologías como Ethernet que permiten que dispositivos independientes se comuniquen entre si, lográndolo de una manera eficiente, esta tecnología es una de las mas conocidas y utilizadas debido a su fácil y económica implementación, también soporta una gran variedad de tecnologías y es escalable entre otras características por lo cual se convierte en una alternativa muy interesante a la hora de pensar en el montaje de una red de área local.

Ethernet nació en 1972 ideado por Robert Metcalfe en Xeros, en 1983 fue formalizada por el IEEE como el estándar IEEE 802.3 o simplemente Ethernet.

2.1ETHERNET IEEE 802.3

Este estándar utiliza una topología física en estrella y logia en bus, trabaja con una velocidad de 10Mbps y su método de acceso al medio es CSMA/CD (carrier sense multiple access/ detection colision) Acceso múltiple por detección de portadora y colisiones, el cual es un sistema sin prioridad de escucha de portadora de colisiones.

Arquitectura de ETHERNET IEEE 802.3

Esta norma esta organizada de tal manera que separa su arquitectura en 2 capas o subniveles, el subnivel MAC (método de acceso al medio) y el subnivel LLC (control de enlace lógico), estos dos subniveles en conjunto abracan las funciones definidas para la capa de enlace del modelo OSI, la organización de la arquitectura de esta manera permite que varios medios de comunicación accedan a los métodos estándar.

La arquitectura de red ethernet que utiliza el método de acceso al medio CSMA/CD, se organiza a través del concepto de protocolos en niveles:

1. Subnivel MAC2. Nivel físico

El nivel de usuario, nivel LLC u otro nivel superior, es servido por los niveles de ethernet CSMA/CD.

Subnivel MAC: Proporciona la lógica para controlar la red ethernet, es independiente del medio de transmisión. Aquí se realiza el encapsulado y desencapsulado de los datos y la gestión del acceso al medio.

4

Page 5: Marco Teorico Proyecto[1]

Estructura de una trama ETHERNET IEEE 802.3

7 bytes 1 bytes 6 bytes

6 bytes

2 bytes 0-1500 0-46 4 bytes

Preámbulo Delimitador

de iniciode trama

Dir.Destin

o

Dir.Origen

Longitud Datos Relleno CRC

Fig.1 Trama Ethernet

Preámbulo: Permite sincronizar relojes con el emisor.Delimitador de inicio de trama: Marca el final del preámbulo y el comienzo de la trama.Longitud: Indica la longitud del campo de datos.Datos: Son los datos del usuario.Relleno: Permite asegurar que la longitud mínima de la trama sea 64 bytes.CRC: Secuencia de comprobación de errores.

Nivel Físico: Este nivel se encarga de introducir señales eléctricas al canal, proporcionar la temporización de este y codificar y decodificar los datos.

El nivel físico es dependiente del medio de transmisión. Las alternativas definidas para los diferentes medios físicos son:

10BASE5 (cable coaxial) 10BASE2 (cable coaxial mas fino) 10BASET (cable UTP1) 10BASEF (Fibra Óptica)

2.2 FAST ETHERNET IEEE 802.3u

FAST ETHERNET es el mismo 10BASE-T pero 10 veces más rápido. Este estándar también maneja el método de acceso al medio CSMA/CD y las diversas variantes de fabricación, también protege las inversiones existentes en herramientas administrativas, personales, de entrenamiento e infraestructura de red.

En el nivel físico, Fast Ethernet puede trabajar a través de la misma variedad de medios (UTP, STP2 y fibra), pero no soporta el cable coaxial. 1 UTP (Unshield Twisted Pair): Par trenzado no apantallado, compuesto por una serie de pares de cable trenzado.2 STP(Shield Twisted Pair): Par trenzado apantallado, con la misma características de UTP, pero con un recubrimiento para mejorar su eficiencia

5

Page 6: Marco Teorico Proyecto[1]

Se definen 3 tipos de medios:

100BASE X (comunicación en un solo sentido) 100BASE TX (STP y UTP cat 5, dos pares uno para RX y otro

para Tx) 100BASE FX (dos fibras ópticas, una para RX y otra para Tx) 100 BASE T4 (cable cat 3)

2.3 GIGABIT ETHERNET IEEE 802.3z

Esta tecnología o estándar realiza es una adición a la ya existente IEEE 802.3, logrando que las redes de área local trabajen a una velocidad de 100 Mbps ó 1Gbps.Con la finalidad de mantener la compatibilidad con las anteriores tecnologías (ethernet y fast ethernet), este conserva la misma forma de ethernet desde el nivel de enlace de datos hacia arriba, para lograr una mayor velocidad se realizan cambios a la interfaz física, esto se logro uniendo las tecnologías Ethernet IEEE 802.3 y el canal de fibra ANSI X3T11.Uniendo estas dos tecnologías se logra, por un lado, tomar la ventajas de alta velocidad de tecnología existente, canal de fibra, mientras se mantiene el formato de la trama ethernet, al igual que la compatibilidad con recursos previamente instalados y el uso de las características Full o Half duplex. En Gigabit Ethernet se hace referencia a 4 medios de transmisión:

1000 BASE LX (F.O láser de onda larga, fibra multimodo y monomodo)

1000 BASE SX (F.O láser de onda corta, fibra multimodo) 1000 BASE CX (cobre de 150 ohmios apantallado y

balanceado) 1000 BASE T (Utp categoría 5)

1000 BASE T no hace parte como tal de esta especificación, más bien es conocida como IEEE 802.3 ab, el objeto de esta recomendación es permitir el soporte de gigabit ethernet sobre utp categoría 5 heredado y así, impulsar más esta tecnología como medio de escalabilidad en redes existentes basadas en UTP.

6

Page 7: Marco Teorico Proyecto[1]

3. TCP/IP

Transmission Control Protocol/Intenet Protocol

TCP/IP es una serie de protocolos que nació de la unificación de tecnologías que permitieran promover un ambiente de red homogéneo.

TCP/IP es una serie de protocolos extremo a extremo, que opera a través de un amplio rango de enlace de comunicaciones, que incluye desde líneas dedicadas hasta circuitos de paquetes conmutados. Esto permite la integración de múltiples plataformas de cómputo, permite que cualquiera aplicación transmita datos entre redes locales (LAN’s) y de redes de área extendida (WAN), independiente del tipo de tecnología utilizada. El manejo de confirmación de recepción de mensajes se hace entre la maquina origen y la maquina destino, en vez de hacerlo entre las maquinas que conforman la ruta de transmisión.

3.1 ARQUITECTURA TCP/IP

La arquitectura TCP/IP viene dada por 4 niveles funcionales con sus respectivos protocolos:

AplicaciónTransporte

InternetInterfaz de red

Hardware

Fig.2 Stack TCP/IP

Nivel de Aplicación: De este nivel hacen parte los procesos de usuario cooperando con otros en el mismo o en diferente host. Tales como, Telnet, FTP, SMTP, HTTP, RPC, NFS, XDR, SNMP, DNS, RIP, ect.

Nivel de transporte: Permite la transferencia de datos punto a punto en dos formas UDP y TCP.

UDP (User Datagram Protocol): Este protocolo maneja la transmisión de paquetes, es no orientado a la conexión, cada paquete se enruta

7

Page 8: Marco Teorico Proyecto[1]

individualmente y no es confiable ya que no utiliza ningún tipo de confirmación, no maneja realimentación para control de flujo, por tanto los mensajes puede perderse o duplicarse.

TCP (tranmission control protocol): Este protocolo maneja flujos de corriente de bytes, es orientado a la conexión por tanto usa la misma ruta para el envió de todos la información y es mas confiable puesto que usa ACK (acuses de recibo), control de flujo y control de errores.

Nivel de Internet: Provee la imagen de “red virtual” internet, que comprende muchas redes físicas. El protocolo IP es el más importante de este nivel. Ofrece un servicio de entrega de paquetes sin conexión. Algunos de los protocolos de este nivel son, IP, ICMP, ARP, RARP.

Nivel de Interfaz de red: Es la interfaz software al hardware de la red. TCP/IP en este nivel no especifica ningún protocolo. Puede o no proveer confiabilidad y puede estar orientado a paquete o a flujo de bytes. Pero puede ser usada en cualquier tipo de red disponible, lo cual ilustra la flexibilidad del nivel IP. Dentro de las redes que puede conectarse están:IEEE 802.x (Ethernet, Token bus, Token Ring), X.25, SNA, DECnet, Satelital, Alohanet, ect.

AplicaciónTransporte Internet

Interfaz de red

Telnet

FTP HTTP RPC DNS RIP SMTP

TCP UDPIP ICMP ARP RARP

Ethernet Token Ring Token Bus SNA

Fig.3 Protocolos TCP/IP

En cada uno de los niveles, cada protocolo incorpora a los datos de usuario, encabezados y marcas de control de protocolo a medida que el paquete transcurre por cada nivel, estos encabezados y marcas serán obtenidos y comprendidos por cada uno de los niveles en el destino de los paquetes.

8

Page 9: Marco Teorico Proyecto[1]

4. SPI (Serial Peripheral Interface)

El Bus SPI (del inglés Serial Peripheral Interface) es un estándar de comunicaciones, usado principalmente para la transferencia de información entre circuitos integrados en equipos electrónicos. El bus de interfaz de periféricos serie o bus SPI es un estándar para controlar casi cualquier dispositivo electrónico digital que acepte un flujo de bits serie, regulado por un reloj, incluye una línea de reloj, un dato entrante, un dato saliente y un pin de selección de chip, que conecta o desconecta la operación del dispositivo con el que uno desea comunicarse. De esta forma, este estándar permite multiplexar las líneas de reloj.

La ventaja de un bus serie es que minimiza el numero de conductores, pines y el tamaño del circuito integrado, esto reduce el costo de fabricar montar y probar la electrónica. Un bus de periféricos serie es la opción más flexible cuando muchos tipos diferentes de periféricos serie están presentes.

SPI, es un estándar de enlace de datos seriales sincronizados por un reloj que operan en modo full duplex. Los dispositivos se comunican en modo maestro/esclavo donde el dispositivo maestro inicia el data frame (trama de red o marco de datos). Múltiples dispositivos esclavos están permitidos en líneas de selección esclavo (SS) individuales.

Fig 4. Diagrama SPI Maestro/Esclavo

SCLK: Reloj serial

MOSI: Master In Slave Out: Maestro - Estrada -esclavo - salida

MISO: Master Out Salve In: Maestro - salida- esclavo - entrada

SS: Selector de esclavo

9

Page 10: Marco Teorico Proyecto[1]

El maestro provee la señal del reloj y determina el estado de la línea de selección de chip, el esclavo recibe el reloj y la selección del chip desde el maestro.

4.1 Operación del SPI

En el SPI maestro, los bits son enviados fuera del pin MOSI y recibidos en el pin MISO. Los bits al ser enviado fuera son almacenados en el registro de datos del SPI, SPODR, y es enviado afuera el bit más significativo (bit 7). Cuando el bit 7de el master es liberado fuera a través del pin MOSI un bit desde el séptimo del esclavo es liberado en el bit 0 del master a través del pin MISO. Después de ocho pulsos del reloj o liberaciones, este bit terminará en el bit 7 del master.

Fig 5. Diagrama SPI 1 Maestro/varios Esclavos

Ventajas:

Comunicación full-duplex

Mayor velocidad de transmisión que con( I²C)3 o SMBus4

Protocolo flexible en que se puede tener un control absoluto sobre los bits transmitidos.

No está limitado a la transferencia de bloques de 8 bits.

Elección del tamaño de la trama de bits, de su significado y propósito.

3 I2C:Inter-Integrated Circuit (Circuitos Inter-Integrados): bus de comunicación serie4 SMbus: Bus de Administración del Sistema; es un subconjunto del protocolo I2C

10

Page 11: Marco Teorico Proyecto[1]

Su implementación en hardware es extremadamente simple.

Consume menos energía que I²C o que SMBus debido que posee menos circuitos (incluyendo las resistencias pull-up) y estos son más simples.

No es necesario arbitraje o mecanismo de respuesta ante fallos.

Los dispositivos esclavos usan el reloj que envía el master, no necesitan por tanto su propio reloj.

No es obligatorio implementar un transceptor (emisor y receptor), un dispositivo conectado puede configurarse para que solo envíe, sólo reciba o ambas cosas a la vez.

Usa muchos menos terminales en cada chip/conector que una interfaz paralelo equivalente.

Como mucho una única señal específica para cada esclavos (señal SS), las demás señales pueden ser compartidas

Desventajas:

Consume más terminales en cada chip que I²C, incluso en la variante de 3 hilos.

El direccionamiento se hace mediante líneas específicas (señalización fuera de banda) a diferencia de lo que ocurre en I²C que se selecciona cada chip mediante una dirección de 7 bits que se envía por las mismas líneas del bus.

No hay control de flujo por hardware.

No hay señal de asentimiento. El master podría estar enviando información sin que estuviese conectado ningún esclavo y no se daría cuenta de nada.

No permite fácilmente tener varios maestros conectados al bus.

Sólo funciona en las distancias cortas a diferencia de, por ejemplo, RS-232, RS-485, o CAN.

11

Page 12: Marco Teorico Proyecto[1]

5. CONTROLADOR ENC28J60

Fig.4 Controlador ENC28J60

El ENC28J60 es un dispositivo autónomo, es un controlador Ethernet con un Interfaz periférica serial estándar industrial (SPI). Está diseñado para ser utilizado como una interfaz de red Ethernet para cualquier controlador equipado con SPI. El ENC28J60 cumple con todas las especificaciones IEEE 802.3. Incorpora una serie de esquemas que realizan filtrado de paquetes para limitar la entrada de los mismos. También provee un modulo DMA5 interno que brinda velocidad a la transmisión de los datos y operaciones de verificación de errores IP apoyadas por el hardware. La comunicación con el controlador del host se implementa a través de dos pines interruptores y del SPI, con un promedio de datos de hasta 10 Mb/s. Está constituido por un módulo PHY (nivel físico), un módulo MAC (subnivel MAC), una memoria RAM de 8 kbytes para almacenar los paquetes en recepción y en transmisión, una serie de registros de configuración y un módulo para la comunicación de serie SPI. El chip tiene solo 28 pines y tiene pocos componentes externos, por eso puede ser implantado muy sencillamente en cualquier proyecto.

5.1 Características del Controlador ENC28j60

Controlador ethernet compatible con IEEE 802.3.

Soporta la capa MAC y Física con el estándar 10Base- T

Circuito receptor y silenciador de colisiones.

Soporta una un puerto 10Base-T con detección y corrección de polaridad automática.

Soporta los modos de comunicación Full y Half-Duplex.

5 DMA: Acceso directo a memoria

12

Page 13: Marco Teorico Proyecto[1]

Retransmisión automática programable cuando hay colision.

Generación de relleno programable y CRC

Reenvió automático programable de paquetes erróneos.

Interfaz SPI con velocidades de hasta 10Mbits.

Características de BUFFER

8-KByte de transmisión/recepción de paquetes de doble puerto SRAM.

Posee características de configuración de transmisión y recepción del tamaño del buffer.

Hardware gestionado trabaja con pila de recepción FIFO.

Byte extenso aleatorio y acceso secuencial con auto incremento.

Interior DMA para una rápida circulación de datos.

Hardware asistido por el protocolo IP y posee control de errores con el formato de checksum.

Control de acceso al medio (MAC)

Soporta paquetes Unicast, Multicast y Broadcast.

Filtro receptor de paquetes programable y verifica el host en una AND o OR lógica de la siguiente manera:

o Direcciones de destino Unicast.

o Direcciones Multicast.

o Direcciones Broadcast.

o Grupo de direcciones de destino definidas por 64-bits.

o Modo Loopback.

Características de la capa física (PHY)

Filtro de salida condicionador de onda.

Modo Loopback.

13

Page 14: Marco Teorico Proyecto[1]

Operacional

Dos salidas LED programable para el enlace, transmisión recepción, estado de colisión y el de Full/Half-Duplex.

Siete fuentes de interrupción, con dos pines de interrupción.

Reloj de 25MHz.

Un pin de salida del reloj con preescalador programable.

Rango de operación de 3.14 a 3.45 voltios.

Entradas de nivel TTL.

Rango de temperatura de -40 ºC hasta +85 ºC Industrial y 0 ºC hasta +70 ºC comercial.

28 pines SPDIP, SSOP, SOIC y QFN

Fig.5 Dispositivo ENC28J60

14