Страница 11 из 11 Первая ... 91011
Показано с 201 по 204 из 204

Тема: ЦАП для Raspberry Pi на AK4490

  1. #1 Показать/скрыть первое сообщение.
    Частый гость
    Автор темы
    Аватар для Chaa
    Регистрация
    23.08.2006
    Адрес
    Курган
    Сообщений
    315

    По умолчанию ЦАП для Raspberry Pi на AK4490

    Как известно, для работы AK4490 требуется мастерклок, который из Raspberry Pi не выводится. Поэтому нельзя просто подключить AK4490 к Raspberry Pi. Для решения проблемы есть два пути: 1) восстановление мастерклока из битклока с помощью PLL или 2) использование отдельного генератора и работа Raspberry Pi в ведомом режиме.

    Восстановленный мастерклок уступает по качеству нормальному генератору, плюс к тому же битклок у Raspberry Pi для частот кратных 44,1 кГц тоже не очень хороший. Правильно будет использовать отдельный генератор и Raspberry Pi в ведомом режиме.

    Здесь возникает следующая проблема: AK4490, в отличие от ES9018 и других, не умеет быть мастером I2S шины. Поэтому необходимо применение дополнительных микросхем, которые были бы мастером I2S, вроде WM8804, PCM5122 или ПЛИС.

    И тут один японский радиолюбитель предложил интересный способ: Часть 1, Часть 2.

    Суть такова:

    1. Подаем мастерклок (MCLK) 22,5792/24,576 МГц на вход битклока (BCLK). Получается, MCLK = BCLK.
    2. Генерируем вордклок (LRCLK) на основе битклока (BCLK) в Raspberry Pi. Для чего переводим интерфейс I2S в режим SND_SOC_DAIFMT_CBM_CFS (codec clk master & frame slave).
    3. Устанавливаем размер фрейма (BCLK ratio) в зависимости от текущей частоты дискретизации потока, например для 44,1 кГц это будет 512,
      для 88,2 кГц будет 256, для 176,4 кГц будет 128, и для 352,8 кГц будет, как и должно быть, 64.
      Соответственно, частота вордклока (LRCLK) станет равной частоте дискретизации.

    Получается, что для 44,1 кГц ЦАП работает в таком режиме:
    MCLK = BCLK = 22,5792 Мгц, LRCLK = 44,1 кГц, SDATA передает 512 бит данных.

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

    Также, при внимательном прочтении на это нашлось указание в даташите: для режима 7 "32-bit I2S compatible" вход BCLK больше или равен 64fs.

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

Название:	table20.png 
Просмотров:	329 
Размер:	27.9 Кб 
ID:	394099

    В общем, решил сделать для своего Raspberry Pi 4 ЦАП по этому принципу.
    ЦАП предназначен в основном для работы на наушники и делается под такой корпус:

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

Название:	case1.png 
Просмотров:	388 
Размер:	295.4 Кб 
ID:	394101

    Для того, чтобы несколько уменьшить помехи, решил уменьшить частоту данных в длинных линиях BCLK, SDATA. Для чего поделил мастерклок на 2.

    Схема электрическая принципиальная:

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

Название:	scheme1.png 
Просмотров:	1094 
Размер:	129.8 Кб 
ID:	394102

    Печатная плата прорабатывается. Пока не удается уложиться в обычный размер 65x56 мм с SMD размера 0805.
    Увеличивать плату очень не хочется, так как в увеличенном размере (85x56 мм) плату придется приподнять над разъемами Ethernet/USB, после чего нужно будет ставить разъемы RCA/наушники необычным образом, чтобы они попали в отверстия корпуса.

    Проект открытый, все чертежи и исходный код драйверов выложу, когда все заработает.

    Конструктивная критика приветствуется, особенно в аналоговой части.

  2. #201
    Старый знакомый Аватар для ass77
    Регистрация
    08.01.2015
    Сообщений
    867

    По умолчанию Re: ЦАП для Raspberry Pi на AK4490

    Цитата Сообщение от Михаил45 Посмотреть сообщение
    Знаешь, я делал неоднократно "идеологически" правильное тактирование контроллеров i2s в арм от цапиков, пришел к выводу, что если можно обойтись, то лучше юсб. Играет также.
    GUSTARD DAC-X16, про который спрашивал коллега, не имеет "идеологически" правильного тактирования по входу i2s, поэтому играть также как по юсб, где стоит XMOS и более качественные генераторы оно не будет.
    А то, что при правильном приготовлении разницы между i2s и usb нет, я в курсе.

  3. #202
    Новичок Аватар для Hook
    Регистрация
    09.06.2018
    Сообщений
    54

    По умолчанию Re: ЦАП для Raspberry Pi на AK4490

    А этот сделан порядочно? https://www.audiophonics.fr/en/dac-a...o-p-15821.html

  4. #203
    Старый знакомый Аватар для ass77
    Регистрация
    08.01.2015
    Сообщений
    867

    По умолчанию Re: ЦАП для Raspberry Pi на AK4490

    Цитата Сообщение от Hook Посмотреть сообщение
    А этот сделан порядочно? https://www.audiophonics.fr/en/dac-a...o-p-15821.html
    А чем он отличается от
    Вот еще такие три варианта нашел с I2S на HDMI
    https://www.aliexpress.com/item/1005003644033518.html
    ?
    Вам же про него все написали.

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

    По умолчанию Re: ЦАП для Raspberry Pi на AK4490

    Как обещал, собрал все вместе и выкладываю проект KiCad, герберы, BOM и драйвера.
    Тестировал на Raspberry Pi 4 и Volumio 3, Volumio 2, Raspberry Pi OS (arm32 и arm64) + APlayer.
    Вложения Вложения

Страница 11 из 11 Первая ... 91011

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

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

Ваши права

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