• No se han encontrado resultados

IMPLEMENTACION EN FPGA DE MODULOS DE SOFTWARE PARA UN RADIO DEFINIDO POR SOFTWARE

N/A
N/A
Protected

Academic year: 2017

Share "IMPLEMENTACION EN FPGA DE MODULOS DE SOFTWARE PARA UN RADIO DEFINIDO POR SOFTWARE"

Copied!
247
0
0

Texto completo

(1)

Instituto Politécnico Nacional

Escuela Superior de Ingeniería Mecánica y Eléctrica

Unidad Zacatenco

IMPLEMENTACIÓN EN FPGA

DE MÓDULOS DE

SOFTWARE PARA UN RADIO

DEFINIDO POR SOFTWARE

Alumnos

Nombre:

Gómez Régules José Luis

Rangel Reyes Emmanuel

Asesor Metodológico

M. en C:

Gregorio García Pérez

Asesor(es) Técnico(s)

M. en C:

Gabriela Sánchez Meléndez

(2)

ÍNDICE

Número Tema Página

Objetivo general. I

Objetivos Específicos. I

Justificación. II

1 CAPÍTULO I: Introducción y evolución de los sistemas de comunicación móviles

1.1 Introducción. 1

1.2 Primera generación. 3

1.3 Segunda generación. 5

1.4 Generación 2.5. 7

1.5 Tercera generación. 8

1.6 Cuarta generación. 10

2 CAPÍTULO II: Radio definido por software

2.1 Introducción. 12

2.2 Radio definido por software. 12

2.2.1 Arquitectura de Transmisiones de Radio Tradicional. 13 2.2.2 Arquitectura Ideal de Transmisores de Radio Basados en Software. 14

2.2.3 Principio de Funcionamiento de un Receptor RDS. 16

2.2.4 Conversión de Frecuencia. 17

2.3 Modulación. 17

2.3.1 Tipos de Modulación Analógica y Digital. 18

2.3.2 Demodulación. 20

2.4 Transmisión por Desplazamiento de Fase Binaria (BPSK). 20

2.4.1 Transmisor BPSK. 20

2.4.2 Receptor BPSK. 22

2.5 Codificación. 23

2.5.1 Códigos de Paridad. 23

2.5.2 Códigos m entre n. 23

2.6 Códigos de Bloque Lineales Sistemáticos. 24

2.7 Código de Hamming. 27

2.8 Decodificación Hamming. 29

2.9 Códigos Convolucionales. 30

3 CAPÍTULO III: Dispositivos de lógica programable

3.1 Introducción. 31

3.2 PLDs (Programmable Logic Devices). 32

3.3 ASPLDs (Application Specific Programmable Logic Devices). 33

3.4 PAL (Programmable Array Logic). 33

(3)

Número Tema Página 3.5.1 Estructura General de la FPGA. 35

3.5.2 Lenguajes para programar en fpgas. 37

4 CAPÍTULO IV: Simulación e implementación en fpga

4.1 Introducción. 41

4.2 Modulador BPSK. 41

4.3 Demodulador BPSK. 44

4.4 Codificador Hamming 7,4. 45

4.5 Decodificador Hamming 7,4. 47

4.6 Generar Proyecto ISE para grabar la tarjeta FPGA. 54

4.7 Grabación de la tarjeta FPGA. 56

Conclusiones 64

Recomendaciones para trabajos futuros 64

Glosario 65

Apéndice A 67

Apéndice B 68

(4)

Número Tema Página ÍNDICE DE TABLAS

CAPÍTULO I

1.1 Rangos de frecuencias a las que se trabajaban para eliminar interferencias que llegaran a surgir. 2

1.2 Características de la primera generación. 5

1.3 Características de la segunda generación. 7

1.4 Los principales estándares de comunicación móvil y su evolución de cada uno. 10

CAPÍTULO IV

4.1 Tabla para determinar las salidas trt dependiendo el número de error 50

ÍNDICE DE FIGURAS

CAPÍTULO I

1.1

Figura 1.1 Áreas en formas hexagonales, con su estación móvil y los usuarios que se encuentra adentro de cada una

de ellas. 3

CAPÍTULO II

2.1 Arquitectura Tradicional de Transmisores de Radio. 13

2.2 Arquitectura ideal de Transmisores de Radio Basados en Software. 15 2.3 Combinación de dos señales (fa y fo) mediante un mezclador. 17

2.4 Ejemplo de Modulación. 18

2.5 Gráficas de la modulación en amplitud y en frecuencia. 19

2.6 Demodulación. 20

2.7 Diagrama de un Transmisor BPSK. 21

2.8 Diagrama Fasorial y de Constelación del Modulador BPSK. 21 2.9 Fase de salida contra la relación de tiempo para una forma de onda BPSK. 22

2.10 Diagrama de un Receptor BPSK. 23

CAPÍTULO III

3.1 Estructura interna de un PLD. 32

3.2 Estructura interna de un PAL. 34

3.3 Estructura interna de una FPGA. 36

3.4 Estructura del LUT de un bloque lógico. 37

3.5 Programación de una tarjeta FPGA a pasos. 38

3.6 Tarjeta FPGA Xilinx Spartan-3 200000-puerta. 39

CAPÍTULO IV

4.1 Fase de salida contra la relación de tiempo para una forma de onda BPSK. 41

4.2 Diagrama del modulador BPSK. 42

4.3 Subsistema generador de bits. 42

(5)

Número Tema Página

4.5 Diagrama del demodulador BPSK. 44

4.6 Resultados obtenidos del demodulador BPSK. 44

4.7 Diagrama del codificador implementado con compuertas AND y XOR. 46

4.8 Bloque de entrada y salida del codificador. 46

4.9 Subsistema generador de bits. 47

4.10 Resultado obtenido de la simulación del codificador. 47

4.11 Esquema del decodificador hamming. 48

4.12 Subsistema Hamming Decoder. 48

4.13 Diagrama del subsistema syndrome implementado con compuertas AND y XOR. 49

4.14 Entradas y salidas del subsistema syndrome para obtener el número de errores. 50 4.15 Diagrama del subsistema Err loc implementado con compuertas AND y NOT. 51

4.16 Entradas y salidas del subsistema Err loc. 52

4.17

Diagrama de la decodificación, el mensaje original sale por Out2 y los bits de paridad que se le quitan al mensaje por

Out1. 52

4.18 Mensaje codificado. 53

4.19 Resultado obtenido de la simulación del decodificador el mensaje original se muestra por el display2. 53 4.20 Ventana del bloque System Generator para crear proyecto ISE. 54

4.21 Ventana del bloque System Generator generando proyecto ISE. 55

4.22 Archivos generados por System Genrator. 55

4.23 Tarjeta FPGA Spartan 3 Starter Kit. 56

4.24 Conexión del cable JTAG. 56

4.25 Entorno Xilinx ISE. 57

4.26 Ventana del código VHD generado por system generator. 58

4.27 Ventana Xilinx PACE. 59

4.28 Ventana Process Properties – Startup Options. 60

4.29 Ventana iMPACT. 60

4.30 Abriendo el archivo .bit que se va a grabar en el FPGA. 61

4.31 Después de cargar el archivo .bit se abre otra ventana para seleccionar otro archivo. 62

4.32 Ventana Device Programming Properties. 62

(6)

Objetivo General:

Simular en un sistema FPGA para su implementación en hardware los

