Страница 19 из 20 Первая ... 917181920 Последняя
Показано с 361 по 380 из 385

Тема: i2s с Raspberry Pi

  1. #1 Показать/скрыть первое сообщение.
    Новичок
    Автор темы

    Регистрация
    26.04.2009
    Сообщений
    53

    По умолчанию i2s с Raspberry Pi

    Доброй ночи господа
    посмотрите плиз это то о чем мечталось ? http://www.noiseisgood.co.nz/?p=365 и http://www.raspberrypi.org/phpBB3/vi...=8496&start=25 (Posts: 43)

  2. #361

    По умолчанию Re: i2s с Raspberry Pi

    А малина должна переходить в слейв при выборе HiFiBerry DAC Plus (DAC + Pro, DAC2 Pro)?
    Я всегда думал что она встает в слейв только при выборе HiFiBerry Digi + Pro.

  3. #362
    Частый гость Аватар для vladsan75
    Регистрация
    06.06.2010
    Адрес
    г.Саратов
    Возраст
    50
    Сообщений
    447

    По умолчанию Re: i2s с Raspberry Pi

    На платах DAC + Pro и DAC2 Pro стоят по два генератора и в драйвере для них прописаны команды для I2C по переключению GPIO3 и GPIO6 при смене сетки частот, а так же передаются команды по настройке делителей, вот некоторые куски:

    case HIFIBERRY_DACPRO_CLK48EN:
    snd_soc_component_update_bits(component, PCM512x_GPIO_CONTROL_1, 0x24, 0x04);

    или вот:

    snd_soc_component_update_bits(component, PCM512x_MASTER_MODE, 0x03, 0x03);
    snd_soc_component_update_bits(component, PCM512x_MASTER_CLKDIV_2, 0x7f, 63);

    и это:

    rats_no_pll->num = clk_get_rate(pcm512x->sclk) / 64;

  4. #363

    По умолчанию Re: i2s с Raspberry Pi

    А там ничего не написано про то что малина переводится в слейв? может какой оверлей переписывается?
    Я, к сожалению в этих вопросах полный 0, и хотел бы знать как можно установить малину в слейв не вклюая драйвер HiFiBerry Digi + Pro.

  5. #364
    Частый гость Аватар для vladsan75
    Регистрация
    06.06.2010
    Адрес
    г.Саратов
    Возраст
    50
    Сообщений
    447

    По умолчанию Re: i2s с Raspberry Pi

    Я почему и спрашиваю, сделал наподобие как с HiFiBerry Digi + Pro, но тут в файле конфигурации все было уже прописано, отключил внутреннее аудио, но результат ноль.
    может где то надо прописать slave, но где и что писать?

  6. #365
    Частый гость Аватар для Chaa
    Регистрация
    23.08.2006
    Адрес
    Курган
    Сообщений
    372

    По умолчанию Re: i2s с Raspberry Pi

    Цитата Сообщение от vladsan75 Посмотреть сообщение
    может где то надо прописать slave, но где и что писать?
    Я раньше уже писал, как работает порт I2S в ведомом режиме:
    https://forum.vegalab.ru/showthread....=1#post2682265

    Вот вы писали про snd_soc_component_update_bits(component, PCM512x_MASTER_MODE, 0x03, 0x03) в драйвере - а что это значит?
    Это значит что одноплатник должен записать в регистры ЦАПа какие-то значения, для чего ему нужно подключиться к микросхеме ЦАП по специальному управляющему интерфейсу I2C.

    В ChipDip DAC выводы I2C от PCM5242 выведены на разъем XP3 и не подключены к одноплатнику (к выводам 3 и 5 XS1). Поэтому драйвер HiFiBerry DAC Plus не может найти PCM5242 и просто не загружается. Об этом можно почитать в выводе команды dmesg.

    Если мы соединим выводы SDA/SDL PCM5242 с соответствующими выводами XS1 (одноплатника), отключив кнопку, то появится вторая проблема - выводы ADR1 и ADR2 сконфигурированы не так так, как в HiFiBerry DAC Plus, поэтому нужно будет изменить адрес (0x4d) в hifiberry-dacplus-overlay.dts и перекомпилировать.

    Дальше возникнет третья проблема - в HiFiBerry DAC генераторы на 22 и 24 МГц, поэтому в драйвере нужно будет поменять коэффициенты делителей, или заменить генераторы.

    Это по памяти, может и еще есть нюансы.

    Основной источник сведений по загрузке драйверов - вывод dmesg, там нужно смотреть ошибки.

  7. #366
    Частый гость Аватар для vladsan75
    Регистрация
    06.06.2010
    Адрес
    г.Саратов
    Возраст
    50
    Сообщений
    447

    По умолчанию Re: i2s с Raspberry Pi

    А теперь по порядку:
    1) I2C к малинке подключил как раз к тем выводам, что вы и назвали
    2) ADR1 и ADR2 = 1 0, при других комбинациях ругается ALSA (ADR1 и ADR2 выведены на гребенку)
    3) что то малинка отправляет на pcm5142, наверное какую то начальную инициализацию, потому что один из выводов GPIO3 и GPIO6 (выходы управления генераторами) выдает "1", а другой "0"(но они не меняются при смене сетки частот), но сама pcm5142 сконфигурирована в slave и не выдает соответствующие клоки
    4) генераторы на моем ЦАПе как раз 512FS

    ---------- Сообщение добавлено 23:38 ---------- Предыдущее сообщение было 23:19 ----------

    вот файл config:

    ### DO NOT EDIT THIS FILE ###
    ### APPLY CUSTOM PARAMETERS TO userconfig.txt ###
    initramfs volumio.initrd
    gpu_mem=128
    gpu_mem_256=32
    gpu_mem_512=32
    gpu_mem_1024=128
    max_usb_current=1
    [pi5]
    usb_max_current_enable=1
    [all]
    include volumioconfig.txt
    include userconfig.txt

    #### Volumio i2s setting below: do not alter ####
    dtoverlay=hifiberry-dacplus

    а это volumioconfig:

    ### DO NOT EDIT THIS FILE ###
    ### APPLY CUSTOM PARAMETERS TO userconfig.txt ###
    [cm4]
    dtoverlay=dwc2,dr_mode=host
    otg_mode=1
    [pi5]
    dtoverlay=vc4-kms-v3d-pi5
    # dtparam=uart0_console # Disabled by default
    dtparam=nvme
    dtparam=pciex1_gen=2
    [all]
    arm_64bit=0
    dtparam=audio=on
    audio_pwm_mode=2
    dtparam=i2c_arm=on
    disable_splash=1
    hdmi_force_hotplug=1
    force_eeprom_read=0

    ---------- Сообщение добавлено 23:42 ---------- Предыдущее сообщение было 23:38 ----------

    А в папке overlays есть файл i2s_master_dac.dtbo, но нет файла slave

  8. #367

    По умолчанию Re: i2s с Raspberry Pi

    А какой I2S Дак вы выбрали в установках волюмио? Там есть Чип Дип Дак.

  9. #368
    Частый гость Аватар для Chaa
    Регистрация
    23.08.2006
    Адрес
    Курган
    Сообщений
    372

    По умолчанию Re: i2s с Raspberry Pi

    Сначала нужно понять что пишут в dmesg и что в выводе aplay -l. Покажите их вывод.

    Далее, в драйвере есть функция snd_rpi_hifiberry_dacplus_is_pro_card, которая определяет что PCM5142 может работать в режиме мастера, перед тем как переключиться в него. Делается это следующим образом: включается генератор для сетки 44,1 кГц, потом читается бит 7 (CDST, Clock Detector Status - This bit indicates whether the SCK clock is present or not) регистра 94 (PCM512x_RATE_DET_4). Затем выключаются оба генератора, снова читается CDST, затем включается генератор сетки 48 кГц и опять читается CDST. В первом и третьем случае клок должен определяться, во втором нет.

    Если определить правильную работу клоков не удалось, то PCM5142 остается в ведомом режиме.

  10. #369
    Частый гость Аватар для vladsan75
    Регистрация
    06.06.2010
    Адрес
    г.Саратов
    Возраст
    50
    Сообщений
    447

    По умолчанию Re: i2s с Raspberry Pi

    К сожалению проверить что возвращает функция snd_rpi_hifiberry_dacplus_is_pro_card не получится, но если результат "false", то либо pcm5142 не сконфигурированна, либо неисправна.
    Но так же есть фунуция snd_rpi_hifiberry_dacplus_init, в которой есть такие строки:

    if (slave)
    snd_rpi_hifiberry_is_dacpro = false;
    else
    snd_rpi_hifiberry_is_dacpro =
    snd_rpi_hifiberry_dacplus_is_pro_card(component);

    и видно, что изначально должен быть включен режим slave.

    И как посмотреть "что пишут в dmesg и что в выводе aplay -l" - для меня линукс абсолютно новая тема, можно ли это посмотреть при помощи монитора, подключенного к hdmi малинки и клавиатуры?

    ---------- Сообщение добавлено 11:06 ---------- Предыдущее сообщение было 10:40 ----------

    Цитата Сообщение от dtektoni Посмотреть сообщение
    А какой I2S Дак вы выбрали в установках волюмио? Там есть Чип Дип Дак.
    В настройках выбирал HiFiBerry DAC Plus (DAC + Pro, DAC2 Pro), смотрел драйвер ChipDipDAC - там реализовано только Hardwire mode.

  11. #370
    Частый гость Аватар для Chaa
    Регистрация
    23.08.2006
    Адрес
    Курган
    Сообщений
    372

    По умолчанию Re: i2s с Raspberry Pi

    Цитата Сообщение от vladsan75 Посмотреть сообщение
    то либо pcm5142 не сконфигурирована, либо неисправна
    Либо клоки от выходов PCM5142 GPIO3 (44,1 кГц) и GPIO6 (48 кГц) не переключаются по какой-то причине.

    Цитата Сообщение от vladsan75 Посмотреть сообщение
    можно ли это посмотреть при помощи монитора, подключенного к hdmi малинки и клавиатуры?
    Запустить приложение Терминал и в нем набрать dmesg и потом Enter.
    Там лог загрузки, нас интересуют строки начинающиеся с i2c, pcm512x, или snd.

    Потом набрать aplay -l и Enter, после минуса там маленькая буква L. Это покажет список доступных звуковых устройств.
    Для ведомого режима будет HiFiBerry DAC+ HiFi, для режима мастер будет HiFiBerry DAC+ Pro HiFi.

  12. #371
    Частый гость Аватар для vladsan75
    Регистрация
    06.06.2010
    Адрес
    г.Саратов
    Возраст
    50
    Сообщений
    447

    По умолчанию Re: i2s с Raspberry Pi

    После загрузки Volumio на экране примерно вот такое:
    Нажмите на изображение для увеличения. 

Название:	aplay-l.png 
Просмотров:	26 
Размер:	20.7 Кб 
ID:	468497
    там и набирать?

  13. #372
    Частый гость Аватар для Chaa
    Регистрация
    23.08.2006
    Адрес
    Курган
    Сообщений
    372

    По умолчанию Re: i2s с Raspberry Pi

    Цитата Сообщение от vladsan75 Посмотреть сообщение
    там и набирать?
    Да.

  14. #373
    Частый гость Аватар для vladsan75
    Регистрация
    06.06.2010
    Адрес
    г.Саратов
    Возраст
    50
    Сообщений
    447

    По умолчанию Re: i2s с Raspberry Pi

    Хорошо, после работы попробую.

  15. #374
    Частый гость Аватар для Chaa
    Регистрация
    23.08.2006
    Адрес
    Курган
    Сообщений
    372

    По умолчанию Re: i2s с Raspberry Pi

    Читать и писать в регистры i2c можно вручную. Для этого нужно установить i2c-tools:
    Код:
    sudo apt-get install i2c-tools
    Потом с помощью i2cdetect можно посмотреть адреса подключенных устройств, с помощью i2cget читать регистры, с помощью i2cset писать в регистры.
    Например, найти все устройства на порту номер 0:
    Код:
    sudo i2cdetect 0
    Прочитать регистр CDST у PCM5142:
    Код:
    sudo i2cget 0 0x4d 0x5e
    Только сначала нужно отключить загрузку оверлея hifiberry-dacplus, иначе порт будет занят.

  16. #375
    Частый гость Аватар для vladsan75
    Регистрация
    06.06.2010
    Адрес
    г.Саратов
    Возраст
    50
    Сообщений
    447

    По умолчанию Re: i2s с Raspberry Pi

    Спасибо за информацию, но если отключить загрузку драйвера, то и в регистрах pcm5142 будут дефолтные значения.

  17. #376
    Частый гость Аватар для Chaa
    Регистрация
    23.08.2006
    Адрес
    Курган
    Сообщений
    372

    По умолчанию Re: i2s с Raspberry Pi

    Цитата Сообщение от vladsan75 Посмотреть сообщение
    Спасибо за информацию, но если отключить загрузку драйвера, то и в регистрах pcm5142 будут дефолтные значения.
    Можно по шагам выполнять то же, что делает драйвер, и смотреть, что получается. Например, записывать значения в GPIO и читать регистр CDST.

  18. #377
    Частый гость Аватар для vladsan75
    Регистрация
    06.06.2010
    Адрес
    г.Саратов
    Возраст
    50
    Сообщений
    447

    По умолчанию Re: i2s с Raspberry Pi

    Согласен, можно будет в крайнем случае, просто платы и драйвера от HiFiBerry уж точно рабочие и без eeprom, поэтому и с этой платой должно работать, если конечно pcm5142 не левая.

    ---------- Сообщение добавлено 19:02 ---------- Предыдущее сообщение было 15:22 ----------

    Набрал dmesg, получилось это:
    Нажмите на изображение для увеличения. 

