论坛风格切换切换到宽版
  • 8741阅读
  • 10回复

STM32F40x改善I2S时钟抖动的一种可能方法 [复制链接]

上一主题 下一主题
离线BG2BHC
 
发帖
5337
只看楼主 倒序阅读 0楼 发表于: 2014-08-27
根据研究hifi的某童鞋的说法,stm32 i2s时钟的抖动指标较差。PLL为引起时钟抖动(相噪恶化)的来源之一,F4手册提供的指标为均方根值90ps、峰峰值正负280ps(MCLK=12.343MHz),该抖动约为时钟周期的千分之几量级。

研究F4的时钟结构,可发现下图所示路径:

HSE晶振振荡器可直接由MCO1输出至片外,而I2S也有一个外部时钟输入I2S_CKIN。“碰巧”的是,MCO1是引脚PA8对应的第二功能,I2S_CKIN是引脚PC9对应的第二功能,而这两个引脚是挨着的,如下图所示。

因此,我们只要选择合适的HSE晶振频率,将PA8和PC9用一条不能再短的走线短接,再通过合理的寄存器配置,即可跳过PLL环节提供正确频率的MCLK输出。

由于F4的MCLK路径中有一个无法禁止的2分频,所以要想获得12.288MHz的MCLK(96k采样常用),需要使用24.576MHz的HSE晶振。

该用法电路可行性已经验证,但因为没有合适的仪器无法实测抖动值。有兴趣的盆友可以一试。
[ 此帖被BG2BHC在2014-08-27 16:49重新编辑 ]
本主题包含附件,请 登录 后查看, 或者 注册 成为会员
有些梦想一直会在。

------“火腿”是业余无线电爱好者的意思吗?听上去很好吃。
------我的呼号后缀是BHC,意思是“不好吃”…
离线BG4REO
发帖
3384
只看该作者 1楼 发表于: 2014-08-27
如果楼主有可供测试的电路板,可以到我这里来测试一下。
BG4REO
我的相册:
http://photo.163.com/photos/bg4reo/
离线BD1CM
发帖
3306
只看该作者 2楼 发表于: 2014-08-27
这个要顶呀,MCU的内部PLL其实就是个FLL,充其量长期频率能达标,但是相噪真的大的不得了。用12.288M基数的TCXO来做MCU主时钟和ADC的时钟一举两得。这个贴要顶!
[ 此帖被BD1CM在2014-08-27 18:54重新编辑 ]
uH = 25330/ (MHZ x MHZ x pF).  pF = 25330/( MHZ x MHZ x uH).
严肃认真、周到细致、稳妥可靠、万无一失,虽然我们可能做不到万无一失,但是我们尽人事、听天命……

https://uk.groups.yahoo.com/neo/groups/S9-C_SDR/info


QQ:63545177
离线BD8AAA
发帖
4970
只看该作者 3楼 发表于: 2014-08-27
用STM32的ADC直接采IQ的的各位仁兄是如何解决这个问题的?反正我采了,动态范围只有50多dB,捉急呐。
发展科技爱好,倡导科学理性
刘虎,028-81928955,liuhu@liuhu.org,支付宝bbs@kechuang.org,仪器技术群:11302965。
离线BG7MI
发帖
7708
只看该作者 4楼 发表于: 2014-08-27
几个都厉害

内容来自[手机版]
离线BD5UYW
发帖
4657
只看该作者 5楼 发表于: 2014-08-27
赞,技术贴。
高阶的数字示波器可以测时钟的抖动(Jitter)。

内容来自Android手机客户端

离线BD1CM
发帖
3306
只看该作者 6楼 发表于: 2014-08-27
回 BG8AAS 的帖子
BG8AAS:用STM32的ADC直接采IQ的的各位仁兄是如何解决这个问题的?反正我采了,动态范围只有50多dB,捉急呐。 (2014-08-27 19:26) 

那玩意自己的ADC就不能干这个。
uH = 25330/ (MHZ x MHZ x pF).  pF = 25330/( MHZ x MHZ x uH).
严肃认真、周到细致、稳妥可靠、万无一失,虽然我们可能做不到万无一失,但是我们尽人事、听天命……

https://uk.groups.yahoo.com/neo/groups/S9-C_SDR/info


QQ:63545177
离线ahhui
发帖
7425
只看该作者 7楼 发表于: 2014-08-27
90ps的RMS抖动,用比较好的计数器如SR620就可以测出来的。
DE BA6IT AB9UX
离线ironman
发帖
1913
只看该作者 8楼 发表于: 2014-08-28
回 BG8AAS 的帖子
BG8AAS:用STM32的ADC直接采IQ的的各位仁兄是如何解决这个问题的?反正我采了,动态范围只有50多dB,捉急呐。 (2014-08-27 19:26) 

建议老兄看一看ADI的AN-835.
一朵浮云,漂来漂去.
离线BD1CM
发帖
3306
只看该作者 9楼 发表于: 2014-08-28


这里这里
本主题包含附件,请 登录 后查看, 或者 注册 成为会员
uH = 25330/ (MHZ x MHZ x pF).  pF = 25330/( MHZ x MHZ x uH).
严肃认真、周到细致、稳妥可靠、万无一失,虽然我们可能做不到万无一失,但是我们尽人事、听天命……

https://uk.groups.yahoo.com/neo/groups/S9-C_SDR/info


QQ:63545177
离线BG9CNF
发帖
987
只看该作者 10楼 发表于: 2015-06-04
这个东西是比较讨厌,STM32F4用I2S总线的时候SDIO是不能用的

如果你的MCU系统上只有一个晶振的话,这个晶振最好照顾单片机的外部设备,比如说USB的频率

要求高的话I2S可以独立使用个晶体(比如音频解码器)。

QQ:  15910380
E-MAIL:  crasyboye@sohu.com