[音源] 改善jitter的有效方法----I2S FIFO

[复制链接] 查看: 56409|回复: 132

56

主题

12

好友

6086

积分
     

青铜剑侠 当前离线

小熊猫

Rank: 8Rank: 8

UID
59487
帖子
7494
精华
0
经验
6086 点
金钱
5743 ¥
注册时间
2008-10-20
发表于 2010-10-26 23:49 | 显示全部楼层
所谓300PS的抖动纯属扯淡
laurel 发表于 2010-10-26 23:30


那你认为是多少?

96

主题

12

好友

3704

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
1077
帖子
3314
精华
6
经验
3704 点
金钱
2484 ¥
注册时间
2004-7-24

社区贡献

发表于 2010-10-26 23:50 | 显示全部楼层
他又测不了相噪,你还有什么其他的办法么?
卡西利亚斯 发表于 2010-10-26 23:39

直接拿示波器的jitter功能测。

56

主题

12

好友

6086

积分
     

青铜剑侠 当前离线

小熊猫

Rank: 8Rank: 8

UID
59487
帖子
7494
精华
0
经验
6086 点
金钱
5743 ¥
注册时间
2008-10-20
发表于 2010-10-26 23:52 | 显示全部楼层
直接拿示波器的jitter功能测。
laurel 发表于 2010-10-26 23:50


那就让楼主测吧。

96

主题

12

好友

3704

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
1077
帖子
3314
精华
6
经验
3704 点
金钱
2484 ¥
注册时间
2004-7-24

社区贡献

发表于 2010-10-26 23:53 | 显示全部楼层
那你认为是多少?
卡西利亚斯 发表于 2010-10-26 23:49

cycle to cycle和period实测几个10PS以内,不过实际示波器精度也就4PS

56

主题

12

好友

6086

积分
     

青铜剑侠 当前离线

小熊猫

Rank: 8Rank: 8

UID
59487
帖子
7494
精华
0
经验
6086 点
金钱
5743 ¥
注册时间
2008-10-20
发表于 2010-10-26 23:56 | 显示全部楼层
cycle to cycle和period实测几个10PS以内,不过实际示波器精度也就4PS
laurel 发表于 2010-10-26 23:53


你直接在FPGA里面分频,能有那么小?

96

主题

12

好友

3704

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
1077
帖子
3314
精华
6
经验
3704 点
金钱
2484 ¥
注册时间
2004-7-24

社区贡献

发表于 2010-10-27 00:00 | 显示全部楼层
你直接在FPGA里面分频,能有那么小?
卡西利亚斯 发表于 2010-10-26 23:56

没错,不过不是DAC。

56

主题

12

好友

6086

积分
     

青铜剑侠 当前离线

小熊猫

Rank: 8Rank: 8

UID
59487
帖子
7494
精华
0
经验
6086 点
金钱
5743 ¥
注册时间
2008-10-20
发表于 2010-10-27 00:07 | 显示全部楼层
没错,不过不是DAC。
laurel 发表于 2010-10-27 00:00


我的60MHZ分频,在EP3C5上周期抖动都不止500ps,看来我要找ALTERA问问了。

96

主题

12

好友

3704

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
1077
帖子
3314
精华
6
经验
3704 点
金钱
2484 ¥
注册时间
2004-7-24

社区贡献

发表于 2010-10-27 00:16 | 显示全部楼层
我的60MHZ分频,在EP3C5上周期抖动都不止500ps,看来我要找ALTERA问问了。
卡西利亚斯 发表于 2010-10-27 00:07

500ps的RMS是什么概念?还有如何测试?

32

主题

4

好友

1926

积分
     

侠之大者 当前离线

Rank: 6Rank: 6

UID
114497
帖子
1713
精华
0
经验
1926 点
金钱
1713 ¥
注册时间
2009-6-27
发表于 2010-10-27 01:03 | 显示全部楼层
高手过招,我只能远远旁观,免得误伤自己。
最近也在考虑IIS的FIFO,老打搅楼上高手。

56

主题

12

好友

6086

积分
     

青铜剑侠 当前离线

小熊猫

Rank: 8Rank: 8

UID
59487
帖子
7494
精华
0
经验
6086 点
金钱
5743 ¥
注册时间
2008-10-20
发表于 2010-10-27 09:26 | 显示全部楼层
怎么可能是RMS,是P-P。 RMS我记得是150左右。
我用60MHZ分频到1MHZ,信号周期在 1us±106ps 之间,这对8bit AD 低速应用来说,完全不影响。
题外话就不说了。


