您尚未登录。

楼主 # 2021-05-23 14:11:50

Molly
会员
注册时间: 2021-05-16
已发帖子: 10
积分: 50
个人网站

终于搞定f1c100s的i2s输出

内核用的是linux5.4.99,是mangopi r1/2/3官网给的buildroot一键编译包
设备树里已经有了i2s0节点,但是需要自己添加pinctl节点
2021-05-23_13-59.png
这里踩过一个坑,function不是写i2s0而是i2s
然后设备树继续添加对应的codec,我这里是pcm5102a
2021-05-23_14-02.png
2021-05-23_14-04.png
直接这样还是不能用,自己测试的时候,拿示波器测量,aplay播放的时候一直是bck和lrck有时钟正常在跑,data上没有数据,aplay一会儿就出现Input/Output Error
2021-05-23_14-08.png
各种查看源码和手册,最后终于找到解决办法:
2021-05-23_14-09.png
sun4i-i2s.c sun4i_i2s_probe函数中两个maxburst = 8改为4即可
因为f1c100s的DDMA和NDMA都各只有4个channel
2021-05-23_14-11.png

离线

#1 2021-05-23 14:35:26

raspberryman
会员
注册时间: 2019-12-27
已发帖子: 503
积分: 465

Re: 终于搞定f1c100s的i2s输出

请问楼主,mclk怎么给呢?

离线

楼主 #2 2021-05-23 14:45:36

Molly
会员
注册时间: 2021-05-16
已发帖子: 10
积分: 50
个人网站

Re: 终于搞定f1c100s的i2s输出

raspberryman 说:

请问楼主,mclk怎么给呢?

应该是可以的,但我现在用的pcm5102a可以不给mclk
我研究一下,晚点回复你

离线

#3 2021-05-23 14:49:28

raspberryman
会员
注册时间: 2019-12-27
已发帖子: 503
积分: 465

Re: 终于搞定f1c100s的i2s输出

Molly 说:
raspberryman 说:

请问楼主,mclk怎么给呢?

应该是可以的,但我现在用的pcm5102a可以不给mclk
我研究一下,晚点回复你

嗯嗯,我觉得应该和摄像头那个PCLK输出一样。

楼主方便贴一份完整的dts和config吗,有空我也试一试。

离线

楼主 #4 2021-05-23 14:58:24

Molly
会员
注册时间: 2021-05-16
已发帖子: 10
积分: 50
个人网站

Re: 终于搞定f1c100s的i2s输出

raspberryman 说:
Molly 说:
raspberryman 说:

请问楼主,mclk怎么给呢?

应该是可以的,但我现在用的pcm5102a可以不给mclk
我研究一下,晚点回复你

嗯嗯,我觉得应该和摄像头那个PCLK输出一样。

楼主方便贴一份完整的dts和config吗,有空我也试一试。

测过了,mclk直接有输出,pinctl那边写的PD7就是mclk
IMG_20210523_145220.jpg
dts:
i2s-devicetree.zip

离线

楼主 #5 2021-05-23 15:07:38

Molly
会员
注册时间: 2021-05-16
已发帖子: 10
积分: 50
个人网站

Re: 终于搞定f1c100s的i2s输出

外接dac音质真的比自带codec好多了
不过又发现有些问题,测试的时候播放的是48kHz采样率的wav文件,正常出声
后来尝试用madplay播放mp3文件失败,发现44.1kHz的文件都无法播放
2021-05-23_15-06.png
以及alsamixer里面并没有音量控制,我再研究研究

离线

#6 2021-05-23 17:23:52

拉轰的脚踏车
会员
注册时间: 2020-03-20
已发帖子: 288
积分: 222

Re: 终于搞定f1c100s的i2s输出

好评好评! 我也以为 F1C 和 S3一样没有MCLK引脚,  结果还真有.

S3手册V0.2: Allwinner_S3_Datasheet_V0_2.pdf

F1C100s手册: F1C100s_Datasheet_V1_0.pdf

离线

楼主 #7 2021-05-23 17:43:31

Molly
会员
注册时间: 2021-05-16
已发帖子: 10
积分: 50
个人网站

Re: 终于搞定f1c100s的i2s输出

