Para permitir que la CPU pueda controlar el robot se ha añadido al
sistema formado por la CPU y las memorias, el conjunto de unidades
pwm usadas en el apartado . Los cuatro
comparadores que forman parte de esta unidad tienen cada uno un registro
asociado que es mapeado en la memoria de datos, de modo que el manejo
de las unidades PWM es completamente transparente.
Para poder comparar esta alternativa con la presentada en ,
se emplea la CPU diseñada para reproducir exactamente la misma secuencia
de movimientos por lo que en la memoria de datos asociada al sistema
se almacena la tabla de control. El programa a ejecutar consiste en
una rutina de lectura de las posiciones consecutivas de la memoria
de datos y escritura de esos datos en las posiciones de memoria correspondientes
a las unidades pwm.
Para el desarrollo del programa, y complementando al diseño VHDL de
la CPU, se ha diseñado un ensamblador para esta arquitectura de modo
que sea más sencilla su programación. Un breve estracto del programa
se muestra a continuación:
inicio:
; Capturamos secuencias
; (indexacion mediante registro i1 e i2)
load r1,sec1_2,i1
load r2,sec1_2,i2
; Enviamos secuencias a pwm
store pwm1_2,r1
store pwm3_4,r2
; Retardo
load r1,cero
load r2,uno
load r3,contador
retardo:
add r1,r1,r2
cmp r1,r3
bnf retardo