Entradas

Mostrando las entradas de mayo, 2017

6.3 Diseño y aplicación de interfaces

En general se utiliza este tipo de lenguaje para programar controladores (drivers). Ventajas: Mayor adaptación al equipo. Posibilidad de obtener la máxima velocidad con mínimo uso de memoria. Inconvenientes: Imposibilidad de escribir código independiente de la máquina. Mayor dificultad en la programación y en la comprensión de los programas. El programador debe conocer más de un centenar de instrucciones. Es necesario conocer en detalle la arquitectura de la máquina. Aplicación: Actualmente la tecnología y el trabajo humano está íntimamente relacionada con las computadoras; como lo es el diseño gráfico, la redacción, el control de instrumentos y maquinaria, las comunicaciones, etc. Dependiendo de la aplicación dada a una computadora son las interfaces que se le instalan. Como en diseño gráfico, los periféricos necesarios son la cámara digital, impresora, mouse, tableta digitalizadora; entre otros. El desarrollo de la computadora va ligado al de sus periféricos. Para toda aplic...

6.2 Módulos de adquisición de datos

La adquisición de datos o adquisición de señales, consiste en la toma de muestras del mundo real (sistema analógico) para generar datos que puedan ser manipulados por un ordenador u otras electrónicas (sistema digital). Consiste, en tomar un conjunto de señales físicas, convertirlas en tensiones eléctricas y digitalizarlas de manera que se puedan procesar en una computadora o PAC. Se requiere una etapa de acondicionamiento, que adecua la señal a niveles compatibles con el elemento que hace la transformación a señal digital. El elemento que hace dicha transformación es el módulo de digitalización o tarjeta de Adquisición de Datos (DAQ). ¿Cómo se adquieren los datos? La adquisición de datos se inicia con el fenómeno físico o la propiedad física de un objeto (objeto de la investigación) que se desea medir. Esta propiedad física o fenómeno podría ser el cambio de temperatura o la temperatura de una habitación, la intensidad o intensidad del cambio de una fuente de luz, la presión dentr...

6.1 Conceptos básicos y clasificación

 Interfaz: dispositivo electrónico que se conecta entre el PC y los elementos a ser controlados (actuadores, interruptores, pulsadores, relés, circuitos, motores, etc.). Su misión es garantizar el correcto aislamiento eléctrico entre los puertos del PC y los dispositivos externos.  Bus: Normalmente se refiere al conjunto de señales con las que se comunica el microprocesador con el entorno: memoria o periféricos (a través de las interfaces).  Las funciones más importantes de un interfaz son: Interpretar las órdenes que recibe de la CPU y transmitirlas al periférico. Controlar las transferencias de datos entre la CPU y el periférico (convertir formatos, adaptar velocidades,..). Informar a la CPU del estado del periférico. Detección de errores (defectos mecánicos o eléctricos en el funcionamiento del dispositivo. Ejemplos: atasco de papel, cambio de un bit, etc.). Los interfaces también se denominan controladores, interfaces o tarjetas de E/S

UNIDAD V. INTERFACES

Conexión e interacción entre hardware, software y el usuario. El diseño y construcción de interfaces constituye una parte principal del trabajo de los ingenieros, programadores y consultores. Los usuarios “conversan” con el software. El software “conversa” con el hardware y otro software. El hardware “conversa” con otro hardware. Todo este “diálogo” no es más que el uso de interfaces. Las interfaces deben diseñarse, desarrollarse, probarse y rediseñarse; y con cada encarnación nace una nueva especificación que puede convertirse en un estándar más, de hecho o regulado

5.7 Comunicación

Un conversor ADC puede convertir un voltaje en un numero binario digital. Los conversores A/D son utilizados en cualquier lugar donde sea necesario procesar una señal, almacenarla o transportarla en forma digital. La resolución del conversor indica el número de valores discretos que se pueden obtener dependiendo del rango del voltaje de entrada. Usualmente es expresado en bits. Los microcontroladores típicamente traen incorporador conversores de 8, 10, 12 o 16 bits. Por ejemplo un ADC que codifica una señal análoga de 256 valores discretos (0..255) tiene una resolución de 8 bits, ya que 2^8 = 256. La resolución también puede ser definida en términos eléctricos, y expresada en volts.  La resolución de un ADC es igual al mayor voltaje que se pueda medir dividido por el número de valores discretos, por ejemplo:  Para un rango de medida entre 0 y 10 volts Resolución del ADC = 12 bits: 2^12 = 4096 niveles de cuantización resolución del ADC en volts: (10-0)/4096 = 0.00244 vol...

5.6 Aplicaciones de buses

Bus de Direcciones: Este es un bus unidireccional debido a que la información fluye es una sola dirección, de la CPU a la memoria ó a los elementos de entrada y salida. La CPU sola puede colocar niveles lógicos en las n líneas de dirección, con la cual se genera 2n posibles direcciones diferentes. Cada una de estas direcciones corresponde a una localidad de la memoria ó dispositivo de E / S. Los microprocesadores 8086 y 8088 usados en los primeros computadores personales (PC) podían direccionar hasta 1 megabyte de memoria (1.048.576 bytes). Es necesario contar con 20 líneas de dirección. Para poder manejar más de 1 megabyte de memoria , en los computadores AT (con procesadores 80286) se utilizó un bus de direcciones de 24 bits, permitiendo así direccionar hasta 16 MB de memoria RAM (16.777.216 bytes). En la actualidad los procesadores 80386DX pueden direccionar directamente 4 gigabytes de memoria principal y el procesador 80486DX hasta 64 GB.  Bus de Datos: Este es un bus bidirec...

5.5 Manejo del bus

Selección del Bus  Con el objetivo de solucionar los problemas antes mencionados y de poder reusar nuestros diseños así como también usar diseños realizados por otros grupos adoptamos el estándar de interconexión Wishbone. Bus de expansión En una primera aproximación creamos un bus de expansión específicamente creado para el microcontrolador. Esto tiene importantes desventajas, entre ellas:  − Para conectar periféricos creados por otros grupos de trabajo es necesario adaptarlos a la señalización del bus en cuestión.  − Periféricos diseñados para ese bus no servían para ser usados en otros diseños con buses de otro tamaño. Por ejemplo: no servían para un bus de 16 o 32 bits sin ser adaptados.

5.4 Estándares de buses

PC/104 se lanzó en 1992, acercando la tecnología PC a las aplicaciones de control industrial. El estándar PC/104 usa el bus ISA como un bus portador en el sistema, sobre el que las unidades se interconectan, semejante al estándar plug-in o las tarjetas de expansión de la época. En 1994 el estándar se amplió para incluir el bus PCI y especificó el PC/104 Plus como el estándar. En el estándar PC/104 Plus, tanto el bus ISA como el bus PCI se declaran como buses portadores en el sistema y, por lo tanto, disponibles para la expansión del sistema. Ambos sistemas de conectores ocupan alrededor del 30% del área de la tarjeta. La creciente complejidad de las tarjetas y el énfasis en el bus PCI condujo en el año 2004 a que el uso de PC/104 con bus ISA comenzara a utilizarse en menor medida frente al uso del estándar PC/104 Plus. Para aplicaciones en las que el bus ISA es necesario, están disponibles las tarjetas que hacen de puente entre PCI e ISA y por tanto permite el uso de expansiones o ta...

5.3 Aplicaciones de puertos

OPERACIÓN DE LECTURA EN LOS PUERTOS DEL MICROCONTROLADOR 8051. La operación de lectura o de adquisición de datos no representa ningún tipo de problema; solamente se deberá cambiar el orden de los operandos en la instrucción respecto a la de escritura. Para la operación de lectura, el formato de la instrucción más habitual es el siguiente:  MOV ,PX ; dato <- PX  Los siguientes diagramas muestran cómo se puede introducir un dato a los puertos para que sirvan de interface.

5.2 Programación de puertos

 Programación por puerto serial   Programación por puerto paralelo MPLAB DE MICROCHIP Se integra de forma automática, al instalar el compilador PCW.  En versiones anteriores ejecutando el comando: Cscs + setup.

5.1 Tipos de puertos

