Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:2
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:6
Форум » starterkit.ru » Embedded Linux
Запись и воспроизведение звука на SK-AT91SAM9G45-XC6SLX
fpga
Добавлено 14.03.2017 23:07
0
Сообщение: 1
fpga
5

Пункты: 1118
Регистрация: 03.06.2009
Здравствуйте!
Умею обращаться с alsa-utils, такими как arecord и aplay, могу выбирать устройства для записи. На компьютере запись с микрофона и воспроизведение работают. Возникла необходимость создать устройство портативной записи. Судорожно перебираю все имеющиеся отладочные платы с аудиовходом. BeagleBoard и PandaBoard показали полную неработоспособность устройств захвата аудио, хоть они и определяются в системе, но по факту не работает.

Тут я обратил внимание на SK-AT91SAM9G45-XC6SLX. При включении в наушниках слышу характерный щелчек, но aplay /dev/urandom не слышно в наушниках, хотя alsamixer все каналы выкручены на середину громкости.

При загрузке:
Код
atmel_ac97c atmel_ac97c.0: Atmel AC97 controller at 0xc4840000, irq = 24
ALSA device list:
#0: Atmel AC97 controller

Код
aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: AC97C [Atmel AC97C], device 0: Atmel AC97C [Atmel AC97C]
Subdevices: 1/1
Subdevice #0: subdevice #0
Код
aplay -L
null
Discard all samples (playback) or generate zero samples (capture)
default:CARD=AC97C
Atmel AC97C, Atmel AC97C
Default Audio Device
Как я указал выше, полное молчание при aplay /dev/urandom, хотя alsamixer всё выставлено на средние уровни. Устройство захвата (записи с микрофона) программой arecord тоже видится.

Вопрос:
Работает ли функция воспроизведения аудио вообще? Может это фантомно осталась поддержка в ядре, но не проверялась разработчиком платы?
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 15.03.2017 00:48 Сообщение: 2
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Работает ли функция воспроизведения аудио вообще? Может это фантомно осталась поддержка в ядре, но не проверялась разработчиком платы?

у меня плата на 9g45 месяцами воспроизводит звук - одна из самых надежных систем
у вас - 9g45-XC6..
вот тут нашли какое-то решение связанное с alsaconf и /etc/asound.conf
http://www.starterkit.ru/html/index.php?name=forum&op=view&id=24425&num=1#24433

и вот тут непонятно чем кончилось..
http://www.starterkit.ru/html/index.php?name=forum&op=view&id=26256&last

сразу вопрос - на отгружаемой прошивке звук есть?

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 15.03.2017 01:07 Редактировалось 15.03.2017 01:13 Сообщение: 3
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
вдогонку..
провел эксперимент aplay /dev/urandom
на imx6s шипит
на 9g45 не шипит, но mp3 и wav прекрасно играет

попробуйте если есть устройство dsp
Код
cp /dev/urandom /dev/dsp

вполне клёво шипит..

и еще, у вас на плате есть пара перемычек J2,J5 - коммутируют либо линейный выход либо наушники - у вас куда? в мане написано..

мнэ, чуть ошибся - плата 9m10, но это тоже самое что и 9g45, микшер:

title

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
fpga
Добавлено 19.03.2017 00:29 Редактировалось 19.03.2017 00:40 Сообщение: 4
fpga
5

Пункты: 1118
Регистрация: 03.06.2009
Код
amixer set 'Master' 30 unmute
amixer set 'PCM' 30 unmute
amixer set 'Master Mono' 30 unmute
amixer set 'Headphone' 30 unmute

Заработало после этих команд! А вызываю alsamixer - опять всё замолкает. Значит буду через amixer действовать.

Ладно, с наушниками понятно, а вот теперь буду биться с микрофоном!
update
Код
arecord -f dat test.wav
aplay test.wav
Вот так заработал микрофон. Правда тихо, потом разберусь как усилить, главное что заработало всё.
Спуститься к концу Подняться к началу
Персональная информация
Yura_K
Добавлено 09.06.2018 11:14 Сообщение: 5
Yura_K
5

Пункты: 284
Регистрация: 08.09.2017
Пол: Мужчина
Позволю себе добавить сюда, что бы не плодить темы.
У меня похожая проблема плата SK-LCD800x480-MB и модуль SK-iMX6S-SODIMM.
При загрузке
ALSA device list:
#0: imx-tlv320
#1: imx-spdif
#2: imx-hdmi-soc

# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: imxtlv320 [imx-tlv320], device 0: TLV320AIC23 tlv320aic23-hifi-0 []
Subdevices: 0/1
Subdevice #0: subdevice #0
card 1: imxspdif [imx-spdif], device 0: S/PDIF PCM snd-soc-dummy-dai-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: imxhdmisoc [imx-hdmi-soc], device 0: i.MX HDMI Audio Tx hdmi-hifi-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0

# aplay -L
null
Discard all samples (playback) or generate zero samples (capture)
sysdefault:CARD=imxtlv320
imx-tlv320,
Default Audio Device
sysdefault:CARD=imxspdif
imx-spdif,
Default Audio Device
sysdefault:CARD=imxhdmisoc
imx-hdmi-soc,
Default Audio Device