回头说音频应用的。 DIR9001,他在512FS的下,周期抖动小于50ps。而CS8416的临近抖动约200ps。在CS8416的AN339中,提到当8416的基带抖动在45.287ps时候,(FFT -0dbFS) CS4398的THD+N(997HZ) -106.96dbr ,(18KHZ)-110.27dbr。而PCM1794只提到(Vo = 0db)的THD+N(A)约-107.95db,试问抖动多小才能实现PCM1794最佳性能?

这仅仅是因为他们是ΔΣ结构,而传统结构的PCM1704,似乎只能到THD+N(1.1khz) = -102db,(应该不是用CS8414生成的信号)。对于更老的DA,如1541,好象不需要那么低的抖动,总而言之,抖动越小越好,但是带来的效果却不是无限的。

56

主题

12

好友

6086

积分
     

青铜剑侠 当前离线

小熊猫

Rank: 8Rank: 8

UID
59487
帖子
7494
精华
0
经验
6086 点
金钱
5743 ¥
注册时间
2008-10-20
发表于 2010-10-27 09:53 | 显示全部楼层
LZ这个方案,使用N个FS去读取FIFO,得到数据,你信号都是同步的,和直接用寄存器有什么本质区别么?

假如你是以4FS去读,那么DF只能以2x 来处理数据。
而以1FS去读的话,还不如直接用个寄存器算了。

如果谁有新的解释,可以详细说明。

8

主题

0

好友

203

积分

业余侠客 当前离线

Rank: 4

UID
94615
帖子
264
精华
0
经验
203 点
金钱
193 ¥
注册时间
2009-4-7
 楼主| 发表于 2010-10-27 10:26 | 显示全部楼层
睡一觉过来,真热闹,有讨论就好,总比帖子无声的沉掉要强。
---------------------
卡西利亚斯 :
“从你帖的手册上看FPGA的抖动小于50PS,通常情况下CPLD会更低,信号通道包含多个逻辑单元的确会累积时钟抖动,但在I2S输出CPLD前,用同步时钟信号对I2S信号锁存然后再输出,完成消除前期累积的时钟抖动,这是数字逻辑电路设计的基础。
这就是问题,既然是数字逻辑电路设计的基础,为什么你不懂?”
A:这种基础性的东西我已经设计在里面了,所以我才反驳你的观点“CPLD带来的端口抖动,最小也有300ps”。
---------------------

卡西利亚斯 :
“我觉得你有点技术,不妨就和你侃多几句。

既然你和时钟可以让源和终端同步,那么用源CD机的DSP芯片FIFO即可,信号到了终端DAC机,只需要做一次锁存就可以了,也就是说只需要对齐1个bit就可以了。完全可以用一个4040和几个74完成,没有必要把FIFO和CPLD搬出来”

A:我的技术如何,一点还是两点,在这个论坛上,我们任何人都没有资格去评论别人,都只是围绕技术展开讨论。

DSP芯片控制FIFO的输出时钟具有的抖动远远大于TCXO分频获得的时钟,所以我们能够观察到I2S数据流里偶尔出现一个bit时间周期以上的数据抖动,这个抖动不会时常出现,但通过特殊方法能够捕捉到, 在低质转盘上出现频率更高,FIFO就是用来缓冲一个bit时间周期以上的数据抖动;用“同步时钟信号对I2S信号锁存”是解决CPLD内部门电路前级固有抖动和传输过程中的抖动,这类抖动多在一个bit时间周期以下。
所以你说的“用一个4040和几个74完成”的方法,只能解决一个bit时间周期以下的抖动,不能解决长于一个bit时间周期的抖动。

至于你说的“没有必要把FIFO和CPLD搬出来。”,我不认为会使用可编程逻辑器件是很高深的技术,真正的高深是恰到好处的发挥器件特性去解决问题。
---------------------
卡西利亚斯 :
“现在你一个CPLD既完成分频,又要完成串到并,并到串,触发时序这么多事情的处理,其实也就是为了尽量减少数据的周期抖动。事实上只有LRCK的周期抖动才是最关键的,但是因为他还是由SCK分频得来,所以MCK生成器的性能和分频器的性能决定LRCK的相位噪音,而BCK只是为了读取数据,所以他有很大让步可以做。
按照你的做法,通过FIFO同步输入输出,肯定不会出现FIFO欠载或者过载的情况,所以我才说用一个锁存就可以了,这才是基础。”

