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

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

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

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

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

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 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

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

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

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

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

Test I2C Documentación Proyecto SISEM 2012 IIE - FING

Test I2C Documentación Proyecto SISEM 2012 IIE - FING Test I2C Documentación Proyecto SISEM 2012 IIE - FING Tutores: Pablo Mazzara Conrado Rossi Integrantes: Martin Ardao Luis Briosso Imanol Calvo Resumen En el siguiente documento se describe el proceso de

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

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

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

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

Manual de formación para soluciones generales en automatización Totally Integrated Automation (T I A )

Manual de formación para soluciones generales en automatización Totally Integrated Automation (T I A ) Manual de formación para soluciones generales en automatización Totally Integrated Automation (T I A ) MÓDULO D11 PROFIBUS DP con CP 342-5DP maestra/cp 342-5DP esclava T I A Manual de Formación Página

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

INTRODUCCIÓN AL SOFTWARE ISE (Integrated Software Environment) DE XILINX

INTRODUCCIÓN AL SOFTWARE ISE (Integrated Software Environment) DE XILINX INTRODUCCIÓN AL SOFTWARE ISE (Integrated Software Environment) DE XILINX Índice GUÍA DE INICIO AL SOFTWARE ISE DE XILINX... 1 1. Introducción... 1 2. Inicio del software ISE (Integrated Software Environment)

Más detalles

DISPOSITIVO DE ALMACENAMIENTO ESTANDAR PARA SOLUCION EMBEBIDA

DISPOSITIVO DE ALMACENAMIENTO ESTANDAR PARA SOLUCION EMBEBIDA DISPOSITIVO DE ALMACENAMIENTO ESTANDAR PARA SOLUCION EMBEBIDA Di Giulio, Pablo Andrés / Grupo T.D.A. / Departamento de Ingeniería Electrónica / U.T.N. Facultad Regional San Francisco CONTEXTO El grupo

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

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

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

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

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

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

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

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

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

Juan de Dios Murillo Morera e-mail: jmurillo@una.ac.cr Santiago Caamaño Polini e-mail: scaamano@costarricense.cr INTRODUCCIÓN

Juan de Dios Murillo Morera e-mail: jmurillo@una.ac.cr Santiago Caamaño Polini e-mail: scaamano@costarricense.cr INTRODUCCIÓN UNICIENCIA 24 pp. 83-89 2010 IMPLEMENTACIÓN DE UN SERVIDOR FTP UTILIZANDO EL MODELO CLIENTE/SERVIDOR MEDIANTE EL USO DE SOCKETS EN LENGUAJE C UNIX CON EL FIN DE MEJORAR LOS TIEMPOS DE RESPUESTA EN LA RED

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

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

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

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

CURSO DISEÑO DE SISTEMAS DIGITALES MEDIANTE VHDL PARA SU IMPLEMENTACIÓN CON FPGAS. 40 horas (15 horas teoría + 25 horas práctica)

CURSO DISEÑO DE SISTEMAS DIGITALES MEDIANTE VHDL PARA SU IMPLEMENTACIÓN CON FPGAS. 40 horas (15 horas teoría + 25 horas práctica) CURSO DISEÑO DE SISTEMAS DIGITALES MEDIANTE VHDL PARA SU IMPLEMENTACIÓN CON FPGAS 40 horas (15 horas teoría + 25 horas práctica) OBJETIVOS Aprendizaje del lenguaje VHDL para el diseño de sistemas digitales

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

Lector de tarjetas SD en microcontrolador NXP. Ing. Luis Antonini*; Ing. Jorge Osio*; Ing. Jose Rapallini

Lector de tarjetas SD en microcontrolador NXP. Ing. Luis Antonini*; Ing. Jorge Osio*; Ing. Jose Rapallini Segundas Jornadas de Investigación y Transferencia - 2013 Lector de tarjetas SD en microcontrolador NXP Ing. Luis Antonini*; Ing. Jorge Osio*; Ing. Jose Rapallini Centro de Técnicas Analógico Digitales

