jueves, 8 de mayo de 2014

Memorias

 INTRODUCCIÓN.

Las memorias son componentes que se usan para guardar información, que al final va a ser unos y ceros.

Uno de los parámetros más importantes de las memorias, es la capadidad, es decir, la cantidad de información que se puede guardar, esta capacidad se mide en bits que a su vez forman bytes (8 bits) etc.

Otro parámetro muy importante de las memorias es el tiempo de acceso; el tiempo que tarda desde que le solicitas ciertos datos hasta que están disponibles, es lo que va a determinar la velocidad de dicha memoria.

TIPOS.

Podemos encontrar dos grandes tipos de memorias, volátiles y no volátiles:

  • Las RAM, son memorias a las que cuando se les retira la alimentación dejan de guardar la información que almacenaban (volátiles).
  • Las ROM por el contrario conservan la información incluso sin alimentación (no volátiles). 
 
Las RAM (Memorias de Acceso Aleatorio), son de acceso aleatorio porque pueden acceder a un dato sin tener que leer otro antes, lo hacen directamente.
A su vez las memorias RAM se pueden clasificar en:
  • Estáticas, éste tipo de memorias están formadas por biestables (flip-flops), los biestables guardan la informacíon hasta que se les cambie por otra.
  • Dinámicas, éstas por su parte están formadas por condensadores, pequeños condensadores, que apenas tienen pérdidas, la ventaja de que sean condensadores es el alto nivel de integración, ya que no ocupan mucho, además de ser barato, las desventajas son que necesitan una señal de "refresco" para que no se pierda la información y que al ser tantos, muchos tienen que multiplexarse para reducir el patillaje (pines).

Las ROM se consideran de solo lectura ya que solo pueden ser grabadas una vez. También se pueden subdividir:

  • PROM, (Programmable Read-Only Memory) son memorias no volátiles que pueden ser grabadas por el usuario, tienen fusibles que cuando se graba se rompen y se queda configurado así para siempre.
  • EPROM, (Erasable Programmable Read-Only Memory) son memorias borrables, mediante luz ultravioleta.


  • EEPROM, (Electrically Erasable Programmable Read-Only Memory) borrables pero eléctricamente.

 Todas estas memorias se encuentran integradas directamente en los ordenadores, microcontroladores etc o se pueden encontrar en circuitos integrados directamente a nivel de menos integración de la electrónica.

En este enlace se explica lo que es un controlador y sus partes, incluyendo las memorias:
microcontroladores

FUENTES.


martes, 6 de mayo de 2014

video FPGA CPLD

FPGA:


En este vídeo podemos apreciar un circuito fpga que actúa sobre una matriz de leds, creando un bonito perro y después unas imágenes psicodélicas.

CPLD:





martes, 29 de abril de 2014

PLD (Programmable Logic Device)

Definición:

Un PLD es un dispositivo lógico programable, es decir, un dispositivo que se puede configurar por el usuario .


  • PAL o PLA (Array Lógico Programable) es un PLD que puede ejecutar una función más compleja, más entradas y más salidas.

Fuentes de información:

lunes, 7 de abril de 2014

ALU

Una Alu (Unidad aritmético lógica), es un circuito que se encarga de realizar operaciones aritméticas (sumas, restas, multiplicaciones y divisiones) y operaciones lógicas (OR, AND, NOT, etc).

Podemos encontrar desde las más potentes, las que llevan los microprocesadores hasta las más básicas que simplemente le suman '1' al tiempo en un reloj.

ALU en un Micro:




Esquema de una ALU:



  • A y B: entradas de datos.
  • R: salida.
  • F: unidad de control.
  • D: estado de la salida.

