реклама на сайте
подробности

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> "Хрипы" при оцифровке сигнала, где искать причину ... ?
Guest_orthodox_*
сообщение Sep 21 2008, 10:16
Сообщение #16





Guests






Интересно, смог бы кто-то получить идентичную показанной форму сигнала с "хрипами", иным способом, чем поменять разряды при обработке сигнала, полученного с АЦП ?
Давайте делать ставки... Или просто угадывать, какой с каким разрядом обменялся.
Мое предположение: старший разряд с младшим. За счет сдвига в цикле обработки . С АЦП и интерфейса сигнал правильный.

Кто точнее?
Go to the top of the page
 
+Quote Post
KolyanV
сообщение Sep 21 2008, 10:25
Сообщение #17


Частый гость
**

Группа: Свой
Сообщений: 91
Регистрация: 1-06-05
Пользователь №: 5 621



Цитата(orthodox @ Sep 21 2008, 13:16) *
Интересно, смог бы кто-то получить идентичную показанной форму сигнала с "хрипами", иным способом, чем поменять разряды при обработке сигнала, полученного с АЦП ?
Давайте делать ставки... Или просто угадывать, какой с каким разрядом обменялся.
Мое предположение: старший разряд с младшим. За счет сдвига в цикле обработки . С АЦП и интерфейса сигнал правильный.

Кто точнее?

Т.е Вы имеете в виду, что данные "к ногам" контроллера попадают правильно, но он не всегда "точно ловит" старт фрейма ? Что ж, идея интересная, требует проверки.
Go to the top of the page
 
+Quote Post
Guest_orthodox_*
сообщение Sep 21 2008, 12:16
Сообщение #18





Guests






Либо ашипка в тексте программы мк, либо мк не так отрабатывает программу как задумано (глюк или особенность мк), либо программа не соответствует формату приходящих данных.

Во всяком случае, поменянные разряды Вы имеете, а далее просто надо несколько разных тестов, чтобы выяснить - где.

Поскольку эффект немножко похож также на сбои во внутреннем перекодировщике АЦП(ооочень маловероятно, но все же...),для этого тестом может быть пропускание через ЦАП с аналогичным входным форматом...
Go to the top of the page
 
+Quote Post
Stanislav_S
сообщение Sep 21 2008, 12:21
Сообщение #19


извечный пессимист
*****

Группа: Свой
Сообщений: 1 113
Регистрация: 9-10-06
Из: Днепропетровск
Пользователь №: 21 125



попробуйте подать на вход АЦП прямоугольник, а вторым лучом скопа анализировать данные на интерфейсе ( на данных ) сразу должно быть видно, глючит АЦП или проблема дальше.


--------------------
Slaves are those of this world
Given freedom to lay chains upon The Master
The wolf is no longer free
Release the chains and come for me
Go to the top of the page
 
+Quote Post
_4afc_
сообщение Sep 22 2008, 06:39
Сообщение #20


Профессионал
*****

Группа: Свой
Сообщений: 1 262
Регистрация: 13-10-05
Из: Санкт-Петербург
Пользователь №: 9 565



Цитата(KolyanV @ Sep 21 2008, 14:08) *
По поводу питания:
Земли всех питаний соеденены, земли АЦП и отладочной платы соеденены.

Я обычно между цифровой и аналоговой землёй фильтр-бусинку ставлю.

А вы данные сдвигаете на бит влево при приёме? Там какойто кривой TDM у цируса.
Закоротите\отключите другие каналы - чтоб там нули шли.
Проверьте что у вас пересекает линии данных на платах, была похожая проблема с SSC, оказалось ниже шёл USB у которого разъём был плохо припаян и "искрил".
Go to the top of the page
 
+Quote Post
Евгений Германов...
сообщение Sep 23 2008, 14:32
Сообщение #21


Профессионал
*****

Группа: Свой
Сообщений: 1 079
Регистрация: 24-06-07
Из: г.Екатеринбург
Пользователь №: 28 654