Más detalles

COMUNICACIÓN SERIAL FAMILIA DSP56800: Síncronas y Asíncronas CAPÍTULO VII

COMUNICACIÓN SERIAL FAMILIA DSP56800: Síncronas y Asíncronas CAPÍTULO VII Página 1 de 21 INTRODUCCIÓN CAPÍTULO VII El intercambio de información digital entre un procesador y los periféricos puede ser de dos formas: de manera paralela o serial. La primera implica el envió simultáneo

Más detalles

Microprocesadores, Tema 8:

Microprocesadores, Tema 8: Microprocesadores, Tema 8: Periféricos de Comunicación Síncronos Guillermo Carpintero Marta Ruiz Universidad Carlos III de Madrid Standard de Comunicación Protocolos Standard de Comunicación Serie Síncrona

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

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

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

Sistemas de Almacenamiento y Periféricos. ricos

Sistemas de Almacenamiento y Periféricos. ricos Sistemas de Almacenamiento y Periféricos ricos 1 Sistemas de Almacenamiento y Periféricos ricos -Almacenamiento Interfaces: ATA/IDE, SCSI, SATA Dispositivos: Discos duros, almacenamiento óptico, FLASH

Más detalles

Slicetex Ladder Designer Studio NOTA DE APLICACIÓN. AN028 Bus de Comunicaciones I2C

Slicetex Ladder Designer Studio NOTA DE APLICACIÓN. AN028 Bus de Comunicaciones I2C Slicetex Ladder Designer Studio NOTA DE APLICACIÓN AN028 Bus de Comunicaciones I2C Autor: Ing. Boris Estudiez Modelos Aplicables AX, CX y DX 1 Descripción General La presente nota de aplicación explica

Más detalles

2 Sea una unidad de disco duro de brazo móvil con las siguientes características:

2 Sea una unidad de disco duro de brazo móvil con las siguientes características: 1 Sea una unidad de disco duro de brazo móvil con las siguientes características: 18 superficies, 20.331 cilindros y 400 sectores por pista. Sectores de 1.024 bytes de información neta. Velocidad de rotación:

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

EL MICROPROCESADOR INTRODUCCION

EL MICROPROCESADOR INTRODUCCION INTRODUCCION El microprocesador o CPU es un dispositivo electrónico digital, integrado, programable y de actuación secuencial que constituye el cerebro del computador. Funcionalmente, es pues un dispositivo

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

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

TEMA 3: Buses, puertos e interfaces

TEMA 3: Buses, puertos e interfaces TEMA 3: Buses, puertos e interfaces Contenidos 1. Introducción. de buses. 3. Jerarquía de buses. 4. Ejemplos de buses. 5. Puertos e interfaces. 6. Ejemplos de puertos e interfaces. Periféricos de Computadores

Más detalles

TEMA7. SISTEMAS SECUENCIALES

TEMA7. SISTEMAS SECUENCIALES Sistemas Secuenciales 1 TEMA7. SISTEMAS SECUENCIALES Los circuitos lógicos se clasifican en dos tipos: Combinacionales, aquellos cuyas salidas sólo dependen de las entradas actuales. Secuenciales, aquellos

Más detalles

GE Power Management GE_LOCAL. Software de Comunicación. Instrucciones GEK 105568C

GE Power Management GE_LOCAL. Software de Comunicación. Instrucciones GEK 105568C GE Power Management Software de Comunicación GE_LOCAL Instrucciones GEK 105568C ,1',&( 1. INSTALACIÓN...3 1.1. REQUERIMIENTOS DEL SISTEMA...3 1.2. INSTALACIÓN DEL PROGRAMA...3 1.2.1. Instalación con disquetes....3

Más detalles

Organización del Computador 1. Máquina de von Neumann Jerarquía de Niveles