elementos de software necesarios de un Radio Definido por Software, en

operaciones de banda base mediante herramientas actuales de tipo visual.

Objetivos Específicos:

Conocer que es un Radio Definido por Software, cual es su funcionamiento o

su uso, como esta compuesto y en base a esto tener un diagrama a bloques

de las partes que lo componen.

Hacer más eficiente la metodología y diseño de sistemas complejos a través

del modelado y la simulación con implementación en hardware.

Conocer y manejar Simulink de Matlab, en el cual vamos a realizar la

simulación del Radio Definido por Software, teniendo su diagrama a bloques

empezamos por realizar simulaciones por separado de la modulación,

demodulación, codificación y decodificación, una vez funcionando estos 4

elementos, se va a realizar una simulación conjuntada modulación

codificación

decodificación

demodulación.

Conocer y manejar Xilinx System Generator, software con el cual utilizaremos

las simulaciones de Simulink y de este software se hará la grabación del FPGA.

Se utilizará System Generator para programar el FPGA debido a que nos

reduce muchas líneas de código.

Conocer el funcionamiento de un FPGA y su programación. En la tarjeta FPGA

se grabará la modulación, la codificación, decodificación y demodulación y se

probará su funcionamiento interactuando con el Simulink o el System

Generator.

Establecer la Interfaz rápidamente y de manera rentable con hardware de

medidas y control, analizar datos, compartir resultados y distribuir sistemas.

(7)

Justificación

En varias partes del mundo existen muchos proyectos que proponen la

integración de los estándares de comunicación móvil con funcionalidades

mejores que los sistemas de tercera generación.

El escenario genérico de comunicaciones móviles de 4G consiste en distintos

tipos de redes terrestres de comunicaciones móviles e inalámbricas integradas,

usando el protocolo de encaminamiento IP como elemento integrador.

Desde la creación y evolución constante de estándares de comunicación móvil

tales como 2G, 2.5G, 3G y 4G, existen diferencias entre los estándares de

sistemas de comunicación móvil utilizadas por diferentes países para ser

integrados. Desde un punto de vista comercial y global, este problema inhibe

el uso de servicios de roaming y otras facilidades, ya que los estándares varían

los protocolos en su desempeño cuando es aplicado a enlaces, lo cual afecta

directamente a los enlaces inalámbricos.

Para estos problemas se puede aplicar el RDS (Radio Definido por Software),

ya que una de sus aplicaciones es el describir control de software para una

aplicación de radio, además de que se caracteriza por ser flexible, se puede

modificar o ampliar su funcionamiento únicamente cambiando su software, el

cual provee técnicas de operaciones de banda base, funciones de seguridad en

comunicaciones, requerimientos de forma de onda, tipo de modulación y

codificación, etc.

(8)

1

CAPÍTULO I: Introducción y evolución de los sistemas

de comunicación móviles.

Este capítulo contiene una reseña histórica de cómo se inicio la

comunicación inalámbrica, cómo se da la evolución de los sistemas de

comunicación móviles y sus estándares creados a través de las llamadas

generaciones de comunicación móvil.

1.1

INTRODUCCIÓN

Para comenzar este capítulo tenemos que saber el concepto de ¿qué es

un sistema de comunicación móvil? Un sistema de comunicación móvil

surge cuando existe el desplazamiento o movimiento de un dispositivo

de comunicación (transmisor o receptor) en una determinada área

geográfica.

La historia en los sistemas de comunicación móvil nos remonta a 1897

donde el ingeniero de origen Italiano Guillermo Marconi en el Reino

Unido, demostró que puede existir la comunicación entre dos puntos en

el agua por medio de la telegrafía inalámbrica, esto beneficiaria a los

submarinos y eliminaría los cables, de esta forma se presenta el primer

sistema de comunicación móvil que existió, después implantó en su

compañía de investigación un transmisor y un receptor, en el cual

comunicaría a Reino Unido con Canadá atravesando el océano Atlántico.

Gracias a estas demostraciones el Ing. Guillermo Marconi en 1909 ganó

el premio Nobel de Física, por lo cual se le conoce como el padre de la

radio y las comunicaciones inalámbricas. [1]

Después el inventor estadounidense Lee de Forest consiguió un tubo de

vacío de tres electrodos y logró la primera emisión de radio la cual tuvo

lugar en 1906 en los Estados Unidos. En 1910, De Forest transmitió por

primera vez una ópera desde el (Metropolitan Opera House) de Nueva

York.[2]

(9)

2

Luego a mediados de la década de los sesentas la empresa Bell

Telephone (AT&T) desarrolló la operación full-duplex, que se utilizó para

la búsqueda de canales y la marcación desde una estación móvil. A

finales de esta década los sistemas móviles trabajaban a 460 Mhz, ya

después en la siguiente década este sistema de comunicación móvil se

utilizaba para servicio público como el policíaco, la industria, el

transporte terrestre y marítimo.

Pero en el transcurso del tiempo fue creciendo la demanda de

frecuencias y crecieron las interferencias, para esto la FFC propuso una

tabla en la cual indica cómo se deben utilizar las frecuencias, pero esto

no es suficiente, y abre un canal UHF que maneja frecuencias de

806MHz a 881MHz.

Tabla 1.1 Rangos de frecuencias a las que se trabajaban para eliminar

interferencias que llegaran a surgir.

(10)

3

Figura 1.1. Áreas en formas hexagonales, con su estación móvil y los usuarios

que se encuentra adentro de cada una de ellas.

1.2 PRIMERA GENERACIÓN 1G

Para principios de los ochentas salen los primeros sistemas de

comunicación comerciales mejor conocidos como sistemas 1G, estos

son implementados en la Unión Americana, Inglaterra y Japón. Este

sistema de comunicación móvil es analógica y utiliza la técnica FDMA

(Frequency Division Multiple Access) / FDD (Frecuency Division Duplex),

aplica la división de áreas geográficas en células.

Para la primera generación fue utilizado el AMPS (Advanced Mobile

Phone System) es un sistema con una costoso y complejo cuya

arquitectura en la cual toda la inteligencia fue situada en una central de

conmutación de sistemas en 1981. El punto de partida fue que el

roaming debería estar disponible entre redes, aunque esto no estuvo

disponible a gran escala hasta los años 90.

Para los noventas fue desarrollada NAMPS (Narrowbadamps), es una

variante de la AMPS, esté reduce el espacio de canal, mejora la

frecuencia y en forma comercial aumenta su precio de las terminales.

Para 1996 ya se había utilizado este servicio para un millón de

subscritores.

(11)

4

Nórdica de Telecomunicaciones, éste habla de interfaces de radio y de

otros interfaces incluyendo el enlace entre la estación base y un switch.

Ya después, fue insuficiente la comunicación con el estándar NMT y

surgió el estándar NMT-450; el estándar fue utilizado en España y

Francia así como en otros países del este de Europa; el estándar tiene

sistemas celulares que utilizan una estructura de red jerárquica y las

estaciones base son relativamente inteligentes, comparándolo con AMPS

éste tiene todas las funcionalidades que estaban situadas en la central

de conmutación.

Años después a mediados de los ochentas surgió el NMT-900, pero este

no era el único estándar que estaba en Europa, en el Reino Unido se

desarrollaba un estándar basándose en el AMPS llamado TACS (Total

Access Communication System) utilizando otra banda de frecuencia que

