miércoles, 4 de diciembre de 2013
5.4. Aplicaciones de los microcontroladores
Cada vez existen más productos que incorporan un microcontrolador con el
fin de aumentar sustancialmente sus prestaciones, reducir su tamaño y coste,
mejorar su fiabilidad y disminuir el consumo.
Algunos fabricantes de microcontroladores superan el millón de unidades
de un modelo determinado producidas en una semana. Este dato puede dar una idea
de la masiva utilización de estos componentes.
Los microcontroladores están siendo empleados en multitud de sistemas presentes en nuestra vida diaria, como pueden ser juguetes, horno
microondas, frigoríficos, televisores, computadoras, impresoras, módems, el
sistema de arranque de nuestro coche, etc. Y otras aplicaciones con las que
seguramente no estaremos tan familiarizados como instrumentación electrónica, control de
sistemas en una nave espacial, etc. Una aplicación típica podría emplear varios
microcontroladores para controlar pequeñas partes del sistema. Estos pequeños
controladores podrían comunicarse entre ellos y con un procesador central,
probablemente más potente, para compartir la información y coordinar sus acciones, como, de
hecho, ocurre ya habitualmente en cualquier PC.
5.3. Características y uso de elementos del microcontrolador
Los microcontroladores son diseñados para reducir el costo económico y
el consumo de energía de un sistema en particular. El tamaño de la unidad
central de procesamiento, la cantidad de memoria y los periféricos incluidos
dependerán de la aplicación.
Puertos de
comunicación
Puerto serie
Este periférico está presente en casi
cualquier microcontrolador, normalmente en forma de UART (Universal
Asynchronous Receiver Transmitter) o USART (Universal Synchronous Asynchronous
Receiver Transmitter) dependiendo de si permiten o no el modo sincrónico de
comunicación.
El destino común de este periférico es la
comunicación con otro microcontrolador o con una PC y en la mayoría de los
casos hay que agregar circuitos externos para completar la interfaz de
comunicación. La forma más común de completar el puerto serie es para
comunicarlo con una PC mediante la interfaz EIA-232 (más conocida como RS-232), es por ello que muchas
personas se refieren a la UART o USART como puerto serie RS-232, pero esto
constituye un error, puesto que este periférico se puede utilizar para
interconectar dispositivos mediante otros estándares de comunicación.
SPI
Este tipo de periférico se utiliza para
comunicar al microcontrolador con otros microcontroladores o con periféricos
externos conectados a él, por medio de una interfaz muy sencilla. Hay solo un
nodo controlador que permite iniciar cualquier transacción, lo cual es una
desventaja en sistemas complejos, pero su sencillez permite el aislamiento
galvánico de forma directa por medio de opto acopladores.
I2C
Cumple las mismas funciones que el SPI,
pero requiere menos señales de comunicación y cualquier nodo puede iniciar una
transacción. Es muy utilizado para conectar las tarjetas gráficas de las
computadoras personales con los monitores, para que estos últimos informen de
sus prestaciones y permitir la autoconfiguración del sistema de vídeo.
USB
Los microcontroladores son los que han
permitido la existencia de este sistema de comunicación. Es un sistema que
trabaja por polling (monitorización) de un conjunto de
periféricos inteligentes por parte de un amo, que es normalmente un computador
personal. Cada modo inteligente está gobernado inevitablemente por un
microcontrolador.
Temporizadores y contadores
Son
circuitos sincrónicos para el conteo de los pulsos que llegan a su poder para
conseguir la entrada de reloj. Si la fuente de un gran conteo es el oscilador
interno del microcontrolador es común que no tengan un pin asociado, y en este
caso trabajan como temporizadores. Por otra parte, cuando la fuente de conteo
es externa, entonces tienen asociado un pin configurado como entrada, este es
el modo contador.
Los
temporizadores son uno de los periféricos más habituales en los
microcontroladores y se utilizan para muchas tareas, como por ejemplo, la
medición de frecuencia, implementación de relojes, para el trabajo de conjunto
con otros periféricos que requieren una base estable de tiempo entre otras
funcionalidades. Es frecuente que un microcontrolador típico incorpore más de
un temporizador/contador e incluso algunos tienen arreglos de contadores. Como
veremos más adelante este periférico es un elemento casi imprescindible y es
habitual que tengan asociada alguna interrupción. Los tamaños típicos de los
registros de conteo son 8 y 16 bits, pudiendo encontrar dispositivos que solo
tienen temporizadores de un tamaño o con más frecuencia con ambos tipos de
registro de conteo.
Conversor
analógico/digital
Como es
muy frecuente el trabajo con señales analógicas, éstas deben ser convertidas a digital
y por ello muchos microcontroladores incorporan un conversor analógico-digital, el cual
se utiliza para tomar datos de varias entradas diferentes que se seleccionan
mediante un multiplexor.
Las
resoluciones más frecuentes son 8 y 10 bits, que son suficientes para
aplicaciones sencillas. Para aplicaciones en control e instrumentación están
disponibles resoluciones de 12bit, 16bit y 24bit.También es posible conectar un
convertidor externo, en caso de necesidad
5.2. Conjunto de instrucciones y lenguaje ensamblador
Tipo
|
Instrucción
del 8088
|
Comentarios
|
Aritmética
Lógica
Transferencia
Carga
Salto
Loop
Stack
Conteo
Comparación
Bandera
|
ADC,
ADD, DIV, IDIV, IMUL, MUL, SBB, SUB
AND,
NEG, NOT, OR, TEST, XOR
MOV,
MOVS (MOVSB) (MOVSW)
LODS
(LODSB) (LODSW), LAHF, LDS, LEA, LES
JA
(JNBE), JAE (JNB) (JNC), JB, (JNAE) (JC), JBE (JNA), JCXZ, JE, (JZ), JG
(JNLE), JGE (JNL), JL, (JNGE), JLE (JNG), JMP, JNE, (JNZ), JNO, JNP (JPO),
JNS, JO, JP (JPE), IS
LOOP,
LOOPE (LOOPZ), LOOPNE (LOOPNZ)
POP,
POPF, PUSH, PUSHF
DEC,
INC
CMP,
CMPS, (CMPSB) (CMPSW)
CLC,
CLD, CLI, CMC, STC, STD, STI
|
Estas
instrucciones se utilizan para realizar operaciones aritméticas sobre los
operandos fuente y destino.
Utilizadas
para realizar operaciones lógicas sobre los operandos.
El
movimiento del contenido del operando se realiza utilizando estas
instrucciones. Cada instrucción se puede utilizar con diferentes modos de
direccionemiento.
Se
utiliza para cargar en los diferentes registros bytes o cadenas de bytes. Son
específicas del registro.
Estas
instrucciones transfieren el flujo del proceso al operando indicando. La
transferencia puede ser incondicional o dependiente de la existencia de
ciertas condiciones, en el momento que se ejecuta un salto.
Permite
la transferencia, ya sea condicional o incondicional, del flujo del proceso a
un destino hasta que el contador del loop se decrementa hasta cero.
Estas
instrucciones proporcionan las localidades para colocar operandos y
direcciones y retirarlos del stack.
Instrucciones
empleadas para incrementar o decrementar el contenido de los contadores.
Utilizadas
para comparar operandos. Afectan el estado de las banderas.
Afectan
el estado de las banderas.
|
5.1. Organización del microcontrolador
Los
microcontroladores son computadores digitales integrados en un chip que cuentan
con un microprocesador o unidad de procesamiento central (CPU), una memoria
para almacenar el programa, una memoria para almacenar datos y puertos de
entrada salida. A diferencia de los microprocesadores de propósito general,
como los que se usan en los computadores PC, los microcontroladores son
unidades autosuficientes y más económicas.
Características que
lo destacan




