Страница 32 из 59 Первая ... 22303132333442 ... Последняя
Показано с 621 по 640 из 1170

Тема: Цифровой транспорт с открытым кодом на NanoPI-Neo*

  1. #1 Показать/скрыть первое сообщение.
    Завсегдатай
    Автор темы
    Аватар для Nikkov
    Регистрация
    01.11.2005
    Адрес
    Омск, Сибирь
    Возраст
    51
    Сообщений
    1,358

    По умолчанию Цифровой транспорт с открытым кодом на NanoPI-Neo*

    В этой ветке планирую собирать информацию про создание аудиоплеера на базе серии NanoPi-Neo от FriendlyArm.
    Готовые образы можно найти по адресу: https://drive.google.com/drive/folde...zA?usp=sharing

    На данный момент реализованы:
    1. Драйвер I2S в ядре 4.11 с поддержкой вывода 16-24 бит, 44.1-192 кГц, в мастере и в слэйве. Исходные тексты ядра.
    2. Собран экспериментальный образ системы с Volumio2 для платы NanoPi NEO2 с 64-битным armv8 ядром и 32-битным userspace для armv7. В этом образе, по умолчанию, I2S сконфигурирован в мастере, для конфигурации в слэйве необходимо переименовать файлы sun50i-h5-nanopi-neo2.dtb в sun50i-h5-nanopi-neo2-master.dtb, а sun50i-h5-nanopi-neo2-slave.dtb в sun50i-h5-nanopi-neo2.dtb соответственно. Образ также проверил с USB DAC-ом - работает и 44х16, и 192х24.
    3. Собран образ системы с Volumio2 для плат NanoPi NEO и NanoPi NEO-AIR архитектуры armv7. В этом образе, по умолчанию, I2S сконфигурирован в мастере, для конфигурации в слэйве необходимо переименовать файлы sun8i-h3-nanopi-neo.dtb в sun8i-h3-nanopi-neo-master.dtb, а sun8i-h3-nanopi-neo(-air)-slave.dtb в sun8i-h3-nanopi-neo(-air).dtb соответственно.
    4. Разработана плата формирователя/изолятора для семейства NanoPi-Neo, платы которого совместимы по выводам друг с другом. На плате есть возможность установить собственные генераторы или завести их через гальваническую развязку из ЦАП-а. Возможна работа платы и когда SOC I2S в мастере, тогда она просто обеспечивает гальваническую развязку. За основу платы взята схема и проект для ПЛИС аналогичной платы для cubietruck-а от Анатолия (Wired), за публикацию которых ему огромное спасибо.

    Фото платы NanoPi-Neo2 с установленной платой формирователя:
    Нажмите на изображение для увеличения. 