PUERTOS DE ENTRADA / SALIDA EN UN MICROCONTROLADOR Cualquier aplicación de un sistema digital basado en un microprocesador o microcontrolador requiere la transferencia de datos entre circuitos externos al microprocesador y él mismo. Estas transferencias constituyen las operaciones llamadas ENTRADA y SALIDA, (input /output ) o ES ( I/O). Los puertos de entrada/salida son básicamente registros externos o internos. Algunos microprocesadores proporcionan señales de control que permiten que los registros externos que forman los puertos de E/S ocupen un espacio de direcciones separada, es decir, distinto del espacio de direcciones de los registros externos que componen la memoria. Cuando los puertos tienen asignado un espacio de direcciones separado, se dice que están en modo de ENTRADA/SALIDA AISLADA o E/S ESTÁNDAR. Por el contrario, cuando se ubican dentro del mismo espacio que la memoria, se dice que están en modo de ENTRADA/SALIDA MAPEADA A MEMORIA o PROYECTADA EN MEMORIA. ENTRAD...

Unidad V: Puertos y buses de comunicación para microcontroladores

OPERACIÓN DE ESCRITURA EN LOS PUERTOS DEL MICROCONTROLADOR 8051.  La operación de escritura, utilizando los puertos puede ser realizada por cualquiera de ellos, no obstante, el puerto PO es el que presenta una mayor cargabilidad, permitiendo comandar ocho cargas TTL - LS, mientras que los otros tres permiten cuatro cargas TTL – LS. Para comandar cargas de mayor consumo energético, como relés, se recomienda utilizar, entre el puerto y la carga drivers no inversores.  Para la operación de ESCRITURA en el puerto, la instrucción más habitual es la siguiente:  MOV PX , ; PX<- dato.  X toma valores 0, 1, 2 y 3 según el puerto.  Admitiendo todos los tipos de direccionamiento.  Si se necesita activar o desactivar un bit de un puerto ( se puede hacer extensivo a todos los registros direccionales bit a bit del SFR), puede hacerlo utilizando las instrucciones booleanas.

4.6 Codificación

A menudo gastamos una gran cantidad de energía diseñando un circuito elegante, bien diseñado y robusto. Hoy día, el cerebro de muchos de estos circuitos es un microcontrolador que necesita un software para funcionar. ¿No es razonable entonces esperar un programa bien diseñado y escrito adecuadamente que se complemente con la calidad del trabajo del circuito? Aparentemente así es. Hablemos de la cualidad del software.Es un hecho muy bien conocido: los errores matan a gente y los errores de programación no son una excepción. Todos los años muere gente debido a errores de programas. Algunos accidentes fatales de avión, helicóptero y coches pueden ser atribuidos a problemas en el software. El mal funcionamiento del ‘firmware’ interno de los dispositivos médicos crea víctimas de manera regular. Los edificios se convierten en humo debido a errores de programa, y algunas personas son asesinadas a machetazos. El software erróneo puede incluso hundir barcos. Creedme, he visto que eso sucede.

4.5 Lenguajes ensambladores

Ventajas:  Permite desarrollar programas muy eficientes:  Uso eficiente de recursos   Código compacto  Control total sobre el tiempo de ejecución de las instrucciones especialmente importante en aplicaciones en tiempo real Desventajas:  „ Programación costosa y difícil de modificar

4.4 Conjunto de instrucciones

Un conjunto de instrucciones o repertorio de instrucciones, juego de instrucciones o ISA (del inglés Instruction Set Architecture, Arquitectura del Conjunto de Instrucciones) es una especificación que detalla las instrucciones que una CPU de un ordenador puede entender y ejecutar, o el conjunto de todos los comandos implementados por un diseño particular de una CPU. El término describe los aspectos del procesador generalmente visibles a un programador, incluyendo los tipos de datos nativos, las instrucciones, los registros, la arquitectura de memoria y las interrupciones, entre otros aspectos.

4.3 Modos de direccionamiento

 Modos de direccionamiento 8051 Dir En el direccionamiento directo, se indica la dirección a operar de forma absoluta. Para la familia de microcontroladores 8051 se dispone de 256 direcciones directas, correspondientes a (Ram interna + Registros SFR).  El OpCode va seguido de un byte que representa la dirección. MOV A,30H ; A<-(30H), El contenido de la dirección 30H se mueve al acumulador ADD A,31H ; A<-(A)+(31H), Se suma el contenido de acumulador con el de la dirección 31H ; el resultado se deposita en el acumulador Por registro (Rn) Rn. Para el direccionamiento por registro el código de la instrucción (OpCode) contiene la información del registro a operar, del banco de registros seleccionado. MOV R1,A ; R1<-(A), El contenido del acumulador se mueve al registro  R1 OpCode de (MOV Rn,A) es F8H, en binario: 1 1 1 1 1 0 0 1 Los tres últimos bits identifican el registro sobre el cual se opera. Indirecto (@) @. Se especifica un registro que contie...

