长者
发表于 2019-3-13 16:47:53
夜游人 发表于 2019-3-12 17:24
在信号设备中,MCLK是产生I2S的时钟源,I2S的信号质量依赖MCLK的品质
在信号设备中,5V供电也是产生I2S信号至关重要的电压源,然而5V电压并不包含在I2S信号里,同样,I2S总线里就没有MCLK这么一路东西。 :handshake
夜游人
发表于 2019-3-13 17:04:32
长者 发表于 2019-3-13 16:47
在信号设备中,5V供电也是产生I2S信号至关重要的电压源,然而5V电压并不包含在I2S信号里,同样,I2S总线 ...
少胡扯了,没有MCLK你根本不可能出来I2S,先去搞清楚I2S里面的LRCLK和BCK从何而来再说吧。
最烦这种什么都不懂只会拿着书本文字装逼的:L
长者
发表于 2019-3-13 17:28:22
本帖最后由 长者 于 2019-3-13 17:29 编辑
夜游人 发表于 2019-3-13 17:04
少胡扯了,没有MCLK你根本不可能出来I2S,先去搞清楚I2S里面的LRCLK和BCK从何而来再说吧。
...
IIS标准里根本没有MCLK,这是关键。有MCLK和产生IIS信号也没有必然关系的,在蓝牙这个问题上,是否有MCLK同蓝牙模块的音质,是个弱相关关系。
你用的Apt X-HD模块,和眼下的华为HWA用的SA9910模块工作原理基本一致,内部都是通过锁相环电路去生成音频时钟,内部使用锁相环电路的芯片,是完全不挑晶振、外部频率精确性的。这也是为什么音频ASRC芯片过去一直使用27Mhz晶振,而ES90x8使用50-100Mhz晶振,且对晶振品质无任何要求的主要原因。
从这个角度讲,你如果想用“烂到渣”的蓝牙模块输出好的音频信号,在输入频率上找场子是没有价值的,比较正常的做法,是把这路烂信号灌进ASRC芯片进行本地时序重整,但这仍然没什么卵用……
头痛要医头,脚痛要医脚。我说了,这一代蓝牙的带宽,在实现HD信号传输时仍然过于吃力,其1M左右的带宽,基本没有什么缓冲的余地。因此各家的蓝牙设备,普遍的都是距离一远(>1M无遮挡),或者工作范围内有干扰(频率2-2.2G @场强0.2mW/cm2)开始掉帧,然后蓝牙设备开始降分辨率,一直降到相当于传统蓝牙的SBC,每秒几十K。
所以问题是这个,而不是用发烧友式的外行思维去各方面加强,看到你没有用纯金的电源线,和特氟龙沉金板去提升音质,我已经很欣慰了。 :handshake
夜游人
发表于 2019-3-13 17:48:44
长者 发表于 2019-3-13 17:28
IIS标准里根本没有MCLK,这是关键。有MCLK和产生IIS信号也没有必然关系的,在蓝牙这个问题上,是否有MCLK ...
:funk:大哥,不要再这样强行装逼了,本贴讨论的是同样高品质时钟模式下,蓝牙有没有发烧的可能。。。。
首先,我使用的模块,无论CSR8675这个,还是华为HWA那个,I2S时钟都不是由模块内部PLL产生的,而是由外部MCLK直接分频而来,输入模块取出DATA信号。BTW,即便是模块内部锁相环产生,也是锁相环先合成MCLK再按对应系数分频出LRCLK和BCK,这个可以在模块的设计文档看到相应内容。
再者,看到你说的ASRC对晶振品质无任何要求,我觉得再回复你没有什么意义了,谢谢关注
长者
发表于 2019-3-13 19:14:09
夜游人 发表于 2019-3-13 17:48
大哥,不要再这样强行装逼了,本贴讨论的是同样高品质时钟模式下,蓝牙有没有发烧的可能。。。。 ...
来,你的CSR8675 APTX-HD芯片:
有点怀疑你知道这是什么意思不……
夜游人
发表于 2019-3-13 19:23:56
长者 发表于 2019-3-13 19:14
来,你的CSR8675 APTX-HD芯片:
我的模块都是定制的SLAVE I2S模式,请不要再秀了,真的没什么意思:L
长者
发表于 2019-3-13 19:52:48
夜游人 发表于 2019-3-13 19:23
我的模块都是定制的SLAVE I2S模式,请不要再秀了,真的没什么意思
SA9910是需要签署保密协议的,并非是可定制的产品,CSR8675倒是可以,但至今未见到。
你的问题是一些基础的问题都没有搞清楚,如果你使用的是SA9910的淘宝模块,那个只有SLAVE模式,就是说如果没有MCLK,根本没有办法输出信号,而并非是用一个好的时钟效果就能如何如何。
但核心芯片输出的IIS信号,是不需要什么MCLK去除频的,因为这路信号还原自芯片内部,需要另一个DSP或者CPLD去Sync,或者叫同步。如果类似ASRC、蓝牙这种需要异步本地还原IIS/PCM信号的芯片,其内部即有一个“如果时钟不好还能凑合正常工作”的环节,那你只能听到满耳朵爆音了。
慢慢的放图,给你享受一下。
gurian
发表于 2019-3-13 20:11:05
“文”人果然喜欢相轻:lol
夜游人
发表于 2019-3-13 20:11:16
长者 发表于 2019-3-13 19:52
SA9910是需要签署保密协议的,并非是可定制的产品,CSR8675倒是可以,但至今未见到。
你的问题是一些 ...
真的是不撞南墙心不死?
SA9910的I2S代理商出货给我就是slave mode,这个根本不需要我跟他们要求,9910本就是冲着hifi设计,模块自身只会输出data,需要外部提供LRCLK和BCK,匹配具有I2S MASTER模式的DAC芯片,这点不明白可以直接去问代理商。说句不好听的,要给你这个模块,连i2s slave是什么都不懂你真的根本都用不起来。
8675没有见过slave mode,今天你在这里帖子里见到了,刚好我对I2S的要求本来就比别人高,设置8675的I2S也不是什么高深的事情,直接在tool界面就可以修改。SRC也不是必要的,我定制的模块就是同时关闭SRC。
自己放了这么多图片,你连I2S的SLAVE模式是怎么回事都还没搞懂,真的没必要再说什么,祝你玩得开心吧。
夜游人
发表于 2019-3-13 20:12:42
gurian 发表于 2019-3-13 20:11
“文”人果然喜欢相轻
跟同样懂技术的交流这些事情会很开心,大家都有进步,但是面对这种半吊子,有种哭笑不得的感觉。
长者
发表于 2019-3-15 11:04:46
人吧,都得留点面子,这两天过去了我以为能有什么有用的东西出来……
来,继续,SA9910,就是华为那个HWA的核心,市场上只能买到统一规格的模块,就是这款。
这是你说过的话:
很浅显的,倘若如你所说,蓝牙HD的IIS信号中“必须包含”了MCLK信号,因为这路MCLK信号是“内部电路divider分频,取得LRCK、SCK的关键”,那你如何解释SA9910模块上只有两个晶振?;P 这两个晶振,一个毫无疑问是MCU工作用的,另外一片,才是还原IIS信号所用的晶振,而单路晶振,显然很难通过分频的方式获得44Khz和48Khz两种不同的SCK主频率!
而你对IIS标准的认识乃是:
而你对SA9910模块的认知是:
这是SA9910模块的架构图:
MCLK那个双路接口,大概就是你认为SA9910需要去用一个MCLK分频的主要原因。
然而,你没有拿到SA9910的官方Datasheet,怎么会知道SA9910的MCLK接口是一个双向接口,作为输入的时候是工作于蓝牙发射状态!
而当这个端口作为输出的时候,乃是用自身的PLL合成一路所谓的MCLK,并非是分频。你在自己的话里加上了这一句,是因为你自己心里也没把握。
任何开发过数字音频的人都知道,外部时钟分频和内部时钟参考PLL是完全不同的两种工作模式,天差地别!
因为类似蓝牙这种传输高度不稳定的技术,最有效的还原高音质的办法,是直接取出还原的IIS信号,然后使用第三方ASRC芯片,去重新还原一路信号,这才是还原高保真音乐信号正确的做法。
也因此,长者一直极度反对发烧友们普遍认为“给HIFI芯片换个高级晶振,就可以得到高保真音乐信号”的极度白痴行为。这个做法同普遍的换电容、换发烧电阻并没有本质的不同。长者更见过所谓的发烧设计,居然连数字电路、CD机显示屏电路板、SPDIF发射板上的钽电容,都更换成ELNA Silmic发烧电解电容的愚行。
在某个国内最大的发烧DIY论坛,曾经买过一套CD机套件,使用的转盘乃是高档的Philips CD-Pro2,由于CD-Pro2转盘伺服电路板上的16M晶振看上去并不高档,因此他们搞了一套高价的温度补偿晶振从外部输入给替换上了。装上之后的效果呢?CD-Pro2原生的温暖醇厚音色完全消失了,声音变得尖锐怪异,偶尔还有微小的爆音,不少烧友只能再把原装晶振换回去。这是因为外接晶振经过长距离的线传递,波形已经出现了明显的畸变。正确的做法,应该是从机芯取出原始IIS信号,然后使用ASRC电路进行完全的时钟还原,这路你认为关键的MCLK,是应该加载在ASRC电路上的!
门的耳朵
发表于 2019-3-15 12:49:33
长者 发表于 2019-3-15 11:04
人吧,都得留点面子,这两天过去了我以为能有什么有用的东西出来……
来,继续,SA9910,就是华为那个HW ...
不懂技术的低调路过学习
夜游人
发表于 2019-3-15 13:09:59
本帖最后由 夜游人 于 2019-3-16 07:04 编辑
长者 发表于 2019-3-15 11:04
人吧,都得留点面子,这两天过去了我以为能有什么有用的东西出来……
来,继续,SA9910,就是华为那个HW ...
感觉对牛弹琴,无法正常沟通。
模块工作在slave i2s 模式,外部i2s时钟只需要喂入lrclk和bck,根本不需要mclk进入模块。另外,这和工作在发射模式也不同,用的不是同一个data数据口。
夜游人
发表于 2019-3-15 13:52:27
本帖最后由 夜游人 于 2019-3-16 07:08 编辑
长者 发表于 2019-3-15 11:04
人吧,都得留点面子,这两天过去了我以为能有什么有用的东西出来……
来,继续,SA9910,就是华为那个HW ...
说实话,我不明白你面对一个设计过十几款数字播放设备的专业人员争论一个你根本不懂的问题有什么意义
9910这个模块出货就是slave模式,这个根本不需要多讲,更不存在什么slave模式是工作在发射模式,就连模块本身估计你都没有见过,不存在什么两个晶振的,9910出厂只有一个晶振,另一个是空位,而且模块也未设置MCLK功能引脚。以下是我的9910+es9038测试板,板载设计45.1584/49.152MHZ做为MCLK
SCLK引脚在9910上面仅作为输入口
夜游人
发表于 2019-3-15 14:01:42
本帖最后由 夜游人 于 2019-3-16 07:27 编辑
很多人对I2S的认识,只知道有master mode,即LRCLK BCK DATE由信号源芯片输出,三个信号同向传输。这种情况下,LRCLK,BCK由主机的MCLK分频得到。
其实I2S还有另一种模式,即slave,从模式,由外部器件从一个MCLK分频出LRCLK,BCK,输入给主机,主机根据输入的信号,同步输出data数据,时钟和数据反向传输。而这种模式最大的好处,是I2S时钟不受主机的限制。我自己设计的播放设备从来都是这个模式,商业机在这方面的应用有声韵的lighting link
在一些主机不输出MCLK,或者MCLK质量极差的情况下,slave模式可以给dac一个更好的时钟源。比如树莓派