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

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


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

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



Здравствуйте!

Суть проблемы следующая. Разрабатываю устройство для многоканальной оцифровки сигналов звуковых частот. В качестве АЦП использую (пока для эксперементов) CS5368 - 8-ми канальный звуковой АЦП фирмы Cirrus Logic. Приемником оцифрованных данных является процессор AT91SAM7X256 (на отладочной плате AS-SAMX-256). Интерфейс передачи данных TDM (использую SSC контроллер вышеупомянутого контроллера). АЦП распаян на самодельной платке, обвязка АЦП согласно даташита. На вход подаю звуковой тракт звуковоспроизводящего устройства. Входной буфер аналогового сигнала (преобразование сигнала в диференциальный) выполнен согласно даташита на макетной плате. В контроллере находится программа, которая передает полученные от АЦП данные в компьютер. На стороне компьютера звук может сохраняться в WAV файл или воспроизводиться в реальном времени.
Так вот, оцифрованный звук - "хрипит". Сначала грешил на аналоговый буфер (преобразовывающий сигнал в диференциальный), так как собран на макетке с "первым попавшимся" ОУ и с длинноногими резисторами/кондерами. Но проверка показала, что звук на выходе аналогового буфера "правильный". Проверял путем подключения к Line-In входу звуковой платы - звук чистый, без хрипов и прочих искажений.

А теперь, конкретные примеры:

1. На вход в АЦП подается синусоида с частотой 500 Гц. После оцифровки получаю следующую картину:
Прикрепленное изображение


2. Тот же сигнал только с другим масштабом отображения:
Прикрепленное изображение


3. Еще пример
Прикрепленное изображение


Далее фрагменты сигнала частотой 500 Гц с разной амплитудой

4. 500 Гц с "малой" амплитудой
Прикрепленное изображение


5. 500 Гц с чуть большей амплитудой

Прикрепленное изображение


6. 500 Гц - еще больше
Прикрепленное изображение


7. Фрагменты 4, 5, 6 "вырваны" из сигнала, который после оцифровки имеет такую огибающую:
Прикрепленное изображение


8. При подаче на вход АЦП этот сигнал (500 Гц) имеет следующую огибающую:
Прикрепленное изображение


В общем, - уже целую неделю бъюсь над проблемой, не могу понять в чем причина.
Направьте на путь истинный, кто знает !
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Sep 20 2008, 18:43
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(KolyanV @ Sep 20 2008, 22:37) *
АЦП распаян на самодельной платке

А к основной он как подключен? Очень похоже на проблемы с интерфейсом.
Go to the top of the page
 
+Quote Post
KolyanV
сообщение Sep 20 2008, 18:49
Сообщение #3


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

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



Цитата(aaarrr @ Sep 20 2008, 21:43) *
А к основной он как подключен? Очень похоже на проблемы с интерфейсом.

Подключен IDE шлейфом длиною 18 см. Наверно проблема в длине кабеля ?
Рабочая частота шины 6 Мгц. Я вот только не могу понять, какая связь с амплитудой входного аналогового сигнала. При отсутствии оного, на выходе АЦП едва слышные шума.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Sep 20 2008, 19:02
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(KolyanV @ Sep 20 2008, 22:49) *
Подключен IDE шлейфом длиною 18 см. Наверно проблема в длине кабеля ?

Земли между сигналами пропущены?

Цитата(KolyanV @ Sep 20 2008, 22:49) *
Я вот только не могу понять, какая связь с амплитудой входного аналогового сигнала. При отсутствии оного, на выходе АЦП едва слышные шума.

Нет единичек в старших битах, а на младших ошибки не заметны.
Go to the top of the page
 
+Quote Post
KolyanV
сообщение Sep 20 2008, 19:28
Сообщение #5


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

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



Цитата(aaarrr @ Sep 20 2008, 22:02) *
Земли между сигналами пропущены?

Да, специально только-что проверил - земли между платками соеденены.

Провел еще один эксперемент: взял 2 мобильника с одного набрал другой и колдавал ими вокруг шлейфа. Ситуация не изменилась (хуже не стало).

Цитата(aaarrr @ Sep 20 2008, 22:02) *
Нет единичек в старших битах, а на младших ошибки не заметны.

