4 Alternativa I: lógica combinacional y secuencial

Como se ha comentado en el punto 2, el movimiento del robot ápodo se consigue recorriendo la tabla de control y enviando los valores correspondientes a los motores. Este mecanismo, que inicialmente se había implementado en un microcontrolador de 8 bits, presenta un diseño muy simple en FPGA: un contador, una memoria ROM y las unidades pwm necesarias. El diagrama de bloques se muestra en la figura 3. Está constituido por dos partes: las unidades de PWM y el secuenciador que devuelve consecutivamente las filas de la tabla de control. Esta tabla se encuentra en una ROM de 32x32, direccionada mediante un contador módulo 30. Mediante un multiplexor de 8 a 1, con sus entradas de selección conectadas a tres switches de la tarjeta JPS, se selecciona una señal de reloj de entre 8 posibles, con los siguientes periodos: 1000, 524, 262, 131, 66, 33, 16 y 8 ms.

Figure 3: Diagrama de bloques de la alternativa I.
\includegraphics[%
scale=0.6]{ps/alt1.eps}

El periodo de la señal de reloj del secuenciador (Tclk) determina el tiempo que se tardará en enviar la siguiente posición a los servos. Cada servo tarda un tiempo tser en alcanzar la nueva posición. Si Tclk>tser, el servo permanecerá un tiempo Tclk-tser en reposo en la nueva posición, antes de que llegue la siguiente. Si esta diferencia es del orden de las centenas de ms, se apreciará un movimiento ``a saltos'' (no continuo). Por el contrario, si TCLK, se enviará la nueva posición al servo antes de que haya alcanzado la anterior por lo que los servos nunca llegarán a alcanzar las posiciones indicadas en la tabla de control.

Juan Gonzalez 2003-12-29