[DAC] 关于FPGA的I2S FIFO的问题

[复制链接] 查看: 7095|回复: 16

4

主题

0

好友

32

积分
     

注册会员 当前离线

Rank: 2

UID
869433
帖子
31
精华
0
经验
32 点
金钱
24 ¥
注册时间
2019-11-26
发表于 2020-10-26 16:29 | 显示全部楼层
此前看到I2S FIFO的帖子说能有效减小抖动,于是看视频自学FPGA的开发写了个模块给树莓派重置I2S信号,接收串并转存入FIFO再取出串行发送
在开发板上测试时播放只有一片噪音,但是暂停就没有噪音,由于家里没有什么检测设备所以也不知道是哪里有问题导致的,想来只有发帖看看各位
能否指出问题所在了?
timg (19).jpg

127

主题

0

好友

1万

积分
     

版主 当前离线

脑放进行时

Rank: 7Rank: 7Rank: 7

UID
3986
帖子
18060
精华
2
经验
17391 点
金钱
15128 ¥
注册时间
2005-4-20

社区贡献 优秀设计 论坛版主

发表于 2020-10-26 16:42 来自手机端 | 显示全部楼层
不具备软硬件开发条件,请专业人员完成。

5

主题

0

好友

198

积分
     

论坛游民 当前离线

Rank: 3Rank: 3

UID
391134
帖子
199
精华
0
经验
198 点
金钱
193 ¥
注册时间
2011-9-4
发表于 2020-10-26 17:18 | 显示全部楼层
噪声是时序不对

4

主题

0

好友

32

积分
     

注册会员 当前离线

Rank: 2

UID
869433
帖子
31
精华
0
经验
32 点
金钱
24 ¥
注册时间
2019-11-26
 楼主| 发表于 2020-10-26 18:27 | 显示全部楼层

是发送的时序不对吗?

14

主题

1

好友

191

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
878796
帖子
180
精华
0
经验
191 点
金钱
163 ¥
注册时间
2020-6-2
发表于 2020-10-26 20:08 来自手机端 | 显示全部楼层
fifo是把数据压进去吧,你时钟不操作吗?如果不操作时钟那会产生延迟吧,理论上应该是fifo里的数据和自己重新产生iis时钟按时序送出来了

4

主题

0

好友

32

积分
     

注册会员 当前离线

Rank: 2

UID
869433
帖子
31
精华
0
经验
32 点
金钱
24 ¥
注册时间
2019-11-26
 楼主| 发表于 2020-10-26 20:16 | 显示全部楼层
红岸设计师 发表于 2020-10-26 20:08
fifo是把数据压进去吧,你时钟不操作吗?如果不操作时钟那会产生延迟吧,理论上应该是fifo里的数据和自己重 ...

FIFO写数据的时钟我用的是树莓派的bclk,读的是重生成的lrck

63

主题

1

好友

1772

积分

侠之大者 当前离线

Rank: 6Rank: 6

UID
119033
帖子
1859
精华
0
经验
1772 点
金钱
1653 ¥
注册时间
2009-7-19
发表于 2020-10-27 10:18 来自手机端 | 显示全部楼层
既然你重生了lrck,干嘛还要fifo?直接用这个时钟不好吗?这个时钟和主时钟频率有时差?

11

主题

0

好友

287

积分
     

业余侠客 当前离线

Rank: 4

UID
857261
帖子
280
精华
0
经验
287 点
金钱
252 ¥
注册时间
2019-1-2
发表于 2020-10-27 11:13 | 显示全部楼层
减少抖动单独整理时钟就可以了

63

主题

1

好友

1772

积分

侠之大者 当前离线

Rank: 6Rank: 6

UID
119033
帖子
1859
精华
0
经验
1772 点
金钱
1653 ¥
注册时间
2009-7-19
发表于 2020-10-27 11:21 来自手机端 | 显示全部楼层
当数据源时钟性能不佳时,在解码时启用性能更佳的独立时钟,为了解决两个时钟的时差导致的超前滞后,所以才使用数据异步fifo去容纳两个时钟的时差。

