Bosh sahifa > Yangiliklar > Kontent

Co-Protsessor Dvigatel buyruqlar

Apr 26, 2019

image

Co-protsessor mexanizmi RAM_CMD da FT800 xotirasida 4 Kbyte FIFO orqali yuboriladi. The

MCU, FIFO buyruqlar yozadi va ko-protsessor qidiruvi o'qiydi va ijro etadi

buyruqlar. MCU yangilanishlarini ro'yxatga olish uchun REG_CMD_WRITEni ro'yxatdan o'tkazadi

FIFO da yangi buyruqlar va ko-protsessor mexanizmi so'ng REG_CMD_READ yangilaydi

buyruqlar bajarildi.

image

FIFOdagi bo'sh joyni hisoblash uchun MCU quyidagilarni hisoblab chiqishi mumkin:

fullness = (REG_CMD_WRITE -REG_CMD_READ) mod 4096

freespace = (4096 - 4) - ishsizlik;

Ushbu hisoblash butunlay oldini olish uchun 4096 bayt bo'sh maydon haqida xabar bermaydi

FIFOni o'rash va bo'sh ko'rinish hosil qilish.

Agar FIFOda etarli joy mavjud bo'lsa, MCU komandadagi komandalarni yozadi

FIFO xotirasida tegishli joy, keyin REG_CMD_WRITE yangilanadi. Soddalashtirish uchun

MCU kodi, FT800 apparat avtomatik ravishda (RAM_CMD

+ 4095) orqaga (RAM_CMD + 0).

FIFO yozuvlari har doim 4 bayt kenglikda - bu REG_CMD_READ yoki xato uchun

REG_CMD_WRITE qiymati 4 bayttan ko'p bo'lmagan qiymatga ega bo'lishi kerak. Har bir buyruq

qo'shma protsessor motoriga berilgan 1 yoki undan ko'p so'z bo'lishi mumkin: uzunligi

buyruqlar va unga qo'shilgan ma'lumotlar. Ba'zi buyruqlar ketma-ketlikning uzunligi ma'lumotlariga mos keladi, shuning uchun buyruqlar hajmi 4 bayttan ko'p bo'lishi mumkin emas. Bunday holda, protsessor vositasi qo'shimcha 1, 2 yoki 3 baytni e'tiborsiz qoldiradi va keyingi o'qishni davom ettiradi

quyidagi 4 bayt chegarasida buyruqni bajaring.