44.1kHz那一组采样率(11025 22050 44100 88200 176400)也搞定了
原本是切换采样率时设置mod_clk那边出错,但是代码里并没有dev_err输出错误信息,自己加了行上去后发现错误位置
2021-05-23_17-27.png
解决方法:drivers/clk/sunxi-ng/ccu-suniv-f1c100s.c 找到static SUNXI_CCU_MUX_WITH_GATE(i2s_clk, "i2s", i2s_spdif_parents, 0x0b0, 16, 2, BIT(31), 0);
修改为static SUNXI_CCU_MUX_WITH_GATE(i2s_clk, "i2s", i2s_spdif_parents, 0x0b0, 16, 2, BIT(31), CLK_SET_RATE_PARENT);
2021-05-23_17-03.png
听首歌测试测试(图中是flac转成wav的 采样率176400hz,事实上44100等也测试过了)
2021-05-23_17-25.png
顺便把之前设备树里的mclk,fs由256改为128,这样可以最高支持192khz采样率
IMG_20210523_165637.jpg

离线

#8 2021-05-23 21:39:18

xfdr0805
会员
注册时间: 2020-07-23
已发帖子: 312
积分: 350

Re: 终于搞定f1c100s的i2s输出

赞,可以做高品质的音乐播放器了

离线

#9 2021-05-24 08:27:47

illusion
会员
注册时间: 2018-05-09
已发帖子: 81
积分: 368

Re: 终于搞定f1c100s的i2s输出

是个牛人。另外这个示波器啥型号啊?

离线

楼主 #10 2021-05-24 09:41:27

Molly
会员
注册时间: 2021-05-16
已发帖子: 10
积分: 50
个人网站

Re: 终于搞定f1c100s的i2s输出

illusion 说:

是个牛人。另外这个示波器啥型号啊?

便宜买的,ads5012h,感觉不怎么专业:P

离线

#11 2021-05-24 10:51:36

IAMLIUBO
会员
注册时间: 2019-04-01
已发帖子: 85
积分: 47.5
个人网站

Re: 终于搞定f1c100s的i2s输出

Molly 说:
illusion 说:

是个牛人。另外这个示波器啥型号啊?

便宜买的,ads5012h,感觉不怎么专业:P


感觉还可以,正点原子家的那个便携式示波器DS100,感觉也还不错。






唯有爱与科技不可辜负。
知乎专栏:IAMLIUBO的神奇物联网之旅
博客园:IAMLIUBO
Gayhub: IAMLIUBO

离线

#12 2022-01-18 20:31:04

somnus
会员
注册时间: 2021-11-29
已发帖子: 17
积分: 2

Re: 终于搞定f1c100s的i2s输出

大佬,有没有完整的设备树

离线

#13 2022-03-01 14:41:46

三江
会员
注册时间: 2022-03-01
已发帖子: 1
积分: 1

Re: 终于搞定f1c100s的i2s输出

要用F1C200S,采集ADV7611的音频,看了文章,受益匪浅

离线

#14 2022-05-28 18:40:42

yywork
会员
注册时间: 2022-05-28
已发帖子: 4
积分: 24

Re: 终于搞定f1c100s的i2s输出

大佬,我正在学习,完整的配置文件能放一下百度网盘吗?万分感谢!!!

离线

#15 2022-05-29 00:03:41

hameyou
会员
注册时间: 2018-04-15
已发帖子: 200
积分: 7.5

Re: 终于搞定f1c100s的i2s输出

厉害啊,可以外接coder了

离线

#16 2022-06-08 14:34:24

yywork
会员
注册时间: 2022-05-28
已发帖子: 4
积分: 24

Re: 终于搞定f1c100s的i2s输出

你好,楼主,我使用的也是芒果派R3;
只按你的设备树配置了,其他都没动;i2s并没有成功,请问还需要改其他地方的配置吗?
本人首次接触,希望能解惑,万分感谢!

离线

#17 2022-07-07 15:25:31

xzx123
会员
注册时间: 2022-07-07
已发帖子: 1
积分: 1

Re: 终于搞定f1c100s的i2s输出

大佬,我正在学习,完整的配置文件能放一下百度网盘吗?万分感谢!!!

离线

#18 2022-11-03 11:32:33

xfdr0805
会员
注册时间: 2020-07-23
已发帖子: 312
积分: 350

Re: 终于搞定f1c100s的i2s输出