los británicos tenían asignado, ya después los demás países europeos

empezaron a utilizar el estándar TACS.

Pero en Europa no eran los únicos estándares, también surgieron tres

más a principios de los ochentas como el C-450 que fue establecido en

Alemania, el RC-2000 desarrollado en Francia, pero estos estándares no

fueron exitosos.

En Asia la primera generación apareció con Japón siendo un país en el

cual se invierte mucho en tecnología, empezó a desarrollar sus propios

estándares como el NTT (Nippon Telegraph and Telephone) a fines de la

década de los setentas, e instaló su primer sistema celular que era el

MSCL1, a mediados de los ochentas surgió el MSCL2, que maneja

capacidad de celdas con una eficiencia del espectro mucho mayor, pero

que seguía trabajando en la misma banda de frecuencia.

También en Japón había proveedores que utilizaban el TACS para dar el

servicio y posteriormente salió el J-TACS pero sería implementado para

la segunda generación. En la tabla 1.2 se observan los estándares y sus

características a las que trabajaban.

(12)

5

Tabla 1.2. Características de la primera generación.

Para la primera generación lo que se debe tomar en cuenta es como los

sistemas utilizan la técnica de acceso al medio en este caso la llamada

FDMA cuyo espectro radioeléctrico se divide en una serie de secciones o

ranuras dependiendo del número de usuarios que tengamos en ese

momento.

La configuración es rígida e invariante pues cada estación debe

transmitir siempre con la misma frecuencia central o portadora y es

válida cuando se puede garantizar que durante la mayor parte del

tiempo, cada una de ellas ocupará activo ese ancho de banda que se le

asignó. Por esa razón se llama acceso múltiple con división de frecuencia

con asignación fija. Cuando el número de subportadoras aumenta, el

ancho de banda asignado a cada una de ellas debe disminuir lo que

conlleva a una reducción de la capacidad de las mismas.

1.3 SEGUNDA GENERACIÓN 2G

(13)

6

En Europa las redes de comunicación empezaban a llegar a su máxima

capacidad ya que era mucha la demanda, por lo cual surgió la necesidad

de hacer los sistemas de comunicación en términos de usuarios en MHz,

también se necesitó hacer la compatibilidad de los diversos sistemas de

comunicación existentes de otros países, para esto se desarrolló el

estándar GSM (Global System for Mobile Communications) que fue

creado en la década de los ochentas implementado en los noventas, ya

con esto se le daba apertura a la segunda generación de telefonía móvil.

Para definir como trabajaría el estándar GSM en los sistemas de

comunicación móvil se creó el Grupo Especial Móvil que tenía los

objetivos de generalizar un sistema en toda Europa, crear una

estructura celular digital con el sistema de acceso múltiple TDMA (Time

division multiple access) de banda estrecha, Algoritmo de codificación de

fuente de velocidad binaria y permitir terminales de mayor seguridad.

En la evolución americana no había problemas como en Europa que se

tenían que compatibilizar los diversos sistemas de comunicación

existentes, ya que éste contaba con uno sólo el AMPS, pero llegó a

cambiar los canales de comunicación por unos nuevos. Luego también

aparecen las operaciones de modo dual en 1991, que permitieron dar

servicio a los sistemas antiguos análogos, utilizaba una técnica de

TDMA y era conocida como NADC o IS−54 o DAMPS, ya que

tomaban

como infraestructura el AMPS.

A mediados de los noventas también fue instaurado D-AMPS y

D-AMPS-1900 que llegaban a utilizar frecuencias superiores al AMPS, ya después

surgió el estándar CDMA (Code division multiple access) que llegaba a

sustituir el estándar TDMA, ya que este trabajaba un acceso múltiple

por división de código. Este estándar también ofreció una capacidad

mayor, simplificaba el plano de frecuencias y tenía mayor flexibilidad, al

tener canales más anchos era menos susceptibles a la propagación

multicamino, ya después el estándar fue nombrado por la TIA como

IS−95.

En Asia surgió el PDS (Pacific Digital cellular), el cual fue hecho por

empresas como Ericsson, NEC, etc. Junto con la NTT, después otras

empresas asiáticas quisieron crear estándares implementarlos en otros

países asiáticos, pero no se tuvo éxito.

(14)

7

pobladas y no era de uso especial para celulares, fue implementado a

mediados de la década de los noventas.

A continuación tenemos la tabla 1.3 en ella se muestra cómo

trabajaban algunos estándares de la segunda generación.

Tabla 1.3. Características de la segunda generación.

La segunda generación aprovecha las ventajas de los sistemas

anteriores de la primera generación, pero al introducir la comunicación

digital, tanto para las comunicaciones vocales y de datos como para la

señalización, permite la prestación de un gran número de servicios

adicionales. Asimismo, mejora la eficiencia de los sistemas analógicos

permitiendo, en consecuencia un incremento en la capacidad de manejo

de tráfico.

1.4 GENERACIÓN 2.5

Con el transcurso de los años también evolucionarán otros medios de

comunicación, una de las herramientas que en la actualidad utiliza el

hombre para comunicarse es el internet, el cual llegó a tomar fuerza

dentro de las comunicaciones móviles por lo cual se llega a la necesidad,

de crear GPRS (Global Packet Radio Service).

(15)

8

que los usuarios comparten los canales y la segunda es que se obtiene

una mejor eficiencia y velocidad en la red.

El servicio de soporte de nodos GPRS (SGSN:

Serving GPRS Support

Node) es el encargado de elegir los paquetes de datos desde y hacia las

estaciones móviles sin su servicio de área. Su táctica incluye

transferencia y ruteado de paquetes, gestión de la movilidad, gestión

lógica del enlace y autenticación. El registro de información del SGSN

almacena información de localización y perfiles de usuario de todos los

usuarios registrados a la SGSN. Un nodo de soporte GPRS (GGSN:

Gateway GPRS Support Node) actúa como una interfaz entre la red

tronca GPRS y las redes de paquetes de datos externas. Convierte los

paquetes GPRS entrantes de la SGSN en los correspondientes formatos

para los paquetes de datos de control (PDP), y los envía fuera a la

correspondiente red de paquetes de datos.

Para la tecnología GPRS se incluyeron una nueva serie de nodos

llamados nodos de soporte GPRS (GSM), que son responsables de

deliberar y direccionar los paquetes de datos entre estaciones móviles y

redes de paquetes de datos externas (PDN).

Para esta generación también llegaron a existir otros dos tipos más de

estándares que son la EDGE (Enhanced data rates for Global Evolution)

permite conseguir transmisiones de datos a velocidades de 384kbps

cuando todas las ranuras de datos son usadas, y la HSCSD (High Speed

Circuit Switched Data) proporciona a un usuario el poder acceder a

varios canales a la vez.

1.5 TERCERA GENERACIÓN 3G

El crecimiento de usuarios de telefonía celular junto a la demanda del

uso de internet, uso del correo electrónico desde terminales móviles, y

la capacidad de transmitir datos e imágenes desde teléfonos celulares,

nos lleva a la transformación de los estándares de servicio existentes en

la segunda generación ya que estos no fueron creados para la

transmisión de datos.

(16)

9

En América para la 3G salieron los estándares CDMA2000 Y WCDMA,

que son sistemas de banda ancha que permiten al usuario, mayores

velocidades de transmisión de datos y un uso más eficaz del espectro de

