Lab 8
Lab 8
Lab 8
1 INTRODUCCIÓN
VIVADO DESIGN SUITE es el primer juego de MATLAB, será utilizado como un programa para realizar
herramientas de la industria para el desarrollo de comunicación serial, que se define como el proceso de
System on Chip (SoC). Vivado ofrece un entorno de envío de datos de un bit a la vez sobre un canal de
desarrollo para: SoC-strength, IP-centric y System- comunicación. El puerto serial envía y recibe bytes de
centric, con herramientas de última generación que se información, uno a la vez, para realizar este tipo de
han diseñado desde cero para hacer frente a las comunicación se necesita de 3 líneas de transmisión
dificultades de la productividad de sistemas digitales a que son: Tierra (o también llamada referencia),
nivel de integración e implementación. [3] Transmitir y Recibir. Adicionalmente, se encuentra que
es posible enviar datos por una línea mientras se
reciben datos por otra debido a que la transmisión es
La tarjeta BASYS 3 es una plataforma de desarrollo asíncrona.
bastante completa basada en el FPGA ARTIX-7 de la
1
Adquisición de Señales mediante Interfaz Gráfica en Matlab y Puertos ADC
2 DESARROLLO //define_speed=100MHz/(2*desired_clock_fr
equency)
localparam define_speed = 26'd250000;
2.1 MATERIALES // Count value that counts to
define_speed
En la presente practica se hizo uso de diferentes reg [25:0] count;
programas y materiales para encontrar un resultado // Run on the positive edge of the
óptimo los materiales utilizados fueron: clk and rst signals
Servomotor always @ (posedge(clk),posedge(rst))
Motor paso a paso begin
Motorreductor // When rst is high set count and
new_clk to 0
Puente H
if (rst == 1'b1)
Protoboard
begin
Fuente count = 26'b0;
new_clk = 1'b0;
Los softwares utilizados son: end;
Vivado else if (count == define_speed)
Matlab begin
count = 26'b0;
Para la descripción del programa en la tarjeta FPGA se new_clk = ~new_clk;
hizo uso del lenguaje VHDL. end;
else
2.2 CODIGOS begin
count = count + 1'b1;
MOTOR DE PASO new_clk = new_clk;
end;
A continuación se mostrara el código para el end;
funcionamiento del motor paso a paso.
timescale 1ns / 1ps
timescale 1ns / 1ps module clock_div(
module pmod_step_interface( input clk,
input clk, input rst,
input rst, output reg new_clk
);
input direction,
// The constant that defines the
input en, clock speed.
output [3:0] signal_out // Since the system clock is 100MHZ,
); // define_speed =
clock_div clock_Div( 100MHz/(2*desired_clock_frequency)
.clk(clk), localparam define_speed = 26'd250000;
.rst(rst), // Count value that counts to
.new_clk(new_clk_net) define_speed
reg [25:0] count;
);
// Run on the positive edge of the
pmod_step_driver control( clk and rst signals
.rst(rst), always @ (posedge(clk),posedge(rst))
.dir(direction), begin
.clk(new_clk_net), // When rst is high set count and
.en(en), new_clk to 0
.signal(signal_out) if (rst == 1'b1)
); begin
endmodule count = 26'b0;
new_clk = 1'b0;
end;
timescale 1ns / 1ps
else if (count == define_speed)
module clock_div(
begin
input clk,
count = 26'b0;
input rst,
new_clk = ~new_clk;
output reg new_clk
end;
);
else
// The constant that defines the
begin
clock speed.
count = count + 1'b1;
// Since the system clock is 100MHZ,
new_clk = new_clk;
2
Adquisición de Señales mediante Interfaz Gráfica en Matlab y Puertos ADC
3
Adquisición de Señales mediante Interfaz Gráfica en Matlab y Puertos ADC
4
Adquisición de Señales mediante Interfaz Gráfica en Matlab y Puertos ADC
5
Adquisición de Señales mediante Interfaz Gráfica en Matlab y Puertos ADC
Fig. 8 Interfaz
4 CONCLUSIONES
Matlab es un programa el cual permite realizar interfaces
de fácil manejo esto puede ser de gran utilidad para
próximos proyectos.
Con ayuda de la descripción en VHDL y la programación
en FPGA en vivado se logró la activación de los
diferentes motores.
Se encontró la gran utilidad que brindan los PWM para
el movimiento de los motores debido a que la orden
puede estar dada en ángulos y direcciones.
Se realizó a partir de una conversión análoga-digital
descrita para hacer funcionar los motores según la
tensión de la entrada asignada.
5 REFERENCIAS
[1] M. Sanchez-Elez, Introducción a la programación en VHDL.
2014.
[2] F. Pardo, "VHDL. Lenguaje para descripción y modelado de
circuitos", Universidad de Valencia, 1997.
[3] "DISEÑO DE MÁQUINAS DE ESTADO FINITO CON VHDL",
Sistemas embebidos, 2015.
[4] S. De Pablo and S. Cáceres, Diseño de Circuitos Digitales a
Nivel de Registro empleando Diagramas ASM++. Valladolid:
Universidad de Valladolid, 2010.