Practica 53

3
Pr´ actica 5 Implementaci´ on de una m´ aquina de estados en la tarjeta TerasIC M.I. Marco Negrete Entrega: 25-09-2014 1. Objetivos Familiarizar al alumno con el dise˜ no de m´ aquinas de estados en CPLDs mediante el lenguaje VHDL. Implementar en la tarjeta TerasIC, empleando el ambiente de desarrollo Quartus, una aquina de estados para resolver un laberinto por algoritmo de mano izquierda. 2. Desarrollo Dise˜ nar, empleando el lenguaje VHDL en el ambiente de desarrollo Quartus, la m´ aquina de estados mostrada en la figura 1. Recuerde que en cada estado se indican las se˜ nales que se “prenden” en ese estado. La m´ aquina de estados de la figura 1 est´ a pensada para implementarse como control de alto nivel (toma de decisiones) en el robot de laberinto. Esta m´aquina se grabar´a en la tarjeta TerasIC y estar´ a en constante interacci´ on con el control de bajo nivel implementado en el microcontrolador. Las se˜ nales de entrada Si, Sf y Sd corresponden a las se˜ nales binarias de los tres sensores del robot: izquierda, frente y derecha. Si hay una pared cerca, la se˜ nal vale un 1 l´ ogico y 0 en caso contrario. La se˜ nal TE es una se˜ nal enviada por el control de bajo nivel (control de posici´on en el microcontrolador) para indicar que una tarea ha terminado de ejecutarse. Las se˜ nales de salida son “comandos” para indicar al control de bajo nivel la tarea a ejecutar. Se sugiere el uso de dos pines para indicar el comando (avance, giro a la izquierda, giro a la derecha y media vuelta) y un tercero para indicar al microcontrolador que hay una tarea nueva. 2.1. Implementaci´ on en la tarjeta TerasIC Las se˜ nales de entrada y de salida ser´an emuladas con los botones y leds de la tarjeta TerasIC de acuerdo con la tabla 1. 1

description

Bio robotics practica

Transcript of Practica 53

Page 1: Practica 53

Practica 5Implementacion de una maquina de estados en la tarjeta

TerasIC

M.I. Marco Negrete

Entrega: 25-09-2014

1. Objetivos

Familiarizar al alumno con el diseno de maquinas de estados en CPLDs mediante ellenguaje VHDL.

Implementar en la tarjeta TerasIC, empleando el ambiente de desarrollo Quartus, unamaquina de estados para resolver un laberinto por algoritmo de mano izquierda.

2. Desarrollo

Disenar, empleando el lenguaje VHDL en el ambiente de desarrollo Quartus, la maquinade estados mostrada en la figura 1. Recuerde que en cada estado se indican las senales quese “prenden” en ese estado.

La maquina de estados de la figura 1 esta pensada para implementarse como control dealto nivel (toma de decisiones) en el robot de laberinto. Esta maquina se grabara en la tarjetaTerasIC y estara en constante interaccion con el control de bajo nivel implementado en elmicrocontrolador.

Las senales de entrada Si, Sf y Sd corresponden a las senales binarias de los tres sensoresdel robot: izquierda, frente y derecha. Si hay una pared cerca, la senal vale un 1 logico y 0en caso contrario. La senal TE es una senal enviada por el control de bajo nivel (control deposicion en el microcontrolador) para indicar que una tarea ha terminado de ejecutarse. Lassenales de salida son “comandos” para indicar al control de bajo nivel la tarea a ejecutar.Se sugiere el uso de dos pines para indicar el comando (avance, giro a la izquierda, giro ala derecha y media vuelta) y un tercero para indicar al microcontrolador que hay una tareanueva.

2.1. Implementacion en la tarjeta TerasIC

Las senales de entrada y de salida seran emuladas con los botones y leds de la tarjetaTerasIC de acuerdo con la tabla 1.

1

Page 2: Practica 53

Figura 1: Algoritmo de mano izquierda

2

Page 3: Practica 53

Boton/Led SenalBoton 0 Sensor izquierdoBoton 1 Sensor frontalBoton 2 Sensor derechoBoton 3 Tarea ejecutada (TE)LED 0 ... LED 2 Estado actualLED 4 Nueva tareaLED 6 .. LED 7 Comando

Tabla 1: Funciones de botones y leds para la maquina de estados

La frecuencia del reloj de la maquina de estados debe ser de aproximadamente 1 [Hz], estoes, se necesitara de un prescalador para poder usar el reloj de 50 [MHz] que incluye la tarjeta.

3. Elementos a evaluar

Se probaran varias combinaciones en las senales de entrada para comprobar que lamaquina sigue la secuencia correcta.

En el caso de los estados 011, 101 y 111, se debe observar el cambio de estado hastapresionar el boton que emula la senal de tarea ejecutada.

Tanto leds como botones, NO deben tener logica negada.

3