Извиняюсь, что долго не отписывал, обо всем по порядку:
Цитата
А вы данные сдвигаете на бит влево при приёме? Там какойто кривой TDM у цируса.
Да, бит влево сдвигаю, интерфейс настроил в точности с описанием цирусовского TDM в даташите. Об этом подробнее - далее
Цитата
А вы наблюдали за питанием посредством осциллографа.Возможно пакостит какое то из питаний.И про земли -вы их правильно развели.Я про пульсации.А va & vx у вас это одно напряжение?
VA И VX - одно напряжение. Осцилографом проверял, пульсации есть. Если верить моему китайскому осцилографу PDS-5022, амплитуда ВЧ шумов около 200 мВ. Судя по всему, проблема не в питании, об этом ниже.
Цитата
Именно подменяя им считанное из АЦП значение? Я имею в виду, что при этом система загружена так же, в ней происходят те же прерывания, и т.д.
Прием данных осуществляется в slave режиме (АЦП выступает мастером), для приема используется PDC с двумя буферами. В прерывании осуществляется "подсовывание"контроллеру PDC следующего буфера и отправка сообщения обрабатывающей зааче. По данному сообщению отдельная задача приложения "потрошит" буфер c принятыми данными, перекладывает его в другой буфер и готовит на отправку в компьютер. Так вот, подстановка табличного синуса осуществлял не в прерывании, а в задаче, которая "потрошит". В этом случае переданный в компьютер звуковой тракт с табличным синусом был без искажений.
На текущий момент я выяснил, что причниой искажений сигнала стало не соответствие формата интерфейса передачи CS5368 и приема в контроллер. Интерфейс я запрограммировал строго согласно даташита. Как оказалось даташит соврал в одном - в полярности тактового сигнала, т.е контроллер был запрограммирован на декодирование данных по фронту такта, а должен декодировать по спаду. И, чесно говоря, не было и в мыслях проверять корректность описания в даташите.
Да, кроме того, при определении причины, меня сбило с правильного пути еще одно обстоятельство. После правильной настройки интерфейса, в тракте все еще оставались щелчки, только сейчас я их детально проанализировал, оказалось их период кратен размеру буфера. С этим я еще буду разбираться, может на какой пункт errata наткнулся... По результатам отпишусь.
Всем спасибо за внимание и советы!