Команда aplay /dev/urandom никакого эффекта не вызывает, смотрел осциллографом выходы I2C_TXFS, I2C_TXD, I2C_TXC - постоянный уровень. Пользовательская программа на QT запускается и работает, кроме звука. Есть аналогичный проект на плате SK-iMX6S-OEM там звук есть (и осциллогафом видны пачки импульсов). Заметил что на рабочей плате есть /dev/mixer а у меня он отсутствует может чего включить надо. Подскажите пжлста.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 09.06.2018 19:38 Редактировалось 09.06.2018 19:39 Сообщение: 6
sasamy
4.71

Пункты: 83540
Регистрация: 14.08.2009
Цитата

Команда aplay /dev/urandom никакого эффекта не вызывает, смотрел осциллографом выходы I2C_TXFS, I2C_TXD, I2C_TXC - постоянный уровень. Пользовательская программа на QT запускается и работает, кроме звука.


с ваших слов непонятно - на каком устройстве вы меряете и откуда ожидаете получить звук - аудиокодека tlv320aic23 судя по схеме

http://www.starterkit.ru/html/doc/SK-LCD800x480-MB_V1A.pdf

на вашей MB нет.
Спуститься к концу Подняться к началу
Персональная информация
Yura_K
Добавлено 10.06.2018 08:57 Сообщение: 7
Yura_K
5

Пункты: 284
Регистрация: 08.09.2017
Пол: Мужчина
У меня есть, специально изготовленная плата на которой распаян аудиокодек tlv320aic23 и УНЧ. Она заведомо исправна, т.к. прекрасно работает с платой SK-iMX6S-OEM. Осциллографом смотрю сигналы на входе микросхемы-кодека, которые соединены в выходами платы I2C_TXFS, I2C_TXD, I2C_TXC... и на них при aplay /dev/urandom видны прямоугольные импульсы.
В нашем случае на SK-LCD800x480-MB выходы I2C_TXFS, I2C_TXD, I2C_TXC это разъем Х6(контакты 78,80,82,84,86) или разъем Х10 (контакты 31,30,29,28,27) именно там я пытаюсь увидеть такие же прямоугольные импульсы, но ничего нет.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 10.06.2018 16:11 Редактировалось 10.06.2018 16:33 Сообщение: 8
sasamy
4.71

Пункты: 83540
Регистрация: 14.08.2009
Цитата

В нашем случае на SK-LCD800x480-MB выходы I2C_TXFS, I2C_TXD, I2C_TXC это разъем Х6(контакты 78,80,82,84,86) или разъем Х10 (контакты 31,30,29,28,27) именно там я пытаюсь увидеть такие же прямоугольные импульсы, но ничего нет.


Если вы ничего не меняли в DTS то дело только в неправильном подключении у вас. I2C у вас подключен ? на какие контакты ? Прежде чем исследовать I2S

https://ru.wikipedia.org/wiki/I%C2%B2S

проверьте что кодек подключен к I2C

https://ru.wikipedia.org/wiki/I%C2%B2C

как на штатной MB

http://www.starterkit.ru/html/doc/SK-iMX6-MB-SODIMM_V1B.pdf

потому что DTS для нее написан. В принципе подключить можно куда угодно но для этого надо иправить DTS под вашу плату. Потом проверьте что есть тактируюший сигнал на выходе x10 - 27 (I2S_MCLK) - там должно появиться 12 МГц.
Спуститься к концу Подняться к началу
Персональная информация
Yura_K
Добавлено 10.06.2018 17:16 Сообщение: 9
Yura_K
5

Пункты: 284
Регистрация: 08.09.2017
Пол: Мужчина
Возможно я путанно объясняю... проблема врядли в неправильном подключении кодека. Я беру вашу МВ (штатную SK-LCD800x480-MB) на ней установлен ваш же модуль SK-iMX6S-SODIMM. Согласно схеме SK-LCD800x480-MB разъемХ6(контакты 78,80,82,84,86) разведены на разъем Х10 (контакты 31,30,29,28,27) этой же МВ. Так вот подаю +5В в терминале вижу загрузку, на экране работает программа пользователя, а на Х10:27 частоты 12МГц нет. Файл imx6qdl-sodimm.dtsi я конечно менял, чтобы приспособить матричную клавиатуру, но в разделы связанные со звуком и и2с вроде не лез. На всякий случай вот ссылка на него https://yadi.sk/d/rKSWJxou3Xfb6Q
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 10.06.2018 18:05 Редактировалось 10.06.2018 18:10 Сообщение: 10
sasamy
4.71

Пункты: 83540
Регистрация: 14.08.2009
Цитата

Возможно я путанно объясняю... проблема врядли в неправильном подключении кодека
.....
разъемХ6(контакты 78,80,82,84,86) разведены на разъем Х10 (контакты 31,30,29,28,27) этой же МВ. Так вот подаю +5В в терминале вижу загрузку, на экране работает программа пользователя, а на Х10:27 частоты 12МГц нет.


возможно вы не поняли...подключите I2C как на штатной MB - без него ничего работать не будет. Вы подключили только интерфейсную часть по которой происходит обмен данными - I2S, настройка кодека осуществляется по I2C.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux