Entradas

Mostrando entradas de octubre, 2021

PWM

Imagen
  PWM son las siglas de Pulse Width Modulation (Modulación por ancho de pulso). Para transmitir una señal, ya sea analógica o digital, se debe modular para que sea transmitida sin perder potencia o sufrir distorsión por interferencias. PWM es una técnica que se usa para transmitir señales analógicas cuya señal portadora será digital. En esta técnica se modifica el ciclo de trabajo de una señal periódica (una senoidal o una cuadrada, por ejemplo), ya sea para transmitir información a través de un canal de comunicaciones o para controlar la cantidad de energía que se envía a una carga. El ciclo de trabajo (duty cycle) de una señal periódica es el ancho de su parte positiva, en relación con el período. Está expresado en porcentaje, por tanto, un duty cycle de 10% indica que está 10 de 100 a nivel alto. Duty cycle = t / T t = tiempo en parte positiva T = Periodo, tiempo total Básicamente, consiste en activar una salida digital durante un tiempo y mantenerla apagada durante el resto, ge...

TIPOS DE SEÑALES (VHDL)

Signal Las señales representan elementos de memoria o conexiones y sí pueden ser sintetizados, dicho de otra manera, a cada objeto de nuestro código VHDL que sea declarado como signal le corresponde un cable o un elemento de memoria (biestable, registro …) en nuestro circuito. Por lo tanto, su comportamiento en simulación será el esperado de ese elemento físico aunque no lo describamos en el código explícitamente. Tienen que ser declaradas antes del begin de la architecture. Los puertos de una entidad son implícitamente declarados como señales en el momento de la declaración, ya que estos representan conexiones.  - signal identificador: tipo; La asignación de una señal a un valor se hace mediante el operador " <= " nombre señal <= valor o expresión; A <= 10;  bit Sólo admite los valores 0 y 1. Para hacer una asignación a un objeto tipo bit el valor binario tiene que aparecer entre comas simples (‘0’ o ‘1’) bit_vector (rango) El rango, siempre entre paréntesis, indica...

SUMADOR DE UN BIT

Imagen
  El sumador completo de 1 bit Un sumador completo es un circuito combi nacional que forma la suma aritmética de tres bits. Tiene tres entradas y dos salidas. Dos de las variables de entrada, denotadas por A y B, representan los dos bits que se sumarán. La tercera entrada C_IN representa el acarreo de la posición significativa inmediata inferior. Se requieren de dos salidas porque la suma aritmética de tres dígitos binarios puede tener valores de salida entre 0 y 3y el número 2 o 3 binario requieren de 2 dígitos. Las dos salidas se denominan Suma y Acarreo. La variable binaria “Suma” da el valor del bit menos significativo de la suma. La variable binaria “Acarreo” da el acarreo de la salida, Como en todos los casos que se está viendo una función es más sencillo apreciar el funcionamiento mostrando la función en una tabla de verdad.

Maquina de estados finitos

Imagen
Una máquina de estados finitos en un modelo abstracto para la manipulación de símbolos, nos permiten saber si una cadena pertenece a un lenguaje o nos pueden generar otro conjunto de símbolos como resultado. Llamaremos una Máquina de Estados Finitos como Autómata Finito, el hecho es que un Autómata y una Máquina de Estados Finitos son lo mismo, podemos utilizar ambos términos de forma indistinta. Los Autómatas se caracterizan por tener un Estado inicial, reciben una cadena de símbolos, cambian de estado por cada elemento le ‘ido o pueden permanecer en el mismo estado. También tienen un conjunto de Estados Finales o Aceptables que nos indican si una cadena pertenece al lenguaje al final de una lectura. Los Autómatas se clasifican en 2 tipos: ·          Autómata Finito Determinista. ·          Autómata Finito no Determinista. Siempre llamamos un Autómata como Autómata Finito, esto nos puede llevar a pens...

Elementos de un FPGA