Organización del Computador 1. Máquina de von Neumann Jerarquía de Niveles Organización del Computador 1 Máquina de von Neumann Jerarquía de Niveles Inicios de la computación Turing y Church sientan las bases teóricas de la computación Máquina de Turing Máquina teórica compuesta

Más detalles

Ic-Prog PARA PROGRAMAR MICROCONTROLADORES PIC 16F84 y 16F876.

Ic-Prog PARA PROGRAMAR MICROCONTROLADORES PIC 16F84 y 16F876. Ic-Prog PARA PROGRAMAR MICROCONTROLADORES PIC 16F84 y 16F876. Prof: Bolaños D. En unión del hardware adecuado, el software IC-PROG permite programar gran cantidad de dispositivos electrónicos. Esta guía

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

Introducción a la Entrada/Salida

Introducción a la Entrada/Salida Introducción a la Entrada/Salida Organización de entrada/salida La familia de procesadores 80x86, presente en el IBM PC, utiliza la arquitectura Von Neumann, que puede verse en la figura 1. El denominado

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

2.6 Componentes Conectores. 2.6.1 Puertos serie y paralelos

2.6 Componentes Conectores. 2.6.1 Puertos serie y paralelos 2 2.6 Componentes Conectores 2.6.1 Puertos serie y paralelos 109 Un puerto de I/O es una ruta hacia y fuera de la computadora a través de un conector que se encuentra en su parte posterior. Todos los dispositivos

Más detalles

Diseño del Sistema de Información

Diseño del Sistema de Información Diseño del Sistema de Información ÍNDICE DESCRIPCIÓN Y OBJETIVOS... 2 ACTIVIDAD DSI 1: DEFINICIÓN DE LA ARQUITECTURA DEL SISTEMA... 7 Tarea DSI 1.1: Definición de Niveles de Arquitectura... 9 Tarea DSI

Más detalles

Sistemas con Microcontroladores y Microprocesadores

Sistemas con Microcontroladores y Microprocesadores Sistemas con Microcontroladores y Microprocesadores Objetivos Al terminar el curso, el estudiante estará capacitado para: 1. Entender funcionalmente cómo trabaja un sistema de computadora: Describir los

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

KIT INICIO BASICX-24 S310210

KIT INICIO BASICX-24 S310210 KIT INICIO BASICX-24 S310210 Cómo empezar a utilizar el sistema En este documento encontrará los pasos necesarios para empezar a utilizar el sistema BasicX-24. Se resumen los requisitos del sistema, se

Más detalles

Arquitectura de Computadores

Arquitectura de Computadores Arquitectura de Computadores 2. La CPU 1. Estructura de la CPU 2. Ciclo de instrucción 3. Interfaz hardware de una CPU 4. Ciclo de reloj, memoria e instrucción Arquitectura de Computadores La CPU - 1 Vamos

Más detalles

TEMA 6: GESTIÓN DE ENTRADA/SALIDA

TEMA 6: GESTIÓN DE ENTRADA/SALIDA 1. Introducción TEMA 6: GESTIÓN DE ENTRADA/SALIDA Función principal de un S.O.: controlar todos los dispositivos de E/S de la computadora. El Subsistema de E/S se encarga de Emitir órdenes a los dispositivos

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

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

Diseño del Sistema de Información

Diseño del Sistema de Información Diseño del Sistema de Información ÍNDICE DESCRIPCIÓN Y OBJETIVOS...2 ACTIVIDAD DSI 1: DEFINICIÓN DE LA ARQUITECTURA DEL SISTEMA...7 Tarea DSI 1.1: Definición de Niveles de Arquitectura...9 Tarea DSI 1.2:

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

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

2 1.1 2 1.2 2 2. SOFTWARE +... 3 3. COMUNICACIÓN - CONEXIÓN DEL DISPOSITIVO...

