Вы находитесь на странице: 1из 158

TEC V1.

0 Darwin Alulema 1

FUNDAMENTOS DE
HARDWARE
TECNOLOGÍAS DE SOFTWARE PARA
ELECTRÓNICA
TEC V1.0 Darwin Alulema 2

INTERNET DE LAS COSAS


TEC V1.0 Darwin Alulema 3

CIUDADES INTELIGENTES
TEC V1.0 Darwin Alulema 4

ACONDICIONAMIENTO DE SEÑALES
Darwin Alulema V4.0 (2014) 5

¿QUÉ ES ADQUISICIÓN DE DATOS?


Darwin Alulema V4.0 (2014) 6

¿QUÉ ES ADQUISICIÓN DE DATOS?


• El propósito de adquisición de datos es medir un
fenómeno eléctrico y físico como voltaje, corriente,
temperatura, presión o sonido.
• La adquisición de datos basada en PC utiliza una
combinación de hardware modular, software de
aplicación y una PC para realizar medidas.
• Los sistemas de adquisición de datos incorporan señales,
sensores, actuadores, acondicionamiento de señales,
dispositivos de adquisición de datos y software de
aplicación.
Darwin Alulema V4.0 (2014) 7

ACONDICIONAMIENTO DE SEÑALES
• El acondicionamiento de señal, incluye funciones
como amplificación, filtrado, aislamiento eléctrico
y multiplexedo.
• La mayoría de los sistemas de adquisición de datos
basados en PC incluyen algún tipo de
acondicionamiento de señal.
Darwin Alulema V4.0 (2014) 8

SEÑALES DIGITALES
• Por su naturaleza binaria, los circuitos digitales
operan eficientemente cuando son manejadas
por señales de entrada perfectamente
cuadradas.
• En una señal digital ideal, los estados alto y bajo
deben estar bien definidos y la transición de un
estado al otro debe ser instantánea.
Darwin Alulema V4.0 (2014) 9

SEÑALES DIGITALES
Darwin Alulema V4.0 (2014) 10

SEÑALES DIGITALES
• Si una entrada, debido a la lentitud de la señal
aplicada, permanece durante algún tiempo indecisa
entre los niveles alto y bajo válidos, se corre el riesgo
de que el circuito se vuelva inestable y genere falsas
señales de salida.
• Lo mismo puede ocurrir si la señal de entrada no es
una onda cuadrada o tiene ruido.
• La solución a este problema es utilizar compuertas
Schmitt-Trigger.
Darwin Alulema V4.0 (2014) 11

COMPUERTAS SCHMITT-TRIGGER
Darwin Alulema V4.0 (2014) 12

COMPUERTAS SCHMITT-TRIGGER
• Las compuertas Schmitt-Trigger operan
como compuertas comunes, pero se
caracterizan por poseer una propiedad
llamada histéresis que las hace inmunes al
ruido y les permite trabajar con señales
digitales no ideales.
• Una compuerta Schmitt-Trigger entrega
siempre una onda cuadrada a la salida, sin
importar la forma de onda de la señal de
entrada.
Darwin Alulema V4.0 (2014) 13

COMPUERTAS SCHMITT-TRIGGER
• Como trabaja un inversor Schmitt-Trigger
Darwin Alulema V4.0 (2014) 14

FENOMENO DE REBOTE EN
SEÑALES
• Los interruptores electromecánicos, nunca
realizan conmutaciones limpias. De hecho,
cuando un interruptor se abre o se cierra,
sus superficies de contacto oscilan varias
veces entre un estado y el otro antes de
unirse o separarse definitivamente.
• Este fenómeno se denomina rebote y puede
causar serios problemas cuando se utilizan
interruptores como dispositivos de entrada de
sistemas digitales sensibles a cambios de nivel
como flip-flops, contadores, microprocesadores.
Darwin Alulema V4.0 (2014) 15

FENOMENO DE REBOTE EN
SEÑALES
Darwin Alulema V4.0 (2014) 16

FENOMENO DE REBOTE EN
SEÑALES
• El rebote dura solo unos pocos milisegundos,
dependiendo del mecanismo del interruptor. Sin
embargo, debido a la rapidez de respuesta de los
circuitos digitales, este tiempo es suficiente para
que muchos de estos pulsos de ruido sean
interpretados como pulsos válidos, causando una
respuesta errática.
• El problema se acentúa si los contactos no están
limpios (rastros de polvo, grasa, óxido o cualquier otro
agente extraño).
Darwin Alulema V4.0 (2014) 17

TRATAMIENTO ANTIRREBOTES
POR SOFTWARE
• El Tratamiento antirrebotes es necesario por la velocidad
que opera la PC, por lo que un programa podría
ejecutarse varias veces hasta que se suelte el pulsador.
• Por ejemplo, un programa que cuente cuantas veces se ha
presionado un pulsador.
• Cuando una persona presiona un interruptor, por lo menos
necesita de 100ms de tiempo para soltarlo
• Para evitar el problema de los rebotes al presionar un
interruptor, se debe realizar un bucle o un retardo que
únicamente salga de esta subrutina en el momento que el
pulsador deje de ser presionado. (retardo de 200ms)
TEC V1.0 Darwin Alulema 18

INTERFACES DE LA PC
TEC V1.0 Darwin Alulema 19

HISTORIA DEL ORDENADOR


20

ARQUITECTURA DEL COMPUTADOR


