DISEÑO LÓGICO II 2002

Tamaño: px
Comenzar la demostración a partir de la página:

Download "DISEÑO LÓGICO II 2002"

Transcripción

1 DISEÑO LÓGICO II 2002 Proyecto II2C - Controlador de Motores mediante bus I2C Autor:

2 Indice INDICE...2 OBJETIVOS:...4 DESCRIPCIÓN:...4 ARQUITECTURA DEL SISTEMA:...7 Sistema con comunicación mediante interfaz paralela:...7 Sistema con comunicación mediante interfaz del bus I2C:...9 Bus I2C...10 COMUNICACIÓN CON EL CONTROLADOR DE MOTORES:...12 COMPONENTES:...13 Cola.vhd...14 DivisorReloj.vhd...15 MoverMPaP.vhd...16 InterfazI2C.vhd...17 Motor.vhd...19 ControladorMotorX.vhd...20 PatternX.vhd...22 Pattern0.vhd...23 Pattern1.vhd...23 Pattern2.vhd...24 Pattern3.vhd...24 Pattern4.vhd...24 Pattern5.vhd...25 PatternNull.vhd...25 ProyectoI2C.vhd...25 InterpreteDeComandos.vhd...26 TESTEO DEL SISTEMA:...27 Software de Testeo...28 Componentes VHDL para el testeo...31 CONCLUSIONES:...33 BIBLIOGRAFÍA:...34 ANEXO:...35 Cola.vhd...35 DivisorReloj.vhd...38 MoverMPaP.vhd...40 InterfazI2C.vhd...42 Motor.vhd...52 ControladorMotorX.vhd...58 Pattern0.vhd...64 Pattern1.vhd...67 Pattern2.vhd...71 Pattern3.vhd...75 Pattern4.vhd

3 Pattern5.vhd...83 PatternNull.vhd...88 InterpreteDeComandos.vhd

4 Objetivos: El proyecto tiene como objetivo final controlar una cantidad parametrizable de motores paso a paso (MPAP) de dos maneras distintas: mediante una interfaz paralela (tipo LPT) y mediante una interfaz con el bus I2C. El modelado se realizó en VHDL-87 modular y estándar, de tal manera que los distintos componentes del proyecto puedan ser reusados independientemente. Dado que se deseaba obtener componentes reusables, no se utilizo ninguna característica especial de la arquitectura de los FPGAs de Altera (LPMs, EABs, etc). Los motores paso a paso a utilizar son los utilizados en disketeras y discos duros, y son de excitación en 2 bobinas. Para el testeo del sistema, se desarrollo un software para PC que envía los comandos al controlador mediante el puerto paralelo. Para el testeo del sistema mediante la interfaz del bus I2C, el software emula la funcionalidad básica de un dispositivo I2C maestro. Descripción: La idea del proyecto es poder controlar a la vez un cierto número de motores, indicándoles a cada uno de ellos las órdenes que deberán seguir. Estos motores deberán ejecutar los patrones de movimientos que el usuario les indique a cada motor en forma paralela e independientemente. Los tipos de patrón que se podrán indicar a cada motor pueden ser muy variados, desde un simple movimiento en una sola dirección a movimientos más elaborados. Cada motor deberá tener asociada una cola de estos patrones de tal manera que el usuario del sistema pueda dejar allí encoladas distintas tareas para que el motor las ejecute secuencialmente. Los motores son del tipo de excitación de 2 bobinas, de 200 pasos. Es decir que se necesitan 200 pasos en una dirección para dar una vuelta completa. Cada motor tiene como entrada físicamente 4 lineas, y la combinación de valores en esas lineas hace que el motor gire en un sentido o en otro. De las 16 combinaciones posibles de entrada sólo 4 son válidas, por lo que se pueden definir 4 estados en cada motor. Para mover el motor en sentido horario se debe pasar de un estado al siguiente; y para moverlo en sentido antihorario se debe pasar al estado anterior. Las siguiente tabla muestra los valores de entrada posibles de cada motor: Paso Linea 1 Linea 2 Linea 3 Linea Para este proyecto, uno de los requerimientos era el de codificarar estos cuatro estados en 2 líneas de salida, ya que luego externamente un decodificador iba 4

5 a realizar la operación inversa (decodificar) antes de conectar las líneas con el motor. El siguiente es un esquemático del: 12V MOTOR PAP L1 L2 L3 L4 S3 SALIDA_MOTOR[1] S2 ULN2003_d SALIDA_MOTOR[2] DECODIFICADOR S1 ULN2003_c S0 ULN2003_b ULN2003_a Los tipos de órdenes que el controlador de motores puede recibir se distinguen en 2 grupos. Por un lado están las ordenes que seleccionan uno de los N motores con los cuales se desea trabajar, y que seleccionan la velocidad con que los motores van a funcionar. Además están las órdenes dirigidas especialmente al motor seleccionado, es decir, las órdenes que le indican qué es lo que debe hacer cada motor. Los motores serán controlados indicándoles distintos patrones que deberán seguir. Cada motor tendrá asociada una cola de patrones, de tal manera que el controlador de motores le pueda dejar encoladas una serie de patrones y el motor los ira ejecutando uno atrás del otro hasta que la cola quede vacía. Los patrones pueden ser de tipo y complejidad variable. Por ejemplo, un patrón podría ser mover el motor N pasos en sentido S, o dejar el motor quieto N pasos y luego moverlo M pasos en sentido S. Estos patrones serán parametrizables, donde se les indicara el sentido inicial (S), la amplitud (P) y la cantidad de iteraciones (M). Los patrones son del tipo pluggable, es decir que se puede tener una biblioteca de patrones y luego para una aplicación específica se pueden instanciar en un Motor solo los patrones que se desean. Para ello es importante que todos los patrones modelen una interfaz bien definida de entrada/salida que contemple los 3 tipos de parámetros con que esta definido 5

6 un patrón. Como ejemplo, para este proyecto se implementaron 6 patrones distintos que se detallaran más adelante. La comunicación desde el exterior con el Controlador de Motores se puede realizar de dos maneras. Una de ellas utiliza la cantidad de líneas de entrada/salida provistas por un puerto paralelo (LPT) estándar de PC, y la otra lo hace mediante la utilización de una interfaz con el bus I2C. Varios de los componentes del proyecto fueron modelados para ser reutilizables por separado, con interfaces genéricas pero bien definidas que se detallarán más adelante. Para mantener la portabilidad de los distintos componentes éstos fueron implementados íntegramente en VHDL-87 estándar, se generó un package VHDL para facilitad la importación/instanciación. Además, cada módulo viene acompañado de una pequeña descripción de su interfaz y notas relacionadas. 6

7 Arquitectura del Sistema: A continuación de detallan la configuración del Sistema tanto para comunicación desde el exterior vía la interfaz paralela, como la interfaz del bus I2C. Sistema con comunicación mediante interfaz paralela: 7

8 El Controlador de Motores es el corazón del Sistema. Recibe los comandos que los motores deben ejecutar, setea la velocidad de los mismos, etc. La interfaz del Controlador es del tipo paralela con 8 bits de datos y 3 bits de control. La salida del Sistema son 2 bits por Motor, con la codificación del estado de los motores paso a paso asociados a cada motor. Adicionalmente, el Sistema tiene como salida el estado de la cola del Motor actualmente seleccionado. El formato de estas entrada y salidas se describen en el informe más adelante. El controlador esta formado internamente por una lógica que conecta los distintos motores y de acuerdo a los comandos recibidos desde el exterior, selecciona el motor con el cual trabajar, setea las velocidades de cada motor (que son independientes entre sí), y encola los patrones que cada Motor debe ejecutar. Por su parte, cada Motor esta compuesto por una Cola circular que contiene los patrones que dicho motor deberá ejecutar; un pequeño módulo que lleva el estado de las bobinas del motor paso a paso asociado al motor; y la lista de patrones de que dispone dicho motor (esta lista también es reconfigurable, mediante la instanciación de los diferentes módulos de patrón disponibles). La cantidad de Motores que forman parte del Controlador de Motores, así como los patrones que conforman cada Motor son parámetros del Sistema. 8

9 Sistema con comunicación mediante interfaz del bus I2C: El Sistema completo con comunicación vía el Bus I2C es una extensión al Sistema basado en comunicación paralela. Un módulo general (Intérprete de Comandos) contiene al Controlador de Motores y al módulo Interfaz I2C, que es la encargada de obtener los comandos a través del bus I2C. La diferencia con el Controlador de motores via puerto paralelo es que los datos se reciben en forma serial mediante la utilización de un bus I2C. Es decir 9