Я так понял, стоит попробовать укоротить шлейф. Пожалуй попробую.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Sep 20 2008, 19:32
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(KolyanV @ Sep 20 2008, 23:28) *
Да, специально только-что проверил - земли между платками соеденены.

Не между платками, а между сигнальными проводами в шлейфе. То есть должно быть GND-CLK-GND-SO-GND- и т.д.
Go to the top of the page
 
+Quote Post
Guest_orthodox_*
сообщение Sep 20 2008, 19:50
Сообщение #7





Guests






Перепутаны старшие и младшие разряды?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Sep 20 2008, 20:06
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(orthodox @ Sep 20 2008, 23:50) *
Перепутаны старшие и младшие разряды?

07.gif В последовательном интерфейсе?
Go to the top of the page
 
+Quote Post
Guest_orthodox_*
сообщение Sep 20 2008, 20:09
Сообщение #9





Guests






Цитата(aaarrr @ Sep 20 2008, 22:06) *
07.gif В последовательном интерфейсе?

Извините, я не знал, что там кроме интерфейса - ничего нету больше...
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Sep 20 2008, 20:14
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(orthodox @ Sep 21 2008, 00:09) *
Извините, я не знал, что там кроме интерфейса - ничего нету больше...

Да практически и нет. Иначе надо специально вредительством заниматься - биты в словах вручную переставлять.
Go to the top of the page
 
+Quote Post
Guest_orthodox_*
сообщение Sep 20 2008, 21:54
Сообщение #11





Guests






Цитата(aaarrr @ Sep 20 2008, 22:14) *
Да практически и нет. Иначе надо специально вредительством заниматься - биты в словах вручную переставлять.
Ну, тогда и проблемы нет. ...Все нормально smile.gif
Go to the top of the page
 
+Quote Post
KolyanV
сообщение Sep 21 2008, 08:54
Сообщение #12


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

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



Цитата(aaarrr @ Sep 20 2008, 22:32) *
Не между платками, а между сигнальными проводами в шлейфе. То есть должно быть GND-CLK-GND-SO-GND- и т.д.


Спасибо за совет!

Сделал следующим образом:
Вместо IDE шлейфа взял 3 витых пары. По каждой паре пускаю сигнальный - землю.
Т.е, 1-я: Data - GND, 2-я: CLK - GND, 3-я FCK - GND. Кроме того укоротил - каждая витая пара по 12 см.

... Но тем не менее лучше не стало, хрипит как раньше ...

Цитата(orthodox @ Sep 20 2008, 22:50) *
Перепутаны старшие и младшие разряды?

Ничего не перепутано.

Цитата(orthodox @ Sep 21 2008, 00:54) *
Ну, тогда и проблемы нет. ...Все нормально smile.gif

Вот как раз проблема есть, она описана в стартовом топике.
Go to the top of the page
 
+Quote Post
Евгений Германов...
сообщение Sep 21 2008, 09:43
Сообщение #13


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

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



Попробуйте,если возможно,подать постоянку разной амплитуды.те несколько измерений с разным уровнем.вы про питание ничего не сказали.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Sep 21 2008, 09:46
Сообщение #14


Гуру
******

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



Цитата(KolyanV @ Sep 21 2008, 11:54) *
Вот как раз проблема есть, она описана в стартовом топике.
Может аппаратная часть не при чем, а проблема в программе? Если попробовать вместо результата чтения АЦП подставлять программе константу или табличнй синус - каким будет выход?


--------------------
На любой вопрос даю любой ответ
"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 21 2008, 10:08
Сообщение #15


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

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



Цитата(Сергей Борщ @ Sep 21 2008, 12:46) *
Может аппаратная часть не при чем, а проблема в программе? Если попробовать вместо результата чтения АЦП подставлять программе константу или табличнй синус - каким будет выход?

Подставлять табличное значение синуса уже пробовал. Работает отлично, без помех.


Цитата(Евгений Германович @ Sep 21 2008, 12:43) *
Попробуйте,если возможно,подать постоянку разной амплитуды.те несколько измерений с разным уровнем.вы про питание ничего не сказали.

Дело в том, что 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 В - с отдельного блока питания. Уровень напряжения под нагрузкой адекватный.
Земли всех питаний соеденены, земли АЦП и отладочной платы соеденены.
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 - 16:16
Рейтинг@Mail.ru


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