radio.

WCDMA se destina en manera esencial a aquellos operadores de

espectro de 2GHz, sobre todo en los mercados en los que GSM ha sido

la primera tecnología celular digital en implementarse.

CDMA2000 se designa principalmente a los operadores de IS-95, ya

existentes en bandas de 800 y 1900 MHz y trabaja en dos tipos de

modulación, la MC (Modulación Multiportadora) y la DS (Esparcimiento

Directo).[3]

Para Europa se adopta el sistema UMTS, éste se considera una evolución

de GSM, en la configuración de los canales de acuerdo a las necesidades

del servicio, cosa que no ofrecía.

También cuenta con una arquitectura bien planeada y se puede definir

en tres partes, en el equipo del usuario, la red UTRAN (Terrestrial Radio

Access Network) y la red central, la cual puede garantizar el

funcionamiento global en los sistemas, al ser un proceso gradual con

continuas evoluciones y revisiones, 3GPP se propuso para dar cada

cierto tiempo un conjunto de especificaciones que constituyen el

estándar.[4]

Para Asia específicamente en China y Corea, se están trabajando entre

los estándares de CDMA2000, WCDMA/UMTS y algunos otros.

(17)

10

Tabla 1.4. Los principales estándares de comunicación móvil y su

evolución.

1.6 CUARTA GENERACIÓN 4G

Esta cuarta generación se prevé que saldrá al servicio para el 2012 en

Asia, las innovaciones serán: mensajería de multimedia, TV de alta

definición, DVB, video chat, video y televisión; todo esto manejado bajo

protocolo de internet TCP/IP basado en la tecnología de comunicación

WiMax.

Ahora se están implementando estándares para esta generación como la

USRAM (UMTS Satellite Radio Acces), ésta se considera como una red

satelital que estará conectada a UMTS. Después seguimos con la OFDMA

(Orthogonal Frequency Division Multiple Access). Ésta se define por

funciones de sistema en donde las subportadoras se agrupan en

unidades más grandes, conocidos como subcanales, que estos son

agrupados en ráfagas que pueden ser asignados a los usuarios

inalámbricos.

(18)

11

redundará no sólo en que las operadoras que adquieran esta

infraestructura, sino también en los consumidores porque se podrá

llegar a economías de escala.

(19)

12

CAPÍTULO II: Radio definido por software.

En este capítulo veremos lo que es un Radio Definido por Software

(RDS), su arquitectura, su funcionamiento, el proceso de conversión de

frecuencia de las señales para trabajar con ellas, así como su

modulación y codificación para transmitir la información.

2.1 INTRODUCCIÓN

En el siglo XX se da un auge de aplicaciones de radio basadas en

Hardware con el propósito de lograr comunicación a grandes distancias.

La mayoría de las transmisiones de radio se basaban en Hardware y

muy poco o nada de Software de control, por lo cual tenían un periodo

de vida corto y estaban diseñadas para ser descartadas y reemplazadas.

A principios del año 2000 se ha estado investigando y desarrollando un

nuevo concepto de equipos de radiocomunicaciones, equipos de radio

que son desarrollados por programas llamados “radios software” o Radio

Definidos por Software, en donde la parte del Hardware es mínima y la

mayor parte de su funcionamiento esta definido por un programa en una

PC.

El Radio Definido por Software usa dispositivos digitales programables

que ayudan para mejorar el procesamiento de señales necesarias para

transmitir y recibir información en banda base a radiofrecuencia. Los

dispositivos más usados son los DSP´s (Procesadores Digitales de

Señales), y los FPGA’s (Arreglos de Compuertas de Campo

Programables) ya que ofrecen más flexibilidad y un periodo de vida más

largo.

El propósito del RDS es igualar a los dispositivos basados en Hardware

mientras proporcionan mayor flexibilidad e inteligencia que el software

puede ofrecer, además de que el usuario no necesitara saber lo

fundamental de la tecnología en transmisiones de radio [6].

2.2 RADIO DEFINIDO POR SOFTWARE

(20)

13

El RDS tiene como propósito realizar gran parte de las funciones de un

equipo de radio mediante el software. La mayoría de equipos de radio

modernos dotados de interfaces informáticas, son equipos que pueden

ser controlados desde una PC donde se pueden visualizar funciones y

parámetros que se encuentran en la parte frontal del equipo como: la

frecuencia, selección de

modo de operación (AM, FM, CW…), Control

Automático de Ganancia (CAG).

El RDS tiene casi todos sus componentes definidos y funcionando en

programas (software) a excepción de algunos componentes físicos

necesarios para el RDS que no pueden ser definidos en software, el

software es el que define el esquema de modulación a emplear, la

codificación, el tipo de silenciador (squelch) y como actúa el CAG.

Como ya se ha mencionado el RDS es muy flexible, ya que modificando

el software se pueden modificar su funcionalidad lo cual permite

acomodar el RDS de acuerdo a las necesidades del usuario [8].

2.2.1

ARQUITECTURA DE TRANSMISIONES DE RADIO TRADICIONAL

La figura 2.1, muestra un transceiver superheterodino con conversión

dual. Es un diseño del año 1930, y es casi seguro que una gran mayoría

de hogares poseen un receptor superheterodino de alguna clase

(difusión de radio, televisión, etc.).

(21)

14

Desde el punto de vista del receptor la radiofrecuencia de la antena es

convertida en una frecuencia intermedia debido a un proceso de mezcla

o multiplexado de la señal entrante con el primer oscilador local LO1. La

frecuencia intermedia es filtrada y luego mezclada a banda base por el

segundo oscilador LO2, y el mezclador. La señal modulada en banda

base es demodulada para producir la información analógica del receptor,

y la función recíproca es realizada por el transmisor. El número de

etapas de conversión depende de la frecuencia de operación,

teóricamente es posible agregar etapas y empujar la frecuencia de

operación más alta.

El transceiver superheterodino ha experimentado un maravilloso éxito a

lo largo de la historia; fue utilizado en teléfonos móviles terminales de

1G y es seguro que soportará los receptores de radio de bajo costo de

muchos años por venir. Esta arquitectura fue muy útil para los sistemas

de teléfonos móviles 1G, como los sistemas de telefonía móvil avanzada

(AMPS), la cual usa frecuencia modulada (FM) multiplexación por

división de frecuencia (FD) para permitir el acceso a múltiples usuarios a

porciones fijas del espectro. Los sistemas AMPS asignan una porción del

espectro dedicado de 30KHz para cada usuario sin tener en cuenta la

cantidad de información a ser intercambiada.

2.2.2

ARQUITECTURA IDEAL DE TRANSMISORES DE RADIO BASADOS

EN SOFTWARE

(22)
[image:22.612.96.507.76.314.2]

15

Figura 2.2. Arquitectura ideal de Transmisores de Radio Basados en Software.

La arquitectura empuja la etapa de conversión analógica hacia la

derecha lo más cerca posible de la antena, en este caso se prioriza al

amplificador de potencia (PA) en el transmisor y después al amplificador

de bajo ruido (LNA) en el receptor. La separación de portadoras y la

conversión de frecuencias altas y bajas a banda base es mejorada por

los medios de procesamiento digital. De igual manera la codificación del

canal y las funciones de modulación son mejoradas digitalmente en

banda base por los mismos medios de procesamiento. El software para

una arquitectura ideal es en capas entonces el hardware es