Imagen
  ARQUITECTURA FPGA - LÓGICA ELECTRÓNICA PROGRAMABLE Las   FPGAs   (Field Programmable Gate Arrays) y CPLD son dispositivos semiconductores reprogramables, basados en matrices de bloques de lógica configurables (conocidos como CLBs) cuyas conexiones se pueden modificar según las necesidades del diseñador. Esta capacidad de reprogramación, unida a un proceso de desarrollo y fabricación menos costoso y largo que el de otros dispositivos otorga a las FPGAs una posición privilegiada para una gran variedad de aplicaciones frente a otros circuitos integrados. En la actualidad las FPGAs está implantada en muchos sectores de la industria, tales como procesamiento digital de señales, sistemas militares, prototipado de la funcionalidad de otros dispositivos electrónicos (por ejemplo un ASIC), etc. Características de una arquitectura interna de una FPGA Una matriz de bloques de lógica configurables (CLB): bloques lógicos cuyos parámetros se pueden modificar de forma que presente dif...

Historia de los FPGA'S

 Ross Freman, co-fundador de Xilinx, inventó el arreglo matricial de compuertas. La raíz histórica de las FPGA son los dispositivos de lógica programable compleja (CPLD) de mediados de los 1980. CPLD y FPGA incluyen un relativo gran número de elementos lógicos programables. El rango de densidad de los CPLD va desde miles a decenas de miles de compuertas lógicas, mientras que el de las FPGA va típicamente desde decenas de miles hasta muchos millones.  La diferencia primaria entre CPLDs y FPGAs son sus arquitecturas. Un CPLD tiene una estructura un poco restringida, consistiendo la unión de uno o más arreglos lógicos que alimentan a un número pequeño de registros con entrada de reloj (clock). El resultado de estos es menos flexibilidad, con la ventaja de una mejor predicción de los tiempos de retraso. La arquitectura de las FPGAs, por otro lado, son dominadas por las interconexiones. Esto las hace más flexibles (en términos del rango de diseños prácticos para los cuales pueden s...

Diagrama de estados abstrctos

Imagen
  Las máquinas de estado se utilizan para modelar el comportamiento dinámico de un elemento de modelo, y más específicamente, los aspectos dirigidos por sucesos del comportamiento del sistema (consulte el apartado  Concepto: Sucesos y señales ). Las máquinas de estado se utilizan específicamente para definir un comportamiento dependiente del estado, o el comportamiento que varía dependiendo del estado en que se encuentran los elementos de modelo. Los elementos de modelo cuyo comportamiento no varía con el estado del elemento, no requieren máquinas de estado para describir su comportamiento (estos elementos son habitualmente clases pasivas cuya responsabilidad principal es gestionar datos). En concreto, las máquinas de estado deben utilizarse para modelar el comportamiento de clases activas que utilizan sucesos de llamada y sucesos de señal para implementar sus operaciones (como transiciones en la máquina de estado de la clase). Una máquina de estado consta de estados, enlaza...

FLI-FLOP T

Imagen
flip-flop T con una única entrada (T). El comportamiento de un flip-flop tipo T es equivalente al de un flip-flop tipo J-K con sus entradas J y K unidas. De este Modo, si la entrada T presenta un nivel bajo ‘0’ el dispositivo está en su modo de memoria, y si a la entrada T se encuentra a nivel alto ‘1’ el dispositivo cambia de estado, es decir la salida bascula. En la siguiente figura se aprecia este comportamiento y el símbolo lógico. Comportamiento y símbolo lógico de un Flip-flop T BIBLIOGRAFÍA Flip flop tipo T . (s. f.). Circuitos Secuenciales.  http://circuitossecuenciales.weebly.com/flip-flop-tipo-t.html

BCD

Imagen
  Código BCD Binary-Coded Decimal o Decimal Codificado Binario , es un estándar para representar números decimales en el sistema binario , en donde cada dígito decimal es codificado con una secuencia de 4 bits. Con esta codificación especial de los dígitos decimales en el sistema binario, se pueden realizar operaciones aritméticas como suma, resta, multiplicación y división de números en representación decimal, sin perder en los cálculos la precisión ni tener las inexactitudes en que normalmente se incurren con las conversiones de decimal a binario puro y de binario puro a decimal. En BCD cada cifra que representa un dígito decimal (0, 1,...8 y 9) se representa con su equivalente binario  en cuatro bits (nibble o cuarteto) (esto es así porque es el número de bits necesario para representar el nueve, el número más alto que se puede representar en BCD). Ejemplos de conversión de Decimal a código BCD Ejemplo 1:  La conversión directa típica del número decimal 85 a  bina...

Sumador 2 bits

Imagen
La forma más simple de realizar una operación aritmética electrónicamente, es usando un circuito llamado semi-sumador (Haft Adder). Este dispositivo permite que sean aplicados 2 bits de entradas (A,B) para producir dos salidas: uno correspondiente a resultado de la suma (S) y la otra correspondiente a acarreo(C) según se muestra en la tabla. Como se puede notar, la salida S es el resultado de una EX-OR entre A y B como entradas: por otro lado, C es el resultado de una AND entre las mismas entradas. En la figura Nº1 se muestra el circuito de semi-sumador. Este semi-sumador presenta la limitación de que no posee uno entrada para el acarreo dela etapa previa, en caso de que desee sumar más de 2 bits. Se debe recurrir entonces a sumador total b sumador completo (Full Adder). Este tipo de circuito acepta 3 bits de entrada por separado, llamados sumando, consumando y acarreo de entrada A, B y Cin respectivamente, mientras que las salidas son Sy Cout. BIBLIOGRAFÍA Circuito Sumad...

PDL'S

Imagen
  ROM:  Mask Read-Only Memory (Memoria de Máscara Programable de Solo Lectura). En un circuito combinacional que genera 2 a la n mini términos de n variables en su plano AND. A pesar de tener solo 2 niveles cuando tiene muchas entradas y salidas tienden a ser lentas las comparaciones con los circuitos lógicos. PROM:  Programmable Read-Only Memory (Memoria Programable de Solo Lectura), Dispositivo el cual es programado por el usuario y no borrable o reprogramable. EPROM:  Erasable Programmable Read-Only Memory (Memoria Programable y Borrable de Solo Lectura); este tipo de Memorias se borran Mediante Luz ultravioleta; con la ventaja de que puede ser programada por el usuario. EEPROM: Electrically Erasable Programmable Read-Only Memory (Memoria Programable y Borrable Eléctricamente de Solo Lectura); al igual que EPROM puede ser programada por el usuario. PAL: Programmable Array Logic (Lógica en un Arreglo Programable), la arquitectura de éste PLD está compue...

Registro de Clases: Unidad II

Imagen
Miércoles, 13 de Octubre del 2021 En línea:  El profesor dejó como actividad implementar las siguiente compuertas lógicas: --> not  --> and de 2 entradas --> and de 3 entradas --> or de 2 entradas, -->  or de 3 entradas, -->  or de 4 entradas --> xor --> xnor Miércoles, 03 de noviembre (clase semáforo) Se explicó el código que iba a ser usado en el semáforo, para el generador de pulsos se ocuparon algunos procesos como: reloj, contador y la función "rising_edge" cuyo propósito es detectar el flanco de subida y darnos un "1" en la salida, solo si este detecta que existe un valor alto; entonces si detecta un flanco ascendente = 1, si detecta un valor bajo = 0 Jueves, 04 de noviembre (Contador de décadas) Se explicó la implementación del código para realizar el contador de décadas, en el cual se necesita un generador de pulsos, el cual mandara un bit de sobre carga y a su vez mandara un pulso para el siguiente contad...

ALTERA CYCLONE LI EP2C5T144 FPGA

  Los FPGA (del inglés Field-Programmable Gate Array o en español Matriz de Puertas Programables en Campo) son dispositivos electrónicos programables basados en una matriz de bloques lógicos cuya interconexión y funcionalidad puede ser configurada por el usuario mediante un lenguaje de descripción especializado (como VHDL y Verilog). La lógica digital programable permite el diseño e implementación rápida de sistemas digitales tan sencillos como compuertas lógicas hasta complejos procesadores. Una de sus principales ventajas diferenciales frente a los clásicos microcontroladores (de lógica secuencial) es su capacidad de implementación de lógica paralela verdadera, que es especialmente útil en procesamiento de imágenes/vídeo, inteligencia artificial y criptografía. La razón por la cual los FPGAs y CPLDs no son tan populares como los microcontroladores convencionales es que el nuevo lenguaje de programación (Verilog Code o VHDL) unido con un paradigma completamente nuevo d...

QUE ES UN BIT

 Bit es el  acrónimo  de binary digit (o sea de ‘dígito binario’, en español denominado como bit, y en menor medida como bitio). 1 ​ Un bit es un dígito del  sistema de numeración   binario . La capacidad de almacenamiento de una memoria digital también se mide en bits, pues esta palabra tiene varias  acepciones . 2 ​ Lo usual es que un registro digital u otras memorias digitales vinculadas con la computación y/o con las telecomunicaciones, tengan una capacidad de representación de informaciones de por ejemplo 8 bits, 16 bits, 32 bits, 64 bits, etc; una memoria binaria tiene una capacidad efectiva de representación de un bit. 3 ​ Mientras que en el sistema de numeración  decimal  se usan diez  dígitos  (diez símbolos), en el binario se usan solo dos dígitos, el 0 y el 1. Un bit o dígito binario puede representar uno de esos dos valores: 0 o 1. ...

LENGUAJE DE PROGRAMACIÒN VHDL

Imagen
  Un sistema digital está descrito por sus entradas y sus salidas y la relación que existe entre ellas. En el caso de VHDL por un lado se describirá el aspecto exterior del circuito: entradas y salidas; y por otro la forma de relacionar las entradas con las salidas. El aspecto exterior, cuántos puertos de entrada y salida tenemos, es lo que denominaremos entity. Y la descripción del comportamiento del circuito architecture, toda architecture tiene que estar asociada a una entity. Además, aunque no es estrictamente necesario, podemos definir también las bibliotecas y paquetes que vamos a utilizar, lo que nos indicará que tipos de puertos y operadores podemos utilizar. Siempre ha de aparecer la definición de las bibliotecas y paquetes antes de la definición de la entity. 2.1 Entity Una entidad es la abstracción de un circuito, ya sea desde un complejo sistema electrónico o una simple puerta lógica. La entidad únicamente describe la forma externa del circuito, en ella se enumera...

DIFERENCIA ENTRE LA COMPUERTA YES Y NOT

Imagen
  Compuerta YES La compuerta lógica más simple es la compuerta "YES", puesto que la condición lógica de la entrada será la misma en la salida. Se utiliza como aislante entre secciones o "BUFFER" Su utilidad se incrementa cuando cuenta con un control que activa y desactiva su salida, formando un BUS de datos, que veremos más adelante Símbolo de la compuerta "YES": Compuerta NOT La compuerta lógica "NOT", es el complemento de la compuerta "YES" ya que la condición lógica de la entrada será la inversa en la salida. Por ello es llamado inversor. Símbolo de la compuerta "NOT": Tabla de verdad de las compuertas "YES" y "NOT": Compuertas yes y not, inversores y buffers . (s. f.). Proyectos de electronica, diseños y diagramas electronicos para principiantes y estudiantes.  https://www.proyectoelectronico.com/compuertas-logicas/compuertas-yes-not.html

Participaciónes de clase.

Imagen
Adrián Díaz Sandoval   13-Septiembre-2021 22 - septiembre - 21 06 - Octubre - 21

Tarjeta de programación Spartan

FERNANDO DANIEL GARCÍA MOTA  El FPGA XC6SLX9 Spartan  es un dispositivo compuesto por una serie de bloques lógicos(puertas, registros, memorias, flip/flops,etc) programables, por lo cual la interconexión entre estos bloques y su funcionalidad no viene predefinida sino que se puede programar y reprogramar. El Mojo V3 FPGA utiliza la lógica optimizada Spartan  (LX9) y el alto rendimiento del procesador ATmega32U4. El ATmega32U4 viene con un bootloader USB (DFU) que le permitirá instalar futuras actualizaciones del firmware sin tener que comprar un programador.  Una vez que la placa está encendida, el ATmega32U4 configura el FPGA desde la memoria flash. Después de que el FPGA se haya configurado correctamente, el ATmega32U4 entra en modo esclavo. Esto permite que sus diseños de FPGA hablen con el microcontrolador; dándole así acceso al puerto serie y a las entradas analógicas, otra ventaja de la misma es la compatibilidad de programación con IDE de Arduino. Lo que separ...