• La arquitectura de un ordenador
está constituida por el conjunto de
instrucciones y su
microarquitectura.
• La arquitectura de Von Neumann
describe una computadora con 4
secciones principales:
• Unidad aritmético lógica (ALU - Arithmetic
Logic Unit)
• Unidad de control
• Memoria central
• Dispositivos de entrada y salida (E/S).
Estas partes están interconectadas por
canales de conductores denominados Darwin
Darwin Alulema
buses. Alulema
21

CONJUNTO DE INSTRUCCIONES - ISA


• En arquitectura de computadoras, 16 bits, 32 bits o
64 bits, se utilizan para referir a una arquitectura
de procesador basadas en registros, bus de
direcciones o bus de datos que permiten procesar
datos.
• Diferentes familias de procesadores pueden tener
diferentes ISA, por este motivo, un programa compilado
para un tipo de máquina no podrá ejecutarse en otra con
un conjunto de instrucciones diferentes.
• Un procesador con una arquitectura de 32 bits no podrá ejecutar
un sistema operativo u otra aplicación compilada para una
arquitectura/procesador de 64 bits.
• Por compatibilidad hacia atrás, lo inverso suele ser posible, es
decir, se puede ejecutar aplicaciones de 32 bits en procesadores
Darwin
Alulema
de 64 bits.
22

MICROARQUITECTURA
• Muestra las partes constituyentes del
sistema y cómo se interconectan e
interoperan, para así implementar la
especificación de la arquitectura.
• La microarquitectura generalmente es
representada empleando un diagrama de
bloques que describe las interconexiones
entre registros, buses y bloques
funcionales de la máquina.
Darwin
Alulema
23

BUSES DE DATOS
• En arquitectura de computadores, el bus es un sistema
digital que transfiere datos entre los componentes de una
computadora o entre computadoras.
• En los primeros computadores electrónicos, todos los
buses eran de tipo paralelo, de manera que la
comunicación entre las partes del computador se hacía
por medio de cintas o muchas pistas en el circuito
impreso, en los cuales cada conductor tiene una función
fija y la conexión es sencilla requiriendo únicamente
puertos de entrada y de salida para cada dispositivo.
• La tendencia en los últimos años es hacia uso de buses, para
comunicaciones con periféricos reemplazando los buses paralelos.
Darwin
Alulema
24

INTERRUPCION
• Interrupción es una señal recibida por el procesador de
un ordenador, indicando que debe "interrumpir" el curso
de ejecución actual y pasar a ejecutar código específico
para tratar esta situación.
• Las interrupciones surgen de las necesidades que tienen
los dispositivos periféricos de enviar información al
procesador principal de un sistema de computación.
• Cada dispositivo que desea comunicarse con el procesador por
medio de interrupciones debe tener asignada una línea única
capaz de avisar al CPU que le requiere para una operación. Esta
línea es la llamada IRQ ("Interrupt ReQuest", petición de
interrupción).
Darwin
Alulema
25

COMUNICACIÓN SERIAL
• Las características de la comunicación serial
son: bits por segundo (baudios), bits de datos,
bits de parada, y paridad.
• Para que dos puertos se comuniquen, estos
parámetros deben ser iguales.
• El concepto de comunicación serial es simple.
• El puerto serial envía y recibe bytes de
información, un bit a la vez. Aunque esto es más
lento que la comunicación paralela, la cual permite
la transmisión entera de bytes de una sola vez.
Darwin
Alulema
26

BITS POR SEGUNDO (BAUDIOS)


• La velocidad de transmisión está dada en
bits por segundo cuya unidad son los
baudios.
• Por ejemplo, 300 baudios son 300 bits por
segundo.
• Las tasas de baudios para líneas telefónicas
son 14400, 28800, y 33600.
• Tasas de baudios mayores a estas son
posibles, pero reducen la distancia disponible
para la separación de dispositivos.
Darwin
Alulema
27

BITS DE DATOS
• Bits de datos son mediciones de los bits de
datos actuales en una transmisión.
• Los valores estándar para los paquetes de
datos son de 5, 7, y 8 bits.
• El estándar que se elija dependerá de la
información que está transfiriendo.
• El estándar ASCII tiene valores de 0 a 127 (7 bits).
• El ASCII extendido utiliza de 0 a 255 (8 bits).

Darwin
Alulema
28

BITS DE PARADA
• Los bits de parada son utilizados para señalar el término
de comunicaciones en un paquete sencillo. Los valores
típicos son 1, y 2 bits.
• Debido a que los datos se encuentran sincronizados a
través de las líneas y cada dispositivo tiene su propio
reloj, es posible que los dos dispositivos pierdan
sincronización.
• Los bits de parada no solamente indican el final de una
transmisión, también le da un margen de error a las
velocidades de reloj de la computadora.
• A medida que se utilizan más bits para bits de parada, mayor
oportunidad para sincronizar los diferentes relojes, pero más lenta
la razón de transferencia de datos.
Darwin
Alulema
29

PARIDAD
• Paridad es una forma de revisión de error simple utilizada en
la comunicación serial.
• Existen 2 tipos principales de paridad:
• Pares,
• Impares,
• Para paridad impar y par, el puerto serial fija el bit de
paridad (el último bit después de los bits de datos) a un valor
que asegura que la transmisión tenga un número par o
impar de bits lógicos.
• Esto permite que el dispositivo receptor conozca el estado
de un bit para así determinar si el ruido esta corrompiendo
los datos o si los relojes del dispositivo de transmisión y
Darwin
recepción se encuentran fuera de sincronización. Alulema
30

PARIDAD

Darwin
Alulema
31

