Код
1. PLL - теперь длинна пакета при приеме не ограничена точностью кварца.
2. Расчет CRC5 и CRC16 пакетов налету - теперь при приеме точно известно, что пакет цел, следовательно, отвечает только на правильные пакеты и нет необходимости уносить контроль в протокол более высокого уровня.
2. Расчет CRC5 и CRC16 пакетов налету - теперь при приеме точно известно, что пакет цел, следовательно, отвечает только на правильные пакеты и нет необходимости уносить контроль в протокол более высокого уровня.
Вообщем, теперь мы почти полностью эмулируем USB

Все это я написал, не проверяя в железе, надо доводить до ума. Может кто возьмется?
Оригиналы - тут