completamente abstracto de la aplicación de software. Una capa

intermedia logra esa funcionalidad cubriendo los elementos del

hardware como objetos y proveyendo servicios que permiten a los

objetos comunicarse unos con otros mediante interfases estándar, por

ejemplo Common Object Request Broker Architecture (CORBA). La capa

intermedia incluye: sistema operativo, controladores del hardware,

recursos de administración y otras aplicaciones no específicas de

software. La combinación del hardware y la capa intermedia

frecuentemente se llama framework.

(23)

16

concentrar en bloques, más complicadas y de complejas aplicaciones

[6].

2.2.3 PRINCIPIO DE FUNCIONAMIENTO DE UN RECEPTOR RDS

Consta de una etapa frontal de radiofrecuencia (RF) cuya función es

convertir la señal de radio recibida, trasladándola a frecuencias muy

inferiores, en la banda de audio. Aquí es colocado un detector un tanto

especial de conversión directa a la cual se le ha añadido unos filtros de

banda seleccionables en el paso de antena. En esta etapa la señal de

radiofrecuencia es bajada al rango de las frecuencias de audio, pero

sigue siendo una señal sin demodular. La etapa de conversión directa

hace trasladar las señales de RF a otras frecuencias muy inferiores,

dicha señal ya desplazada a la banda de audio, ocupa un margen de

frecuencias que puede ser de 20 a 40 KHz.

Se utilizan convertidores analógico-digitales (A/D) que digitalizan la

señal generando un flujo continuo de bits que representan digitalmente

las señales analógicas de entrada, se puede decir que el convertidor A/D

está conectado casi directamente a la antena.

En la digitalización las señales de entrada, se transforman de señales

analógicas de entrada, continuas en el tiempo en una secuencia de

señales discretas, esto es, que se presentan a intervalos determinados y

que se denominan muestras. Una vez digitalizadas estas muestras de la

señal analógica, las señales eléctricas que las componen (bits) tendrán

un número de valores posibles de amplitud fijo y determinado, dos en el

caso de las señales digitales binarias denominadas “0” y “1” lógicos. Una

vez que la señal ha sido muestreada y digitalizada podemos procesarla

como queramos.

(24)

17

2.2.4 CONVERSIÓN DE FRECUENCIA

Para trabajar una señal en software no se puede trabajar con señales de

frecuencias altas, por lo tanto es necesario convertir las señales de RF a

señales de frecuencias bajas que estén en el rango de frecuencias que

se pueden aceptar 20 KHz a 40 KHz.

Para convertir una señal de un tipo de banda de frecuencia a otra se

utiliza un “mezclador” el cual combina 2 señales, la que recibe la antena

y una generada por un oscilador local, la cual es una señal sin modular,

como se ve en la figura 2.3. Lo que se obtiene a la salida del mezclador

son las señales cuya frecuencia es la suma y resta de las frecuencias

aplicadas en ambas entradas del mezclador, fa es la señal de la antena

y fo es la señal generada por el oscilador local y también algo de las 2

señales.

Figura 2.3. Combinación de dos señales (fa y fo) mediante un mezclador.

Un receptor que trabaja por conversión de frecuencias debe utilizar un

filtro a la salida del mezclador esto con el fin de dejar pasar únicamente

la señal que nos interesa y eliminar las demás [8].

2.3 MODULACIÓN

Modular una señal llamada portadora consiste en modificar algunas de

sus características de acuerdo a características de otra señal llamada

moduladora [9].

La modulación es un proceso en el cual se coloca información que está

contenida en una señal de baja frecuencia (moduladora) en una de alta

frecuencia (portadora), dicha señal es modificada en algunos de sus

parámetros, la modificación es proporcional a la amplitud de la señal

moduladora [10].

(25)
[image:25.612.118.508.95.319.2]

18

Figura 2.4. Ejemplo de Modulación.

Existen varios motivos por los que se modula una señal:

Para facilitar la propagación de la señal de información ya sea por

medios alámbricos o inalámbricos.

Ordena el radioespectro, distribuyendo canales a cada tipo de

información.

Disminuye dimensiones de antenas.

Optimiza el ancho de banda de cada canal.

Evita interferencias entre canales.

Protege la información contra degradaciones por ruido.

Define la calidad de la información transmitida [11].

2.3.1 TIPOS DE MODULACIÓN ANALÓGICA Y DIGITAL

Existen 2 tipos de modulación básicas; la analógica que se realiza a

partir de señales de información como: la voz, audio y video en su

forma eléctrica y la modulación digital que se realiza a partir de señales

generadas por fuentes digitales como una PC.

(26)

19

Tipos de modulación digital: Modulación en Amplitud, Apagado

Encendido (ASK), Modulación por Desviación de Frecuencia (FSK),

Modulación por Desviación de Fase (PSK), Modulación de Amplitud en

Cuadratura (QAM) [11].

[image:26.612.180.471.200.605.2]

En la figura 2.5 se observa las gráficas de la modulación en amplitud y

en frecuencia.

(27)

20

2.4 DEMODULACIÓN

Es el proceso por el cual se puede recuperar una señal de datos o señal

moduladora de una señal modulada, es decir obtener la fuente de

información original, como se muestra en la figura 2.6.

Figura 2.6. Demodulación

El proceso de modulación

demodulación para el RDS es básicamente

el esquema BPSK, se explica a continuación.

2.4 TRANSMISIÓN POR DESPLAZAMIENTO DE FASE BINARIA

(BPSK)

Este es un tipo de modulación digital, donde la señal de entrada es una

señal digital binaria y son posibles 2 fases de salida para una sola

frecuencia de portadora, una fase representa un “1” lógico y la otra un

“0”

lógico. Conforme va cambiando de estado la señal de entrada, la

fase de la señal portadora de salida se desplaza entre dos ángulos que

se encuentran desfasados 180º.

2.4.1 TRANSMISOR BPSK

En la figura 2.7 se muestra un diagrama de un modulador BPSK. El

modulador balanceado actúa como conmutador para invertir la fase,

dependiendo del estado de la señal digital de entrada “1” o “0”, la

(28)
[image:28.612.87.530.359.582.2]

21

Figura 2.7. Diagrama de un Transmisor BPSK.

En la figura 2.8 se muestra el diagrama fasorial y el diagrama de

constelación o diagrama de espacio de estado de señal del modulador

BPSK.

Figura 2.8. Diagrama Fasorial y de Constelación del Modulador BPSK.

(29)

22

de la frecuencia de la portadora por un valor igual a la mitad de la razón

de bit.

Figura 2.9. Fase de salida contra la relación de tiempo para una forma de onda

BPSK.

2.4.2 RECEPTOR BPSK

(30)

23

Figura 2.10. Diagrama de un Receptor BPSK.

2.5 CODIFICACIÓN

La codificación de un canal consiste en mapear la secuencia de datos

entrantes en una secuencia de entrada al canal y realizar el mapeo

inverso a la salida en una secuencia de datos donde el ruido sea

mínimo, esto con el fin de mejorar la fiabilidad de la transmisión [12].

La codificación de canal es representar la información de manera que se

minimice la probabilidad de error.

Existen diversos tipos de código a continuación se expondrán algunos de

ellos:

2.5.1 CÓDIGOS DE PARIDAD

Los códigos de paridad añaden un bit a la secuencia que se va a enviar,

de tal forma que el número de unos (1s) sea par o impar, dependiendo