4.4. Desempeño de las computadoras actuales
El rendimiento del
procesador puede ser medido de distintas maneras, hasta hace pocos años se
creía que la frecuencia de reloj era una medida precisa, pero ese mito, conocido como mito de los mega hertzios se
ha visto desvirtuado por el hecho de que los procesadores no han requerido
frecuencias más altas para aumentar su potencia de cómputo.
Durante los últimos
años esa frecuencia se ha mantenido en el rango de los 1,5 GHz a 4 GHz, dando como resultado
procesadores con capacidades de proceso mayores comparados con los primeros que
alcanzaron esos valores. Además la tendencia es a incorporar más núcleos dentro
de un mismo encapsulado para aumentar el rendimiento por medio de una
computación paralela, de manera que la velocidad de reloj es un indicador menos
fiable aún. De todas maneras, una forma fiable de medir la potencia de un
procesador es mediante la obtención de las Instrucciones
por ciclo.
4.3. Las características de los chipsets actuales
635
Express: Intel Core II con los ICH8R o ICH8DH tecnología inter de virtualización
1.1 con 8 Gb de ancho de banda.
|
x38 Express
: Core II dúo e Core II quak, Pci express 2.0, 16 Gb de ando de banda,
gráficos 16x
|
P956
Express : Compatible con Core II dúo, Intel Pentium D y con tecnología
H4 Intel Celeron zócalo LGA775 futuro procesador 3.5 veces en ancho de banda
en interfaz AGP8x
|
x58 Express
: Tecnología Quick-Path compatibilidad Core i7-965, i7-940 express 2.0 de 16
Gb/s
|
G41 Express
: Compatibilidad Core II dúo e Intel Core II quack es PCI express 1.1 y 8Gb/s
para gráficos 3D
|
4.2. Las mejoras en la evolución de los chipsets
Año
|
|
Descripción
|
1978
|
Intel 8086
|
Los Intel 8086 e Intel 8088
(i8086, llamado oficialmente iAPX 86, e i8088) son dos microprocesadores de
16 bits diseñados por Intel en 1978, iniciadores de la arquitectura x86. La
diferencia entre el i8086 y el i8088 es que este último utiliza un bus
externo de 8 bits, para poder emplear circuitos de soporte al microprocesador
más económicos, en contraposición al bus de 16 bits del i8086.
|
1982
|
chipset
80186
|
Los Intel
80186 y 80188 (i80186 e i81088) son dos microprocesadores que fueron
desarrollados por Intel alrededor de 1982. Los i80186 e i80188 son una mejora
del Intel 8086 y del Intel 8088 respectivamente. Al igual que el i8086, el
i80186 tiene un bus externo de 16 bits, mientras que el i80188 lo tiene de 8
bits como el i8088, para hacerlo más económico. La velocidad de reloj del
i80186 e i80188 es de 6 MHz.
|
1983
|
chipset ARM2
|
La arquitectura del ARM2 posee un bus de datos de 32 bits y ofrece un
espacio de direcciones de 26 bits, junto con 16 registros de 32 bits. Uno de
estos registros se utiliza como contador de programa, aprovechándose sus 4
bits superiores y los 2 inferiores para contener los flags de estado del
procesador.
|
1995
|
pentium pro
|
El Pentium
Pro es la sexta generación de arquitectura x86 de los microprocesadores de
Intel, cuya meta era remplazar al Intel Pentium en toda la gama de
aplicaciones, pero luego se centró como chip en el mundo de los servidores y
equipos de sobremesa de gama alta. Posteriormente Intel lo dejó de lado a
favor de su gama de procesadores de altas prestaciones llamada Xeon.
|
4.1. Características de los primeros chipsets
Un chipset es el conjunto de circuitos integrados diseñados con base a la arquitectura de un procesador, permitiendo que ese tipo de procesadores
funcionen en una placa
base. Sirven de puente de comunicación con el resto de componentes de la placa, como son la memoria, las tarjetas de expansión, los puertos USB, ratón, teclado, etc.
Antiguamente estas funciones eran relativamente sencillas de
realizar y el chipset apenas influía en el rendimiento del ordenador, por lo
que el chipset era el último elemento al que se concedía importancia a la hora
de comprar una placa base, si es que alguien se molestaba siquiera en
informarse sobre la naturaleza del mismo. Pero los nuevos y muy complejos
micros, junto con un muy amplio abanico de tecnologías en materia de memorias,
caché y periféricos que aparecen y desaparecen casi de mes en mes, han hecho
que la importancia del chipset crezca enormemente.
3.4. Entrada y salida de datos a dispositivos periféricos.
Los periféricos de
entrada/salida son los que utiliza el ordenador tanto para mandar como para
recibir información. Su función es la de almacenar o guardar, de forma
permanente o virtual, todo aquello que hagamos con el ordenador para que pueda
ser utilizado por los usuarios u otros sistemas.
Son ejemplos de
periférico de entrada/salida o de almacenamiento:
Periféricos de entrada