PARIDAD

Darwin
Alulema
32

MODOS DE COMUNICACION
Se pueden establecer canales para la
comunicación de acuerdo a tres técnicas:
• Simplex
• Semi duplex (Half duplex)
• Totalmente duplex (Full duplex)

Darwin
Alulema
33

MODOS DE COMUNICACION
Simplex: En ella la comunicación serie usa una
dirección y una línea de comunicación. Siempre
existirá un transmisor y un receptor, no ambos.
La ventaja de este sistema consiste en que es
necesario sólo un enlace a dos hilos.
La desventaja radica en que el extremo receptor no
tiene ninguna forma de avisar al extremo transmisor
sobre su estado y sobre la calidad de la información
que se recibe. Esta es la razón por la cual,
generalmente, no se utiliza.

Darwin
Alulema
34

MODOS DE COMUNICACION
Semi duplex: La comunicación serie se establece a través
de una sola línea, pero en ambos sentidos. En un
momento el transmisor enviará información y en otro
recibirá, por lo que no se puede transferir información en
ambos sentidos de forma simultánea .

Este modo permite la transmisión desde el extremo


receptor de la información, sobre el estado de dicho
receptor y sobre la calidad de la información recibida por
lo que permite así la realización de procedimientos de
detección y corrección de errores.

Darwin
Alulema
35

MODOS DE COMUNICACION
Full duplex: Se utilizan dos líneas (una transmisora y
otra receptora) y se transfiere información en ambos
sentidos. La ventaja es que se puede transmitir y
recibir información de manera simultánea.

La mayoría de los dispositivos especializados para


la comunicación pueden transferir información tanto
en full duplex como en half duplex (el modo simplex
es un caso especial dentro de half duplex).

Darwin
Alulema
36

PROTOCOLO 8N1
• Normalmente el protocolo de comunicación
utilizado es el 8N1, lo cual significa 8 bits de
datos, sin paridad y con 1 bit de stop.

Darwin
Alulema
Darwin Alulema V4.0 (2014) 37

¿Qué es RS-232?
• RS-232 (Estándar ANSI/EIA-232) es el conector
serial que se encuentra en las PCs compatibles
con IBM.
• Se lo utiliza con diversos propósitos, como el
conectar periféricos, impresoras, o módems, así
como para instrumentación industrial.
• El RS-232 está limitado a conexiones punto a
punto entre puertos seriales y dispositivos PC.
Darwin Alulema V4.0 (2014) 38

RS-232
ESPECIFICACIONES ELECTRICAS

• Un cero lógico debe estar entre +3 y +25 volt.


Generalmenet se utilizan +12volt.
• Un uno lógico debe estar entre -3 y -23volt.
Generalmenete se utilizan -12volt.
• La región entre -3 y +3volt es indefinida
• La corriente en cortocircuito no debe exceder los 500mA
Darwin Alulema V4.0 (2014) 39

RS-232
• La norma especifica dos tipos de conectores: DB-25
de 25 pines, que es similar al del pueto paralelo, y el
DB-9 de 9 pines, que es más utilizado.
• En cualquier caso, no se suele emplear mas de 9
pines en el conector DB-25. Ambos conectores con
machos en la parte trasera de la PC, así que para
conectar algún dispositivo, se necesitará un conector
DB-25 o DB-9 hembra.
Darwin Alulema V4.0 (2014) 40

RS-232
• La transmisión y recepción de Datos a través del puerto
serial utiliza los pines TXD (para transmitir) y RXD (para
recibir).
• La comunicación del RS-232 es asíncrona, esto quiere
decir que los datos no son enviados de acuerdo a un
reloj, sino que, cada byte de dato, es enviado utilizando
un bit de inicio.
Darwin Alulema V4.0 (2014) 41

RS-232
TRANSMISIÓN DE UN CARACTER O BYTE.

• La línea que transmite los datos en serie está


inicialmente en estado alto.
• Al comenzar la transferencia, se envía un bit a 0 o bit
de inicio. Tras él irán los bits de datos a transmitir
(puede configurarse para que sean 8,7,6 o 5 bits de
datos); estos bits están espaciados con un intervalo
temporal fijo y preciso, ligado a la velocidad de
transmisión que se esté empleando.
Darwin Alulema V4.0 (2014) 42

RS-232
CABLEADO DE PINES
Darwin Alulema V4.0 (2014) 43

COM
• La siguiente tabla muestra el ejemplo de 4 puertos COM
típicos.

Com Direccion Base IRQ


Com1 3F8 4
Com2 2F8 3
Com3 3E8 4
Com4 2E8 3
Darwin Alulema V4.0 (2014) 44

PROTOCOLO 8N1
Darwin Alulema V4.0 (2014) 45

DRIVER/RECEIVER (RS232)
• El circuito integrado MAX 232 proporciona dos líneas de
entrada y dos líneas de salida
Darwin Alulema V4.0 (2014) 46

DRIVER/RECEIVER (RS232)
• El siguiente esquema muestra la forma de conexión de
cualquier dispositivo con niveles TTL, de salida y de
entrada, con un PC con niveles RS-232.
47

BUS UNIVERSAL EN SERIE (USB)


• El USB es un estándar industrial desarrollado en
los años 1990 que define los cables, conectores y
protocolos usados en un bus para conectar,
comunicar y proveer de alimentación eléctrica,
entre ordenadores y periféricos y dispositivos
electrónicos.
• Su campo de aplicación se extiende en la
actualidad a cualquier dispositivo electrónico.