el tipo de paridad:

Si la paridad es par, el número final de unos debe ser par.

Si la paridad es impar, el número final de unos debe ser impar.

2.5.2 CÓDIGOS M ENTRE N

Este tipo de código tiene la característica de que todas las palabras de

código tienen la misma longitud de “m” bits, de los cuales, “n” bits son

1s, ejemplo:

(31)

24

2.6 CÓDIGOS DE BLOQUE LINEALES SISTEMÁTICOS

Este tipo de códigos es capaz de detectar x-1 bits erróneos, donde x

esta dado por la distancia haming mínima entre 2 palabras de código y

también es capaz de corregir (x-1)/2 bits erróneos. Estos códigos

cumplen la siguiente propiedad:

La suma módulo-2 de 2 palabras del código, da lugar a otra palabra de

código.

Para la especificación de estos códigos se usa la notación (n,k) donde

“n” es el tamaño de la palabra codificada, “k” es el tamaño del mensaje

original, estos “k” bits se envían sin alterar, los n

-k bits restantes son

los bits de paridad, está es la redundancia mediante la cual se detectan

y corrigen los errores.

La forma de una palabra de código de un código de bloque lineal

sistemático es la siguiente:

m

0

m

1

. . . m

k-1

b

0

b

1

b

2

. . . b

n-k-1

Donde m

0

...m

k-1

son los bits del mensaje original y b

0

....b

n-k-1

son los

bits de paridad que se añaden como redundancia.

De esta forma, podemos expresar una palabra de código como:

c

0

c

1

. . . c

n-k-1

c

n-k

. . . c

n-1

El cálculo de los bits de paridad se realiza de la siguiente forma:

b

i

= P

0i

m

0

+ P

1i

m

1

+ . . . + P

k-1i

m

k-1

Donde los P

ij

deben ser tales que la matriz generadora del código tenga

filas independientes y las ecuaciones de paridad sean iguales.

Para realizar la codificación se utiliza una notación matricial.

Consideraremos la palabra original, la palabra formada por los bits de

paridad y la palabra de código como vectores: m = (m

0

m

1

. . . m

k-1

), b =

(32)

25

También se utiliza la matriz de coeficientes:

Para realizar la codificación se utiliza la matriz generadora:

G = [I

k,k

| P ]

Siendo I

k,k

la matriz identidad de tamaño k X k.

De esta forma podemos obtener cada palabra de código a partir de cada

palabra de mensaje original realizando la siguiente multiplicación:

c = m • G

Para realizar la decodificación, en destino se reci

be un vector “c”

de

tamaño

n

y lo que se puede hacer es repetir la operación realizada en

la codificación: se toman los primeros

k

bits y se calcula la

redundancia usando la matriz generadora y se comprueba si la

redundancia obtenida es igual a la redundancia recibida.

Otra opción más eficiente es la basada en el concepto de síndrome. En

el proceso de decodificación basado en el síndrome se utiliza la matriz

de chequeo de paridad, que se define de la siguiente forma:

H = [I | P

t

]

H

tiene la propiedad de que sólo las palabras de código verifican que al

multiplicarlas por H

t

el resultado es el vector nulo. Esta propiedad será

utilizada para la detección y corrección de errores.

A cada palabra que el receptor recibe a través del canal la

denominaremos palabra recibida y la denominaremos

r

. Una palabra

recibida la podemos expresar como:

(33)

26

Donde

c

es la palabra de código enviada por el emisor y e es una

palabra de error. Cada componente e

i

de la palabra de error podrá valer

1

si hay un error en esa posición y

0

si no lo hay.

El receptor para realizar la codificación utiliza la matriz

H

para calcular

el vector de síndrome de error a partir de la palabra recibida. El vector

de síndrome de error se obtiene de la siguiente forma:

s = r • H

t

El vector de síndrome tiene tantos elementos como bits de paridad se

estén usando el vector de síndrome sólo depende de la secuencia de

error y no de la palabra de código transmitida.

Si en la transmisión no se ha producido un error, el síndrome es el

vector nulo:

s = r • H

t

= 0

Si se ha producido un error la multiplicación de la palabra recibida por H

t

nos da un vector que es igual a una de las filas de H

t

. La posición que

ocupa esa fila es la posición donde hay un error.

Todas estas operaciones se hacen en módulo-2 (sin acarreo).

Para la detección y corrección de errores simples la matriz

H

debe

cumplir con las siguientes condiciones:

Todas las columnas de la matriz

H

deben ser diferentes. Esta

condición hace que se pueda localizar la posición del error.

Ninguna de las columnas de

H

pueden ser todas ceros. Esta

condición se debe a que el síndrome es el vector nulo cuando no

hay error.

Cuando se quiere corregir más de un error, por ejemplo dos errores, la

matriz

H

debe verificar lo siguiente:

Todas las columnas de la matriz

H

deben ser diferentes.

Ninguna de las columnas de

H

pueden ser todas ceros.

(34)

27

Esta última condición complica el cálculo de códigos correctores de dos

bits y en la práctica no se suelen utilizar. Cuando hay más de un error

se pedirá una repetición de la secuencia al emisor (vuelta atrás).

2.7 CÓDIGO DE HAMMING

El código de Hamming es un código de bloque lineal el cual se puede

denotar

mediante un par (n,k), sin embargo estos valores “n” y “k”

deberán cumplir algunas condiciones:

“n” es la longitud de la palabra de código.

“k” es el n

úmero de bits de datos de la palabra original sin codificar.

El número de bits de paridad será m=n-k, pero deberá cumplirse la

siguiente relación entre la longitud de la palabra de código y el número

de bits de paridad: n=2

m

-1 con m>=3.

Según esto también se cumplirá la siguiente relación entre el número de

bits de datos y el número de bits de paridad: k=2

m

-m-1.

A cada palabra original le serán añadidos unos bits de paridad para

obtener la palabra de código, de forma que estos bits de paridad sirvan

después para detectar y corregir errores que se hayan producido

durante la transmisión.

Cada bit de paridad que se haya añadido a la palabra original va a

afectar a ciertas posiciones de la palabra de código nueva tomando un

valor adecuado para que cumpla el criterio de paridad (par o impar).

Después se determina que posiciones de bits de la palabra código afecta

cada bit de paridad, para eso se construyen todas las combinaciones

posibles con “m” bits de paridad y se interpreta cada uno en binario

natural.

b

m

... b

3

b

2

b

1

Posición

0... 0 0 0... 0

0... 0 0 1... 1

0... 0 1 0... 2

0... 0 1 1... 3

(35)

28

Bit de paridad Posiciones

b

1

... 1, 3, 5, 7,...

b

2

... 2, 3, 6, 7,...

...

b

m

... 2

m

, 2

m

+1,2

m

+2,…

Por último sólo nos queda determinar que posiciones de cada palabra de

código ocupará cada bit de paridad. Los bits de paridad han de colocarse

en aquellas posiciones en las que no se vean afectados por otros bits de

paridad. Estas posiciones serán:

Bit de paridad Posición

b

1

... 2

0

b

2

... 2

1

b

3

... 2

2

De esta forma queda completado el proceso de construcción de un

código de Hamming [12].

(36)

29

2.8 DECODIFICACIÓN HAMMING

En este proceso, el receptor recibe una palabra con codificación

Hamming y debe comprobar si es correcta o no, en caso de no ser

