Casa > Notícies > Contingut

Ordres del motor del co-processador

Apr 26, 2019

image

El motor del co-processador s’alimenta a través d’un FIFO de 4 Kbytes en memòria FT800 a RAM_CMD. El

MCU escriu ordres al FIFO i el motor del co-processador llegeix i executa

les ordres. Les actualitzacions de MCU registren REG_CMD_WRITE per indicar que hi ha

noves ordres al FIFO, i el motor del co-processador s'actualitza després de REG_CMD_READ

s'han executat comandes.

image

Així, per calcular l’espai lliure disponible al FIFO, l’MCU pot calcular:

plenitud = (REG_CMD_WRITE -REG_CMD_READ) mod 4096

freespace = (4096 - 4) -fullness;

Aquest càlcul no informa de 4096 bytes d’espai lliure, per evitar-ho completament

embolicar el FIFO i fer que aparegui buit.

Si hi ha prou espai disponible al FIFO, l’MCU escriu les ordres a la pàgina

la ubicació adequada a la RAM FIFO, a continuació, actualitza REG_CMD_WRITE. Per simplificar la

Codi MCU, el maquinari FT800 envolta automàticament escrits continus de (RAM_CMD

+ 4095) torna a (RAM_CMD + 0).

Les entrades FIFO sempre tenen una amplada de 4 bytes: és un error per a REG_CMD_READ o per a

REG_CMD_WRITE per tenir un valor que no sigui un múltiple de 4 bytes. Cada comanda

L’emissió al motor del coprocessador pot prendre 1 o més paraules: la longitud depèn de la

comanda en si, i qualsevol dada adjuntada. Algunes ordres són seguides per dades de longitud variable, de manera que la mida de l’ordre no pot ser un múltiple de 4 bytes. En aquest cas, el motor del coprocessador ignora els 1, 2 o 3 bytes extra i continua llegint la següent

comanda al següent límit de 4 bytes.