Use una memoria RAM de doble puerto en Altera como un búfer de datos. Conecte un puerto directamente al bus de memoria externa del 8051 (tiene uno, ¿verdad?) E interconecte con el bus del 8051. Su lógica FFT accederá a la RAM internamente a través del otro puerto.
Luego, defina dos pines más para el Altera: uno como un pin GO_n, donde al tirar el pin bajo se iniciará la FFT de los datos almacenados en búfer (enganche esto a un pin de salida de propósito general 8051), y el otro como DONE_n pin, conectado a un pin de entrada de interrupción en el 8051.
Luego, para hacer una FFT, haga lo siguiente en el 8051:
- Copie los datos de tiempo FFT en el búfer.
- Habilita la interrupción a la que DONE_n está conectado.
- Pulse GO_n bajo.
- Cuando se produce la interrupción, el controlador de interrupciones debe notificar a su programa principal que se realiza la FFT (generalmente mediante el establecimiento de una marca) y deshabilitar el pin de interrupción conectado a DONE_n.
- El programa principal finalmente ve la bandera, copia los datos de frecuencia del búfer y borra la bandera.
- ???
- Beneficio!