今天试了一下,I2S  OK,我用的pe组,楼上没反应的 需要在内核把pcm5102驱动勾上...

离线

#19 2022-11-03 12:38:19

guduxue
会员
注册时间: 2019-09-27
已发帖子: 4
积分: 4

Re: 终于搞定f1c100s的i2s输出

yywork 说:

大佬,我正在学习,完整的配置文件能放一下百度网盘吗?万分感谢!!!

大佬,同求啊!

离线

#21 2022-12-27 15:51:43

BI4RYN
会员
注册时间: 2022-12-27
已发帖子: 7
积分: 2

Re: 终于搞定f1c100s的i2s输出

xfdr0805 说:

今天试了一下,I2S  OK,我用的pe组,楼上没反应的 需要在内核把pcm5102驱动勾上...

果然管用!

离线

#22 2023-07-01 23:46:53

Water_bros
会员
注册时间: 2023-04-15
已发帖子: 4
积分: 4

Re: 终于搞定f1c100s的i2s输出

大佬,这个i2s的mclk可以不给吗?我外挂的dac通过晶振自己给,用的是es9018k2m,想试试能不能通过dop硬解dsd(

离线

#23 2023-07-01 23:50:17

哇酷小二
管理员
所在地: 你猜
注册时间: 2020-04-22
已发帖子: 3,388
积分: 1902
个人网站

Re: 终于搞定f1c100s的i2s输出

Water_bros 说:

大佬,这个i2s的mclk可以不给吗?我外挂的dac通过晶振自己给,用的是es9018k2m,想试试能不能通过dop硬解dsd(

可以不用给mclk





离线

#24 2023-07-01 23:56:04

Water_bros
会员
注册时间: 2023-04-15
已发帖子: 4
积分: 4

Re: 终于搞定f1c100s的i2s输出

哇酷小二 说:
Water_bros 说:

大佬,这个i2s的mclk可以不给吗?我外挂的dac通过晶振自己给,用的是es9018k2m,想试试能不能通过dop硬解dsd(

可以不用给mclk

那f1c200s的i2s最高支持多少位多少采样率的输出?

离线

#26 2023-08-22 11:24:36

xfdr0805
会员
注册时间: 2020-07-23
已发帖子: 312
积分: 350

Re: 终于搞定f1c100s的i2s输出

Water_bros 说:
哇酷小二 说:
Water_bros 说:

大佬,这个i2s的mclk可以不给吗?我外挂的dac通过晶振自己给,用的是es9018k2m,想试试能不能通过dop硬解dsd(

可以不用给mclk

那f1c200s的i2s最高支持多少位多少采样率的输出?


在128fs下最高支持192k 32bit采样率
这个pll来的mclk有点偏差 我算来算去最接近也只能24.571和22.571 响是没问题的 hifi是不用想了:)
手册写的是24.576和22.528
标准频率应该是24.576和22.5792

离线

#27 2023-08-27 20:40:00

Water_bros
会员
注册时间: 2023-04-15
已发帖子: 4
积分: 4

Re: 终于搞定f1c100s的i2s输出

@xfdr0805
dsd什么的还是算了,能输出24bit/192kHz就满足了

离线

#28 2023-08-28 08:29:42

ubuntu
会员
注册时间: 2020-03-30
已发帖子: 278
积分: 256

Re: 终于搞定f1c100s的i2s输出

Water_bros 说:

@xfdr0805
dsd什么的还是算了,能输出24bit/192kHz就满足了

放弃吧,这芯片性能太差了,如果跑mp3解码,那ui就不动了。

离线

#29 2023-08-28 14:56:42

Water_bros
会员
注册时间: 2023-04-15
已发帖子: 4
积分: 4

Re: 终于搞定f1c100s的i2s输出

ubuntu 说:
Water_bros 说:

@xfdr0805
dsd什么的还是算了,能输出24bit/192kHz就满足了

放弃吧,这芯片性能太差了,如果跑mp3解码,那ui就不动了。

lvgl要求应该没那么高吧,我用的外挂dac解码ui应该能跑?

离线

#30 2024-02-19 01:24:22

paul_zdchun
会员
注册时间: 2024-01-23
已发帖子: 26
积分: 6

Re: 终于搞定f1c100s的i2s输出

@Molly
这个好,外挂DAC比芯片内置的肯定是强不少

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn