Vous êtes sur la page 1sur 3

Arquitectura

de computadoras
Practica No. 3
Construcción de Máquinas de Estados Usando Memorias

Ejercicio Adicional.

La carta ASM utilizada en esta práctica representa un algoritmo para el cual un carro
tiene los siguientes movimientos: adelante, atrás, girar a la izquierda, girar a la
derecha o estar detenido.

En la práctica 2 aprendimos a controlar el sentido de giro de los motores, en esta


práctica aprenderemos a modificar la velocidad de giro de los motores. Para ello es
necesario utilizar un PWM (Pulse width modulation).

El PWM es una señal digital cuadrada que nos permite modificar el ciclo de trabajo
de los motores sin variar la frecuencia a la que estos trabajan.

Los motores trabajan a una frecuencia de 490Hz, por lo que el periodo es el


siguiente

1 1
𝑇" = = = 0.00204 𝑠𝑒𝑔𝑢𝑛𝑑𝑜𝑠 ≈ 2 𝑚𝑠
𝑓 490

Significa que en cada intervalo de dos milisegundos tenemos un valor alto (Ton) y
un valor bajo (Toff).
Debemos recordar que la tarjeta Cyclone IV trabaja a una frecuencia de 50 Mhz, su
periodo es el siguiente:

1
𝑇567 = = 20.0 ∗ 10=> 𝑠𝑒𝑔𝑢𝑛𝑑𝑜𝑠
50 𝑀ℎ𝑧

Para poder sincronizar la frecuencia de la tarjeta con la frecuencia de los motores


solo debemos calcular el número de pulsos de reloj que debe dar la tarjeta para
alcanzar los 2 ms.

𝑇567 ∗ 𝐾 = 𝑇"

𝑇" 2.04 ∗ 10=@


𝐾 = = = 102.04 ∗ 10@ 𝑝𝑢𝑙𝑠𝑜𝑠
𝑇567 20.0 ∗ 10=>

𝐾 = 102.04 ∗ 10@ 𝐷 ≈ 18𝐸98 𝐻

Ahora que sabemos el número de ciclos de reloj para alcanzar los 2ms hay que
crear un contador que nos permita estar variando la longitud de Ton y Toff , también
llamado Duty Cycle, y obtener una tensión continua media Vm que hará que los
motores giren más rápido o más lento.
Por ejemplo para obtener un ciclo de trabajo del 50% para una sola llanta debemos
tener una salida de un bit que tenga un valor alto (1) desde K=0 H hasta K= C74C
H y un valor bajo (0) desde K = C74D H hasta K = 18E98 H.

Ejercicios:

1. Con lenguaje VHDL programe un PWM para controlar la velocidad de las 2


llantas del carro. La entrada del PWM es el reloj de la tarjeta y como salidas debe
haber 2 señales cuadradas con el mismo Duty Cycle.

Es necesario utilizar 2 señales ya que los motores no tienen encoder y aunque


tengan el mismo Duty Cycle su velocidad va variar, por lo que habrá que ajustar el
Duty Cycle de una llanta o ambas.

Las dos señales de salida se deben asignar a los siguientes pines:

Control de velocidad PIN GPIO


Llanta Izquierda PIN_A4 GPIO_06
Llanta Derecha PIN_B5 GPIO_07

2. Modifique la carta ASM de la práctica 3 para que soporte direccionamiento


entrada-estado y modifique el código VHDL para poder implementarla. El
comportamiento de la nueva carta ASM debe ser muy similar al de la original.
Recuerden que en el direccionamiento entrada-estado las entradas deben
ser mutuamente excluyentes.

Vous aimerez peut-être aussi