2 1.1 2 1.2 2 2. SOFTWARE +... 3 3. COMUNICACIÓN - CONEXIÓN DEL DISPOSITIVO... Manual de software Dynamic Plus Fecha: 03/04/2014 Manual Software Dynamic Plus v2.0.5 ÍNDICE GENERAL 1. INTRODUCCIÓN... 2 1.1 Configuración mínima del PC... 2 1.2 Instalación del Software Dynamic Plus...

Más detalles

ÍNDICE DE CONTENIDOS

ÍNDICE DE CONTENIDOS ÍNDICE DE CONTENIDOS 1. Conceptos generales sobre redes... 1. 2. Elementos básicos de una red. Hardware y Software... 3. 3. Configuración de una LAN. Protocolo TCP IP... 5. 4. Recursos compartidos en una

Más detalles

CeTAD (Centro de Técnicas Analógico Digitales) Facultad de Ingeniería Universidad Nacional de La Plata

CeTAD (Centro de Técnicas Analógico Digitales) Facultad de Ingeniería Universidad Nacional de La Plata CeTAD (Centro de Técnicas Analógico Digitales) Facultad de Ingeniería Universidad Nacional de La Plata Contacto: jorge.osio@ing.unlp.edu.ar 29/08/2012 Autores: Ing. Luis Antonini - Ing. Jorge Osio 1 Temario

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 6.- Módulo Serial Asincrónico de Comunicación

Más detalles

Puertas para Windows Versión 1.2 (alpha)

Puertas para Windows Versión 1.2 (alpha) Universidad Técnica Federico Santa María Laboratorio de Sistemas Digitales Puertas para Windows Versión 1.2 (alpha) Mayo 2001 Andrés Alvarado PUERTASparaWindows, Guia de Usuarios 1 I. Introducción: Que

Más detalles

64 x 8 Serial Real Time Clock

64 x 8 Serial Real Time Clock 64 x 8 Serial Real Time Clock DS1307 DESCRIPCIÓN El DS1307 Real-Time-Clock Serie, es un dispositivo de bajo consumo de energía, completo con código binario decimal (BCD), reloj/calendario más 56 bytes

Más detalles

BUSES. Una comunicación compartida Un conjunto de cables para comunicar múltiples subsistemas. Memoria

BUSES. Una comunicación compartida Un conjunto de cables para comunicar múltiples subsistemas. Memoria BUSES UPCO ICAI Departamento de Electrónica y Automática 1 Qué es un bus? Una comunicación compartida Un conjunto de cables para comunicar múltiples subsistemas Procesador Control Datapath Memoria Entrada

Más detalles

Práctica nº 4. Herramienta de diseño digital Quartus II.

Práctica nº 4. Herramienta de diseño digital Quartus II. Grado en Ingeniería de Tecnologías de Telecomunicación. Escuela Técnica Superior de Ingeniería Industrial y de Telecomunicación. Electrónica Digital I. Práctica nº 4. Herramienta de diseño digital Quartus

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

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

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

CAPÍTULO 3 LA COMUNICACIÓN SERIAL

CAPÍTULO 3 LA COMUNICACIÓN SERIAL CAPÍTULO 3 LA COMUNICACIÓN SERIAL 3.1 Introducción. La historia de las comunicaciones se remonta a 1810 cuando un señor alemán de apellido Von Soemmering, utilizó 26 cables (1 por cada letra del alfabeto)

Más detalles

Preparación: -En caso de no haberlo hecho todavía llamar al AS-Interface Desk -Tres Slaves (10,20,30) conectados con ASI

Preparación: -En caso de no haberlo hecho todavía llamar al AS-Interface Desk -Tres Slaves (10,20,30) conectados con ASI 1 Trabajo Practico ASI BUS Configuración y operación via remota 1ra. Parte Breve descripción del panel frontal Display y Elementos operativos Sobre el panel frontal del Master ASI se visualizan siete diodos

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

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

INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería Universidad Nacional de Mar del Plata

INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería Universidad Nacional de Mar del Plata Características del datalogger autónomo EJERCICIO: El datalogger o registrador debe sensar la temperatura ambiente cada 1s y guardarla junto a la fecha y hora de adquisición en un archivo.txt alojado en

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

Control de un módulo LCD a través del bus I2C

Control de un módulo LCD a través del bus I2C Control de un módulo LCD a través del bus I2C Requerimientos hardware Placa basada en microcontrolador pic 16F877x (Plataforma Monibot) Módulo lcd por I2C modelo LCD03 Cable de comunicación de 4 hilos

Más detalles

CAPÍTULO 3 MÓDULO DIGITAL PARA CONVERSIÓN DE VIDEO

CAPÍTULO 3 MÓDULO DIGITAL PARA CONVERSIÓN DE VIDEO CAPÍTULO 3 MÓDULO DIGITAL PARA CONVERSIÓN DE VIDEO 3.1 INTRODUCCIÓN Las señales provenientes de una tarjeta de video de una computadora son formatos estandarizados que podemos emplear para desplegar información

Más detalles

ESTRUCTURA DE UN DISCO DURO

ESTRUCTURA DE UN DISCO DURO ESTRUCTURA DE UN DISCO DURO MECANICA INTERNA Todo disco duro esta compuesto por uno o varios discos magnéticos (también llamados platos magnéticos), una o varias cabezas lectoras/grabadoras, un motor de

Más detalles

Sincronización de carpetas con el disco duro virtual en sistemas Windows

Sincronización de carpetas con el disco duro virtual en sistemas Windows DDV: Disco Duro Virtual de la Universidad de Sevilla. Contenido Sincronización de carpetas con el disco duro virtual en sistemas Windows...1 1. Instalación del cliente de sincronización...1 2. Configuración

Más detalles

Tema 7. SISTEMAS SECUENCIALES SISTEMAS SECUENCIALES SÍNCRONOS

Tema 7. SISTEMAS SECUENCIALES SISTEMAS SECUENCIALES SÍNCRONOS Fundamentos de Computadores. Sistemas Secuenciales. T7-1 INDICE: Tema 7. SISTEMAS SECUENCIALES INTRODUCCIÓN SISTEMAS SECUENCIALES SÍNCRONOS TIPOS DE BIESTABLES o TABLAS DE ECITACIÓN DE LOS BIESTABLES o

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

Antes de imprimir este documento piense en el medio ambiente!

Antes de imprimir este documento piense en el medio ambiente! Versión 1.0 Página 1 de 14 1. OBJETIVO: Suministrar la metodología que se aplicará para la estimación de esfuerzo para los desarrollos nuevos en el ICBF, para lo cual se detallan los aspectos a tener en

Más detalles

MANUAL DE USUARIO ARDUINO DMX MASTER SHIELD MCI-TDD-01588 REV. 1.0

MANUAL DE USUARIO ARDUINO DMX MASTER SHIELD MCI-TDD-01588 REV. 1.0 MANUAL DE USUARIO ARDUINO DMX MASTER SHIELD MCI-TDD-01588 REV. 1.0 Ingeniería MCI Ltda. Luis Thayer Ojeda 0115 of. 1105, Providencia, Santiago, Chile. MANUAL DE USUARIO ARDUINO DMX MASTER SHIELD Página

Más detalles

TOOLS for MR V1.5.2 para Windows

TOOLS for MR V1.5.2 para Windows TOOLS for MR V1.5.2 para Windows TOOLS for MR V1.5.2 para Windows consta de los siguientes programas: - V1.5.2 - Steinberg MR Editor V1.5.1 - Steinberg MR Extension V1.5.1 Principales modificaciones y

Más detalles

Conexión y programación con el puerto paralelo

Conexión y programación con el puerto paralelo Metodología de Programación, Programación en C, Aplicaciones electrónicas 1 /16 Conexión y programación con el puerto paralelo Las comunicaciones en paralelo se realizan mediante la transferencia simultánea

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