correcta debe comprobar en que bit se produjo el error y corregirlo.

Para comprobar que la palabra recibida es correcta, el receptor debe

utilizar los bits de paridad de la palabra y hacer con ellos un control de

paridad, para esto se crea una palabra que tendrá un bit por cada uno

de los bits de paridad usados. Cada uno de los bits de esta palabra

tomará el valor 0 o 1 dependiendo de que el número de 1s de las

posiciones de la palabra de código afectadas por su bit de paridad

correspondiente cumple con el criterio de paridad. Interpretando la

combinación resultante en binario natural se tendrán dos posibilidades:

Que sea un 0, lo que significa que no hubo errores durante la

transmisión.

Que sea un número distinto de 0, lo cual quiere decir que hubo error

durante la transmisión y que el bit situado en la posición indicada por

ese número cambio.

Ya obtenida la palabra de código correcta, se quitan los bits de paridad

para obtener la palabra original enviada por el emisor [12].

(37)

30

El resultado de calcular nuevamente el código Hamming nos da la

posición del bit erróneo 0101. No habrá bit erróneo si la posición

resultante es 0. O bien se ha producido un error indetectable. La ventaja

de estos códigos es la detección y conexión de errores [14].

2.9 CÓDIGOS CONVOLUCIONALES

Son códigos diferentes a los códigos de bloque en su forma estructural y

su forma para la detección de errores. Los códigos de bloque tienen una

capacidad limitada para corregir errores, únicamente 1 o 2 símbolos

erróneos por palabra de código. Estos códigos son buenos para usarse

en canales con una probabilidad de error muy baja, los códigos

Convolucionales son adecuados para usarse en canales con una

probabilidad de error alta.

Los códigos Convolucionales son códigos lineales, en donde la suma de

2 palabras de código cualesquiera también es una palabra de código. El

sistema tiene memoria, la codificación actual depende de los datos que

se envían ahora y que se enviaron en el pasado.

Los códigos Convolucionales son especificados por 3 parámetros

(n,k,m), donde “n” es el número de bits de la palabra codificada, “k” es

el número de bits de la palabra de datos y “m” es la memoria del código

o longitud restringida [12].

Los procesos mencionados tales como la modulación

demodulación y

la codificación, se pueden programar a través de dispositivos de lógica

(38)

31

CAPÍTULO III: Dispositivos de lógica programable.

3.1 INTRODUCCIÓN.

Los dispositivos de lógica programable PLD (

Programmable Logic

Device) en las últimas décadas se han colocado en los circuitos

electrónicos de control, para trabajar con funciones muy complejas que

exigirían un número elevado de circuitos integrados (CI) de función

específica, éstos son los llamados CI específicos a una aplicación o ASIC

(Application Specific Integrated Circuit). Por regla general, los ASICs son

producidos por fabricantes de CI con las especificaciones proporcionadas

por el usuario.

Los ASICs en gran cantidad resultan ser más baratos que los equipos CI

de función fija, ocupan menos espacio, consumen menos energía y son

mas fiables. Existen diferentes tipos de ASICs y son los siguientes:

-

Circuitos Integrados a Medida (Full Custom)

Se diseñan de acuerdo a las especificaciones que requiere el cliente para

que resuelva una determinada aplicación, para hacer este tipo de CI a

medida su empleo se justifica para volúmenes de producción muy altos

y es mayor el costo de desarrollo. El tiempo necesario para construir

una CI a medida puede llevar desde unos meses hasta un año.

-

Las Matrices de Puertas (Gate Arrays)

Se elaboran con matrices que trabajan con pequeños trozos de silicio,

con un proceso de metalización que define las conexiones entre un

importante número de puertas o transistores, y crean una serie de

células básicas utilizadas por los macros y realizan funciones como:

sumadores; puertas NOT, AND, NAND, NOR XOR, etc.; latches y

flip−flops S−R, J−K, D; buffer; osciladores; registros, decodificadores,

multiplexores, etc.

-

Células Normalizadas (Standard Cell)

(39)

32

-

FPIC (Field Programmable Integrated Circuits)

Son chips que se programan por el usuario mediante programadores

comerciales, el término FPIC también incluye a los CI no destinados a

las aplicaciones lógicas, tienen aplicaciones de bajo costo y se clasifican

en PLD (Programmable Logic Device), las FPGA (Field Programmable

Gate Array) y los ASPLD (Aplication Specific Programmable Logic

Devices).

3.2 PLD

[image:39.612.193.420.346.639.2]

Los PLDs (Programmable Logic Devices) son pequeñas ASICs

configurables por el usuario capaces de realizar una determinada

función lógica. La mayoría de los PLD consisten en una matriz de

puertas AND seguida de otra matriz de puertas OR como se muestra en

la figura 3.1. Mediante esta estructura, puede realizarse cualquier

función como suma de términos productos.

Figura 3.1. Estructura interna de un PLD.

(40)

33

define utilizando elementos de desarrollo propios de microprocesadores,

tales como; ensambladores, emuladores y lenguajes de programación

de alto nivel. Otras veces, cuando estas memorias se usan para realizar

una función lógica y no para guardar un programa de un

microprocesador, se las incluye dentro del término PLD.

3.3 ASPLD

Los ASPLDs (Application Specific Programmable Logic Devices) son PLDs

diseñados para realizar funciones específicas como, decodificadores de

alta velocidad, secuenciadores, interfaces para buses particulares,

periféricos programables para microprocesadores, etc.

Partes del ASPLD son programables permitiendo la adaptación del

circuito a una aplicación determinada, pero manteniendo su función

básica; así, por ejemplo, un decodificador lo personaliza el usuario, pero

sigue siendo un decodificador. Estos circuitos están muy optimizados

para la función a la que han sido diseñados. Los decodificadores sólo

tienen un término producto, carecen de puertas OR y resultan por

consiguiente muy rápidos; por otro lado, los circuitos de interface para

buses normalmente tienen un Fan−Out

(número de entradas elevado).

3.4 PAL

(41)
[image:41.612.148.461.68.442.2]

34

Figura 3.2. Estructura interna de una PAL.

3.5 FPGA

La FPGA (Field Programmable Gate Array) es un dispositivo que surgió a

mediados de los ochentas, fue una de las nuevas arquitecturas de los

circuitos integrados, ha sido consideraba como un circuito de lógica

programable.

Este dispositivo ayuda a los diseñadores de sistemas, a revolucionar la

implementación de sistemas digitales configurables ya que permite

manejar y modificar miles de compuertas lógicas que la componen de

esta forma ayuda a evolucionar y mejorar el funcionamiento de otros

sistemas electrónicos de control y de comunicaciones. En este capítulo

hablaremos sobre estas tarjetas.

(42)

35

Después como evolución de las ASIC surgió la FPGA creada por Xilinx,

es un dispositivo que no sólo tendría puertas programables, sino que

también tienen interconexiones programables entre puertas.

Tiempo después surgió la idea de crear un chip de computadora que se

utilizara la nueva tecnología de matrices de puertas programables y

pudo ser completamente personalizado utilizando un software.

En el proyecto se dispuso dos objetivos: determinar la manera de

interconectar los planos de conjuntos, y para crear un compilador que se

pueden programar funciones en estos nuevos chips. Después para 1986

sale a al mercado la tarjeta FPGA y llegan a tomar diferentes

aplicaciones

como

para

sistemas

de

seguridad,

equipos

de

comunicación, control, etc.[16]

Existen dispositivos FPGA de baja tecnología antifusibles, ésta fue

creada en el año de 1991 por las empresas Plus Logic y Texas

Instruments, esta tarjeta tenia una arquitectura parecida a la LCA (logic

cell array) donde su similitud de ésta, es que tiende a la utilización de

los recursos dispuestos en la pastilla mediante una extensión de bloques

de entradas y salidas repartidos alrededor de la pastilla y posibilidades

de interconexión entre diferentes bloques lógicos colocados en la matriz

en el centro con sus líneas de interconexión.

Ya en la actualidad la mayoría de los dispositivos de la FPGA se basan

en la tecnología SRAM por lo que permite tener una configuración

volátil, que permite la flexibilidad para modificar el comportamiento del

dispositivo.[17]

3.5.1 ESTRUCTURA GENERAL DE LA FPGA

(43)
[image:43.612.152.462.70.286.2]

36

Figura 3.3. Estructura interna de una FPGA general

En la figura 3.3 se muestran los elementos básicos que contiene una

FPGA que son los siguientes:

-

Las células de entrada y salida.

-

Recursos de interconexión, cuya estructura y contenido se

denomina arquitectura de rutado.

-

Los bloques lógicos, los componentes que disponen cada uno

pueden variar de acuerdo al fabricante.

(44)

37

Figura 3.4. Estructura del LUT de un bloque lógico

Para la asignación de las entradas y salidas, asi como la programación

de las LUT existen varios métodos, los mas utilizados son los de

tecnología antifusible (antifuse) y la tecnología SRAM.

Para la tecnología SRAM este problema no es válido, pero la precisión

de los programas de simulación disponibles se impone para optimizar el

uso de simuladores ya que no son reprogramables las tecnologías ya

mencionadas, pero va creciendo la complejidad y se hace difícil la

depuración de los mismos ya que no cuenta con los accesos directos a

los distintos puntos de interés.

La forma de configurar la FPGA varia dependiendo de la tecnología

adoptada, en caso de las FPGA basadas en tecnología antifusible las

mismas son programadas una sola vez y haciendo uso de un

programador dedicado.

La tecnología SRAM en las FPGA, leen su configuración interna de una

memoria no volátil que es la que mantiene el programa. Una vez

finalizada la transferencia la FPGA se configura y comienza a funcionar.

Esta carga se realiza en los POWER-UP o por un reset del dispositivo

[18,19].

3.5.2 LENGUAJES PARA PROGRAMAR EN FPGAs

Se pueden ocupar diferentes tipos de lenguajes para programar la

FPGAs de acuerdo a su utilidad y algunos ejemplos son los siguientes:

• Lenguajes de Descripción

de hardware

VHDL, Verilog.

• Lenguajes de

Alto Nivel

(45)

38

• Simuladores:

Active HDL, ModelSim, Cadence, LAbView, Simulink (Matlab),

System Generator.

• Síntesis:

FPGA Compiler, Synplicity, Leonardo.

• Ambientes integrados

Xilinx ISE, Max Plus, Libero.

En la figura 3.5 se muestra los pasos de programación de una FPGA ya

que en este caso la escritura de este tipode programación, es igual al

código de un programa de un ordenador, todo depende de la máquina

que se este trabajando, para la configuración de la FPGA que se inicia

en un alto nivel.

En la etapa se introduce el lenguaje de descripción del hardware (HDL),

un programa llamado flowcharting, para describir el diseño que tendrá el

chip.

Ya que existen muchos programas (HDL), cada una contiene sus propias

funciones simplificando el diseño para hacer más eficientes, proponiendo

sus ventajas para el funcionamiento de las mismas. Pero los primeros

pasos son similares a los de un compilador de lenguaje de

programación.

(46)

39

Utilizamos las FPGA ya que es una clase especial de chip para

implementar en hardware un código de aplicación, es como tener una

placa para implementar circuitería personalizada por medio de

hardware.

Para este proyecto estamos trabajando con la tarjeta Xilinx Spartan-3

200000-puerta Plataforma FPGA - XC3S200 como se muestra en la

figura 3.6.

[image:46.612.171.449.214.654.2]
(47)

40

Los beneficios de la FPGA son el rendimiento, la fiabilidad y la

flexibilidad. Se tiene flexibilidad que puede definir por software el

comportamiento del chip, ya proporciona el rendimiento de la circuitería

personalizada para su ejecución de aplicación de medida y control, y

también tiene una fiabilidad máxima ya que su aplicación se basa en

hardware.

Con esto tenemos la flexibilidad de un hardware personalizado, y

permitir la flexibilidad para trabajar en un sistema definido por software,

con esto se podrá ayudar a diseñadores de sistemas a revolucionar la

implementación de sistemas digitales configurables.

(48)

41

CAPÍTULO IV: Simulación e implementación en FPGA,

pruebas y resultados.

4.1 INTRODUCCIÓN

En este capítulo se presenta el proceso de diseño, simulación e

implementación del Modulador, Demodulador BPSK, Codificador y

Decodificador Hamming 7,4. El entorno de desarrollo utilizado para

realizar la simulación es Simulink de Mathworks, además de

herramientas de Xilinx como System Generator para realizar los

diagramas a bloques, y Xilinx ISE para grabar la tarjeta FPGA Spartan-3

Starter Kit Board.

4.2 MODULADOR BPSK.

Como ya se ha mencionado en el capítulo 2, la modulación BPSK es una

modulación digital, por lo tanto trabaja con una señal de entrada digital

binaria y tiene 2 fases de salida dependiendo el estado de la señal de

entrada, cuando se tiene un estado alto “1” la portadora se transfiere a

la salida en fase y si es un estado bajo “0” se transfiere desfasada 180º.

[image:48.612.87.529.403.639.2]

En la figura 4.1 se muestra como se realiza la modulación.

Figure

Figura 2.2. Arquitectura ideal de Transmisores de Radio Basados en Software.
Figura 2.4. Ejemplo de Modulación.
Figura 2.5. Gráficas de la modulación en amplitud y en frecuencia
Figura 2.7. Diagrama de un Transmisor BPSK.
+7

Referencias

Documento similar

Se elaboró un modelo formal para la asignación de recursos humanos a equipos de proyectos de software, considerando tanto factores que contribuyen a la

Debido a que este proyecto pertenece al polo de Bioinformática y es un estándar o paradigma del polo el desarrollo de software libre utilizando el sistema operativo Linux, además

 Descripción del Flujo de Actividades del Servicio de Reinstalación de Software (RS) Para realizar este servicio, el cliente hace su solicitud a través del sistema

Esta metodología de desarrollo no tiene definido un flujo de trabajo para el proceso de despliegue de la solución de software, por lo que no existen

Debido a que Rational Rose es una herramienta CASE de software propietario y según lo planteado anteriormente, se decidió utilizar el Visual Paradigm, ya que es una

Para dar cumplimiento al objetivo principal se hizo necesario analizar los conceptos, metodologías y herramientas aplicadas a las estrategias de pruebas de

La longitud será la necesaria para alojar el número de carros requeridos o el tren completo más largo que deba tenerse en cuenta para cada caso, más los librajes

 Para recibir todos los números de referencia en un solo correo electrónico, es necesario que las solicitudes estén cumplimentadas y sean todos los datos válidos, incluido el