4.2 Estructura de los registros del CPU

Los programas de los microcontroladores suelen dividirse en dos grandes grupos:   La estructura de interrupciones, formada por las rutinas de servicio a las mismas.  El programa principal, que consta de dos partes: La rutina de inicialización del sistema y Un lazo de ejecución perpetua, en donde n perpetua, en donde se ejecutan todas se ejecutan todas aquellas tareas que no estén ligadas a la estructura de n ligadas a la estructura de interrupciones: máquina de estados principal, rutinas no quina de estados principal, rutinas no críticas, inicialización del circuito de vigilancia

4.1 Modelo de programación

 Funciones de un programa de control de procesos:   „ Adquisición y acondicionamiento de datos  „ Control digital directo  „ Supervisión del sistema   „ Control de secuencias  „ Modelos a estudiar  „ Organigramas (diagramas de flujo)   „ Maquinas de estado finita (Finite State Machine--FSM) „   Organigramas  Suelen utilizarse en aplicaciones sencillas o en la planificación de rutinas en las que se divide una aplicación más compleja. Máquina de estados finita (FSM)  Estados: Son las diferentes situaciones en las que puede encontrarse el sistema.   Entradas (señales de transición de estados): Constituyen los acontecimientos que producen los cambios de estado.   Salidas: Respuesta del sistema ante los cambios en las entradas.  Funciones de transición de estado: Descripción detallada, para cada estado, de cuál es el siguiente estado y la salida del sistema, cuando se producen las distintas entradas. La forma en que los r...

UNIDAD IV. Programación de microcontroladores

El microcontrolador ejecuta el programa cargado en la memoria Flash. Esto se denomina el código ejecutable y está compuesto por una serie de ceros y unos, aparentemente sin significado. Dependiendo de la arquitectura del microcontrolador, el código binario está compuesto por palabras de 12, 14 o 16 bits de anchura. Cada palabra se interpreta por la CPU como una instrucción a ser ejecutada durante el funcionamiento del microcontrolador. Todas las instrucciones que el microcontrolador puede reconocer y ejecutar se les denominan colectivamente Conjunto de instrucciones. Como es más fácil trabajar con el sistema de numeración hexadecimal, el código ejecutable se representa con frecuencia como una serie de los números hexadecimales denominada código Hex. En los microcontroladores PIC con las palabras de programa de 14 bits de anchura, el conjunto de instrucciones tiene 35 instrucciones diferentes.

3.2.1 Generalidades

Origen En 1969, ingenieros de la compañía japonesa BUSICOM, buscan soluciones para fabricar con pocos componentes sus dispositivos (calculadoras), esta proposición se le hizo a INTEL quien en un proyecto dirigido por Marcian Hoff y apoyado por Federico Faggin, logro fabricar un bloque integrado denominado “microprocesador” adquiriendo los derechos de la compañía BUSICOM y entregando al mercado en 1971 el primer microprocesador el 4004 de 4 bits. Como ya se ha mencionado le siguieron el i8008, i8080, el Motorola 6800, Z80, i8085.  En 1976 aparece en el mercado un nuevo dispositivo que incorpora una CPU, memoria RAM - ROM y puertos de I/O, este dispositivo es llamado “microcontrolador” que son microcomputadoras en un solo chip, dos de los mas representativos y primeros microcontroladores fueron: · Intel 8048, con arquitectura Harvard modificada con programa ROM en el mismo chip, RAM de 64 a 256 bytes e interfaz I/O (entrada/salida). · Motorola 6805R2. En la década de los 80’s...

3.2 Circuitería alternativa para entrada/salida

También conocidos como puertos de E/S, generalmente agrupadas en puertos de 8 bits de longitud, permiten leer datos del exterior o escribir en ellos desde el interior del microcontrolador, el destino habitual es el trabajo con dispositivos simples como relés, LED, o cualquier otra cosa que se le ocurra al programador.  Algunos puertos de E/S tienen características especiales que le permiten manejar salidas con determinados requerimientos de corriente, o incorporan mecanismos especiales de interrupción para el procesador. Típicamente cualquier pin de E/S puede ser considerada E/S de propósito general, pero como los microcontroladores no pueden tener infinitos pines, ni siquiera todos los pines que queramos, las E/S de propósito general comparten los pines con otros periféricos. Para usar un pin con cualquiera de las características a él asignadas debemos configurarlo mediante los registros destinados a ellos.  Un sistema empotrado suele tener tres tipos diferentes de entr...