Darwin
Alulema
48

BUS UNIVERSAL EN SERIE (USB)


• Los dispositivos USB se clasifican en cuatro tipos
según su velocidad de transferencia de datos:
• Baja velocidad (1.0): Tasa de transferencia de hasta
1,5 Mbps.
• Velocidad completa (1.1): Tasa de transferencia de
hasta 12 Mbps.
• Alta velocidad (2.0): Tasa de transferencia de hasta
480 Mbps.
• Super alta velocidad (3.0): Tiene una tasa de
transferencia de hasta 4,8 Gbps .

Darwin
Alulema
49

BUS UNIVERSAL EN SERIE (USB)

Color del
Pin Nombre Descripción
cable
1 VCC Rojo +5v
2 D− Blanco Data −
3 D+ Verde Data +
4 GND Negro Masa

Darwin
Alulema
50

BUS UNIVERSAL EN SERIE (USB)


Pin Nombre Color Descripción
1 VCC Rojo +5 V
2 D- Blanco Data -
3 D+ Verde Data +

Permite la distinción
de Micro-A y Micro-B
4 ID Ninguno Tipo A: conectado a
masa
Tipo B: no conectado

Masa y retorno o
5 GND Negro
negativo
TEC V1.0 Darwin Alulema 51

TARJETAS DE ADQUISICIÓN DE SEÑALES


Darwin Alulema V4.0 (2014) 52

Software libre
• El software libre (en inglés free software, aunque esta
denominación también se confunde a veces con "gratis"
por la ambigüedad del término "free" en el idioma inglés,
por lo que también se usa "libre software" y "logical libre")
es la denominación del software que respeta la libertad
de los usuarios sobre su producto adquirido y, por tanto,
una vez obtenido puede ser usado, copiado, estudiado,
modificado, y redistribuido libremente.
• Según la Free Software Foundation, el software libre se
refiere a la libertad de los usuarios para ejecutar, copiar,
distribuir, estudiar, modificar el software y distribuirlo
modificado.
Darwin Alulema V4.0 (2014) 53

Hardware libre
• Se llama hardware libre a los dispositivos de hardware
cuyas especificaciones y diagramas esquemáticos son de
acceso público, ya sea bajo algún tipo de pago o de for-
ma gratuita.
• La filosofía del software libre (las ideas sobre la libertad
del conocimiento) es aplicable a la del hardware libre. Se
debe recordar en todo momento que libre no es sinónimo
de gratis. El hardware libre forma parte de la cultura libre.
TEC V1.0 Darwin Alulema 54

ARDUINO
Darwin Alulema V4.0 (2014) 55

ARDUINO
• Arduino puede tomar información del entorno a
través de sus pines de entrada, para esto toda
una gama de sensores puede ser usada y puede
afectar aquello que le rodea controlando luces,
motores y otros actuadores.
• El microcontrolador en la placa Arduino se
programa mediante el lenguaje de programación
Arduino (basado en Wiring) y el entorno de
desarrollo Arduino (basado en Processing).
Darwin Alulema V4.0 (2014) 56

Familia Arduino
Darwin Alulema V4.0 (2014) 57

Familia Arduino
Darwin Alulema V4.0 (2014) 58

Arduino UNO
1. Conector USB para el cable Tipo AB
2. Pulsador de Reset
3. Pines de E/S digitales y PWM
4. LED verde de placa encendida
5. LED naranja conectado al pin13
6. ATmega 16U2 encargado de la
comunicación con el PC
7. LED TX (Transmisor) y RX (Receptor)
de la comunicación serial
8. Puerto ICSP para programación serial
9. Microcontrolador ATmega 328, cerebro
del Arduino
10.Cristal de cuarzo de 16Mhz
11.Regulador de voltaje
12.Conector hembra 2.1mm con centro
positivo
13.Pines de voltaje y tierra
14.Entradas análogas
Darwin Alulema V4.0 (2014) 59

ENTORNO DE DESARROLLO
Darwin Alulema V4.0 (2014) 60

ENTORNO DE DESARROLLO
Darwin Alulema V4.0 (2014) 61

ENTORNO DE DESARROLLO
Darwin Alulema V4.0 (2014) 62

ENTORNO DE DESARROLLO
Darwin Alulema V4.0 (2014) 63

ENTORNO DE DESARROLLO
Darwin Alulema V4.0 (2014) 64

Cuerpo de programa
• Arduino se programa en el lenguaje de alto nivel C/C++
y generalmente tiene los siguiente componentes para
elaborar el algoritmo:
• Estructuras
• Variables
• Operadores matemáticos, lógicos y booleanos
• Estructuras de control (Condicionales y ciclos)
• Funciones
Darwin Alulema V4.0 (2014) 65

Estructuras
• Son dos funciones principales que debe tener todo
programa en Arduino:
setup(){
}
• Código de configuración inicial, solo se ejecuta una vez.
loop(){
}
• Esta función se ejecuta luego del setup(), se mantiene
ejecutándose hasta que se des- energice o desconecte el
Arduino.
Darwin Alulema V4.0 (2014) 66

Funciones digitales
• Orientas a revisar el estado y la configuración de las
entradas y salidas digitales
Darwin Alulema V4.0 (2014) 67

Funciones analógicas
• Ideales para la lectura y escritura de valores análogos
TEC V1.0 Darwin Alulema 68

MODELOS DE COMUNICACIONES
TEC V1.0 Darwin Alulema 69

EL AMANECER DE LA RED
Darwin Alulema V4.0 (2014) 70