10 que como entradas al sistema tenemos los dos bits del bus (SDA, SCL), y como salidas, además de los 2 bits de salida por cada motor, y del bit de estado se tiene la salida del SDA, SCL, y OutputEnable del esclavo, que se desbriben más adelante en este informe. El módulo principal, es decir el Intérprete de Comandos, simplemente realiza la interconexión y transfiere los datos recibidos en forma serial por el bus I2C a la entrada paralela del Controlador de Motores. Bus I2C El bus I2C es un bus serial simple de 2 líneas bidireccionales, una de reloj (SCL) y otra de datos (SDA). En este proyecto en vez de utilizar 2 lineas bidireccionales, se utilizaron un par de líneas de entrada (SDA, SCL) y un par de lineas de salida (SDAOut y SCLOut), y adicionalmente una salida OutputEnable que indica cuando se tiene el control sobre las líneas de salida. Cada dispositivo conectado a él (que puede ser maestro o esclavo) se identifica unívocamente mediante un identificador de 7 bits. La comunicación siempre debe comenzarla un maestro, que inicialmente envía un paquete de 8 bits con el identificador del esclavo a comunicarse y la dirección del flujo de la comunicación (del maestro al esclavo o del esclavo al maestro). El estándar define un protocolo de arbitraje por el cual varios maestros pueden estar conectados al bus sin que los mensajes enviados se corrompan. La comunicación se realiza mediante paquetes de 8 bits, y el comienzo / fin de la transmisión se detecta mediante combinaciones especiales en las señales SCL y SDA, como se muestra en la siguiente figura: Mientras se están enviando datos por el bus, sólo está permitido cambiar el valor de la línea de datos (SDA) cuando la línea de clock (SCL) esta baja. Como se ha explicado anteriormente, la comunicación se realiza de a bytes, aunque existe un noveno bit para indicar la aceptación o no aceptación de dicho byte. Cada vez que un byte es transferido por el bus (mediante 8 flancos de bajada de la señal SCL) la contraparte en la comunicación debe enviar un bit de ACK. Para esto el maestro deja levantado la línea SDA durante un periodo de reloj, y el receptor debe bajar dicha línea. En caso de no querer dar un ACK, el receptor deberá dejar levantada dicha línea con lo cual se indica que no se acepto el byte (nack). 10

11 En caso de que se de un ACK, el maestro deberá enviar una condición de Stop (o de restart). Para terminar la comunicación, el maestro debe enviar una condición de STOP luego de haber recibido (o enviado) el último ACK/nACK. Por más información respecto al bus I2C y el protocolo que se debe implementar, referirse a la bibliografía. Para este proyecto se implemento un módulo esclavo del bus I2C tanto receptor (envío datos del maestro al esclavo) como transmisor (envío de datos del esclavo al maestro). Esto permite poder reutilizar el módulo para proyectos posteriores. 11

12 Comunicación con el Controlador de Motores: Como se ha explicado anteriormente, para este proyecto se deseaba que la comunicación con el Controlador se pudiera realizar utilizando solo las entradas/salidas estándar de un puerto paralelo de PC. En el modo normal de funcionamiento de un puerto paralelo de PC se tienen disponibles 8 líneas de salida (D0...D7), 4 líneas de entrada/salida (nstrobe, nauto, ninitialize y nselectprinter) y 5 líneas de entrada (nack, Busy, PO, Select y nerror). A su vez cada comando debía constar de 4 partes: Identificador comando Sentido inicial: izquierda - derecha Cantidad de Pasos: de 1 a 256 Cantidad de Iteraciones: de 1 a 256 Por lo que fue necesario partir cada comando en 3 subpartes. Se decidió utilizar 8 líneas de entrada para cada subparte, y 3 líneas más para líneas de control. Las líneas de control sirven para no perder la sincronización desde el exterior, pues dada la naturaleza de la comunicación era factible que se perdiera una subparte en la comunicación. A continuación se detalla una tabla con los distintos comandos y sus subpartes. Descripción del Byte A Byte B Byte C Comando Seleccionar un motor Número de --- motor Setea la velocidad del motor seleccionado Velocidad --- Encolar un pattern al 100SYYYY Cantidad de Cantidad de motor seleccionado (S=Sentido) Pasos Iteraciones (YYYY=Pattern) El Controlador de Motores además de las salidas que se conectan a cada motor paso a paso para hacerlo mover, tiene una línea que indica si el motor actualmente seleccionado tiene su cola de patrones llena. 12

13 Componentes: A continuación se describiran los distintos componentes implementados, sus interfaces, algunos testeos y estadísticas realizadas y sus posibles aplicaciones. Para la implementación de los distintos módulos se emplearon algunas condiciones generales de diseño: Todos los módulos tienen una línea de reset asíncrono, activa en 1. En todas las señales en las que se detecta un flanco, éste es de bajada. Se priorizó la portabilidad. Esto es importante pues no se utilizaron todas las características del VHDL-87 estándar porque el compilador de Altera no las soportaba. Además, algunas construcciones no son compiladas por el compilador de Altera, si bien otros compiladores (como el Synplify) las compilan correctamente. El zip que contiene los fuentes VHDL del proyecto también se van a encontrar varios módulos cuyo nombre termina con Tiny. La distinción para esos módulos es que están recortados de tal manera que puedan entrar en las celdas disponibles del chip FLEX10K240RC disponibles en las placas UP1 de Altera. Por ejemplo, para el módulo MotorTiny solo se tienen disponibles 3 patrones diferentes. La cantidad de líneas de cada entrada/salida (ancho de palabra) es de un bit a menos que se especifique lo contrario en la descripción de la interfaz 13

14 Cola.vhd Descripción: Este componente reusable implementa una cola circular de ancho de palabra parametrizable (vía generics). Para esta implementación NO se utilizaron punteros de VHDL porque el compilador de Altera no los soporta. El compilador de Altera también tenía problemas con la indexación de la palabra por medio de una variable, por lo cual se decidió simplificar el modelo ajustándolo a una cantidad fija de elementos, pero que es fácilmente modificable para distintos valores. Este componente puede ser utilizado en una gran variedad de aplicaciones, en las cuales se desea tener un buffer ordenado de datos de entrada. El este proyecto cada Cola forma parte del módulo Motor, y es la que le provee los datos sobre los patrones que el Motor deberá ejecutar. Interfaz: Entradas: -> reset : linea de reset -> enqueue: encolar un item -> dequeue: desencolar un item -> datain : item a encolar (cantidad de bits parametrizable) Salidas: -> dataout: ultimo item desencolado (cantidad de bits parametrizable) -> empty : indica si la cola esta vacia -> full : indica si la cola esta llena Funcionamiento: Cada vez que se desea encolar un item a la cola se debe colocar los datos en las líneas de entrada DataIn y se debe dar un flanco en la línea enqueue. Cada vez que se desee desencolar un item de la cola se debe dar un flanco en la línea dequeue. El dato estará disponible en las líneas de salida DataOut Las líneas Empty y Full se ponen a 1 cuando la cola está vacía o llena respectivamente 14

15 DivisorReloj.vhd Descripción: Este componente toma como entrada una señal de reloj y deja como salida una señal de reloj de frecuencia menor (de acuerdo a un divisor parametrizable). El rango posible del divisor es una propiedad parametrizable del componente (mediante generics), mientras que el valor real del divisor a utilizar puede ser seteado en cualquier momento mediante la utilización de las entradas provistas para ello. En este proyecto hay un modulo DivisorReloj instanciado por cada Motor que tenga el ControladorDeMotores. De esta manera cada motor Paso a Paso puede tener su propia velocidad. Interfaz: Entradas: -> clkin: el reloj a dividir -> reset: linea de reset -> setdivisor: setea el divisor (sincronizado con el falling_edge) -> setup: setea el divisor (cantidad de bits parametrizable) Salidas: -> clkout: el reloj dividido Funcionamiento La línea de entrada clkin debe ser conectada con el reloj que se desea dividir. La salida clkout contendrá la señal de reloj luego de ser dividida su frecuencia Cuando se desee setear un nuevo divisor, se debe colocar en las líneas de datos setup el nuevo valor del divisor y se debe dar un flanco a la línea setdivisor 15

16 MoverMPaP.vhd Descripción: Este componente es el encargado de mover el motor paso a paso. Para este proyecto se estableció que la salida de los motores debían ser 2 bits codificado que indican el estado del motor En este proyecto cada Motor tiene asociado un modulo de estos para llevar el estado del motor paso a paso asociado. Interfaz: Entradas: -> reset : linea de reset -> clk : entrada del reloj -> mover : indica si se debe mover el motor -> reverse: indica si el motor se debe mover hacia atrás Salidas: -> salida : los 2 bits de salida Funcionamiento: Cuando se desee mover el motor un paso a la derecha, se debe mantener levantada la línea mover mientras la entrada clk da un flanco Cuando se desee mover el motor un paso a la izquierda, se debe levantar la línea de entrada reverse y luego se debe mantener levantada la línea mover mientras la entrada clk da un flanco 16

