Смотрю разные источники, и как-то по-разному в разных местах написано. Вот тут:
http://microsin.net/programming/arm-working-with-usb/frame-usb-and-transfer-types.html, например тут вообще сказано так: "
Isochronous Transfer. Это длинные пакеты без CRC. Изохронные передачи планируются с фиксированными интервалами времени. ". В принципе звучит логично. Зачем считать контрольную сумму, если все равно у нас нет возможности повторно запросить пакет? Что приняли, то приняли. CRC при такой передаче имела бы смысл, если позволяла ошибку не только проконтролировать, но и на ходу исправить.
А вот тут:
https://www.beyondlogic.org/usbnutshell/usb4.shtml пишут, что CRC есть. Но не написано, что пакет с неправильной контрольной суммой отбрасывается целиком.
А вот здесь:
https://electronics.stackexchange.c...upt-transfers-for-usb-where-to-learn-about-it как раз сказано, что при изохронной передаче ошибка в отдельных битах незаметна для слушателя, и что контрольная сумма игнорируется (It was assumed that single-bit errors couldn't possibly affect the quality (human perception) of sound or video, so the protocol didn't have much of control overhead and ignored CRC errors ).
Но еще написано, что в настоящее время из-за роста скорости передачи изохронный способ уже устарел и в USB 3.0 для передачи аудио применяется уже нормальный Bulk протокол, который упевает и контрольную сумму посчитать, и запросить повторно плохо переданный пакет.