Modelos de networking
• Para que los paquetes de datos puedan viajar desde
el origen hasta su destino a través de una red, es
importante que todos los dispositivos de la red
hablen el mismo lenguaje o protocolo.
• Un protocolo es un conjunto de reglas que hacen que la
comunicación en una red sea más eficiente.
• Por ejemplo, al pilotar un avión, los pilotos obedecen reglas
muy específicas para poder comunicarse con otros aviones y
con el control de tráfico aéreo.

• Un protocolo de comunicaciones de datos es un


conjunto de normas, o un acuerdo, que determina el
formato y la transmisión de datos.
Darwin Alulema V4.0 (2014) 71

Modelos de networking
• El protocolo en una capa realiza un conjunto
determinado de operaciones sobre los datos al
prepararlos para ser enviados a través de la red.
• Los datos luego pasan a la siguiente capa, donde
otro protocolo realiza otro conjunto diferente de
operaciones.
• Una vez que el paquete llega a su destino, los
protocolos deshacen la construcción del paquete que
se armó en el extremo de origen. Esto se hace en
orden inverso.
• Los protocolos para cada capa en el destino
devuelven la información a su forma original, para
que la aplicación pueda leer los datos correctamente.
Darwin Alulema V4.0 (2014) 72

Modelos de networking
Darwin Alulema V4.0 (2014) 73

Modelo OSI
• El modelo de referencia OSI es un marco que se
puede utilizar para comprender cómo viaja la
información a través de una red.
• El modelo de referencia OSI explica de qué manera los
paquetes de datos viajan a través de varias capas a otro
dispositivo de una red, aun cuando el remitente y el
destinatario poseen diferentes tipos de medios de red.
• En el modelo de referencia OSI, hay siete capas
numeradas, cada una de las cuales ilustra una
función de red específica.
Darwin Alulema V4.0 (2014) 74

Modelos de networking
Darwin Alulema V4.0 (2014) 75

Modelo OSI
• Entre dos capas puede haber una interfaz de
programación (API) para interpretar los mensajes o
paquetes a medida que van pasando.
• Utilizar una interfaz de programación, como la API de
Windows Sockets, libera al programador de tratar con
detalles de cómo se pasan los paquetes de información
entre las capas inferiores
Darwin Alulema V4.0 (2014) 76

Modelo OSI
Darwin Alulema V4.0 (2014) 77

Modelo OSI
Darwin Alulema V4.0 (2014) 78

Modelo OSI
Darwin Alulema V4.0 (2014) 79

Modelo OSI
Darwin Alulema V4.0 (2014) 80

Modelo OSI
Darwin Alulema V4.0 (2014) 81

Modelo OSI
Darwin Alulema V4.0 (2014) 82

Modelo OSI
Darwin Alulema V4.0 (2014) 83

Modelo OSI
Darwin Alulema V4.0 (2014) 84

Comunicaciones de par a par


• Para que los datos puedan viajar desde el origen
hasta su destino, cada capa del modelo OSI en el
origen debe comunicarse con su capa par en el lugar
destino.
• Esta forma de comunicación se conoce como de par-
a-par.
• Durante este proceso, los protocolos de cada capa
intercambian información, denominada unidades de datos de
protocolo (PDU).
• Cada capa de comunicación en el computador origen
se comunica con un PDU específico de capa, y con
su capa par en el computador destino, como lo ilustra
la figura
Darwin Alulema V4.0 (2014) 85

Comunicaciones de par a par


• Los paquetes de datos de una red parten de un
origen y se envían a un destino.
• Cada capa depende de la función de servicio de la
capa OSI que se encuentra debajo de ella.
• Para brindar este servicio, la capa inferior utiliza el
encapsulamiento para colocar la PDU de la capa superior en
su campo de datos, luego le puede agregar cualquier
encabezado e información final que la capa necesite para
ejecutar su función.
• Posteriormente, a medida que los datos se desplazan hacia
abajo a través de las capas del modelo OSI, se agregan
encabezados e información final adicionales.
Darwin Alulema V4.0 (2014) 86

Comunicaciones de par a par


Darwin Alulema V4.0 (2014) 87

Comunicaciones de par a par


Darwin Alulema V4.0 (2014) 88

Comunicaciones de par a par


Darwin Alulema V4.0 (2014) 89

Direccionamiento IP
• Para que dos sistemas se comuniquen, se deben poder
identificar y localizar entre sí.
• Aunque las direcciones de la Figura no son direcciones de red reales,
representan el concepto de agrupamiento de las direcciones. Este utiliza A
o B para identificar la red y la secuencia de números para identificar el
host individual.
Darwin Alulema V4.0 (2014) 90

Direccionamiento IP
• Un computador puede estar conectado a más de una red.
En este caso, se le debe asignar al sistema más de una
dirección.
• Cada dirección identificará la conexión del computador a
una red diferente.
• No se suele decir que un dispositivo tiene una dirección sino que
cada uno de las interfaces de dicho dispositivo tienen una
dirección en una red.
• Cada computador conectado a una red TCP/IP debe
recibir un identificador exclusivo o una dirección IP.
• Esta dirección, que opera en la Capa 3, permite que un computador
localice otro computador en la red.
• Todos los computadores también cuentan con una
dirección física exclusiva, conocida como dirección MAC.
• Estas son asignadas por el fabricante de la tarjeta de intefaz de la
red.
• Las direcciones MAC operan en la Capa 2 del modelo OSI
Darwin Alulema V4.0 (2014) 91