Periféricos de salida








3.3. Tipos de puertos estándar
Cada máquina conectada a una red utilizando el protocolo TCP
/ IP, tiene asignado un grupo de 4 bloques de un máximo de 3 cifras que van del
0 al255 que la identifica como única en la red a la que esta conectada, de
forma que pueda recibir y enviar información de y a otras máquinas en concreto.
A este grupo de cifras se le denomina dirección IP. La petición, envío y
recepción de información la realizan aplicaciones que están corriendo en las
máquinas en red, con el fin de realizar diversas tareas. Para poder realizar
varias de forma simultánea, la ip tiene asignados 65536 puntos de salida y
entrada de datos, algunos de ellos asignados por un estándar, definido por IANA
(”Internet Assigned Numbers Authority”) en el documento rfc1700, a unos
servicios determinados (web, ftp, telnet, etc.)de forma que las aplicaciones
sepan en todo momento en qué puerta encontrarán un tipo de información
determinada. Éstos son los puertos que van del 0 al 1023 y se denominan
“Puertos bien conocidos”. Por otra partelos puertos que van del 1024 al 65535
son conocidos como “Puerto sazarosos” y pueden ser utilizados libremente por
las aplicaciones.
3.2. Evolución de los buses y el tamaño del dato.
Funciones que debe realizar un computador para ejecutar
trabajos de entrada/salida:



