Beruflich Dokumente
Kultur Dokumente
PARA FPGA
UNIVERSIDAD DISTRITAL
FRANCISCO JOSE DE CALDAS
MICROPROCESADORES
BOGOT D.C.
8 DE FEBRERO 2012
SYSTEM GENERATOR
Es una herramienta disponible en el ambiente de desarrollo Simulink/System
Generator que permite co-simular en hardware lo que se simula en software.
Veamos que significa esto: En primer lugar cuando uno trabaja en el entorno
Simulink/System Generator los sistemas que se construyen son simulados en ese
mismo entorno, es decir TODO se realiza en software. Sin embargo se puede
MODULACIN AM
La modulacin se define como el proceso de transformar informacin de su forma
original a una forma ms adecuada para la transmisin. La modulacin se realiza
en el transmisor en un circuito llamado modulador.
Modulacin de amplitud AM es el proceso de cambiar la amplitud de una seal
portadora de frecuencia comparativamente alta en relacin con la de la seal
modulante que contiene la informacin. Con la modulacin de amplitud, la
informacin se combina sobre la portadora cambiando su amplitud.
La modulacin de amplitud es una forma de modulacin relativamente barata y de
baja calidad de modulacin que se utiliza en la radiodifusin de seales de audio y
vdeo. La banda de radiodifusin comercial AM abarca desde 535 a 1605 KHz. Un
modulador AM es un aparato no lineal con dos seales de entrada de informacin:
una seal portadora de amplitud constante y de frecuencia sencilla, y la seal de
informacin. La informacin modula la portadora y puede ser una forma de onda
de frecuencia simple o compleja compuesta de muchas frecuencias que fueron
enviadas de una o ms seales. Debido a que la informacin acta sobre la
portadora, se le llama seal modulante. La resultante se llama onda modulada o
seal modulada.
OBJETIVOS:
PROCEDIMIENTO:
Lo primero que debemos hacer es crear una carpeta con un nombre que uno le
ponga, en la cual incluiremos los programas tipo VHD creados en el Xilinx ISE que
vamos a utilizar en el proyecto y los archivos que se generen desde el Simulink en
el que se generara todo nuestro diseo, para ello aremos el siguiente
procedimiento:
1. Click derecho en el escritorio, vamos a nuevo y aqu damos la opcin carpeta.
Luego de esto nos encontramos dentro del entorno de matlab que ser
desde donde abriremos la herramienta SIMULINK, para abrir esta
herramienta lo podemos hacer de dos maneras:
1. Escribiendo simulink en la ventana comand window y luego
presionando enter.
Entorno de simulink
En esta etapa se explicara cmo encontrar la seccin donde se encuentra la
librera de los bloques que se desean utilizar para nuestro proyecto (Xilinx
blockset), la manera de crear un nuevo proyecto y como debemos guardarlo.
En una fase previa antes de generar un nuevo proyecto debemos crear una
nueva carpeta donde guardaremos este junto con los programas o los
archivos *.vhd, que son los que utilizaremos si deseamos co-simular
programas realizados en lenguaje VHDL y Simulink
Luego de esto nos aparecer una nueva ventana que ser donde
trabajaremos con cada uno de los bloques (ventana de simulacin).
NOTA: Para una mayor facilidad de trabajo para los siguientes pasos se
recomienda dejar las dos ventanas anteriormente abiertas (simulink(libreras) y la
ventana de trabajo) en un tamao en que podamos ver las dos al tiempo.
PARA WAVESCOPE
Esta herramienta la podemos encontrar en la ventana de libreras como lo vemos
a continuacin:
Como vemos las seales que salen estn en un formato de representacin lgica,
para ver en anlogo damos doble clic sobre la seal que queremos modificar y se
abre el siguiente panel.
T=
1
clk
NOTA: La configuracin de esta pestaa(output type) deber ser igual para las dos
ROM
Esta seal tendr la misma cantidad de muestras pero para esta escogeremos la
funcin seno. Esta funcin al ser la seal que escogeremos como portadora
deber tener una mayor frecuencia.
Este bloque tendr la siguiente configuracin
Luego de esto damos doble click sobre cada uno de ellos para configurarlos
estos bloques llevaran la misma configuracin debido a que nuestras
memorias ROM tiene la misma cantidad de muestras. Deberemos
configurar la siguientes opciones:
Counter type: lo podemos dejar para que corra libremente o darle un limite y
cuando llegue a ese limite el se reiniciara e ira de nuevo al valor 0
Count direction: Aqu configuraremos el sentido de cuenta y el valor inicial
de la cuenta, y el valor que avanza en cada paso para la cuenta.
Ouput precisin: en esta parte configuraremos cada una de las opciones
para la cuenta numero de bits, y si la cuenta lleva signo o no.
Para llevar a cabo la simulacin basta con darle click en el botn play y si
deseamos ver un mayor tiempo de muestras en el osciloscopio aumentar el
numero que se encuentra al lado defrecho. Despus de que el programa lleve a
cabo la simulacin para ver las graficas le damos doble click en el osciloscopio.
Las graficas que saldrn en cada osciloscopio sern las siguientes:
Luego configuramos el bloque mult donde lo dejaremos con precisin full. Este
quedara de la siguiente manera:
Primero confuguramos el bloque constant que ser igual al que fue configurado
anteriormente para aumentar la amplitud de la seal, despus configuraremos el
bloque add que quedara de la siguiente manera.
El cdigo debe tener dos seales de control de reloj, estas seales deben
tener como nombre, o por lo menos dentro del nombre debe tener los
caracteres clk y ce respectivamente.
No necesariamente se deben usar pero estas dos variables se conectaran
directamente a la seal de reloj del sistema y las podemos usar para la
toma de decisiones del cdigo.
Los Black Box no reconocen flancos de bajada del reloj principal, es decir si
su programa trabaja con comandos como falling edge clk_event clk =0,
estos no sern tenidos en cuenta.
No se pueden simular puertos bidireccionales, solo si son de entrada o
salida aunque si son validos en la implementacin del hardware.
El archivo*.vhd debe tener un nombre diferente al del modelo que se est
usando y tampoco puede contener palabras reservadas de los lenguajes de
Matlab y Xilinx.
Ahora haremos una especie de prescalizador con bloque de la ventana de libreras para
poder hacer que el conversor no guarde un solo bit en un flanco de subida del reloj, ya
que cada dato de la seal enviada es de 12 bits, es decir el periodo que tiene cada pulso
de la seal coseno debera ser igual al periodo que demora la ventana de lectura de los
registros y al menos hasta que el conversor se ponga en modo de lectura.
Esto lo podemos lograr bajando el periodo del contador que genera nuestro bloque
contador que direcciona la memoria coseno.
4. Por ultimo conectaremos estas tres cajas y las uniremos con el circuito hecho
anteriormente para as completarlo:
Para simular cada una de las salidas del conversor configuramos el wavescope
para cada una de las salidas como anlogas, y si queremos tambin ingresar las
graficas del las dos seales (moduladora y portadora) y de la modulacin ya sobre
un nivel DC.