Название:	clock.jpg 
Просмотров:	3198 
Размер:	488.2 Кб 
ID:	303657
    Схема платы формирователя:
    neoclock - Project.pdf
    Проект ПЛИС:
    CPLD.ZIP
    Проект схема + печатная плата в DesignSpark + архив с герберами
    pcb_arch.zip

    Так как периодически в личке спрашивают про платы, то напишу здесь: платами я не торгую, вся необходимая информация по их самостоятельному изготовлению выложена здесь.
    Последний раз редактировалось Nikkov; 21.07.2018 в 17:18.
    Электроника наука слабоизученная (c)
    Неизвестный специалист антенного хозяйства по поводу периодического пропадания сигнала в коллективной антенне

  2. #621
    Завсегдатай
    Автор темы
    Аватар для Nikkov
    Регистрация
    01.11.2005
    Адрес
    Омск, Сибирь
    Возраст
    51
    Сообщений
    1,358

    По умолчанию Re: Цифровой транспорт с открытым кодом на NanoPI-Neo*

    Цитата Сообщение от Aleksandr_M Посмотреть сообщение
    Nikkov, а есть идеи, как это всё исправить, чтобы всё же "стреляло"?
    Идея тут простая - надо разбираться и дорабатывать драйвер. Только надо понять, что нужно: RJ16 или RJ24? Или и то, и другое? Естественно, преодолеть ограничение на размер слота в 32 без изменения формирователя не выйдет.
    I2S сейчас всегда 24 значащих бита в 32-х битном слоте, а при 16-битных данных справа добавляются нули.

    Проверил в мастере, там ситуация получше, по крайней мере при 16-битном сигнале все данные расположены справа, а при 24-х битном все так же.
    Последний раз редактировалось Nikkov; 23.02.2020 в 11:35.
    Электроника наука слабоизученная (c)
    Неизвестный специалист антенного хозяйства по поводу периодического пропадания сигнала в коллективной антенне

  3. #622
    Не хочу! Аватар для Alex
    Регистрация
    20.03.2003
    Адрес
    Worldwide
    Возраст
    61
    Сообщений
    35,999

    По умолчанию Re: Цифровой транспорт с открытым кодом на NanoPI-Neo*

    Вообще, более идиотского формата чем RJ я не знаю, неужели нельзя без него обойтись?
    "Замполит, чайку?"(с)"Охота за Красным Октябрем".
    "Ну что, можете меняться обратно."(с)типа анек.
    <-- http://altor1.narod.ru --> Вопросы - в личку, е-мейл, скайп.

  4. #623
    Старый знакомый Аватар для Aleksandr_M
    Регистрация
    09.01.2006
    Адрес
    Воронежская область
    Сообщений
    923

    По умолчанию Re: Цифровой транспорт с открытым кодом на NanoPI-Neo*

    Цитата Сообщение от Nikkov Посмотреть сообщение
    Идея тут простая - надо разбираться и дорабатывать драйвер.
    То есть драйвер в образе Линюкс? Сложная задача, наверное...
    Цитата Сообщение от Nikkov Посмотреть сообщение
    надо понять, что нужно: RJ16 или RJ24? Или и то, и другое?
    Лично мне хватило бы RJ16, не знаю, как другим....
    Цитата Сообщение от Nikkov Посмотреть сообщение
    преодолеть ограничение на размер слота в 32 без изменения формирователя не выйдет.
    Формирователь - имеется в виду "шляпа"? Ну, если там надо будет изменить прошивку ПЛИС, или, может, небольшие схемные изменения, чтоб плату сильно не курочить - было бы не страшно, если же это будет вообще другое устройство - наверное, лучше не надо мозги напрягать, тем более, что это RJ, похоже, мало кому надо....

  5. #624
    Завсегдатай Аватар для Михаил45
    Регистрация
    09.03.2007
    Адрес
    Санкт-Петербург
    Возраст
    62
    Сообщений
    2,093

    По умолчанию Re: Цифровой транспорт с открытым кодом на NanoPI-Neo*

    Цитата Сообщение от Alex Посмотреть сообщение
    Вообще, более идиотского формата чем RJ я не знаю, неужели нельзя без него обойтись?
    Может у Александра непутевые 5842, 5847 цф? или 1853, который якобы только в rj работает не криво и ему некуда деваться?

  6. #625
    Не хочу! Аватар для Alex
    Регистрация
    20.03.2003
    Адрес
    Worldwide
    Возраст
    61
    Сообщений
    35,999

    По умолчанию Re: Цифровой транспорт с открытым кодом на NanoPI-Neo*

    Цитата Сообщение от Михаил45 Посмотреть сообщение
    Может у Александра непутевые 5842, 5847 цф? или 1853, который якобы только в rj работает не криво и ему некуда деваться?
    Может.
    Хотя про 1853 - это миф.
    "Замполит, чайку?"(с)"Охота за Красным Октябрем".
    "Ну что, можете меняться обратно."(с)типа анек.
    <-- http://altor1.narod.ru --> Вопросы - в личку, е-мейл, скайп.

  7. #626
    Завсегдатай
    Автор темы
    Аватар для Nikkov
    Регистрация
    01.11.2005
    Адрес
    Омск, Сибирь
    Возраст
    51
    Сообщений
    1,358

    По умолчанию Re: Цифровой транспорт с открытым кодом на NanoPI-Neo*

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