Direccionamiento IP
• Una dirección IP es una secuencia de unos y ceros de 32
bits.
• Para que el uso de la dirección IP sea más sencillo, en
general, la dirección aparece escrita en forma de cuatro
números decimales separados por puntos.
Darwin Alulema V4.0 (2014) 92

Direccionamiento IPv4
• Cada dirección IP consta de dos partes.
• Una parte identifica la red donde se conecta el sistema
y la segunda identifica el sistema en particular de esa
red.
Darwin Alulema V4.0 (2014) 93

Direccionamiento IPv4
• Las direcciones IP se dividen en clases para
definir las redes de tamaño pequeño, mediano y
grande.
• Las direcciones Clase A se asignan a las redes de
mayor tamaño.
• Las direcciones Clase B se utilizan para las redes de
tamaño medio
• Las de Clase C para redes pequeñas.
Darwin Alulema V4.0 (2014) 94

Direccionamiento IPv4
Darwin Alulema V4.0 (2014) 95

Direccionamiento IPv4
Darwin Alulema V4.0 (2014) 96

Direccionamiento IPv4
Darwin Alulema V4.0 (2014) 97

Direcciones IP públicas y privadas


Darwin Alulema V4.0 (2014) 98

Asignación estática de una dirección IP


• La asignación estática funciona mejor en las redes
pequeñas con poca frecuencia de cambios.
• De forma manual, el administrador del sistema asigna y
rastrea las direcciones IP para cada computador, impresora
o servidor de una red interna.
• Es fundamental llevar un buen registro para evitar que se
produzcan problemas con las direcciones IP repetidas.
• Esto es posible sólo cuando hay una pequeña cantidad de
dispositivos que rastrear.
Darwin Alulema V4.0 (2014) 99

Asignación estática de una dirección IP


Darwin Alulema V4.0 (2014) 100

Asignación estática de una dirección IP


Darwin Alulema V4.0 (2014) 101

Capa de Transporte
• El flujo de datos de la capa de transporte es una
conexión lógica entre los puntos de terminación
de una red.
• Sus tareas principales son las de transportar y
regular el flujo de información desde el origen
hasta el destino de forma confiable y precisa.
• La tarea principal de la Capa 4 es suministrar
control de extremo a extremo usando ventanas
deslizantes y brindar confiabilidad para los
números de secuencia y los acuses de recibo.
Darwin Alulema V4.0 (2014) 102

Capa de Transporte
• La capa de transporte define la conectividad de
extremo a extremo entre las aplicaciones del
host.
• Los protocolos de la capa de transporte
segmentan y reensamblan los datos mandados
por las aplicaciones de capas superiores en el
mismo flujo de datos de capa de transporte.
Darwin Alulema V4.0 (2014) 103

Capa de Transporte
Darwin Alulema V4.0 (2014) 104

Capa de Transporte
• Control de fujo
Darwin Alulema V4.0 (2014) 105

Capa de Transporte
• Ventana deslizante
Darwin Alulema V4.0 (2014) 106

Capa de Transporte
• Los servicios de transporte incluyen los siguientes
servicios básicos:
• Segmentación de los datos de las aplicaciones de capa
superior
• Establecimiento de las operaciones de extremo a extremo
• Transporte de segmentos desde un host final a otro host
final
• Control de flujo, suministrado por las ventanas deslizantes
• Confiabilidad, suministrada por los números de secuencia y
los acuses de recibo
Darwin Alulema V4.0 (2014) 107

Protocolo para el Control de la


Transmisión (TCP)
• El Protocolo para el control de la transmisión (TCP) es un
protocolo de Capa 4 orientado a conexión que suministra
una transmisión de datos confiable.
• TCP forma parte de la pila del protocolo TCP/IP. En un
entorno orientado a conexión, se establece una conexión
entre ambos extremos antes de que se pueda iniciar la
transferencia de información.
• TCP es responsable por la división de los mensajes en
segmentos, reensamblándolos en la estación destino,
reenviando cualquier mensaje que no se haya recibido y
reensamblando mensajes a partir de los segmentos.
• TCP suministra un circuito virtual entre las aplicaciones
del usuario final.
Darwin Alulema V4.0 (2014) 108

Protocolo para el Control de la


Transmisión (TCP)
• Los protocolos que usan TCP incluyen:
• FTP (Protocolo de transferencia de archivos)
• HTTP (Protocolo de transferencia de hipertexto)
• SMTP (Protocolo simple de transferencia de correo)
• Telnet
Darwin Alulema V4.0 (2014) 109

Protocolo para el Control de la


Transmisión (TCP)
Darwin Alulema V4.0 (2014) 110

Protocolo de Datagrama de Usuario


(UDP)
• El Protocolo de datagrama de usuario (UDP: User
Datagram Protocol) es el protocolo de transporte no
orientado a conexión de la pila de protocolo TCP/IP.
• El UDP es un protocolo simple que intercambia
datagramas sin acuse de recibo ni garantía de entrega.
• El procesamiento de errores y la retransmisión deben
ser manejados por protocolos de capa superior.
• El UDP no usa ventanas ni acuses de recibo de modo
que la confiabilidad, de ser necesario, se suministra a
través de protocolos de la capa de aplicación.
• El UDP está diseñado para aplicaciones que no necesitan
ensamblar secuencias de segmentos.
Darwin Alulema V4.0 (2014) 111

Protocolo de Datagrama de Usuario