17 InterfazI2C.vhd Descripción: Este componente reusable implementa la interfaz del bus I2C de un dispositivo esclavo tanto receptor como transmisor. Una breve descripción de las características del bus I2C pueden encontrarse en este informe. Si bien para este proyecto en particular solo se necesitaba modelar un esclavo receptor (pues solo se desea recibir comandos), se modelo también la parte transmisora para poder reutilizar este componente en otros proyectos. De la especificación del la interfaz con el bus I2C no se tuvo en consideración el tipo de comunicación to-all-devices porque escapa al alcance de este proyecto. Como se ha explicado anteriormente el bus I2C es un bus de dos líneas bidireccionales (SDA y SCL) ; pero en este proyecto se utilizaron dos pares de líneas SDA y SCL (una de entrada y otra de salída) y una línea de Output Enable para indicar si se está utilizando las líneas de salida (es decir, si el esclavo tiene el control de la línea de datos); por lo que pueden multiplexarse fácilmente en 2 líneas bidireccionales utilizando buffers triestado. En este proyecto este módulo es utilizado para obtener la comunicación con el exterior; y forma parte del módulo InterpreteDeComandos, que realiza el puente entre los datos recibidos por la InterfazI2C con el Controlador De Motores. Interfaz: Entradas: -> clk : entrada de reloj -> reset : linea de reset -> SCL : linea de clock del bus I2C -> SDA : linea de datos del bus I2C -> ReadyToRead: indica si puedo aceptar un byte del bus cuando soy slave-receiver -> ReadyToWrite: indica si debo aceptar una peticion del bus de que yo sea slave-transmitter -> ByteIn : próximo byte a enviar al bus si soy slave-transmitter (8 bits) Salidas: -> OutputEnable: indica si este slave tiene el control de la linea de datos (SDAOut) -> SCLOut : igual a SCL -> SDAOut : Linea de datos en caso de ACK/NACK en caso de ser slave-receiver o línea de datos si soy slave-transmitter -> ByteReady : Da un pulso cunado se obtuvo un byte del bus si soy slave-receiver -> ByteOut : El byte leido del bus (8 bits) 17

18 Funcionamiento: -> Transferring : Indica si se esta llevando a cabo una transferencia desde/hacia el bus -> TransferringWrite: Indica si la transferencia es de escritura (slave-transmitter) o de lectura(slave-receiver), se mantiene bajo mientras se obtiene el ACK del master en un slave-transmitter Inicialmente el II2C esperará una condición de START en la líneas SCL y SDA. A partir de ese momento irá latcheando los próximos 8 bits de entrada. Luego de obtener el octavo bit, el II2C chequeará los primeros 7 bits con su identificador. El bit menos significativo indicará si es una petición de transferencia desde o hacia el master. El II2C aceptará peticiones de transferencia de bytes desde el master al II2C (slave-receiver) si la entrada ReadyToRead está activa. En ese caso enviará un ACK al master. En caso contrario enviará un nack al master y esperará una nueva condición de START. Mientras que el II2C está recibiendo los 8 bits de cada byte de transferencia, se levantara la salida Transferring y se mantendrá baja la línea TransferringWrite, para indicar una transferencia desde el master. Cuando el II2C recibe un byte completo, lo coloca en ByteOut, baja la línea Transferring y levanta la línea ByteReady. En ese momento el II2C envía un ACK al bus si la línea ReadyToRead esta levantada, o un NACK en caso contrario. El II2C seguirá recibiendo bytes mientras que se acepten los bytes recibidos hasta que una condición STOP sea detectada. El II2C aceptará peticiones de transferencia de bytes hacia el master (slave-transmitter) si la entrada ReadyToWrite está activa. En ese momento el II2C latcheará el byte contenido en ByteIn, y enviará el ACK al master. En caso de que la línea de entrada ReadyToWrite este baja, se enviará un NACK para indicar que no se acepta la petición de transferencia. Si la petición de transferencia fue aceptada, se levantarán las líneas TransferringWrite y Transferring para indicar una transferencia hacia al master y se enviará el byte. Luego de enviado el byte, el II2C espera el ACK del master. El II2C seguirá enviando bytes hasta que detecte un NACK del master (luego del cual vendrá una condición de STOP). 18

19 Motor.vhd Descripción: Este componente reusable implementa el manejo de un motor mediante una cola de patrones que debe ir ejecutando. El componente tiene asociado una cola circular de patrones y mientras que ésta no esté vacía, los irá ejecutando secuencialmente. Cada patrón a ser encolado constara de una palabra de 21 bits con el siguiente formato: STTTTPPPPPPPPIIIIIIII, donde: S indica el sentido inicial del patrón TTTT indica el número de patrón a encolar (de 0 a 15) PPPPPPPP indica la cantidad de pasos por iteración (de 0 a 255) IIIIIIII indica la cantidad de iteraciones (de 0 a 255) El usuario podrá dejar encolados varios patrones y el módulo los irá ejecutando uno después del otro, de esta manera es posible colocar varios de estos módulos para que realicen los movimientos de distintos motores forma paralela. El motor indicará cuándo tiene su cola de patrones llena. En este proyecto se instancia un Motor por cada motor real del sistema. Cada Motor forma parte del ControladorDeMotores que es quién redirige los comandos a la cola de cada uno de los Motores para que ellos ejecuten los patrones que allí se encolan. Interfaz: Entradas: -> clk: el clk que da la velocidad de pulso del motor -> reset : linea de reset -> addpattern : Genera un pulso cuando hay un nuevo pattern -> pattern: los 21 bits que conforman el pattern (21 bits) Salidas: -> patternqueuefull: indica si la cola de patterns del motor seleccionado esta llena -> salidamotor: indica el estado del MpaP (2 bits) Funcionamiento: Cada vez que se desee encolar un elemento en la cola de patrones asociada al motor, se debe colocar los datos del patrón (según el formato especificado) en las líneas de entrada pattern, y se debe dar un flanco a la línea addpattern. El motor cuando detecte que la cola no está vacía comenzará a ejecutar el primer patrón disponible en la cola. La velocidad con que se ejecutará el patrón dependerá de la frecuencia de la entrada de reloj proporcionada. Cuando la cola de patrones esté llena, el motor levantará la línea de salida patternqueuefull para indicar que no aceptará más patrones hasta no terminar de ejecutar el patrón actual. 19

20 ControladorMotorX.vhd Descripción: Este es el componente encargado de controlar varios motores paso a paso. Por problemas de compatibilidad con el compilador VHDL de Altera, hay 2 versiones. Una de ellas (ControladorMotorUno.vhd) tiene la lógica simplificada para controlar un solo motor. El problema fue que el compilador de Altera tiene problemas para compilar construcciones for...loop que accedan a un componente instanciado en un generate. Más precisamente, el compilador de Altera no va a compilar un código de este estilo: for i in 0 to CantMotores-1 loop XXX(i)... end loop La otra versión (ControladorMotorN.vhd) contiene N motores, donde N es un generic, por lo que puede ser modificada la cantidad de motores en al instanciar el componente. Este módulo es el punto de entrada para sistemas con comunicación mediante interfaz paralela (LPT) La función de este componente ya fue descripta anteriormente. Su función es la de obtener las subpartes que conforman un comando desde el exterior y asignárselos al motor asociado. También debe llevar control de qué subparte se espera en este momento, para no perder la sincronización. Otra de sus funciones es la de seleccionar el motor actual con el que se desea trabajar y asignarle una velocidad a dicho motor. Interfaz: Entradas: -> clk : el reloj base de los motores -> reset : linea de reset -> newmsg : Genera un pulso cuando hay datos disponibles -> ctrl : bits de control (3 bits) -> cmdarg : bits de argumentos (8 bits) Salidas: -> patternqueuefull: indica si la cola de comandos del motor seleccionado esta llena -> Salida_Motor: 2 bits de salida para cada motor (2 x CantMotores bits) Funcionamiento: Cada vez que desde el exterior se desee enviar un comando al controlador de motores, se deben dejar los datos de la primer subparte 20

21 del comando en cmdarg, dejar el valor 0 en ctrl y dar un flanco en la línea newmsg. El Controlador de Motores guardara el estado actual del comando y esperara a recibir la segunda subparte sólo si el valor recibido en ctrl es 0. Ahora desde el exterior se deberá enviar esta parte de la misma manera que envió la primer subparte, para lo cual en vez de dejar 0 como valor en ctrl se deberá dejar el valor 1. El Controlador de Motores chequeará el valor de ctrl y en caso de que no sea 1, volverá a esperar la primer subparte. Por último se debe enviar la tercer subparte exactamente de la misma manera en que se enviaron las dos primeras, sólo que esta vez el valor en ctrl debe ser 2. El Controlador de Motores, chequeará el valor de ctrl para ver si su valor es 2. En ese caso, chequeará la validez del comando y lo ejecutara, asignando un nuevo motor, seleccionando su velocidad, o encolando el nuevo patrón a ejecutar en la cola del motor seleccionado Las salidas de cada motor son multiplexadas en el array de bits Salida_Motor, donde los primeros 2 bits indican el estado del motor paso a paso asociado al Motor 0, los siguientes 2 bits indican el estado del motor paso a paso asociado al Motor 1, y así sucesivamente La línea de salida patternqueuefull indica si la cola de patrones del motor seleccionado está llena. 21