3.1.4 Memoria

Anteriormente habíamos visto que la memoria en los microcontroladores debe estar ubicada dentro del mismo encapsulado, esto es así la mayoría de las veces, porque la idea fundamental es mantener el grueso de los circuitos del sistema dentro de un solo integrado.  En los microcontroladores la memoria no es abundante, aquí no encontrará Gigabytes de memoria como en las computadoras personales. Típicamente la memoria de programas no excederá de 16 K-localizaciones de memoria no volátil (flash o eprom) para contener los programas. La memoria RAM está destinada al almacenamiento de información temporal que será utilizada por el procesador para realizar cálculos u otro tipo de operaciones lógicas. En el espacio de direcciones de memoria RAM se ubican además los registros de trabajo del procesador y los de configuración y trabajo de los distintos periféricos del microcontrolador. Es por ello que en la mayoría de los casos, aunque se tenga un espacio de direcciones de un tamaño determi...

3.1.3 Ancho de buses

Los tres anchos de bus mas utilizados en microcontroladores son:  Microcontroladores de 8-bits  Microcontroladores de 16-bits  Microcontroladores de 32-bits  El ancho de bus es la cantidad de bits en la que se maneja cada instrucción, como vimos en ensamblador esta capacidad tiene que ver directamente con la longitud de palabra de una instrucción del procesador y operaciones que pueden ser soportadas por este.

3.1.2 Familias

Imagen
Los microcontroladores más comunes en uso son:

3.1.1 Introduccion

Un microcontrolador (abreviado μC, UC o MCU) es un circuito integrado programable, capaz de ejecutar las órdenes grabadas en su memoria. Está compuesto de varios bloques funcionales, los cuales cumplen una tarea específica. Un microcontrolador incluye en su interior las tres principales unidades funcionales de una computadora: unidad central de procesamiento, memoria y periféricos de entrada/salida.

3.1 Características generales.

Los microcontroladores son diseñados para reducir el costo económico y el consumo de energía de un sistema en particular. Por eso el tamaño de la unidad central de procesamiento, la cantidad de memoria y los periféricos incluidos dependerán de la aplicación. El control de un electrodoméstico sencillo como una batidora utilizará un procesador muy pequeño (4 u 8 bits) porque sustituirá a un autómata finito. En cambio, un reproductor de música y/o vídeo digital (MP3 o MP4) requerirá de un procesador de 32 bits o de 64 bits y de uno o más códecs de señal digital (audio y/o vídeo). El control de un sistema de frenos ABS (Antilock Brake System) se basa normalmente en un microcontrolador de 16 bits, al igual que el sistema de control electrónico del motor en un automóvil.  Los microcontroladores representan la inmensa mayoría de los chips de computadoras vendidos, sobre un 50% son controladores "simples" y el restante corresponde aDSP más especializados. Mientras se pueden tener u...

UNIDAD III MICROCONTROLADORES

Un  microcontrolador  es un circuito integrado que en su interior contiene una unidad central de procesamiento (CPU), unidades de memoria (RAM y ROM), puertos de entrada y salida y periféricos. Estas partes están interconectadas dentro del microcontrolador , y en conjunto forman lo que se le conoce como microcomputadora.

PRACTICAS SERVOMOTOR

Imagen
QUE ES UN SERVOMOTOR? Un  servomotor  (también llamado  servo ) es un dispositivo similar a un  motor de corriente continua  que tiene la capacidad de ubicarse en cualquier posición dentro de su rango de operación, y mantenerse estable en dicha posición. 1 Un servomotor es un motor eléctrico que puede ser controlado tanto en velocidad como en posición. Es posible modificar un servomotor para obtener un motor de corriente continua que, si bien ya no tiene la capacidad de control del servo, conserva la fuerza, velocidad y baja inercia que caracteriza a estos dispositivos. CARACTERISTICAS Está conformado por un motor, una  caja reductora  y un circuito de control. También potencia proporcional para cargas mecánicas. Un servo, por consiguiente, tiene un consumo de energía reducido. La  corriente  que requiere depende del tamaño del servo. Normalmente el fabricante indica cuál es la corriente que consume. La corriente depende princi...