A:“用一个锁存”只能解决一个bit时间以内的时钟抖动,如果出现大于一个bit时间的时钟抖动,LRCK再稳也没用。
在第一楼的系统简图里已经说明我的FIFO是“异步”的,不是你上面提到的“同步”。

---------------------

chenxiuping15 :
A:你的疑问在上面已经有回复。
头像被屏蔽

5

主题

0

好友

375

积分

禁止发言 当前离线

泛泛之辈

UID
122224
帖子
365
精华
0
经验
375 点
金钱
371 ¥
注册时间
2009-8-3
发表于 2010-10-27 10:34 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

56

主题

12

好友

6086

积分
     

青铜剑侠 当前离线

小熊猫

Rank: 8Rank: 8

UID
59487
帖子
7494
精华
0
经验
6086 点
金钱
5743 ¥
注册时间
2008-10-20
发表于 2010-10-27 10:34 | 显示全部楼层
相对这里的人,FIFO和CPLD已经是很高深的了。最近没什么技术贴,难得有个议论技术的,不来就太对不起LZ你了。

下面是正题。

在第一楼的系统简图里已经说明我的FIFO是“异步”的,不是你上面提到的“同步”。

事实上输入一个FF,你用4FS 输出4个FF, 那么传给DA,那么DA只能以4FS来处理。
如果你只用1FS输出,那么DF可以当1FS处理。

难道这样会好?
头像被屏蔽

5

主题

0

好友

375

积分

禁止发言 当前离线

泛泛之辈

UID
122224
帖子
365
精华
0
经验
375 点
金钱
371 ¥
注册时间
2009-8-3
发表于 2010-10-27 10:40 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

56

主题

12

好友

6086

积分
     

青铜剑侠 当前离线

小熊猫

Rank: 8Rank: 8

UID
59487
帖子
7494
精华
0
经验
6086 点
金钱
5743 ¥
注册时间
2008-10-20
发表于 2010-10-27 10:43 | 显示全部楼层
以PCM1794为例,以你的方案,在4FS和1FS的采样率下,DF的工作状态是不一样的。

5.JPG
头像被屏蔽

5

主题

0

好友

375

积分

禁止发言 当前离线

泛泛之辈

UID
122224
帖子
365
精华
0
经验
375 点
金钱
371 ¥
注册时间
2009-8-3
发表于 2010-10-27 10:50 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

56

主题

12

好友

6086

积分
     

青铜剑侠 当前离线

小熊猫

Rank: 8Rank: 8

UID
59487
帖子
7494
精华
0
经验
6086 点
金钱
5743 ¥
注册时间
2008-10-20
发表于 2010-10-27 10:51 | 显示全部楼层
卡西的理论实践都很强,看得出来。
不过说话太不给人面子了,

心平气和,讨论技术嘛
fantaq 发表于 2010-10-27 10:40



只能说抱歉了,我不是那种喜欢软磨硬泡的人,不强硬点,人家是不会和你讨论的,甚至都看不起你。
这种事情我见过了,我们以前学校的老师就这样,你不表现出来,他是不会告诉你----你的问题错在那里的,那你永远不知道自己错在那里。当然不少人拉不下脸皮,我皮厚,不怕,只要你不骂我全家XX就可以。

56

主题

12

好友

6086

积分
     

青铜剑侠 当前离线

小熊猫

Rank: 8Rank: 8

UID
59487
帖子
7494
精华
0
经验
6086 点
金钱
5743 ¥
注册时间
2008-10-20
发表于 2010-10-27 10:52 | 显示全部楼层
看了半天,还是没搞明白楼主的方案具体是怎么一回事。
楼主的框图里光盘读取数据这一块很模糊。

起初还以为是光头以及伺服机构。
可是根据楼主的实验来看,是光驱的话,那么光驱就相当于完整的CD机了,里面本来 ...
fantaq 发表于 2010-10-27 10:50


我认为重点在时钟回输,但是LZ认为重点在异步FIFO的使用。

56

主题

12

好友

6086

积分
     

青铜剑侠 当前离线

小熊猫

Rank: 8Rank: 8

UID
59487
帖子
7494
精华
0
经验
6086 点
金钱
5743 ¥
注册时间
2008-10-20
发表于 2010-10-27 10:56 | 显示全部楼层
我保留了一些图片,是NOS和OS的

10KHZ正弦在 44.1和352.8下的情况,前者NOS,后者8X OS

6 10khz nos.JPG 7 10khz 8xos.JPG
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Powered by Discuz! X3.4

© 2001-2012 Comsenz Inc.

返回顶部