Chvili jsem ted koukal na to USBcko a FS device (12Mbps) neni az zase takova sranda. Resp. nejak to asi pujde dat dohromady za predpokladu, ze prijem dat budu nejprve sypat do nejakeho bufferu casy zmen signalu a dekodovat az ex post, protoze to nestiham (dalo se cekat...).
Jako neznalek si kladu otazku jake pakety pouziva mass storage device, hlavne jak jsou ty nejdelsi pakety dlouhe. Tusite nekdo? Podle me je to 64*8 bitu + 8+8 (SYNC,PID) + 16 (CKS) + 3b, do toho muze prijit az cca 90 bitstuffovych bitu...
A pak je samozrejme otazka co se stane kdyz nestihnu poslat nejaky paket dostatecne rychle vcas, protoze si nemyslim, ze dekodovat to budu umet az zase tak rychle.
Myslenka je tedy zatim takova:
timing_buf bude obsahovat casy segmentu (format bude rozdilny pro odesilani a prijem, u odesilani asi muzu jit po bytech, ale u prijmu budu nejspis zapisovat najednou 4 bity)
Odesilani bude probihat nejspis tak, ze se do timging_buf napocitaji prechody J-K stavu, ktere se pak pomoci jednoducheho cyklu odeslou.
Prijem bude fungovat tak, ze si budu zapisovat do timing_buf jednotlive casy zmen JK (otazkou je, zda vubec budu stihat dekodovat dif. D+/D- signal!) do doby nez zaplnim buffer, nebo timer prekroci hodnotu 6*83,3ns.; nasledovat by melo prekodovani do stavu (J-K) a dekodovani.
zlepseni ze bych misto casu jen ukladal nejakou bitovou delku+stav (J,K,SE0,error) asi nepujde, protoze i kdybych predpocital tabulku prevadejici cas na pocet zakladnich jednotek, ten pametovy pristup mi to prilis zpomali...