Название:	16-24rj.png 
Просмотров:	87 
Размер:	112.6 Кб 
ID:	365036

    Благодаря этим изысканиям нашел, что в i2s левому каналу соответствует высокий уровень LR, а не низкий. Довольно распространенный косяк

    Для исправления надо в файле sun50i-h5-i2s0-slave.dts или sun8i-h3-i2s0-slave.dts
    добавить строку simple-audio-card,frame-inversion; после simple-audio-card,format = "i2s";
    Код:
    ...
    				simple-audio-card,format = "i2s";
    				simple-audio-card,frame-inversion;
    ...
    и скомпилировать dts:
    dtc -@ -q -I dts -O dtb -o /boot/overlay-user/sun50i-h5-i2s0-slave.dtbo /boot/overlay-user/sun50i-h5-i2s0-slave.dts
    Последний раз редактировалось Nikkov; 23.02.2020 в 14:42.
    Электроника наука слабоизученная (c)
    Неизвестный специалист антенного хозяйства по поводу периодического пропадания сигнала в коллективной антенне

  8. #627
    Старый знакомый Аватар для Aleksandr_M
    Регистрация
    09.01.2006
    Адрес
    Воронежская область
    Сообщений
    923

    По умолчанию Re: Цифровой транспорт с открытым кодом на NanoPI-Neo*

    Цитата Сообщение от Михаил45 Посмотреть сообщение
    Может у Александра непутевые 5842, 5847 цф?
    Да, именно 5847... А почему он "непутёвый"???
    Цитата Сообщение от Nikkov Посмотреть сообщение
    Для исправления надо...
    Это делать до или после манипуляций, описанных в посте 573?
    По идее нужно в файле overlay-user/sun8i-h3-i2s0-slave.dts поменять
    simple-audio-card,format = "i2s";
    на
    simple-audio-card,format = "right_j";
    затем загрузиться с карты, подключиться по ssh и выполнить команду компиляции файла:
    dtc -@ -q -I dts -O dtb -o /boot/overlay-user/sun8i-h3-i2s0-slave.dtbo /boot/overlay-user/sun8i-h3-i2s0-slave.dts
    а затем перегрузить:
    reboot
    ...Или это(из поста 573) теперь вообще не надо делать?

  9. #628
    Завсегдатай
    Автор темы
    Аватар для Nikkov
    Регистрация
    01.11.2005
    Адрес
    Омск, Сибирь
    Возраст
    51
    Сообщений
    1,358

    По умолчанию Re: Цифровой транспорт с открытым кодом на NanoPI-Neo*

    Цитата Сообщение от Aleksandr_M Посмотреть сообщение
    Да, именно 5847
    Так он вроде же не только RJ поддерживает?
    Цитата Сообщение от Aleksandr_M Посмотреть сообщение
    Это делать до или после манипуляций, описанных в посте 573?
    То, что я написал в посте 626 никак не связано с RJ и влияет только на I2S, т.е. не имеет отношения к написанному в 573.
    Электроника наука слабоизученная (c)
    Неизвестный специалист антенного хозяйства по поводу периодического пропадания сигнала в коллективной антенне

  10. #629
    Старый знакомый Аватар для Aleksandr_M
    Регистрация
    09.01.2006
    Адрес
    Воронежская область
    Сообщений
    923

    По умолчанию Re: Цифровой транспорт с открытым кодом на NanoPI-Neo*

    Цитата Сообщение от Nikkov Посмотреть сообщение
    Так он вроде же не только RJ поддерживает?
    Ещё вроде бы LJ, но что-то не помню, чтобы видел конструкцию с использованием 5847 в таком режиме...
    Цитата Сообщение от Nikkov Посмотреть сообщение
    То, что я написал в посте 626 никак не связано с RJ и влияет только на I2S, т.е. не имеет отношения к написанному в 573.
    Да, я понял уже, просто сначала показалось.....

  11. #630
    Завсегдатай Аватар для Михаил45
    Регистрация
    09.03.2007
    Адрес
    Санкт-Петербург
    Возраст
    62
    Сообщений
    2,093

    По умолчанию Re: Цифровой транспорт с открытым кодом на NanoPI-Neo*

    Цитата Сообщение от Alex Посмотреть сообщение
    Хотя про 1853 - это миф.
    Ага. Как и многие другие мифы(фифы) у нас на форуме.

    ---------- Сообщение добавлено 16:27 ---------- Предыдущее сообщение было 16:25 ----------

    Цитата Сообщение от Aleksandr_M Посмотреть сообщение
    Да, именно 5847... А почему он "непутёвый"???
    Именно по причине непринятия нормального i2s, а кривого rj.

  12. #631
    Частый гость Аватар для romanetz
    Регистрация
    28.03.2015
    Сообщений
    153

    По умолчанию Re: Цифровой транспорт с открытым кодом на NanoPI-Neo*

    В armbian не создаётся вот такое устройство, которое есть в рабочей убунте:
    card 4: I2Smaster [I2S-master], device 0: 1c22000.i2s-pcm5102a-hifi pcm5102a-hifi-0 []
    Subdevices: 1/1
    Subdevice #0: subdevice #0
    Модули ядра те же. dts файл с рабочей системы в аттаче.
    dtbo, которое относится к i2s-master, в uboot грузится:
    Applying user provided DT overlay sun50i-h5-i2s0-master.dtbo
    4161 bytes read in 1 ms (4 MiB/s)
    Не соображу просто, что от чего зависит и что на что подменить надо
    Вложения Вложения
    Последний раз редактировалось romanetz; 23.02.2020 в 17:05.

  13. #632
    Завсегдатай Аватар для Михаил45
    Регистрация
    09.03.2007
    Адрес
    Санкт-Петербург
    Возраст
    62
    Сообщений
    2,093

    По умолчанию Re: Цифровой транспорт с открытым кодом на NanoPI-Neo*

    Слушай, армбиан отличается проблемой с выводом i2s. Причем, я никак не мог ее решить через dts. Прописывал вывод, карту, а все равно нет сигнала. На простой убунте все пашет через dts и драйверы soc, 5102 из коробки.

  14. #633
    Завсегдатай
    Автор темы
    Аватар для Nikkov
    Регистрация
    01.11.2005
    Адрес
    Омск, Сибирь
    Возраст
    51
    Сообщений
    1,358

    По умолчанию Re: Цифровой транспорт с открытым кодом на NanoPI-Neo*

    Цитата Сообщение от Михаил45 Посмотреть сообщение
    Слушай, армбиан отличается проблемой с выводом i2s. Причем, я никак не мог ее решить через dts. Прописывал вывод, карту, а все равно нет сигнала. На простой убунте все пашет через dts и драйверы soc, 5102 из коробки.
    Не пробовал запускать i2s на чистом армбиане, по причине того, что там драйвера pcm5102a нет, а сам mainline драйвер i2s в очень зачаточном уровне. Однако после сборки драйверов из исходников все работает.
    Не знаю, что есть на простой убунте, что она работает, возможно просто там в модулях есть драйвер pcm5102a и это хватает для 16 бит
    Электроника наука слабоизученная (c)
    Неизвестный специалист антенного хозяйства по поводу периодического пропадания сигнала в коллективной антенне

  15. #634
    Частый гость Аватар для romanetz
    Регистрация
    28.03.2015
    Сообщений
    153

    По умолчанию Re: Цифровой транспорт с открытым кодом на NanoPI-Neo*

    Устройство-то появлялось?
    dts потом же ещё компилить надо, и в ядре модули нужные все должны быть

  16. #635
    Завсегдатай
    Автор темы
    Аватар для Nikkov
    Регистрация
    01.11.2005
    Адрес
    Омск, Сибирь
    Возраст
    51
    Сообщений
    1,358

    По умолчанию Re: Цифровой транспорт с открытым кодом на NanoPI-Neo*

    Цитата Сообщение от romanetz Посмотреть сообщение
    Устройство-то появлялось?
    dts потом же ещё компилить надо, и в ядре модули нужные все должны быть
    Если вопрос ко мне, то да, те картинки, что чуть выше, получены на последнем образе армбиан + экспериментальные драйвера для слэйва и драйвера pcm5102a с kernel.org для мастера.
    Устройства в армбиан добавляются/конфигурируются оверлеями типа так: armbian-add-overlay sun8i-h3-i2s0.dts
    Электроника наука слабоизученная (c)
    Неизвестный специалист антенного хозяйства по поводу периодического пропадания сигнала в коллективной антенне

  17. #636
    Частый гость Аватар для romanetz
    Регистрация
    28.03.2015
    Сообщений
    153

    По умолчанию Re: Цифровой транспорт с открытым кодом на NanoPI-Neo*

    Цитата Сообщение от Nikkov Посмотреть сообщение
    Если вопрос ко мне, то да, те картинки, что чуть выше, получены на последнем образе армбиан + экспериментальные драйвера для слэйва и драйвера pcm5102a с kernel.org для мастера.
    Устройства в армбиан добавляются/конфигурируются оверлеями типа так: armbian-add-overlay sun8i-h3-i2s0.dts
    А точно там i2s0 должно быть, а не i2s2? (адреса и прочее)
    То ли лыжи не едут, то ли что.
    Адрес 0x1с22800 - это базовый адрес i2s/pcm2 контроллера, относящегося вроде как к hdmi интерфейсу.
    I2S/PCM 2 0x01C22800 (for HDMI)
    а в pinout эти вывода как i2s0 подписаны
    Последний раз редактировалось romanetz; 23.02.2020 в 17:47.

  18. #637
    Завсегдатай
    Автор темы
    Аватар для Nikkov
    Регистрация
    01.11.2005
    Адрес
    Омск, Сибирь
    Возраст
    51
    Сообщений
    1,358

    По умолчанию Re: Цифровой транспорт с открытым кодом на NanoPI-Neo*

    Цитата Сообщение от romanetz Посмотреть сообщение
    А точно там i2s0 должно быть, а не i2s2?
    Если тот интерфейс, что на гребенке, то да, 0
    Электроника наука слабоизученная (c)
    Неизвестный специалист антенного хозяйства по поводу периодического пропадания сигнала в коллективной антенне

  19. #638
    Частый гость Аватар для romanetz
    Регистрация
    28.03.2015
    Сообщений
    153

    По умолчанию Re: Цифровой транспорт с открытым кодом на NanoPI-Neo*

    В ubuntu:
    simple-audio-card,mclk-fs = <0x100>; --- что соответствует MCLK=256*Fs
    в armbian
    simple-audio-card,mclk-fs = <128>; --- что соответствует MCLK=128*Fs

  20. #639
    Завсегдатай
    Автор темы
    Аватар для Nikkov
    Регистрация
    01.11.2005
    Адрес
    Омск, Сибирь
    Возраст
    51
    Сообщений
    1,358

    По умолчанию Re: Цифровой транспорт с открытым кодом на NanoPI-Neo*

    Цитата Сообщение от romanetz Посмотреть сообщение
    В ubuntu:

    в armbian
    Это лишь ограничивает верхнюю частоту в убунте 96кгц, в армбиан же -192.
    В слэйве вообще 64 стоит
    Электроника наука слабоизученная (c)
    Неизвестный специалист антенного хозяйства по поводу периодического пропадания сигнала в коллективной антенне

  21. #640
    Частый гость Аватар для romanetz
    Регистрация
    28.03.2015
    Сообщений
    153

    По умолчанию Re: Цифровой транспорт с открытым кодом на NanoPI-Neo*

    А где искать ругательства ядра, почему i2s0 не подымается (устройство не создаётся)? в dmesg?
    [ 9.967526] sun4i-codec 1c22c00.codec: ASoC: codec-analog@1f015c0 not registered
    [ 9.967545] sun4i-codec 1c22c00.codec: Failed to register our card
    [ 9.978143] debugfs: Directory *1c22c00.codec* with parent *H3 Audio Codec* already present!
    [ 9.978163] sun4i-codec 1c22c00.codec: ASoC: Failed to create component debugfs directory: -17
    [ 9.982967] sun4i-codec 1c22c00.codec: Codec <-> 1c22c00.codec mapping ok
    Вот такое нашлось
    Это лишь ограничивает верхнюю частоту в убунте 96кгц, в армбиан же -192.
    В слэйве вообще 64 стоит
    Т.е. частота мастерклока фиксированная, а делители переключаются драйвером?

    ---------- Сообщение добавлено 24.02.2020 в 10:43 ---------- Предыдущее сообщение было 23.02.2020 в 21:49 ----------

    В работающей убунте есть в modules.builtin
    kernel/sound/soc/codecs/snd-soc-hdmi-codec.ko
    kernel/sound/soc/codecs/snd-soc-pcm5102a.ko
    Они же и в конфиге указаны
    CONFIG_SND_SOC_PCM5102=y
    CONFIG_SND_SOC_SPDIF=m
    CONFIG_SND_SOC_HDMI_CODEC=y
    В армбиане в конфиге вообще ничего нет на эту тему
    Иду кривой тропой дальше: pcm5102 с точки зрения программы ничего выдающегося из себя не представляет. "Голый" i2s. Но в армбиане в конфиге есть в виде модуля wm8524, который такой же, с точки зрения линукса. Таким образом, если указать в dt, что к системе подключен не pcm5102, а wm8524, есть шанс, что ядро его подхватит --- пока что не осилил разобраться с gpio reset pin в dt для этого кодека
    ---------- Сообщение добавлено 16:44 ---------- Предыдущее сообщение было 10:43 ----------
    В общем, поддержка pcm5102 в финальный образ как-то не доехала. При том, что в ядре, которое скрипт собирает, в /snd/soc/codecs/pcm5102a.c файлик есть, но в конфиг и мейкфайл он почему-то не попал, соответственно, остался несобранным и через dts не подгружается - т.к. модуляь ядра для него не собран

    ---------- Сообщение добавлено 22:46 ---------- Предыдущее сообщение было 16:44 ----------

    Заиграло.
    А если образ целиком от neo2, там вроде тоже allwinner h5?
    Надо бы в системе сборки разобраться.

Страница 32 из 59 Первая ... 22303132333442 ... Последняя

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

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

Ваши права

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