Esta última función es necesaria debido a la diferencia de
velocidades entre los dispositivos y la CPU y a la independencia que debe
existir entre los periféricos y la CPU.
Una transferencia elemental de información es la transmisión
de una sola unidad de información (normalmente un byte) entre el procesador y
el periférico o viceversa. Para efectuar una transferencia elemental de
información son precisas las siguientes funciones:


Una operación de E/S es el conjunto de acciones necesarias
para la transferencia de un conjunto de datos. Para la realización de una
operación de E/S se deben efectuar las siguientes funciones:




3.1. Buses y la transferencia de la información
Los ordenadores incluyen varias ranuras de expansión dentro
de la placa madre para la instalación de dispositivos internos. Estas ranuras
de expansión se comunican con el procesador a través de un bus (una línea de
datos) más exactamente, el bus de datos comunica las ranuras de expansión con
el chipset de la placa madre, el cual pasa los datos al procesador.
En el bus se encuentran dos pistas separadas, el bus de
datos y el bus de direcciones. La CPU escribe la dirección de la posición
deseada de la memoria en el bus de direcciones accediendo a la memoria,
teniendo cada una de las líneas carácter binario. Es decir solo
pueden representar 0 o 1 y de esta manera forman conjuntamente el número de la
posición dentro de la memoria (es decir: la dirección). Cuantas más líneas haya
disponibles, mayor es la dirección máxima y mayor es la memoria a la cual puede
dirigirse de esta forma. En el bus de direcciones original había ya 20
direcciones, ya que con 20 bits se puede dirigir a una memoria de 1 MB y esto
era exactamente lo que correspondía a la CPU.
2.3. Tipos De Memorias
Memoria de acceso aleatorio
La memoria de acceso
aleatorio (en inglés: random-access memory) se utiliza como memoria
de trabajo para el sistema operativo, los programas y la mayoría del software.
Es allí donde se cargan todas las instrucciones que ejecutan el procesador y
otras unidades de cómputo. Se denominan «de acceso aleatorio» porque se puede
leer o escribir en una posición de memoria con un tiempo de espera igual para
cualquier posición, no siendo necesario seguir un orden para acceder a la
información de la manera más rápida posible. Durante el encendido del
computador, la rutina POST verifica que los módulos de memoria RAM
estén conectados de manera correcta. En el caso que no existan o no se detecten
los módulos, la mayoría de tarjetas madres emiten una serie de pitidos que
indican la ausencia de memoria principal. Terminado ese proceso, la memoria BIOS puede
realizar un test básico sobre la memoria RAM indicando fallos mayores en la
misma.
Memoria de
solo lectura
La memoria de solo lectura, conocida también como ROM (en inglés de read-only memory), es un medio de almacenamiento utilizado en
ordenadores y dispositivos electrónicos, que permite sólo la lectura de la
información y no su escritura, independientemente de la presencia o no de una
fuente de energía.
Los datos
almacenados en la ROM no se pueden modificar, o al menos no de manera rápida o
fácil. Se utiliza principalmente en su sentido más estricto, se refiere sólo a
máscara ROM -en inglés, MROM- (el más antiguo tipo de estado sólido ROM), que
se fabrica con los datos almacenados de forma permanente y, por lo tanto, su
contenido no puede ser modificado de ninguna forma. Sin embargo, las ROM más
modernas, como EPROM y Flash
EEPROM, efectivamente se pueden borrar y volver a programar varias veces, aun
siendo descritos como "memoria de sólo lectura" (ROM).
Memoria
flash
La memoria flash derivada
de la memoria EEPROM permite la lectura y
escritura de múltiples posiciones de memoria en la misma operación. Gracias a
ello, la tecnología flash,
siempre mediante impulsos eléctricos, permite velocidades de funcionamiento muy
superiores frente a la tecnología EEPROM primigenia, que sólo permitía actuar
sobre una única celda de memoria en cada operación de programación. Se trata de
la tecnología empleada en los dispositivos denominados memoria USB.
2.2. Acceso A Los Datos Y Temporización
Para afrontar esta necesidad, se definió un canal de
acceso directo a la memoria denominada DMA (Direct
Memory Access por sus siglas en inglés).
El canal DMA es un acceso a una ubicación RAM en
el ordenador, al que una "Dirección de Inicio RAM" y una
"Dirección de Fin" hacen referencia. Este método permite que un
periférico utilice canales especiales que le den acceso directo a la memoria,
sin involucrar al microprocesador. Esto permite que el microprocesador se
libere de la necesidad de hacer este trabajo.
Un ordenador tipo PC cuenta con 8 canales DMA. Los
primeros cuatro canales DMA poseen 8 bits mientras que los DMA que van del
cuarto al séptimo poseen 16 bits.
Normalmente, los canales DMA se asignan de la siguiente manera:
Normalmente, los canales DMA se asignan de la siguiente manera:








Temporización
Reloj del Sistema
El reloj de una computadora se utiliza para dos
funciones principales:


La frecuencia del reloj se mide en Ciclos por
Segundo, también llamados Hertzios, siendo cada ciclo un pulso del reloj. Como
la frecuencia del reloj es de varios millones de pulsos por segundo se expresa
habitualmente en Megaherzios.
Suscribirse a:
Entradas (Atom)