(UDP)
• Los protocolos que usan UDP incluyen:
• TFTP (Protocolo trivial de transferencia de
archivos)
• (SNMP) Protocolo simple de administración de
red
• DHCP (Protocolo de configuración dinámica del
host)
• DNS (Sistema de denominación de dominios)
Darwin Alulema V4.0 (2014) 112

Protocolo de Datagrama de Usuario


(UDP)
Darwin Alulema V4.0 (2014) 113

Números de puerto TCP y UDP


• Tanto TCP como UDP utilizan números de puerto
(socket) para enviar información a las capas
superiores.
• Los números de puerto se utilizan para mantener
un registro de las distintas conversaciones que
atraviesan la red al mismo tiempo.
Darwin Alulema V4.0 (2014) 114

Números de puerto TCP y UDP


• Los programadores del software de aplicación han
aceptado usar los números de puerto conocidos que
emite la Agencia de Asignación de Números de Internet
(IANA: Internet Assigned Numbers Authority).
• Cualquier conversación dirigida a la aplicación FTP usa
los números de puerto estándar 20 y 21.
• A las conversaciones que no involucran ninguna
aplicación que tenga un número de puerto bien conocido,
se les asignan números de puerto que se seleccionan de
forma aleatoria dentro de un rango específico por encima
de 1023.
• Algunos puertos son reservados, tanto en TCP como en
UDP, aunque es posible que algunas aplicaciones no
estén diseñadas para admitirlos.
Darwin Alulema V4.0 (2014) 115

Números de puerto TCP y UDP


• Los números de puerto tienen los siguientes
rangos asignados:
• Los números inferiores a 1024 corresponden a
números de puerto bien conocidos.
• Los números superiores a 1024 son números de puerto
asignados de forma dinámica.
Darwin Alulema V4.0 (2014) 116

Números de puerto TCP y UDP


Darwin Alulema V4.0 (2014) 117

CABLE UTP
• Implementación del UTP
• EIA/TIA especifica el uso de un conector RJ-45 para cables
UTP.
• Las letras RJ significan "registered jack" (jack registrado), y
el número 45 se refiere a una secuencia específica de
cableado.
• El conector transparente RJ-45 muestra ocho hilos de
distintos colores. Cuatro de estos hilos conducen el voltaje.
Los otros cuatro hilos están conectados a tierra.
Darwin Alulema V4.0 (2014) 118

CABLE UTP
• En un cable de conexión cruzada, los conectores RJ-45
de ambos extremos muestran que algunos hilos de un
extremo del cable están cruzados a un pin diferente en el
otro extremo del cable. La Figura muestra que los pins 1
y 2 de un conector se conectan respectivamente a los
pins 3 y 6 de otro.
TEC V1.0 Darwin Alulema 119

COMUNICACIÓN SERIAL
Darwin Alulema V4.0 (2014) 120

Comunicación serial
• En el caso de Arduino el 1 es 5V y 0 son 0V que se
suelen denominar niveles TTL.
• Arduino no es compatible con RS-232.
• Las tarjetas Arduino vienen con un solo puerto serie
UART, donde el convertidor está integrado y corresponde
a los pines 0 y 1.
• Cuando se utiliza la comunicación serie los pines 0 y 1 no
pueden ser utilizados.
• En el caso de Arduino Mega tiene 4 puertos serie, se
puede acceder mediante:
• Serial1 (pines 18 tx y 19 rx)
• Serial2 (pines 16tx y 17rx)
• Serial3 (pines 15tx y 14rx)
Darwin Alulema V4.0 (2014) 121

Comunicación serial
• Para configurar el puerto se debe utilizar la instrucción
Serial.begin(velocidad)

• Para terminar la comunicación se emplea la instrucción:


Serial.end()

• Para enviar información desde Arduino se utiliza la instrucción:


Serial.print()
Serial.println()
Darwin Alulema V4.0 (2014) 122

Comunicación serial
• Existen dos tipos de transmisiones:
• Comprensibles por los humanos
• Serial.print()
• Serial.printl()
• Comprensibles por los dispositivos
• Serial.write
Darwin Alulema V4.0 (2014) 123

Comunicación serial
Darwin Alulema V4.0 (2014) 124

Comunicación serial
• Para saber si hay datos esperando a ser leídos se usa la
instrucción:
• Serial.avaible()

• Cuando se sabe que existen datos en la entrada se utiliza


la instrucción:
• Serial.read()
• Devuelve el primer byte disponible en el buffer de
entrada, si no hay datos devuelve -1.
Darwin Alulema V4.0 (2014) 125

Comunicación serial
Darwin Alulema V4.0 (2014) 126

MANEJO DEL PUERTO SERIE


• El API Java Communications (COMM) es un
paquete opcional para la plataforma Java 2.
• Proporciona soporte para comunicación con
dispositivos periféricos a través de los puertos
serie y paralelo.
Darwin Alulema V4.0 (2014) 127

MANEJO DEL PUERTO SERIE


• Es un API especial en el sentido de que aunque
está bien definido multi-plataforma, debe
descargarse una versión específica de las
librerías COMM para utilizarlo.
• Implementa los estándares RS-232 para puerto serie y
IEEE-1284 para el puerto paralelo.
Darwin Alulema V4.0 (2014) 128

MANEJO DEL PUERTO SERIE


La instalación del API de Comunicaciones de java para
Windows, se la puede realizar de la siguiente manera:

• comm.jar …\jdk1.6\jre\lib\ext
• win32com.dll …\jdk1.6\bin
• javax.comm.properties …\jdk1.6\jre\lib