Цитата(KolyanV @ Sep 21 2008, 13:08) *
Подставлять табличное значение синуса уже пробовал. Работает отлично, без помех.
Дело в том, что CS5368 - это сигма дельта АЦП заточенный для аудиоаппаратуры. В него включен фильтр отсекающий постоянную составляющую. Правда этот фильтр управляемый, но тем не менее, мне кажется, постоянка не будет измеряться адекватно. Хотя я попробую, ведь хуже от того не станет.

По поводу питания:
у CS5368 5 видов питания:
VA - аналоговый VA=5В (при меньшем, согласно даташита не работает)
VX - пистание осцилятора VX=5В
VD - цифровое питание VD=3.3В
VLS - питание последовательного интерфейса VLS=3.3В
VLC - питание управляющейо логики (SPI интерфейс и логика управления микросхемой) VLC=3.3В
Питание 3.3 В беру с отладочной платы. При измерении осцилографом - измеряемый уровень напряжения (под нагрузкой) адекватный.
Питание 5 В - с отдельного блока питания. Уровень напряжения под нагрузкой адекватный.
Земли всех питаний соеденены, земли АЦП и отладочной платы соеденены.

А вы наблюдали за питанием посредством осциллографа.Возможно пакостит какое то из питаний.И про земли -вы их правильно развели.Я про пульсации.А va & vx у вас это одно напряжение?
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Sep 23 2008, 18:30
Сообщение #22


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(KolyanV @ Sep 21 2008, 13:08) *
Подставлять табличное значение синуса уже пробовал. Работает отлично, без помех.
Именно подменяя им считанное из АЦП значение? Я имею в виду, что при этом система загружена так же, в ней происходят те же прерывания, и т.д.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
KolyanV
сообщение Sep 23 2008, 21:43
Сообщение #23


Частый гость
**

Группа: Свой
Сообщений: 91
Регистрация: 1-06-05
Пользователь №: 5 621



Извиняюсь, что долго не отписывал, обо всем по порядку:

Цитата
А вы данные сдвигаете на бит влево при приёме? Там какойто кривой TDM у цируса.

Да, бит влево сдвигаю, интерфейс настроил в точности с описанием цирусовского TDM в даташите. Об этом подробнее - далее

Цитата
А вы наблюдали за питанием посредством осциллографа.Возможно пакостит какое то из питаний.И про земли -вы их правильно развели.Я про пульсации.А va & vx у вас это одно напряжение?

VA И VX - одно напряжение. Осцилографом проверял, пульсации есть. Если верить моему китайскому осцилографу PDS-5022, амплитуда ВЧ шумов около 200 мВ. Судя по всему, проблема не в питании, об этом ниже.

Цитата
Именно подменяя им считанное из АЦП значение? Я имею в виду, что при этом система загружена так же, в ней происходят те же прерывания, и т.д.


Прием данных осуществляется в slave режиме (АЦП выступает мастером), для приема используется PDC с двумя буферами. В прерывании осуществляется "подсовывание"контроллеру PDC следующего буфера и отправка сообщения обрабатывающей зааче. По данному сообщению отдельная задача приложения "потрошит" буфер c принятыми данными, перекладывает его в другой буфер и готовит на отправку в компьютер. Так вот, подстановка табличного синуса осуществлял не в прерывании, а в задаче, которая "потрошит". В этом случае переданный в компьютер звуковой тракт с табличным синусом был без искажений.

На текущий момент я выяснил, что причниой искажений сигнала стало не соответствие формата интерфейса передачи CS5368 и приема в контроллер. Интерфейс я запрограммировал строго согласно даташита. Как оказалось даташит соврал в одном - в полярности тактового сигнала, т.е контроллер был запрограммирован на декодирование данных по фронту такта, а должен декодировать по спаду. И, чесно говоря, не было и в мыслях проверять корректность описания в даташите.

Да, кроме того, при определении причины, меня сбило с правильного пути еще одно обстоятельство. После правильной настройки интерфейса, в тракте все еще оставались щелчки, только сейчас я их детально проанализировал, оказалось их период кратен размеру буфера. С этим я еще буду разбираться, может на какой пункт errata наткнулся... По результатам отпишусь.

Всем спасибо за внимание и советы!
Go to the top of the page
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 14:25
Рейтинг@Mail.ru


Страница сгенерированна за 0.01417 секунд с 7
ELECTRONIX ©2004-2016