Название:	IMG20250218185725.jpg 
Просмотров:	18 
Размер:	3.17 Мб 
ID:	468527
    а как это перелистать вверх?

    ---------- Сообщение добавлено 19:12 ---------- Предыдущее сообщение было 19:02 ----------

    Это после aplay -l
    Нажмите на изображение для увеличения. 

Название:	IMG20250218191024.jpg 
Просмотров:	13 
Размер:	2.24 Мб 
ID:	468528

    ---------- Сообщение добавлено 19:21 ---------- Предыдущее сообщение было 19:12 ----------

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

Название:	IMG20250218191935.jpg 
Просмотров:	14 
Размер:	7.05 Мб 
ID:	468530

    ---------- Сообщение добавлено 19:23 ---------- Предыдущее сообщение было 19:21 ----------

    Пробовал по uart через ft232, такая же фигня.

    ---------- Сообщение добавлено 19:29 ---------- Предыдущее сообщение было 19:23 ----------

    Вот зашёл через браузер
    Нажмите на изображение для увеличения. 

Название:	IMG20250218192913.jpg 
Просмотров:	13 
Размер:	2.48 Мб 
ID:	468531

  19. #378
    Частый гость Аватар для Chaa
    Регистрация
    23.08.2006
    Адрес
    Курган
    Сообщений
    372

    По умолчанию Re: i2s с Raspberry Pi

    Цитата Сообщение от vladsan75 Посмотреть сообщение
    а как это перелистать вверх?
    Код:
    dmesg | more
    Цитата Сообщение от vladsan75 Посмотреть сообщение
    Не понятно, не могу зайти по ssh,хотя сеть есть и через браузер отлично открывается интерфейс
    https://developers.volumio.com/SSH%20Connection

  20. #379
    Частый гость Аватар для vladsan75
    Регистрация
    06.06.2010
    Адрес
    г.Саратов
    Возраст
    50
    Сообщений
    447

    По умолчанию Re: i2s с Raspberry Pi

    наконец то подключился по ssh, вот после команды dmesg:

    [ 15.311868] snd_bcm2835: module is from the staging directory, the quality is unknown, you have been warned.
    [ 15.312413] snd_bcm2835: unknown parameter *enable_compat_alsa* ignored
    [ 15.318339] bcm2835_audio bcm2835_audio: card created with 4 channels
    [ 15.321271] bcm2835_audio bcm2835_audio: card created with 4 channels
    ...
    [ 14.402022] i2c_dev: i2c /dev entries driver
    ...
    volumio@volumio:~$ [ 15.321271] bcm2835_audio bcm2835_audio: card created with 4 channels

    и вот aplay -l:

    volumio@volumio:~$ aplay -l
    **** List of PLAYBACK Hardware Devices ****
    card 0: b1 [bcm2835 HDMI 1], device 0: bcm2835 HDMI 1 [bcm2835 HDMI 1]
    Subdevices: 4/4
    Subdevice #0: subdevice #0
    Subdevice #1: subdevice #1
    Subdevice #2: subdevice #2
    Subdevice #3: subdevice #3
    card 0: b1 [bcm2835 HDMI 1], device 1: bcm2835 HDMI 1 [bcm2835 HDMI 1]
    Subdevices: 1/1
    Subdevice #0: subdevice #0
    card 1: Headphones [bcm2835 Headphones], device 0: bcm2835 Headphones [bcm2835 Headphones]
    Subdevices: 4/4
    Subdevice #0: subdevice #0
    Subdevice #1: subdevice #1
    Subdevice #2: subdevice #2
    Subdevice #3: subdevice #3
    card 2: sndrpihifiberry [snd_rpi_hifiberry_dacplus], device 0: HiFiBerry DAC+ HiFi pcm512x-hifi-0 [HiFiBerry DAC+ HiFi pcm512x-hifi-0]
    Subdevices: 1/1
    Subdevice #0: subdevice #0

  21. #380
    Частый гость Аватар для Chaa
    Регистрация
    23.08.2006
    Адрес
    Курган
    Сообщений
    372

    По умолчанию Re: i2s с Raspberry Pi

    Цитата Сообщение от vladsan75 Посмотреть сообщение
    card 2: sndrpihifiberry [snd_rpi_hifiberry_dacplus], device 0: HiFiBerry DAC+ HiFi pcm512x-hifi-0 [HiFiBerry DAC+ HiFi pcm512x-hifi-0]
    Драйвер не опознает ЦАП как Pro, т.е. snd_rpi_hifiberry_dacplus_is_pro_card возвращает false.

    Нужно разобраться, почему. Я предлагаю в ручном режиме задавать выводы GPIO3 и GPIO6, смотреть что на SCK и проверять регистр CDST - в нем должно определяться наличие/отсутствие клока.

Страница 19 из 20 Первая ... 917181920 Последняя

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •