Dom > Novosti > Sadržaj

Komande motora ko-procesora

Apr 26, 2019

image

Motor ko-procesora se napaja preko FIFO-a od 4 Kbyte u FT800 memoriji na RAM_CMD. The

MCU piše komande u FIFO, a motor ko-procesora čita i izvršava

komande. MCU ažuriranja registruju REG_CMD_WRITE da označe da postoje

nove naredbe u FIFO-u, a mehanizam ko-procesora ažurira REG_CMD_READ poslije

naredbe su izvršene.

image

Da bi se izračunao slobodan prostor u FIFO-u, MCU može izračunati:

punoća = (REG_CMD_WRITE -REG_CMD_READ) mod 4096

freespace = (4096 - 4) -polnost;

Ova kalkulacija ne prikazuje 4096 bajta slobodnog prostora, da bi se potpuno spriječilo

zamotajte FIFO i učinite da izgleda prazno.

Ako je dovoljno prostora u FIFO-u, MCU piše naredbe na

odgovarajuću lokaciju u FIFO RAM-u, a zatim ažurira REG_CMD_WRITE. Da pojednostavimo

MCU kod, FT800 hardver automatski oblaže neprekidne zapise (RAM_CMD

+ 4095) nazad na (RAM_CMD + 0).

FIFO unosi su uvijek široki 4 bajta - to je pogreška za REG_CMD_READ ili

REG_CMD_WRITE da ima vrijednost koja nije višestruka od 4 bajta. Svaka komanda

izdato za ko-procesorski motor može uzeti 1 ili više riječi: dužina ovisi o

samu komandu i sve dodane podatke. Neke naredbe su praćene podacima variablelength, tako da veličina komande ne može biti višestruka od 4 bajta. U ovom slučaju, koprocesorski motor zanemaruje ekstra 1, 2 ili 3 bajta i nastavlja čitati sljedeći

naredba na sljedećoj granici od 4 bajta.