1

主题

1

好友

572

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
27691
帖子
437
精华
2
经验
572 点
金钱
483 ¥
注册时间
2007-9-25
发表于 2020-10-27 11:43 来自手机端 | 显示全部楼层
这东西我在十几年前做过,没有设备的话还是不要玩了。至少要有个示波器吧。有个取巧方法就是把FPGA输出的音频数据编码成SPDIF,然后用数字声卡录音,与派播放的源文件比较,就知道错成什么样了。至于用什么样的源文件更有利于排错,开动你的脑筋吧!

4

主题

0

好友

32

积分
     

注册会员 当前离线

Rank: 2

UID
869433
帖子
31
精华
0
经验
32 点
金钱
24 ¥
注册时间
2019-11-26
 楼主| 发表于 2020-10-27 13:37 | 显示全部楼层
simmconn 发表于 2020-10-27 11:43
这东西我在十几年前做过,没有设备的话还是不要玩了。至少要有个示波器吧。有个取巧方法就是把FPGA输出的音 ...

有道理,看了几个项目觉得可以操作操作,写好模块仿真也没问题就上机测试,谁知道这才是开始

4

主题

0

好友

32

积分
     

注册会员 当前离线

Rank: 2

UID
869433
帖子
31
精华
0
经验
32 点
金钱
24 ¥
注册时间
2019-11-26
 楼主| 发表于 2020-10-27 13:40 | 显示全部楼层
hzh 发表于 2020-10-27 11:21
当数据源时钟性能不佳时,在解码时启用性能更佳的独立时钟,为了解决两个时钟的时差导致的超前滞后,所以才 ...

不知道怎么调整树莓派的时钟啊,也没找到相关帖子,看到FPGA这个方案也好实现就往这方面做了

14

主题

1

好友

191

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
878796
帖子
180
精华
0
经验
191 点
金钱
163 ¥
注册时间
2020-6-2
发表于 2020-10-27 13:44 | 显示全部楼层
估计还是时序的问题吧,没有设备可以用自带的chipscope或者ILA观察下输入进来的IIS和输出的IIS时序有什么不同不就行了吗

4

主题

0

好友

599

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
876741
帖子
574
精华
0
经验
599 点
金钱
571 ¥
注册时间
2020-4-27
发表于 2020-10-29 23:09 | 显示全部楼层

楼主来 ‘寻欢’ 的不如 "一不做,二不休”
搞这个吧!

denon-dcd-a110_quad-dac-config_2020-10-29

denon-dcd-a110_quad-dac-config_2020-10-29

还可以搞个烛光晚会呵。

de_dcd_A110_LED_inside_001_hi

de_dcd_A110_LED_inside_001_hi
  



56

主题

12

好友

6086

积分
     

青铜剑侠 当前离线

小熊猫

Rank: 8Rank: 8

UID
59487
帖子
7494
精华
0
经验
6086 点
金钱
5743 ¥
注册时间
2008-10-20
发表于 2020-10-29 23:41 | 显示全部楼层
意义不大,建议用74LVC74

113

主题

4

好友

717

积分

职业侠客 当前在线

Rank: 5Rank: 5

UID
230656
帖子
644
精华
0
经验
717 点
金钱
621 ¥
注册时间
2010-8-17
发表于 2020-10-30 21:18 来自手机端 | 显示全部楼层
fpga可以实现fifo  主要时序软仿看了吗 文件解析对吗  我也搞这个还在画板 工程比较大

15

主题

0

好友

2356

积分

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
761332
帖子
2400
精华
0
经验
2356 点
金钱
2311 ¥
注册时间
2014-10-10
发表于 2020-10-30 22:34 | 显示全部楼层
你倒是把代码放到GitHub上给大家看看啊。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Powered by Discuz! X3.4

© 2001-2012 Comsenz Inc.

返回顶部