22 PatternX.vhd Descripción: Bajo este subtitulo se engloban todos los patrones implementados en este proyecto. Todos ellos tienen la misma interfaz, lo que los hace pluggables, intercambiables, etc. Cuando se desea agregar un nuevo patrón a la lista de patrones disponibles para un motor, simplemente se debe agregar una línea en el bloque de instanciación del módulo Motor.vhd y se debe cambiar el valor de la constante que define la cantidad de patrones que el motor tiene. Para más detalles se puede ver el código VHDL del módulo Motor.vhd, donde se detalla los puntos donde se debe realizar los cambios. A continuación se detalla la interfaz que se aconseja que todos los patrones sigan y su funcionamiento general. Luego se detallara el funcionamiento particular de todos los patrones implementados en este proyecto. Para todos los patrones se toma como convención que N es la cantidad de pasos, M es la cantidad de iteraciones, y S es el sentido inicial. Interfaz: Entradas: -> clk : el clk que da la velocidad de pulso del motor -> startpattern : Genera un pulso cuando hay un nuevo pattern -> reset : linea de reset -> iteraciones: cantidad de iteraciones (8 bits) -> pasos: cantidad de pasos por iteración (8 bits) -> sentidoinicial: sentido inicial del pattern Salidas: -> done: indica si el pattern ha terminado -> mover: indica que el motor debe ' moverse' -> sentido: indica el sentido del movimiento Funcionamiento: A continuación de da la descripción general del funcionamiento de los patrones (el funcionamiento particular de cada patrón podría diferir si algunos de los parámetros no es aplicable para cierto patrón) : Cada vez que se desee comenzar a ejecutar el patrón, se deberán dejar en las líneas de entrada pasos, iteraciones y sentidoinicial, la cantidad de pasos, iteraciones y el sentido inicial que se desea que el patrón siga. Una vez que los datos estén disponibles allí, se deberá dar un flanco en la línea de entrada startpattern, que dará el toque inicial para que el patrón sea ejecutado. La velocidad con que el patrón será ejecutado dependerá de la línea de reloj de entrada clk. Mientras que el patrón se esta ejecutando, cada vez que quiera mover el motor paso a paso, deberá levantar la línea de salida Mover durante un ciclo de reloj. Para determinar el sentido del movimiento, se deberá 22

23 mantener levantado o bajo la línea de salida sentido durante ese ciclo de reloj. En general, estas salidas se deberán interconectar con el módulo MoverMPaP para que realmente se mueva el estado del motor paso a paso asociado. Mientras que el patrón se esté ejecutando, la línea de salida done se debe mantener a 0. Una vez que el patrón se haya terminado de ejecutar, la línea deberá volver a 1 para indicar que el patrón se ha terminado de ejecutar.. Mediante este sistema, cada módulo Patrón puede hacer que el motor asociado realice tanto movimientos simples como complejos. Como cada Motor tiene una cola de patrones asociada, estos patrones pueden combinarse para realizar movimientos aún más complejos, ya que el motor los irá ejecutando secuencialmente (uno por vez). Adicionalmente, como cada Motor ejecuta sus patrones independientemente de los otros (la ejecución se realiza en forma paralela), esto permite realizar distintas coreografías con los motores asociados al Sistema. A continuación se describen los patrones implementados como ejemplo para este proyecto: Pattern0.vhd Descripción: El patrón de tipo 0 no mueve el motor, sino que hace una espera de M x N pasos. Su utilidad es la de hacer una pausa, por ejemplo en el medio de una secuencia de patrones encolados en un motor. Funcionamiento: Luego de iniciado el patrón se hace una espera de M x N pasos sin mover el motor en ningún sentido. Pattern1.vhd Descripción: El patrón de tipo 1 realiza un movimiento de vaivén. Funcionamiento: Se comienza el patrón en el sentido indicado por S, donde se mueven N pasos. Luego se invierte el sentido y se realizan otros N pasos; y así sucesivamente hasta haber realizado M iteraciones 23

AUTOMATIZACIÓN - CURSO: 2010-2011- Práctica 4: Sistema de Monitorización de tiempo mediante Arduino

AUTOMATIZACIÓN - CURSO: 2010-2011- Práctica 4: Sistema de Monitorización de tiempo mediante Arduino AUTOMATIZACIÓN - CURSO: 2010-2011- Juan Antonio Corrales Ramón Carlos Alberto Jara Bravo Fernando Torres Medina Grupo de Innovación Educativa en Automática Departamento de Física, Ingeniería de Sistemas

Más detalles

I2C. Ing. Pablo Martín Gomez pgomez@fi.uba.ar

I2C. Ing. Pablo Martín Gomez pgomez@fi.uba.ar I2C Ing. Pablo Martín Gomez pgomez@fi.uba.ar 1 Comunicaciones en un bus serie 2 Comunicaciones en un bus serie 3 I²C Velocidad 4 UART Universal Asynchronous Receiver Transmitter Estándar de comunicación

Más detalles

Curso sobre Microcontroladores Familia HC9S08 de Freescale

Curso sobre Microcontroladores Familia HC9S08 de Freescale Curso sobre Microcontroladores Familia HC9S08 de Freescale Por Ing. Daniel Di Lella EduDevices www.edudevices.com.ar e-mail: info@edudevices.com.ar Capítulo 8.- Inter Integrated Circuit Interface I2C MMIIC

Más detalles

No se requiere que los discos sean del mismo tamaño ya que el objetivo es solamente adjuntar discos.

No se requiere que los discos sean del mismo tamaño ya que el objetivo es solamente adjuntar discos. RAIDS MODO LINEAL Es un tipo de raid que muestra lógicamente un disco pero se compone de 2 o más discos. Solamente llena el disco 0 y cuando este está lleno sigue con el disco 1 y así sucesivamente. Este

Más detalles

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3 UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3 INTRODUCCIÓN El elemento hardware de un sistema básico de proceso de datos se puede estructurar en tres partes claramente diferenciadas en cuanto a sus funciones:

Más detalles

Control y temporización Comunicación con la CPU Comunicación con el dispositivo externo Almacén temporal de datos Detección de errores

Control y temporización Comunicación con la CPU Comunicación con el dispositivo externo Almacén temporal de datos Detección de errores UNIDAD DE ENTRADA SALIDA Conceptos Unidad de entrada-salida (E/S): Elemento que proporciona un método de comunicación eficaz entre el sistema central y el periférico. Funciones Control y temporización

Más detalles

DESCRIPCION DEL SITEMA MASTER.

DESCRIPCION DEL SITEMA MASTER. DESCRIPCION DEL SITEMA MASTER. ESTRUCTURA. El sistema MASTER (Sistema Modular para Control Adaptativo en Tiempo Real) se ha implementado en base a un computador compatible PC-AT, dotado de una tarjeta

Más detalles

Tema 4. Gestión de entrada/salida

Tema 4. Gestión de entrada/salida Tema 4. Gestión de entrada/salida 1. Principios de la gestión de E/S. 1.Problemática de los dispositivos de E/S. 2.Objetivos generales del software de E/S. 3.Principios hardware de E/S. 1. E/S controlada

Más detalles

Curso sobre Microcontroladores Familia HC9S08 de Freescale

Curso sobre Microcontroladores Familia HC9S08 de Freescale Curso sobre Microcontroladores Familia HC9S08 de Freescale Por Ing. Daniel Di Lella EduDevices www.edudevices.com.ar e-mail: info@edudevices.com.ar Capítulo 7.- Módulo Serial Sincrónico de Comunicaciones

Más detalles

Generalidades Computacionales

Generalidades Computacionales Capítulo 2 Generalidades Computacionales 2.1. Introducción a los Computadores Definición: Un computador es un dispositivo electrónico que puede transmitir, almacenar, recuperar y procesar información (datos).

Más detalles

Curso sobre Microcontroladores Familia HC9S08 de Freescale

Curso sobre Microcontroladores Familia HC9S08 de Freescale Curso sobre Microcontroladores Familia HC9S08 de Freescale Por Ing. Daniel Di Lella EduDevices www.edudevices.com.ar e-mail: info@edudevices.com.ar Capítulo 8.- Inter Integrated Circuit Interface I2C MMIIC

Más detalles

2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 5 ENTRADA/SALIDA. JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 5.

2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 5 ENTRADA/SALIDA. JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 5. ARQUITECTURAS DE COMPUTADORES 2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 5 ENTRADA/SALIDA JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 5. Unidad de E/S 1 Unidad de E/S Indice Introducción.

Más detalles

Tema 11. Soporte del Sistema Operativo 11.1. REQUERIMIENTOS DE LOS SISTEMAS OPERATIVOS. 11.1.1. MULTIPROGRAMACIÓN.

Tema 11. Soporte del Sistema Operativo 11.1. REQUERIMIENTOS DE LOS SISTEMAS OPERATIVOS. 11.1.1. MULTIPROGRAMACIÓN. Tema 11 Soporte del Sistema Operativo 11.1. REQUERIMIENTOS DE LOS SISTEMAS OPERATIVOS. El sistema operativo es básicamente un programa que controla los recursos del computador, proporciona servicios a

Más detalles

Diseño de un sistema de adquisición de datos de un micrófono utilizando una FPGA

Diseño de un sistema de adquisición de datos de un micrófono utilizando una FPGA Diseño de un sistema de adquisición de datos de un micrófono utilizando una FPGA Experimental III: Introducción a la Microfabricación y FPGA - Instituto Balseiro Mauricio Tosi Diciembre de 2013 Resumen

Más detalles

Guía rápida de CX-Programmer

Guía rápida de CX-Programmer Guía rápida de CX-Programmer Esta guía pretende dar al lector los conocimientos más básicos para la programación de un controlador lógico secuencia en el autómata CQM1 de Omron, usando el software CX-Programmer

Más detalles

Memoria 24LC256 I. I NTRODUCCIÓN

Memoria 24LC256 I. I NTRODUCCIÓN 1 Memoria 24LC256 I. I NTRODUCCIÓN I2C es un bus de comunicación serial sincrónica desarrollado por Phillips Semiconductors a principios de los años 80 s, con la principal intención de interconectar una

Más detalles

Placa de control MCC03

Placa de control MCC03 Placa de control MCC03 Placa de control MCC03 La placa de control basada en el micro controlador PIC 16F874A de Microchip, es la encargada del procesar los datos que se introducen en el sistema y actuar

Más detalles

Formato para prácticas de laboratorio

Formato para prácticas de laboratorio CARRERA PLAN DE ESTUDIO CLAVE ASIGNATURA NOMBRE DE LA ASIGNATURA IC 2003-1 5040 Circuitos Digitales Avanzados PRÁCTICA No. 6 LABORATORIO DE NOMBRE DE LA PRÁCTICA DURACIÓN (HORA) Multiplicador binario 4

Más detalles

Utilización de los puertos serial y paralelo de una PC usando LabView

Utilización de los puertos serial y paralelo de una PC usando LabView Universidad del Táchira Departamento de Ingeniería Electrónica Instrumentación Electrónica Utilización de los puertos serial y paralelo de una PC usando LabView Hecho Por: Ing. Rafael Chacón Ing. José

Más detalles

BUS I2C: IMPLEMENTACIÓN PRÁCTICA CON MICROCONTROLADORES PIC MEMORIAS EEPROM SERIE

BUS I2C: IMPLEMENTACIÓN PRÁCTICA CON MICROCONTROLADORES PIC MEMORIAS EEPROM SERIE BUS I2C: IMPLEMENTACIÓN PRÁCTICA CON MICROCONTROLADORES PIC MEMORIAS EEPROM SERIE Fernando Nuño García 1 Ventajas del BUS I2C Definido inicialmente a mediados de los 80 para trabajar a 100kbit/s y en 1995

Más detalles

Tema 1 Introducción. Arquitectura básica y Sistemas Operativos. Fundamentos de Informática

Tema 1 Introducción. Arquitectura básica y Sistemas Operativos. Fundamentos de Informática Tema 1 Introducción. Arquitectura básica y Sistemas Operativos Fundamentos de Informática Índice Descripción de un ordenador Concepto básico de Sistema Operativo Codificación de la información 2 1 Descripción

Más detalles

TEMA: PROTOCOLOS TCP/IP

TEMA: PROTOCOLOS TCP/IP TEMA: PROTOCOLOS TCP/IP HISTORIA: El Protocolo de Internet (IP) y el Protocolo de Transmisión (TCP), fueron desarrollados inicialmente en 1973 por el informático estadounidense Vinton Cerf como parte de

Más detalles

Convivencia. Gestión del Sistema de Entrada/Salida

Convivencia. Gestión del Sistema de Entrada/Salida Convivencia Gestión del Sistema de Entrada/Salida Dra. Carolina Carolina Mañoso Mañoso Dpto. Dpto. Imformática Informática y y Automática.UNED Introducción (1/2) El sistema de Entrada/Salida es la parte

Más detalles

Computación Tercer Año

Computación Tercer Año Colegio Bosque Del Plata Computación Tercer Año UNIDAD 3 Sistemas Operativos E-mail: garcia.fernando.j@gmail.com Profesor: Fernando J. Garcia Ingeniero en Sistemas de Información Sistemas Operativos Generaciones

Más detalles

DISPLAYS DE CRISTAL LIQUIDO

DISPLAYS DE CRISTAL LIQUIDO DISPLAYS DE CRISTAL LIQUIDO INDICE MANUAL DE REFERENCIA DEL LCD 1.- INTRODUCCION 2.- CARACTERISTICAS DEL DISPLAY 2.1.- Aspecto físico 2.2.- Alimentación 2.3.- Los caracteres del LCD 2.4.- La memoria del

Más detalles

JENNIFER NATHALY MUÑOZ RENGIFO FERNANDO ARIAS LEANDRO ORDÓÑEZ ANTE. Ing. JUAN SEBASTIAN CABRERA

JENNIFER NATHALY MUÑOZ RENGIFO FERNANDO ARIAS LEANDRO ORDÓÑEZ ANTE. Ing. JUAN SEBASTIAN CABRERA FASE DE DESARROLLO II ADQUISICIÓN DE SEÑALES EMG (Detección de movimientos de Extensión y Flexión) ADQUISICIÓN DE SEÑAL DESPLIEGUE Y ALMACENAMIENTO EN SOFTWARE JENNIFER NATHALY MUÑOZ RENGIFO FERNANDO ARIAS

Más detalles

TRABAJO FINAL TECNICAS DIGITALES II

TRABAJO FINAL TECNICAS DIGITALES II Universidad Tecnológica Nacional Facultad Regional Córdoba TRABAJO FINAL TECNICAS DIGITALES II SISTEMA DE ADQUISICIÓN DE MUESTRAS DE TEMPERATURA AUTORES: TOUZ, FEDERICO ANDRES LEG: 43310 MONDINO,MAURO

Más detalles

El módulo LCD Ejemplos de funcionamiento

El módulo LCD Ejemplos de funcionamiento SISTEMAS ELECTRÓNICOS Y AUTOMÁTICOS PRACTICAS DE MICROCONTROLADORES PIC PRÁCTICA 7: El módulo LCD El módulo LCD Ejemplos de funcionamiento - 1 - 1. Objetivos: - Conocer el funcionamiento y programación

Más detalles

SPI. Teoría y Aplicaciones. INGENIERIA EN MICROCONTROLADORES Protocolo SPI( Serial Peripherical Interface) Protocolo

SPI. Teoría y Aplicaciones. INGENIERIA EN MICROCONTROLADORES Protocolo SPI( Serial Peripherical Interface) Protocolo Protocolo SPI INGENIERIA EN MICROCONTROLADORES Protocolo SPI( Serial Peripherical Interface) Teoría y Aplicaciones INGENIERÍA EN MICROCONTROLADORES Curso de Redes de Microcontroladores PIC (Protocolo SPI)

Más detalles

Manual de Usuario. XCPDriver

Manual de Usuario. XCPDriver Manual de Usuario XCPDriver Manual del software de control XCPDriver 1. INTRODUCCIÓN... 2 2. AÑADIR TERMINALES... 2 3. PROCESOS... 3 4. TRANSFIRIENDO FICHAJES... 4 5. PROGRAMANDO TARJETAS... 4 6. MUESTREO

Más detalles

TEMA 3: Control secuencial

TEMA 3: Control secuencial TEMA 3: Control secuencial Esquema: Índice de contenido TEMA 3: Control secuencial...1 1.- Introducción...1 2.- Biestables...3 2.1.- Biestables asíncronos: el Biestable RS...4 2.1.1.- Biestable RS con

Más detalles

Comunicación Serie IIC: Inter-Integrated Circuit

Comunicación Serie IIC: Inter-Integrated Circuit Comunicación Serie IIC: Inter-Integrated Circuit IIC: Inter-Integrated Circuit I2C es un bus serial, multi-master, de baja velocidad (de 10 a 400kbps), creado por Philips. El objetivo es facilitar la conexión

Más detalles

Manual de usuario para el lector biométrico EZCLOCK

Manual de usuario para el lector biométrico EZCLOCK Manual de usuario para el lector biométrico EZCLOCK Pasos a seguir para la correcta instalación del equipo 1. Realizar la conexión de alimentación del equipo 2. Inserte una memoria USB o una tarjeta SD

Más detalles

MODBUS INDICE. Centro Integrado Politécnico ETI Departamento de Electricidad Fernando Pascual Moisés Pérez MODBUS 1. CARACTERÍSTICAS DEL BUS

MODBUS INDICE. Centro Integrado Politécnico ETI Departamento de Electricidad Fernando Pascual Moisés Pérez MODBUS 1. CARACTERÍSTICAS DEL BUS INDICE 1. CARACTERÍSTICAS DEL BUS 2. PROTOCOLOS 3. CARACTERÍSTICAS DE LOS MENSAJES ENVIADOS 4. INSTRUCCIÓN PMCR 5. EJEMPLO DE APLICACIÓN a. Configuración puerto SCU41 b. Configuración variador V1000 c.

Más detalles

CONTADORES Y REGISTROS

CONTADORES Y REGISTROS Capítulo 7 CONTADORES Y REGISTROS 7.. CONTADORES Un contador es un circuito secuencial cuya función es seguir una cuenta o conjunto predeterminado de estados como consecuencia de la aplicación de un tren

Más detalles

TEMA VII: DISEÑO SECUENCIAL PROGRAMABLE

TEMA VII: DISEÑO SECUENCIAL PROGRAMABLE TEMA VII: ISEÑO SECUENCIAL PROGRAMABLE e igual forma que podíamos disponer de dispositivos combinacionales programables para poder implementar funciones combinacionales en un solo integrado, en el dominio

Más detalles

BUS I2C. IES Los Viveros Sevilla Dpto. Electrónica. 1

BUS I2C. IES Los Viveros Sevilla Dpto. Electrónica. 1 BUS I2C Se trata de un protocolo serie desarrollado por Philips Semiconductors usado por muchos integrados para comunicarse entre ellos, para su funcionamiento requiere sólo dos líneas, una de reloj (SCL)

Más detalles

MODULO 4: EL DISCO DURO

MODULO 4: EL DISCO DURO MODULO 4: EL DISCO DURO Es un dispositivo mecánico por la forma de acceder a la información (cabeza que se mueve sobre el disco) y electrónico ya que guarda los datos en señales magnéticas. Es de alta

Más detalles

5.2 Plataforma de Desarrollo Para la Interfaz de Usuario

5.2 Plataforma de Desarrollo Para la Interfaz de Usuario 5.1 Introducción Para la comunicación entre SATEDU y su estación terrena se necesita ajustar ciertos parámetros de comunicación de la Tarjeta de Comunicaciones como la tasa de transmisión, el número de

Más detalles

Herramientas de soporte para temas de Comunicación de Datos. Guillermo Rigotti. UNICEN Fac. de Ciencias Exactas

Herramientas de soporte para temas de Comunicación de Datos. Guillermo Rigotti. UNICEN Fac. de Ciencias Exactas Herramientas de soporte para temas de Comunicación de Datos Guillermo Rigotti UNICEN Fac. de Ciencias Exactas ISISTAN Grupo de Objetos y Visualización Pje. Arroyo Seco, (7000) Tandil, Bs. As. Argentina

Más detalles

El Protocolo SPI. IES Juan de la Cierva. Aprendizaje de la Electrónica a través de la Robótica. Fernando Remiro Domínguez

El Protocolo SPI. IES Juan de la Cierva. Aprendizaje de la Electrónica a través de la Robótica. Fernando Remiro Domínguez El Protocolo SPI IES Juan de la Cierva Aprendizaje de la Electrónica a través de la Robótica Fernando Remiro Domínguez Serial Periferical Interface (SPI) SPI es un bus de tres líneas, sobre el cual se

Más detalles

Laboratorio 4: Uso de una FPGA

Laboratorio 4: Uso de una FPGA Laboratorio 4: Uso de una FPGA Objetivos: Conocer y comprender la estructura interna de una FPGA y su tarjeta de desarrollo que será usada en el laboratorio, y los cuidados y recomendaciones para evitar

Más detalles

Entidad Formadora: Plan Local De Formación Convocatoria 2010

Entidad Formadora: Plan Local De Formación Convocatoria 2010 Entidad Formadora: Enterprise Architect Comenzando Puede iniciar Enterprise Architect desde el ícono que se creó en su escritorio de Windows durante la instalación, o alternativamente: 1. Abrir el menú

Más detalles

Creación de Funciones de Conducción

Creación de Funciones de Conducción Creación de Funciones de Conducción Requerimientos Para el desarrollo de esta actividad se requiere que: Contemos con un robot BoeBot armado con placa Arduino. Repetición En estos momentos habremos notado

Más detalles

EH-TD05 EH-TD05 Serie Micro EH Serie EH-150 Series H-250/252B/C Series H-302/702/1002 /2002 /4010. 2 líneas de 16 caracteres 102x60 mm

EH-TD05 EH-TD05 Serie Micro EH Serie EH-150 Series H-250/252B/C Series H-302/702/1002 /2002 /4010. 2 líneas de 16 caracteres 102x60 mm HMI EH-TD05 Las nuevas pantallas de interfase hombre máquina HMI modelo EH-TD05, se caracterizan por un reducido tamaño y bajo costo, aplicables a automatismos pequeños, donde el PLC de pocas entradas/salidas

Más detalles

EJERCICIOS RESUELTOS DE SECUENCIALES

EJERCICIOS RESUELTOS DE SECUENCIALES EJERCICIOS RESUELTOS DE SECUENCIALES 1) El sistema de apertura de una caja fuerte está compuesto por dos teclas A y B, un circuito secuencial a diseñar y un temporizador que mantiene la caja fuerte abierta

Más detalles

TEMA - 3 LÓGICA SECUENCIAL. REGISTROS DE DESPLAZAMIENTO Y CONTADORES. 1.- Introducción.

TEMA - 3 LÓGICA SECUENCIAL. REGISTROS DE DESPLAZAMIENTO Y CONTADORES. 1.- Introducción. T-3 Lógica ecuencial. egistros de Desplazamiento y Contadores TEMA - 3 LÓGICA ECUENCIAL. EGITO DE DEPLAZAMIENTO Y CONTADOE..- Introducción. Hemos visto que en la lógica combinacional las salidas están

Más detalles

Estructuras de Almacenamiento RAID RAID. Nivel FísicoF. Índice. Requisitos Almacenamiento. Nivel Lógico Modelo Entidad-Relación y Modelo Relacional

Estructuras de Almacenamiento RAID RAID. Nivel FísicoF. Índice. Requisitos Almacenamiento. Nivel Lógico Modelo Entidad-Relación y Modelo Relacional Estructuras de Almacenamiento Nivel FísicoF Nivel Lógico Modelo Entidad-Relación y Modelo Relacional El nivel en el que se deben mover los usuario es el nivel lógico El objetivo de un sistema de bases

Más detalles

Entrada salida y comunicación

Entrada salida y comunicación Entrada salida y comunicación E/S de los computadores Introducción: Variedad de dispositivos. Modo de transfer. Tipo de información. Diferencias de velocidades (tasas de transferencias). Ejemplos de periféricos:

Más detalles

INTERRUPCIONES. Existen 256 interrupciones En el modo real cada una tiene un vector asociado Vectores de 4 bytes: segmento + offset 32 F0 50 8A

INTERRUPCIONES. Existen 256 interrupciones En el modo real cada una tiene un vector asociado Vectores de 4 bytes: segmento + offset 32 F0 50 8A Tres tipos de interrupciones: Internas (TRAPS) Externas (HARDWARE) Software Existen 256 interrupciones En el modo real cada una tiene un vector asociado Vectores de 4 bytes: segmento + offset... 0000:0008

Más detalles

SIMULACION DE UN ENTORNO Y MEMORIA VIRTUAL PARA UNA PLATAFORMA KHEPERA. Leonardo Solaque Nelson D. Muñoz Nelson Londoño Ospina

SIMULACION DE UN ENTORNO Y MEMORIA VIRTUAL PARA UNA PLATAFORMA KHEPERA. Leonardo Solaque Nelson D. Muñoz Nelson Londoño Ospina SIMULACION DE UN ENTORNO Y MEMORIA VIRTUAL PARA UNA PLATAFORMA KHEPERA Leonardo Solaque Nelson D. Muñoz Nelson Londoño Ospina GIRA 2 (Grupo de Investigación en Robótica y Areas Afines) Universidad de Antioquia

Más detalles

Introducción a los FPGAs y el Cómputo Reconfigurable Miguel Morales Sandoval INAOE, 2006

Introducción a los FPGAs y el Cómputo Reconfigurable Miguel Morales Sandoval INAOE, 2006 Introducción a los FPGAs y el Cómputo Reconfigurable Miguel Morales Sandoval INAOE, 2006 Qué son los FPGAs? Matriz de bloques lógicos configurables (CLB) y una matriz de interconexión. Los bloques lógicos

Más detalles

Control Teaching de un Brazo Robot de Cinco Grados de Libertad

Control Teaching de un Brazo Robot de Cinco Grados de Libertad Control Teaching de un Brazo Robot de Cinco Grados de Libertad Michel Ibáñez a610221@upc.edu.pe Christian R. Reátegui amoran@upc.edu.pe Asesor: Ing. Antonio Moran amoran@upc.edu.pe Universidad Peruana

Más detalles

Aplicación práctica de la visión artificial en el control de procesos industriales

Aplicación práctica de la visión artificial en el control de procesos industriales Aplicación práctica de la visión artificial en el control de procesos industriales Conocimientos básicos de servoaccionamientos CJ1W-NC481 Fecha: Abril 2012 1 INDICE 1. INTRODUCCIÓN... 3 2. PROGRAMACIÓN

Más detalles

PROCEDIMIENTO DE INSTALACIÓN EN RED

PROCEDIMIENTO DE INSTALACIÓN EN RED PROCEDIMIENTO DE INSTALACIÓN EN RED VERSIÓN 2010 1. Componentes del Sistema KidsPC El Sistema KidsPC típico instalado en una red local consta de tres elementos principales: El Servidor KidsPC, la Estación

Más detalles

Curso a distancia: INTRODUCCIÓN AL DISEÑO LÓGICO PROGRAMABLE CON VHDL. Capítulo 3. Codificadores

Curso a distancia: INTRODUCCIÓN AL DISEÑO LÓGICO PROGRAMABLE CON VHDL. Capítulo 3. Codificadores Curso a distancia: INTRODUCCIÓN AL DISEÑO LÓGICO PROGRAMABLE CON VHDL Capítulo 3 Codificadores Codificadores binarios y codificadores de prioridad. Codificadores de 3 a 2 líneas y de 4 a dos líneas. Detector

Más detalles

CAPÍTULO 4 ANÁLISIS Y DISEÑO: e-commerce CONSTRUCTOR

CAPÍTULO 4 ANÁLISIS Y DISEÑO: e-commerce CONSTRUCTOR CAPÍTULO 4 ANÁLISIS Y DISEÑO: e-commerce CONSTRUCTOR En este capítulo se describe el análisis y diseño de un sistema, denominado e-commerce Constructor, el cual cumple con los siguientes objetivos: Fungir

Más detalles

Aranda 360 ENDPOINT SECURITY

Aranda 360 ENDPOINT SECURITY Tabla de contenido Product Architecture Product Architecture Introducción Ambiente Redesdetrabajo Configuraciones Políticas Servidores Componentes Agente Servidor Base de datos Consola Comunicación Consola

Más detalles

18. Camino de datos y unidad de control

18. Camino de datos y unidad de control Oliverio J. Santana Jaria Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso 2006 2007 18. Camino de datos y unidad de control Un La versatilidad una característica deseable los Los

Más detalles

4. Programación Paralela

4. Programación Paralela 4. Programación Paralela La necesidad que surge para resolver problemas que requieren tiempo elevado de cómputo origina lo que hoy se conoce como computación paralela. Mediante el uso concurrente de varios

Más detalles

CAPÍTULO IV. Paquetes y Rutinas de Transmisión y Recepción del Autómata

CAPÍTULO IV. Paquetes y Rutinas de Transmisión y Recepción del Autómata CAPÍTULO IV Paquetes y Rutinas de Transmisión y Recepción del Autómata En este capítulo hablaremos de los enlaces físicos de comunicación SCO y ACL siendo este último es que ocupará el Autómata en la conexión

Más detalles

SERVIDOR WEB PARA ACCESO EN TIEMPO REAL A INFORMACIÓN METEOROLÓGICA DISTRIBUIDA

SERVIDOR WEB PARA ACCESO EN TIEMPO REAL A INFORMACIÓN METEOROLÓGICA DISTRIBUIDA SERVIDOR WEB PARA ACCESO EN TIEMPO REAL A INFORMACIÓN METEOROLÓGICA DISTRIBUIDA E. SÁEZ, M. ORTIZ, F. QUILES, C. MORENO, L. GÓMEZ Área de Arquitectura y Tecnología de Computadores. Departamento de Arquitectura

Más detalles

Intérprete entre el Operador y el Ordenador.

Intérprete entre el Operador y el Ordenador. Introducción a Windows Generalidades Una computadora es un colaborador rápido y eficaz en la tarea administrativa de la información. La computadora en realidad es capaz de hacer muy pocas cosas, como ser:

Más detalles

TEMA 20.0. EL BUS I 2 C (Inter Integrated Circuit Bus) I2C EN C

TEMA 20.0. EL BUS I 2 C (Inter Integrated Circuit Bus) I2C EN C TEMA 20.0 EL BUS I 2 C (Inter Integrated Circuit Bus) I2C EN C La comunicación n serie en los PIC 16F87X Los microcontroladores PIC de la familia 16F78x, tienen la posibilidad de comunicación serie, las

Más detalles

Capítulo 4. Requisitos del modelo para la mejora de la calidad de código fuente

Capítulo 4. Requisitos del modelo para la mejora de la calidad de código fuente Capítulo 4. Requisitos del modelo para la mejora de la calidad de código fuente En este capítulo definimos los requisitos del modelo para un sistema centrado en la mejora de la calidad del código fuente.

Más detalles

GUÍA DE USO DEL MÓDULO DE SEGUIMIENTO EQUAL PARA GESTIÓN DE PROYECTOS DE ACCIÓN 3

GUÍA DE USO DEL MÓDULO DE SEGUIMIENTO EQUAL PARA GESTIÓN DE PROYECTOS DE ACCIÓN 3 MINISTERIO DE TRABAJO Y ASUNTOS SOCIALES SECRETARÍA GENERAL DE EMPLEO Unidad Administradora del Fondo Social Europeo GUÍA DE USO DEL MÓDULO DE SEGUIMIENTO EQUAL PARA GESTIÓN DE PROYECTOS DE ACCIÓN 3 Unión

Más detalles

GUÍA DE INSTALACIÓN Y USO

GUÍA DE INSTALACIÓN Y USO GUÍA DE INSTALACIÓN Y USO Edif. Metropol 1, C/ Industria 1, 3ª Planta Mod. 14-41927 - Mairena del Aljarafe, SEVILLA Tlf: 954 98 00 37 Email: info@didesis.com Guía de usuario 2 Contenido INTRODUCCIÓN...

Más detalles

FUNDAMENTOS DE INFORMATICA

FUNDAMENTOS DE INFORMATICA FUNDAMENTOS DE INFORMATICA TEMAS QUE SE TRATARÁN: Arquitectura Interna Sistemas Operativos Programación en Visual Basic Bases de Datos Redes e Internet 1 FUNDAMENTOS DE INFORMATICA Tema 1: Arquitectura

Más detalles

Practica de Control y Programación de Robots ROBOT HERMES. Curso 2007-2008

Practica de Control y Programación de Robots ROBOT HERMES. Curso 2007-2008 Practica de Control y Programación de Robots ROBOT HERMES Curso 2007-2008 CAMPUS TECNOLÓGICO DE LA UNIVERSIDAD DE NAVARRA NAFARROAKO UNIBERTSITATEKO CAMPUS TEKNOLOGIKOA Paseo de Manuel Lardizábal 13. 20018

Más detalles

Sistema de Captura Electrónica

Sistema de Captura Electrónica Sistema de Captura Electrónica Instructivo de Instalación y Configuración de Lote Server a PC Versión del Documento v2.01 INDICE INDICE... 2 Consideraciones generales de las aplicaciones... 4 Especificaciones

Más detalles

Capítulo V. Implementación

Capítulo V. Implementación Capítulo V Implementación En este capítulo se especifican los recursos utilizados en la implementación de la interfaz, así como se describe su arquitectura funcional y las características principales.

Más detalles

t i Q 7 Q 6 Q 5 Q 4 Q 3 Q 2 Q 1 Q 0

t i Q 7 Q 6 Q 5 Q 4 Q 3 Q 2 Q 1 Q 0 Clase 5 Un registro es un conjunto de n latch o Flip-Flops asociados que permiten almacenar temporalmente una palabra o grupo de n bit. Hay dos clases de registros típicos sincrónicos 1. el registro de

Más detalles

TEMA 4. Unidades Funcionales del Computador

TEMA 4. Unidades Funcionales del Computador TEMA 4 Unidades Funcionales del Computador Álvarez, S., Bravo, S., Departamento de Informática y automática Universidad de Salamanca Introducción El elemento físico, electrónico o hardware de un sistema

Más detalles

WINDOWS. Iniciando Windows. El mouse

WINDOWS. Iniciando Windows. El mouse Windows es un sistema operativo, cuyo nombre lo debe al principal elemento de trabajo, la ventana - en inglés window -. Este tiene características como: Multitarea: durante una sesión de trabajo, es posible

Más detalles

LABORATORIO 3. CONFIGURACIÓN DE SISTEMAS MANEJADORES DE BASE DE DATOS - POSTGRE SQL

LABORATORIO 3. CONFIGURACIÓN DE SISTEMAS MANEJADORES DE BASE DE DATOS - POSTGRE SQL LABORATORIO 3. CONFIGURACIÓN DE SISTEMAS MANEJADORES DE BASE DE DATOS - POSTGRE SQL GUÍA DE LABORATORIO Nº 3 Actividad de Proyecto No. 2: CONFIGURAR SISTEMAS MANEJADORES DE BASE DE DATOS. CONFIGURACIÓN

Más detalles

ESCUELA SUPERIOR DE INFORMATICA Prácticas de Estadística UNA SESIÓN EN SPSS

ESCUELA SUPERIOR DE INFORMATICA Prácticas de Estadística UNA SESIÓN EN SPSS UNA SESIÓN EN SPSS INTRODUCCIÓN. SPSS (Statistical Product and Service Solutions) es un paquete estadístico orientado, en principio, al ámbito de aplicación de las Ciencias sociales, es uno de las herramientas

Más detalles

NT 2 WMRNET : PROTOCOLO DE RED (Rev.2)

NT 2 WMRNET : PROTOCOLO DE RED (Rev.2) NT 2 WMRNET : PROTOCOLO DE RED (Rev.2) Introducción El objetivo de esta nota técnica es que el usuario se familiarice con los módulos de RED DE APPCON, conozca el concepto de funcionamiento y tenga la

Más detalles

1 La Resolución de Problemas utilizando la Computadora

1 La Resolución de Problemas utilizando la Computadora La Resolución de Problemas utilizando la Computadora Lissette Alvarez Abril-Julio, 2004 El Computador es una máquina que no puede trabajar por si sola, únicamente realiza aquellas órdenes que el hombre

Más detalles

La forma de manejar esta controladora es mediante un ordenador utilizando algún lenguaje de programación (Por ejemplo.: C, Visual Basic, Logo,...).

La forma de manejar esta controladora es mediante un ordenador utilizando algún lenguaje de programación (Por ejemplo.: C, Visual Basic, Logo,...). Instituto de Tecnologías Educativas Circuito de control El circuito de control es la parte más delicada de la controladora, ya que se encarga de controlar las entradas (Puerto LPT, Entradas Analógicas,

Más detalles

construcción de programas Prof. Eliana Guzmán U.

construcción de programas Prof. Eliana Guzmán U. Unidad II. Metodología para la construcción de programas Prof. Eliana Guzmán U. Semestre: A-2015 Introducción Resolver un problema con una computadora conduce a la escritura de un programa y a su ejecución.

Más detalles

FESTOSARA. EDispOWS. Manual de software www.festosara.com.ar

FESTOSARA. EDispOWS. Manual de software www.festosara.com.ar FESTOSARA EDispOWS Manual de software www.festosara.com.ar Contenido e instrucciones generales Titulo Original... EDispOWS- Manual de software Ver:1.5 FESTOSARA 2008, ARGENTINA Internet: E-mail: http://www.festosara.com.ar

Más detalles

Manual de usuario Terminal control de Rondas CONTROL DE RONDAS GS. Manual de usuario para el sistema de control de rondas versión 3.

Manual de usuario Terminal control de Rondas CONTROL DE RONDAS GS. Manual de usuario para el sistema de control de rondas versión 3. Manual de usuario Terminal control de Rondas CONTROL DE RONDAS GS 1 Lea el manual para entender la estructura básica del producto, rendimiento, función y conocimientos básicos acerca de la instalación,

Más detalles

BUSES GRUPO 8 Miguel París Dehesa Ricardo Sánchez Arroyo

BUSES GRUPO 8 Miguel París Dehesa Ricardo Sánchez Arroyo BUSES GRUPO 8 Miguel París Dehesa Ricardo Sánchez Arroyo - Trabajo de ampliación. BUSES. - 1 INDICE 1. Introducción 2. Integrated Drive Electronics (IDE) (1986) 3. Universal Serial Bus (USB) (1996) 4.

Más detalles

Organizacion del Computador

Organizacion del Computador Universidad Nacional de Ingeniería Facultad de Ciencias Introducción a la Ciencia de la Computación Organizacion del Computador Prof: J. Solano 2011-I Objetivos Despues de estudiar este cap. el estudiante

Más detalles

Introducción a los Sistemas Operativos

Introducción a los Sistemas Operativos Introducción a los Sistemas Operativos 2º Ingeniero de Telecomunicación (Sonido e Imagen) Departamento de Ingeniería Telemática Universidad Carlos III de Madrid 2 Qué vamos a ver hoy? Qué es un sistema

Más detalles

EDU_NA005 Mouse PS/2 Emulado por el EDUKIT08...

EDU_NA005 Mouse PS/2 Emulado por el EDUKIT08... COMENTARIO TECNICO Mundo EDUKIT08 Por: Ing. Roberto Simone Ingeniero de aplicaciones Freescale robertosimone@arnet.com.ar Ing. Daniel Di Lella D.F.A.E www.edudevices.com.ar dilella@arnet.com.ar (MDO_EDUKIT_013)

Más detalles

Proyecto PLUMA Plataforma Universal Microcontrolada Aplicaciones didácticas e industriales

Proyecto PLUMA Plataforma Universal Microcontrolada Aplicaciones didácticas e industriales Proyecto PLUMA Plataforma Universal Microcontrolada Aplicaciones didácticas e industriales INS LA GARROTXA PEB12: TONI MORENO ÍNDEX: 1. INTRODUCCIÓN... 3 1.1 VISIÓN ARTIFICIAL... 3 1.2 INTERFACE PLUMABOT-PICAXE...

Más detalles

MANUAL DE REGISTRO Y ACREDITACIÓN

MANUAL DE REGISTRO Y ACREDITACIÓN Recaudación Electrónica Versión 5.2 MANUAL DE REGISTRO Y ACREDITACIÓN Versión 5.2 Recaudación Electrónica Versión 5.2 2 ÍNDICE ÍNDICE... 2 CERTIFICACIÓN... 4 Sitio Web Recaudación Electrónica... 6 Home...

Más detalles

JGCBusing Manual de Usuario v1.0

JGCBusing Manual de Usuario v1.0 JGCBusing Manual de Usuario v1.0 Agosto 2012 Tabla de Contenido 1. Introducción... 3 2. JGCBusing. Herramienta Web... 4 2.1. Descripción... 4 2.2. Creación de una configuración desde cero... 8 2.3. Generación

Más detalles

Manual de uso del software. RoboPlus. Octubre 6. Interconectividad de dispositivos Nombre del profesor: Emilio Vargas Soto

Manual de uso del software. RoboPlus. Octubre 6. Interconectividad de dispositivos Nombre del profesor: Emilio Vargas Soto Manual de uso del software RoboPlus Octubre 6 Interconectividad de dispositivos Nombre del profesor: Emilio Vargas Soto Elaborado por: Andrés Ernesto López Sandoval. 164139 Martha Fernanda Iturbe Cejudo.

Más detalles

CAPÍTULO 4. EL EXPLORADOR DE WINDOWS XP

CAPÍTULO 4. EL EXPLORADOR DE WINDOWS XP CAPÍTULO 4. EL EXPLORADOR DE WINDOWS XP Características del Explorador de Windows El Explorador de Windows es una de las aplicaciones más importantes con las que cuenta Windows. Es una herramienta indispensable

Más detalles

SIMULADOR DE SISTEMAS DE EVENTOS DISCRETOS

SIMULADOR DE SISTEMAS DE EVENTOS DISCRETOS SIMULADOR DE SISTEMAS DE EVENTOS DISCRETOS MANUAL DE USUARIO 1.1 Introducción. El simulador de sistemas de eventos discretos está compuesto por dos aplicaciones: el Simulador de redes de Petri y el Simulador

Más detalles

SISTEMA DE CONTROL DE PRESENCIA

SISTEMA DE CONTROL DE PRESENCIA SISTEMA DE CONTROL DE PRESENCIA 1 SISTEMA DE CONTROL DE PRESENCIA 1 1 GENERALIDADES DE LA APLICACIÓN 3 2 SEGURIDAD Y ACCESO AL PROGRAMA 7 2.1 Mantenimiento de usuarios 7 2.2 Perfiles 9 3 GESTIÓN DE EMPRESAS

Más detalles

CONTROL DIGITAL PARA CONVERTIDOR MULTINIVEL ALIMENTADO CON ENERGÍA SOLAR. Anexo A: FPGA. Introducción

CONTROL DIGITAL PARA CONVERTIDOR MULTINIVEL ALIMENTADO CON ENERGÍA SOLAR. Anexo A: FPGA. Introducción Anexo A: FPGA Introducción Cuando se requiere del diseño de un sistema electrónico y surge la necesidad de implementar una parte con hardware dedicado son varias las posibilidades que hay. Una es un diseño

Más detalles

TEMA 1. CONCEPTO DE ORDENADOR: ESTRUCTURA Y FUNCIONAMIENTO

TEMA 1. CONCEPTO DE ORDENADOR: ESTRUCTURA Y FUNCIONAMIENTO TEMA 1. CONCEPTO DE ORDENADOR: ESTRUCTURA Y FUNCIONAMIENTO 1.1 Introducción Los ordenadores necesitan para su funcionamiento programas. Sin un programa un ordenador es completamente inútil. Para escribir

Más detalles

Operación Microsoft Windows XP

Operación Microsoft Windows XP El Explorador de Windows xp Características del Explorador de Windows El Explorador de Windows es una de las aplicaciones más importantes con las que cuenta Windows. Es una herramienta indispensable en

Más detalles

ORGANIZAR LA INFORMACIÓN: EL EXPLORADOR DE WINDOWS

ORGANIZAR LA INFORMACIÓN: EL EXPLORADOR DE WINDOWS ORGANIZAR LA INFORMACIÓN: EL EXPLORADOR DE WINDOWS Organizar la información: El explorador de Windows... 1 Introducción... 1 Explorador de Windows... 2 Ejercicio práctico del explorador de Windows... 5

Más detalles

Anexo B. Comunicaciones entre mc y PC

Anexo B. Comunicaciones entre mc y PC Anexo B Comunicaciones entre mc y PC En este apartado se hará hincapié en los comandos para el manejo del módulo de comunicaciones desde el PC. Conociendo estos comando se podrá realizar una aplicación

Más detalles

LABORATORIO 10. ADMINISTRACIÓN DE COPIAS DE SEGURIDAD EN SQL SERVER

LABORATORIO 10. ADMINISTRACIÓN DE COPIAS DE SEGURIDAD EN SQL SERVER LABORATORIO 10. ADMINISTRACIÓN DE COPIAS DE SEGURIDAD EN SQL SERVER GUÍA DE LABORATORIO Nº 1O Actividad de Proyecto No. 12: ESTABLECER PLANES DE RESGUARDO, RESTAURACION Y CONTINGENCIA. Estructura de contenidos.

Más detalles

Interfaz WISHBONE ...

Interfaz WISHBONE ... Interfaz WISHBONE... 2 Interfaz WISHBONE Interfaz WISHBONE 3 Introducción... El presente documento resume los aspectos más importantes de la Revision B.3 de la especificación WISHBONE. El objetivo de la

Más detalles