En este nivel de electrónica nos vale con ALUs menos potentes, como el circuito integrado 74LS181.




  • A y B: son las entradas activas a nivel bajo.
    • Patillas--> 1, 2, 18, 19, 20, 21, 22, 23.
  • F: son las salidas.
    • Patillas--> 9, 10, 11, 12, 13.
  • M: linea de control que permite elegir entre operaciones lógicas o aritméticas.
    • Patilla--> 8.
  •  Cn: entrada de acarreo.
    • Patilla--> 7.
  • A=B: salida de colector abierto, indica cuando las cuatro salidas están a nivel alto, en el caso de la resta, se activa cuando los números son iguales.
    • Patilla--> 14.
  •  G: salida de generación de acarreo, en la suma se activa cuando el resusltado es mayor que 16 y en la resta cuando es menor que 0.
    • Patilla--> 17.
  •  P: es una salida de propagación de acarreo, indica en la suma cuando el resultado es 15 o mayor y en la resta que es 0 o menor.
    • Patilla--> 15.
  • Las dos salidas anteriores se utilizan para acoplar varios integrados 74LS181.

  •  Cn4: salida de acarreo.
    • Patilla--> 16.
  • S: líneas de control para elegir las operaciones.
    • Patillas--> 3, 4, 5, 6, 7, 8.


 Video:




 Fuentes de información:

domingo, 6 de abril de 2014

Resta binaria

En la entrada anterior expliqué como se hace una suma binaria, ahora le toca a la resta.

Para realizar una resta binaria hay que tener en cuenta cual de los números es el positivo, cual es el negativo y el bit de signo.



Para hacer restas binarias hay dos métodos:

DE COMPLENTO A UNO:

En el que al número negativo se le invierte y se le pone delante un '1' (el bit de signo), que indica que es el negativo.

Despues hay que sumarlos.




DE COMPLENTO A DOS:

En este sistema hay que aplicarle el complento a dos al negativo; invertirlo y sumarle uno.

Si el resultado (Tal como sería en decimal) tiene que dar en positivo, no se cambia, directamente lo que da es el resultado.

Por otra parte, si tiene que dar en negativo hay que aplicarle el complento a dos al resutado; invertir bit a bit y sumarle uno.



Para hacer las restas automáticamente también se puede utilizar el integrado 74LS283.




Aquí dejo un video que explica como hacer las restas sin complementos, a mí me parece más fácil la verdad:




Fuentes de información:
  • YouTube.
  • Libro (Paraninfo).



Suma binaria

La aritmética es la rama de las matemáticas que se encarga de estudiar los números, y la operaciones elementales que se pueden hacer con ellos (sumas, restas, multiplicaciones y divisiones).

De igual forma que aplicamos la aritmética con el sistema decimal (10 dígitos), podemos hacerlo con el sistema binario (dos dígitos, 0 y 1).

SUMA:



Cuando la suma es simple (dos números binarios, de un digito), se usa un circuito semisumador.
En este caso la suma de estos números no tiene acarreo que los influencie.



Cuando es más compleja, es decir: son números más grandes, y se utilizan acarreos para realizar la operación, se utiliza un circuito sumador total.

miércoles, 2 de abril de 2014

La nueva troleada de GOOGLE

Para el mundo anglosajón el día de los inocentes se celebra el 1 de Abril y para celebrarlo, a los de google, en concreto a los de google maps se les ocurrió hacer una broma.

Se les ocurrió mezclar la propia temática del juego "Pokemon" con el google maps, haciendo una especie de juego nuevo, en el que tenías que ir "recorriendo" el mundo en busca de los pokemon que se ocultaban y que podías ver y capturar con tu móvil o tablet a través de la cámara.

Para ello hicieron un trailer (bastante convincente, la verdad), en el que se mostraba esto.




Evidentemente  los que no somos americanos no nos esperábamos una broma a estas alturas del año.

Aunque he de decir que la idea no es mala del todo y espero que algún día se pueda llevar a cabo algo así.

Al final sí que hicieron algo parecido, pero simplemente consistía en ir buscándolos por el mapa y atraparlos sin más.


jueves, 20 de marzo de 2014

Multivibradores (que no consoladores)

Un multivibrador es un circuito oscilador (que crea perturbaciones), en este caso señales cuadradas.
Se podrían clasificar según su forma (modo) de sacar la onda:

  • Libre, es decir; genera ondas cuadradas a partir de la propia señal de alimentación, permanecerá a 1 y a 0 según los tiempos, 
    • ASTABLE:
(Hecho en Proteus)



  • Controlado, es decir; el estado de la onda cuadrada (la salida), depende de una señal que controlamos nosotros. Se pueden clasificar según sus estados:

    • BIESTABLE: Es capaz de estar en cada estado (alto o bajo) según queramos durante un tiempo indefinido, esta cualidad hace que sea muy útil en la electrónica digital. como ya expliqué en una entrada anterior, se pueden clasificar según su lógica de control:
      • D.
      • T.
      • RS.
      • JK.

(Ejemplo de biestable RS con puertas lógicas y simbología normalizada)


    • MONOESTABLE: Cambia a estado alto con la señal que nosotros le damos y vuelve a estado bajo según una constante de tiempo.

Enlaces:



PDF que explica: Flip Flops, Multivibradores y Contadores

Fuentes de información:

  • Wikipedia.
  • PDFs del profesor.
  • Youtube.
  • PDF de internet.












jueves, 20 de febrero de 2014

Convertidores DAC/ADC

Estos convertidores transforman señales digitales a señales analógicas (DAC) y al revés, señales analógicas a digitales (ADC).



Esto es muy útil a la hora de hacer programas para manejar magnitudes analógicas con ceros y unos y viceversa.

 Video:

lunes, 10 de febrero de 2014

Posible programa para examen

Un posible programa para examen podría ser una simulación de MP3, en el que:

-El primer pulsador serviría para encenderlo o apagarlo mientras que cuando se enciende en el display se muestra "encendido" 3 segundos y luego se va.


-El segundo pulsador sería para elegir entre FM, canciones etc.
En el que también se mostraría que se ha elegido en el display.


-El tercero por ejemplo cambiaría entre las canciones o la emisora de radio.
-El cuarto y el quinto te permitirían bajar o subir el volumen.


 
Este programa se podría hacer más complejo, es cuestión de pensar un poco.



jueves, 6 de febrero de 2014

Instructables (Proyectos con Arduino)

Instructables es una comunidad en la que la gente comparte sus ideas y proyectos, sobre; tecnoloía, trabajo, comida etc.

Enlace a Instructables
 
En este caso el que me interesa es el de tecnología, concretamente proyectos con arduino, uno entre los que he tenido que elegir para clase es un sistema de riego automático.

El montaje constará de una placa de Arduino que actuará de controlador, que enviará una señal a la bomba y al los servo, sensores de humedad en cada planta, un depósito de agua del que se sacará el agua para regar las plantas, cables y pequeñas canales por los que circule el agua.

Enlace a la página del proyecto

Video:




martes, 4 de febrero de 2014

Órgano electrónico con arduino

Hacer un órgano electrónico con arduino es muy fácil, se puede hacer solo con un "Arduino uno", en el que deberemos asignar a cada nota un pulsador y un led para indicar cuando se acciona o también se puede utilizar una Tarjeta LKM 1638 en el que podremos indicar el nombre de la nota también.

En este caso lo he hecho con una tarjeta 1638:


La programación es simple, lo primero que hay que hacer siempre que se quiera trabajar con la tarjeta 1638 es incluir la librería:

#include <TM1638.h>


e indicarle que patillas de nuestro arduino vamos a conectar con la tarjeta, sin olvidar de llevar gnd y vcc:
TM1638 module (8, 9, 7); 
7=strobe.
8=entrada y salida de datos.
9=CLK.
 
Para hacer lo que son las notas, "debemos definirlas":
#define d1 1915
#define re 1700
Así con todas las notas, teniendo en cuenta que hay un "do mayor", por eso a uno lo definiremos como d1 y al otro como d2, el número que va detrás es la frecuencia de cada nota.

También definimos la duración de cada una de ellas, en este caso una "negra":
#define negra 400

La salida de nuestro arduino para el altavoz será la 11 (se le puede asignar cualquiera):
int altavoz = 11;



Después de declarar las notas, las entradas y sus tiempos, pasamos al programa en sí.
Si  se acciona el pulsador "X" , (en este caso el primero):
if (module.getButtons()==0b00000001){

Tiene que sonar el "do" en la salida del altavoz, con la duración de una negra:
 tone (altavoz, d1,negra); 

En el display se tiene que escribir "do":
module.setDisplayToString ("do",0,0);

Y cuando pasen 200 ms se borre:
 delay (200);
       module.clearDisplay();
      }


Habrá que hacer lo mismo con las demás notas:
Y así es como se hace un órgano (teclado) musical con Arduino y una tarjeta 1638.