Цитата:от: L4m3r
http://www.xmos.com/products/development-kits/usbaudio2
Спасибо. Зачитал хардваре мануал.
https://www.xmos.com/download/public/USB-Audio-2.0-Ref-Design-XS1-L1-Hardware-Manual-(1v1)(1.0).pdf
Там на странице 7 как-то не очень внятно про использование флеш-памяти написано, про буферизацию не говорится. Зато на стр. 11 явно сказано про использование двух собственных генов и про то, что сама плата является мастером, а юсб-хост - рабом. Про что собственно я и писал.
[quot]The audio USB endpoints are configured in asynchronous mode. This means that the board acts as the audio clock master and the host as the slave. This has the benefit that a simple crystal oscillator can be used to generate the audio master clock which typically results in lower jitter and consequently higher quality audio.[/quot]
И далее подтверждается, что сигналы и2с действительно формируются от мастерклока, подключенного к 1-битному порту XS1-L1. И что сигнал на спдиф-выход тоже формируется на этом, буферизованном на 1 бит мастерклоке.
[quot]The audio master clock is connected to a 1-bit port of the XS1-L1 so that all of the I2S outputs are synchronised with it. This also allows the S/PDIF output to be generated from a buffered 1-bit port clocked by the audio master clock input.[/quot]
Но мы то говорили о режиме, когда хост - мастер, а юсб-приемник в режиме рабства пишет данные из потока в некий буфер. А потом уже проц читает данные из этого буфера на собственном мастерклоке и формирует на нем и2с. Тогда и будет возникать неизбежная задержка на величину буфера. И еще ряд технологических проблем, например несовпадение скоростей записи и чтения из буфера из-за погрешности пишущего и читающего клоков между собой. Буфер рано или поздно либо опустошится, либо переполнится.