“Conceptos computacionales relacionados con la Ingeniería Eléctrica”
Grupo 2 Ingeniería de Ejecución
Franco Luoni Felipe Martínez Mauricio Moreno Fabián Parra Nicolás Zenteno Byron Zúñiga Ramo: Introducción a la Ingeniería Eléctrica Profesor: Ricardo Hinojosa Ayudante: Gabriel Pavez 1
Índice Introducción 1. ¿Qué es un microcomputador? 1.1 ¿Cuál es su estructura? 2. ¿Qué es un microcontrolador? 2.1. ¿Cuáles son los principales fabricantes de microcontroladores? 2.2. ¿Cuáles son los principales modelos de los microcontroladores Basic Stamp? 3. ¿Cuáles son los principales lenguajes de programación? 4. ¿Cuál es el circuito de un sensor discriminador de línea? 5. ¿Qué es un algoritmo? 6. ¿Qué es un Diagrama de Flujo? 7. ¿Cuál es el lenguaje de máquina? Conclusión Bibliografía
página 3 4 5 7 8 8 12 13 13 14 15 16 17
2
Introducción En las distintas áreas de la Ingeniería, como en la gran mayoría de los diferentes trabajos y servicios, está muy presente la computación y la informática. Esta herramienta ayuda de gran manera para solucionar problemas básicos y avanzados que se presenten. En la Ingeniería Eléctrica, la computación y la informática, juega un rol mucho más importante, incluso, que en cualquier otra área, puesto que es un computador el que controla los procesos automáticos, por mencionar un ejemplo. En el siguiente informe se responderán algunas preguntas de las ciencias de la computación, como lo que es un microcomputador, un algoritmo, etc., preguntas que ayudarán a entender mejor la relación entre la electricidad y la computación y la informática.
3
¿Qué es un microcomputador? Es un computador que su principal característica que sus partes son en un tamaño más reducido. Posee un microprocesador como su unidad central de procesamiento. Las microcomputadoras más conocidas son las computadoras caseras, aunque de primera, éstas eran de tamaños exorbitantes. A medida que ha ido evolucionando, y el uso de éstas ha sido más necesario, han ido reduciendo en su tamaño. Otra microcomputadora común son los laptops: computadores portátiles muy de moda en nuestros tiempos y cada vez más sofisticados. Si damos un poco de historia al crearse estas microcomputadoras, se consideraban herramientas para un solo usuario y en sus inicios tenían una capacidad de procesar 4; 8 ó 16 bits de información por vez. Estos aparatos fueron diseñados para uso doméstico, didáctico o funciones de oficina. Algunas características esenciales de las microcomputadoras actuales es su velocidad de procesamiento, que es la capacidad de ejecutar millones de instrucciones por segundo, la cantidad de usuarios; su tamaño también es algo muy importante, ya que mientras más pequeño, es más portable y más cómodo de usar, aunque a medida que su tamaño decrece, sus funcionalidades son más reducidas. Sin embargo, con el avance tecnológico se ha equiparado poco a poco este déficit de crecimiento-funcionalidad. Su facilidad de uso es otro punto importante, puesto que al estar orientado a todo público, la estandarización utilizada debe ser fácil de entender. Otra característica es que cada vez es más fácil de hacer, por lo que cada vez es más asequible al público. Es importante decir que la penetración de este artefacto tecnológico en los países industrializados a sido bastante alto y poco se ha transformado en el principal soporte en los negocios y cada vez más necesario en la vida cotidiana. La importancia de estas computadoras como mencionábamos anteriormente, ha tomado un revuelo mundial por los siguientes motivos: el uso de las computadoras en la industrialización, porque al ser versátil y eficaz, ha ayudado a reducir los tiempos de producción y ha reducido los errores humanos, por lo que industrialmente, cada vez es más usada; comercialmente también es utilizado para el diseño de variados proyectos, lo que hace de este aparato una herramienta que aporta gran apoyo en el tema de reducción de espacios; y en el tema de comodidad, además mencionar que el uso de Internet ha ayudado a que el manejo de información sea más íntegra y fácil de llegar, por lo que es asequible para todos.
4
¿Cuál es la estructura de un microcomputador? La unidad de procesamiento central (CPU) es el elemento principal del sistema computacional, que consta de dos subconjuntos funcionales: la primera UNIDAD DE CONTROL (CU) y la UNIDAD ARITMETICA LOGICA (ALU). La unidad de control es la encargada de interpretar las instrucciones, hace que las otras unidades de la computadora realicen funciones que se requieran para ejecutar instrucciones indicadas. Descripción: 1: Unidad de control: este componente se encarga de las operaciones de la computadora. Es el encargado de capturar y decodificar las instrucciones, genera las señales de sincronización y establece la serie de eventos que ocurre durante la operación de la computadora. 2: Conjunto de instrucciones: este se subdivide en base al modo de direccionamiento que se quiera utilizar. Al ser un grupo similar se puede utilizar una descripción común para todo un grupo los que describiremos enseguida: a) Instrucciones con operación de registros: los operandos están ubicados en el registro de la CPU. Estas instrucciones realizan operaciones aritméticas y lógicas. b) Instrucciones de referencia a la memoria: en estas instrucciones algunos registros están ubicados en la memoria. Es denominada instrucción de longitud de palabra fija. c) Instrucciones de entrada y salida (i/o): provocan la trasferencia de datos entre dispositivos, entre las unidades comunes de transferencias en una operación individual se cuenta el BIT, el bytes, que tiene 8 bits, y la palabra que tienes 4 bytes. Unidad aritmética lógica: como su nombre lo dice, este registro cumple las funciones aritméticas básicas: sumas restas y también los números binarios, números decimales codificados en binarios. Algoritmos aritméticos: como mencionamos anteriormente esta unidad implementa la suma y resta binarias ciertas operaciones y booleanas y desplazamientos. Memoria RAM o memoria principal: es un chip que está encargado de almacenar de forma temporal los datos e instrucciones con los que trabaja. El computador, para poder funcionar, necesita colocar su sistema operativo los programas y datos con los que va a trabajar, en un lugar donde los pueda encontrar de manera inmediata y fácil (para no tener que ir continuamente a buscarlos al disco duro donde se encuentran almacenados; esto sería 100 veces más lento). Así que los 5
ubica en un espacio de almacenamiento temporal, la memoria RAM es de acceso aleatorio. A la RAM se le conoce como memoria de lectura y escritura, para diferenciarla de la ROM. Es decir, que en la RAM, la CPU puede escribir y leer. Por esto, la mayoría de los programas destinan parte de la RAM como espacio temporal para guardar datos, lo que permite rescribir. Como no retiene su contenido, al apagar la computadora es importante guardar la información. La cantidad de memoria RAM influye bastante en la velocidad de la PC. Entre más memoria RAM tenga, más rápido trabaja y más programas puede tener abiertos al mismo tiempo. Memoria ROM: es aquella que posee las instrucciones fundamentales para hacer funcionar sistemáticamente la computadora, nunca cambia y retiene su información. Es una memoria sólo para la lectura, y también esta memoria posee programas esenciales que permiten el encendido y el funcionamiento del ordenador que ni el usuario ni la computadora puede borrar, como el cache que es una memoria que almacena los lugares en que el usuario utiliza con frecuencia, por lo que es una memoria ultrarrápida. Memoria externa: es la memoria auxiliar y la encargada de guardar de manera independiente y dar soporte a la memoria RAM para conservar los datos guardados. Bus de datos: mueve los datos entre los dispositivos del hardware de entrada, como el teclado, el escáner, el ratón, etc.; de salida, como la Impresora, el monitor o la tarjeta de sonido; y de almacenamiento, como el disco duro, el disquete o la memoria-flash. Estas transferencias que se dan a través del Bus de Datos son gobernadas por varios dispositivos y métodos, de los cuales el Controlador PCI, "Peripherals Componente Interconecta", Interconexión de componentes Periféricos, es uno de los principales. Su trabajo equivale, simplificando mucho el asunto, a una central de semáforos para el tráfico en las calles de una ciudad. Bus de direcciones: el bus de direcciones, por otra parte, está vinculado al bloque de Control de la CPU para tomar y colocar datos en el sub.-sistema de memoria durante la ejecución de los procesos de cómputo. Para el bus de direcciones, el "ancho de canal" explica así mismo la cantidad de ubicaciones o direcciones diferentes que el microprocesador puede alcanzar. Esa cantidad de ubicaciones resulta de elevar el 2 a la 32ª potencia. "2" porque son dos las señales binarias, los bits 1 y 0; y "32ª potencia" porque las 32 pistas del Bus de Direcciones son, en un instante dado, un conjunto de 32 bits. Bus de control: este bus transporta señales de estado de las operaciones efectuadas por la CPU con las demás unidades. El método utilizado por el ordenador para sincronizar las distintas operaciones es por medio de un reloj interno que posee el ordenador y facilita la sincronización y evita las colisiones de operaciones (unidad de control). Estas operaciones se transmiten en un modo bidireccional. 6
¿Qué es un microcontrolador? Un microprocesador o microcontrolador es un circuito integrado, una especie de minicomputador en el que se encuentra en su interior un procesador, memoria, y varios periféricos. Es una máquina sin razonamiento alguno. Recibe datos de entrada sigue un programa, o un algoritmo dado por un programador y cambia su estado interior, como objetos o dispositivos de entrada o salida que se pueden encontrar en diversos periféricos, desde simples líneas de entrada digital que pueden estar en ceros y unos, hasta complejos puertos usados en ordenadores que permiten comunicar con otros dispositivos externos.
7
¿Cuáles son los principales fabricantes de microcontroladores? A continuación se nombran los principales fabricantes: 1) Microchip Technology Inc. Fabricantes de microcontroladores, memorias y semiconductores analógicos. Se ubica en Chandler, Arizona, EE.UU. Su Producto más popular son los microcontroladores PIC de 8 bits. 2) Freescale Semiconductor es una compañía global líder en la industria de semiconductores enfocada en proveer procesamiento embebido y productos de conectividad. 3) Atmel Corporation es una compañía de semiconductores, fundada en 1984.
Su línea de productos incluye microcontroladores (incluyendo derivados del 8051, el AT91SAM basados en ARM, y sus arquitecturas propias AVR y AVR32), dispositivos de radiofrecuencia, memorias EEPROM y Flash, ASICs, WiMAX, y muchas otras. También tiene capacidad de ofrecer soluciones del tipo system on chip (SoC). 4) Texas Instruments o TI, es una empresa norteamericana que desarrolla y comercializa semiconductores y tecnología para sistemas de cómputo. Es el mayor productor de procesadores digitales de señal y semiconductores analógicos. Otras áreas de actividad incluyen circuitos integrados para módem de banda ancha, periféricos para ordenadores, dispositivos digitales de consumo y RFID
¿Cuáles son los principales modelos de los microcontroladores Basic Stamp? Para poder responder esta pregunta es muy importante señalar lo que es un microprocesador Basic Stamp. Es un microcontrolador que posee un intérprete especializado de BASIC que se encuentra en su memoria ROM. Este microcontrolador es fabricado por Parallax, Inc. y es popular entre los aficionados a la electrónica desde principios de la década de 1990 por su facilidad de aprendizaje y su fácil uso, así como el lenguaje de programación BASIC que se requiere para controlar este chip.
8
BASIC Stamp posee la forma de un chip DIP (Dual In Package), encontrándose en una placa de circuito impreso que contiene los elementos esenciales para un microprocesador: Un microcontrolador que contienen la CPU, ROM que posee el intérprete de BASIC y varios elementos periféricos. Memoria de tipo EEPROM. Un reloj interno. Una fuente de alimentación. Conexiones externas de entrada y salida. Los Basic Stamp nos son una nueva familia de microcontroladores; son módulos montados sobre otros microcontroladores. Cuentan con un microcontrolador, un circuito oscilador, el circuito de interface con el puerto serie de la computadora, una memoria externa para almacenar el programa y un regulador de tensión; todo en una pequeña tarjeta directa y/o fácilmente conectable a las computadoras. Una vez cargado el programa, el módulo está listo para ser insertado en el circuito de aplicación, incluso si está armado en un simple breadboard. Los programas se desarrollan íntegramente en un lenguaje Basic adaptado. El programa se carga en la EEPROM serial y el microcontrolador del Basic Stamp tiene que interpretarlo.
Por ejemplo, el BS2sx mostrado arriba cuenta con un microcontrolador que está pre-programado específicamente para trabajar como intérprete, esto es, para leer las sentencias de comando de la EEPROM serial , decodificarlas y ejecutar las instrucciones que representan. El microcontrolador no se puede reprogramar, viene así de fábrica Aunque el intérprete opera a toda su potencia, la mayor parte del tiempo la "desperdicia" leyendo la EEPROM serial y decodificando sus comandos. Por tanto, 9
el campo de aplicación de los Basic Stamp es más bien de carácter didáctico y de entrenamiento; no son para grandes proyectos. Actualmente solo hay tres familias de Basic Stamp, cada una con muy pocas variantes, referidas básicamente a la velocidad de operación, capacidad de memoria y cantidad de pines de I/O. En realidad, el tercer grupo está formado por los Javelin Stamp, que interpretan código Java en vez de Basic. Luego de toda esta información la pregunta se puede responder. BS1
El primero de la serie, programable en PBASIC, pese a los muchos años de existencia, se sigue fabricando, tiene incorporado un PIC como intérprete y todos los componentes necesarios (CLK, EEPROM, regulador de tensión, ETC), como para que sea una unidad funcional, completamente autónoma con 8 pines I/O. No lo aconsejamos para usuarios de habla hispana, ya que el soporte para los BASIC Stamp para este idioma, se implementó a partir del BS2. BS2
También se programa PBASIC y los comandos agregados, se mantienen en toda la serie BS2, duplica y más en muchos aspectos al BS1, incluso los pines I/O de 8 pasa a tener 16, al igual que éste, también posee un PIC como intérprete y demás componentes. Cabe destacar que existe una versión de BS2, que viene montada sobre una placa similar a las BOE, se denomina "Home WorkBoard" y el concepto de diseño de este dispositivo fue la economía, ya que cuesta aproximadamente lo mismo que el BS2 sólo y no es preciso agregarle nada para comenzar a programar BS2e
A partir de este modelo y para lograr más prestaciones, Parallax dejó de utilizar microcontroladores PIC e incorporó la línea SX (en ese momento UBICOM, actualmente fusionada con Parallax), en este caso particular el reemplazo del microcontrolador PIC por el SX, fue para lograr multiplicar por 8 la memoria de programa, la velocidad de CLK sigue siendo la misma con respecto al BS2 y con un consumo de energía similar. 10
BS2sx
Aumento de la velocidad de CLK (un factor de 2,5 con respecto al BS2e) y por supuesto el consumo de energía, no se aconseja en equipos alimentados por baterías, excepto donde sea imprescindible su velocidad.
BS2p24
Mantiene y mejora las características del BS2sx, pero lo más destacable es que incorpora comandos (I2C, 1-Wire, LCD, ETC) que facilitan la programación el intercambio de señales con otros dispositivos.
BS2p40
Duplica la cantidad de pines I/O del modelo anterior, de 16 pasa a tener 32.
BS2pe
Muy similar al BS2p24, duplica la memoria y baja la velocidad de CLK, por consiguiente el consumo.
11
BS2px
Con respecto al BS2p, por el hecho de trabajar en modalidad "Turbo", aumenta a unas 19000 las instrucciones procesadas por segundo, además tiene la posibilidad de conectar en los pines I/O, resistencias internas Pull Up por medio del Soft.
¿Cuáles son los principales lenguajes de programación? Los lenguajes de programación son muchos, y se presentan a continuación: Lenguaje de Programación ABAP Lenguaje de Programación ABC Lenguaje de Programación ACTIONSCRIPT Lenguaje de Programación ASP Lenguaje de Programación BASIC Lenguaje de Programación C Lenguaje de Programación C++ Lenguaje de Programación C# Lenguaje de Programación Clipper Lenguaje de Programación Cobol Lenguaje de Programación Delphi Lenguaje de Programación DIV Lenguaje de Programación Ensamblador Lenguaje de Programación Magic Lenguaje de Programación Visual B
Lenguaje de Programación FénixLenguaje de Programación FORTRANLenguaje de Programación GMLLenguaje de Programación HaskellLenguaje de Programación HTMLLenguaje de Programación J avaLenguaje de Programación J avaScripLenguaje de Programación LéxicoLenguaje de Programación LISP Lenguaje de Programación LogoLenguaje de Programación MagicLenguaje de Programación Visual BasicLenguaje de Programación Python
12
¿Cuál es el circuito de un sensor discriminador de línea? Primero, para entender el circuito de un sensor discriminador de línea, se debe saber lo que es este aparato y para qué sirve. El sensor discriminador es un dispositivo muy utilizado en la robótica, que tiene como fin detectar ciertas condiciones. Por ejemplo, un sensor de colores puede discriminar entre 2 ó más colores, prendiendo una luz led según se determine previamente. El circuito que tiene un sensor discriminador de línea es medianamente sencillo. Cada LED está emparejado con un detector de infrarrojos. El LED se ilumina y está dirigido hacia la superficie en la que se vaya a detectar la presencia de la línea. Normalmente se toma la señal del detector y se introduce en un comparador para limpiar dicha señal detectada.
¿Qué es un algoritmo? “Secuencia finita de instrucciones, reglas o pasos que describen de forma precisa
las operaciones que un ordenador debe realizar para llevar a cabo un tarea en un tiempo más finito ”. Donald E. Knuth, 1968. Ésa definición de algoritmo corresponde a Donald E. Knuth, quien es considerado como uno de los más expertos en las ciencias de la computación, gracias a sus análisis de algoritmos y compiladores. Ahora, una definición un poco más técnica: Un algoritmo es un conjunto prescrito de instrucciones definidas, ordenadas y finitas que es capaz de ejecutar una actividad a través de pasos sucesivos que no generen dudas a quien deba realizar dicha actividad. Dados un estado inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solución. Todos los algoritmos cumplen con las siguientes características: 1) Es definido: no posee ambigüedad. Cada paso del algoritmo debe indicar la acción a realizar sin opción de un análisis subjetivo 2) Es finito: un número natural y determinado de pasos debe componer al algoritmo, el cual deberá finalizar al completarlos (concepto de finito). 3) Posee cero o más entradas: los datos son proporcionados a un algoritmo como insumo (o estos son generados de alguna forma) para llevar a cabo las operaciones que comprende. 4) Tener una o más salidas: siempre debe devolver un resultado; de nada sirve un algoritmo que hace algo y nunca se sabe qué fue. 5) Debe ser efectivo: el tiempo y esfuerzo por cada paso realizado debe ser preciso, no usando nada más ni nada menos que aquello que se requiera para y en su ejecución.
13
¿Qué es un diagrama de flujo? Un diagrama de flujo es una representación gráfica que ilustra la secuencia de las operaciones que se realizarán para un cierto algoritmo. Es importante mencionar que el Diagrama de flujo siempre tiene un único punto de inicio y un único punto de término. A continuación se presentan los pasos a seguir para elaborar un diagrama de flujo: PASO 1: Definir claramente la utilización del Diagrama de Flujo y el resultado que se espera obtener de la sesión de trabajo. PASO 2: Definir los límites del proceso en estudio. PASO 3: Identificar quién lo empleará y cómo. PASO 4: Establecer el nivel de detalle requerido para el caso. PASO 5: Identificar y listar las principales actividades que están incluidos en el proceso a describir y su orden cronológico (dependiendo del nivel de detalle empleado incluir actividades menores en este paso). PASO 6: Señalar el trabajo adecuado a realizar, para los puntos de decisión o bifurcación. PASO 7: Construir el diagrama respetando la secuencia cronológica y asignando los correspondientes símbolos (los símbolos serán analizados posteriormente). PASO 8: Revisar el Diagrama de flujo completo para asegurarse de su buena elaboración, y asignarle un título a dicho diagrama. Como se dijo anteriormente, los símbolos son muy importantes en este tipo de diagramas. A continuación se muestras los más importantes:
14
Finalmente, para terminar una descripción general de este tipo de diagrama, se presentan los tipos de diagramas de flujos: Formato vertical: En él, el flujo o la secuencia de las operaciones va de arriba hacia abajo. Es una lista ordenada de las operaciones de un proceso con toda la información que se considere necesaria según su propósito. Formato horizontal: En él, el flujo o la secuencia de las operaciones va de izquierda a derecha. Formato panorámico: El proceso entero está representado en una sola carta y puede apreciarse de una sola mirada mucho más rápido que leyendo el texto, lo que facilita su comprensión, aun para personas no familiarizadas. Registra no sólo en línea vertical, sino también horizontal, distintas acciones simultáneas y la participación de más de un puesto o departamento que el formato vertical no registra. Formato Arquitectónico: Describe el itinerario de ruta de una forma o persona sobre el plano arquitectónico del área de trabajo. El primero de los flujogramas es eminentemente descriptivo, mientras que los utilizados son fundamentalmente representativos.
¿Cuál es el lenguaje de máquina? El Lenguaje de máquina es el sistema de códigos directamente interpretable por un circuito microprogramable. Este lenguaje está compuesto por un conjunto de instrucciones que determinan acciones a ser tomadas por una máquina. Así, podemos definir un programa como una cadena de estas instrucciones de lenguaje de máquina (más los datos).Estas instrucciones son normalmente ejecutadas en secuencia, con eventuales cambios de flujo causados por el propio programa o eventos externos. El lenguaje de máquina es específico de cada máquina, aunque el conjunto de instrucciones disponibles pueda ser similar entre ellas. Como se dijo anteriormente, el lenguaje de una máquina se ocupa en circuitos microprogramables, los que a su vez, son sistemas digitales. Esto implica que trabajan con dos niveles de tensión, los que se simbolizan por el cero (0) y el uno (1). Por consecuencia, el lenguaje de máquina sólo ocupa esos dos signos, por lo tanto, se emplean las teorías del álgebra booleana (estructura algebraica que esquematiza las operaciones lógicas Y, O, NO y SI, así como el conjunto de operaciones unión, intersección y complemento), y sistema binario (sistema de numeración en el que los números se representan utilizando solamente las cifras cero y uno) en el diseño de este tipo de circuitos y en su programación. 15
Es importante mencionar acerca del álgebra booleana que Claude Shannon sentó las bases para la utilización de este sistema a las redes de conmutación, que se definen como un circuito de interruptores eléctricos que al cumplir ciertas combinaciones booleanas con la variable de entrada, define el estado de salida
Conclusión Luego de haber investigado sobre los distintos temas que abarcó este informe, sin duda podemos ver de manifiesto que las ciencias de la computación e informática están muy relacionadas con la ingeniería eléctrica, por ejemplo, en los sistemas eléctricos de potencia, son máquinas las que controlan los procesos, las que son regidas por los algoritmos. Otro ejemplo es en las redes y telecomunicaciones, donde los microcontroladores son parte vital de los aparatos celulares, lo s que poseen un “cerebro” y memoria.
Bibliografía http://es.wikipedia.org/wiki/Diagrama_de_flujo http://www.fundibeq.org/opencms/export/sites/default/PWF/downloads/gallery/meth odology/tools/diagrama_de_flujo.pdf http://es.wikipedia.org/wiki/Lenguaje_de_máquina http://www.rodolfoquispe.org/blog/que-es-un-algoritmo.php http://es.wikipedia.org/wiki/Algoritmo http://www.todomicrostamp.com/microsparallax/c_bs.php http://www.larevistainformatica.com/LENGUAJES-DE-PROGRAMACIONlistado.html http://pjmicrocontroladores.wordpress.com/2006/11/06/%C2%BFque-es-unmicrocontrolador http://comunidad.proyectolati.org/index.phpoption=com_weblinks&view=category&i d=2%3Afabricantes-de-microcontroladores&Itemid=63 http://es.wikipedia.org/wiki/Microcomputadora http://www.jorgefelipe.cl/blog/microcomputador/ 16
17