• Además si existiera algún error, se debe copiar:

win32com.dll …\WINDOWS\system32
Darwin Alulema V4.0 (2014) 129

MANEJO DEL PUERTO SERIE


• Las clases disponibles para el manejo de puertos
son:
• CommPort
• CommPortIdentifier
• ParallelPort
• SerialPort
Darwin Alulema V4.0 (2014) 130

MANEJO DEL PUERTO SERIE

CommPort
Esta es una clase abstracta
que describe los métodos
comunes de comunicación
y serán las clases que
heredan de ellas(SerialPort
y ParallelPort) la que
añaden métodos y
variables propias del tipo
del puerto.
Darwin Alulema V4.0 (2014) 131

MANEJO DEL PUERTO SERIE


• getPortIdentifiers().- Este método entrega un
enumerado con tantos objetos CommPortIdentifier como
puertos se disponga.
• getPortType().- Devuelve un entero que informa el tipo
del puerto (serie o paralelo), se dispone de las constantes
PORT_PARALLEL Y PORT_SERIAL.
Darwin Alulema V4.0 (2014) 132

MANEJO DEL PUERTO SERIE


• isCurrentOwned().- Informa si esta libre o no el puerto, en el caso de
que esté ocupado se puede saber quien lo está utilizando mediante
el método getCurrentOwner().
• open(String, int).- Abre y por lo tanto reserva un puerto. Los
parámetros son un String con el nombre de la aplicación que reserva
el puerto y un int que indica el tiempo de espera para abrir el puerto.
• En el caso de que se intente abrir un puerto que este siendo utilizado
saltará la excepción PortInUseException.
Darwin Alulema V4.0 (2014) 133

MANEJO DEL PUERTO SERIE


• close().- Permite liberar el puerto que se reservó
con open, este notificará el cambio de dueño a
las clases que se hubiesen registrado con el
método addPortOwnershipListener.
• getOutputStream().- Permite enlazar la salida
del puerto al OutputStream que devuelve para
poder escribir en el puerto de la misma forma
que si escribiera en un fichero.
• getInputStream() .- permite enlazar la entrada
del puerto al InputStream para leer del puerto.
Darwin Alulema V4.0 (2014) 134

MANEJO DEL PUERTO SERIE


CommPortIdentifier

• Administra la comunicación con los puertos. Controla el


acceso a los puertos y determina los puertos disponibles
y los ocupados por que dispositivos y maneja eventos de
cambios sobre el estado.
Darwin Alulema V4.0 (2014) 135

MANEJO DEL PUERTO SERIE


CLASE SerialPort

• Corresponde a la interfase de bajo nivel del puerto serie


que cumple con el estándar RS-232.
• La clase SerialPort hereda de la clase abstracta
CommPort y por lo tanto cuenta con sus métodos pero
además de estos dispone de otros métodos y variables
específicas para el tratamiento de los puertos serie.
Darwin Alulema V4.0 (2014) 136

MANEJO DEL PUERTO SERIE


• setSerialPortParam(int, in, int, int).- Permite
configurar los parámetros del puerto serie.
• Este método utiliza la excepción
UnsupportedCommOperationException en el caso de
que los valores no sean soportados.
Darwin Alulema V4.0 (2014) 137

MANEJO DEL PUERTO SERIE


Los parámetros son:
• La velocidad
• Bits de datos, para indicar el valor se utiliza las
constantes de la clase (DATA_5, DATA_6, DATA_7,
DATA_8)
• Bit o bits de stop, que puede ser 1, 2 o 1,5. Las
constantes que definen estas configuraciones son:
STOPBITS_1, STOBITS_2 y STOPBIT_1_5.
• Paridad, que puede ser PARITY_NOME en el caso de no
utilizar paridad, PARITY_ODD para la paridad impar,
PARITY_EVEN paridad par, PERITY_MARK paridad por
marca y PARITY_SPACE paridad por espacio.
Darwin Alulema V4.0 (2014) 138

Taller 1
Darwin Alulema V4.0 (2014) 139

Taller 1
Darwin Alulema V4.0 (2014) 140

Taller 1
Darwin Alulema V4.0 (2014) 141

Taller 1
Darwin Alulema V4.0 (2014) 142

Taller 2: EJEM2-CAP10-TEC1
Darwin Alulema V4.0 (2014) 143

Taller 2
Darwin Alulema V4.0 (2014) 144
Darwin Alulema V4.0 (2014) 145

Taller 2
Darwin Alulema V4.0 (2014) 146

Taller 3: EJEM3-CAP10-TEC1
Darwin Alulema V4.0 (2014) 147

Taller 3
Darwin Alulema V4.0 (2014) 148

Taller 3
Darwin Alulema V4.0 (2014) 149

Taller 3
Darwin Alulema V4.0 (2014) 150

Taller 3
Darwin Alulema V4.0 (2014) 151

Taller 4: EJEM4-CAP10-TEC1-V5
• Implemente una aplicación en Java que permita
establecer una comunicación bidireccional utilizando el
puerto serie.
Darwin Alulema V4.0 (2014) 152

Taller 5
Darwin Alulema V4.0 (2014) 153

Taller 5
Darwin Alulema V4.0 (2014) 154

Taller 5
Darwin Alulema V4.0 (2014) 155

Taller 5
Darwin Alulema V4.0 (2014) 156

Taller 5
Darwin Alulema V4.0 (2014) 157

Taller 5
Darwin Alulema V4.0 (2014) 158

Taller 5

Вам также может понравиться