majianjia1991 发表于 2013-9-27 11:08:14

STM32F4的i2s+DAC做播放器,需要三路时钟,不知道如何才能切换

本帖最后由 majianjia1991 于 2013-9-27 13:08 编辑

stm32f4驱动i2s达到192k 24bit 需要至少49.152M的时钟
dac是pcm1792 只需要两种频率即可兼容常见音频 24.576 22.xxxxM

而最常用的44.1k需要22.xxxxM的时钟,
如果单单驱动dac 只需要一片pll1700系列的时钟芯片即可兼容44.1k和48k 96k 192k,现在要照顾stm32的192k 就需要49.152m的频率

我想用三颗独立的有源震荡器 22.xxxxM 24.576 49.152 通过继电器或者与门切换
与门太慢 大部分都只能跑1M一下的速度
继电器有点大功耗也大
有人说能用cpld 我没接触过 可以试试
大家还有什么好办法么

Vmao 发表于 2013-9-28 09:02:56

cpld编程分频然后stm32控制 切换stm32工作在i2s 从设备

zishan 发表于 2013-9-28 09:05:38

Vmao 发表于 2013-9-28 09:02 static/image/common/back.gif
cpld编程分频然后stm32控制 切换stm32工作在i2s 从设备

我想七彩虹C4就是这么干的

szpspike 发表于 2013-9-28 11:14:30

NC7SZ157可以吗?

笑笑我笑了 发表于 2013-9-28 11:34:38

F429貌似可以解决这个问题,改进I2S时钟了

gzhuli 发表于 2013-9-28 11:59:55

你查什么年代的与门只能跑1M以下?
几十M的频率74HC足够应付,再高用74ALVC过100M没问题。

dudududu 发表于 2013-9-28 15:57:53

F4的I2S不是有问题么,不是说在slave模式下数据会错位么

majianjia1991 发表于 2013-9-28 22:59:15

szpspike 发表于 2013-9-28 11:14 static/image/common/back.gif
NC7SZ157可以吗?

谢谢!这个3.3V下差不多可以达到50M的速度
要的就是这颗了

majianjia1991 发表于 2013-9-28 22:59:54

dudududu 发表于 2013-9-28 15:57 static/image/common/back.gif
F4的I2S不是有问题么,不是说在slave模式下数据会错位么

我打算使用master模式,外部时钟驱动I2S模块直接输出。
用CPLD我感觉有点大材小用了

majianjia1991 发表于 2013-9-28 23:01:43

gzhuli 发表于 2013-9-28 11:59 static/image/common/back.gif
你查什么年代的与门只能跑1M以下?
几十M的频率74HC足够应付,再高用74ALVC过100M没问题。 ...

可能是比较老了,
我看的是TI的SN74HC08的手册,3.3V下,最大延时达到了1000ns 所以才不敢用

gzhuli 发表于 2013-9-28 23:39:14

majianjia1991 发表于 2013-9-28 23:01 static/image/common/back.gif
可能是比较老了,
我看的是TI的SN74HC08的手册,3.3V下,最大延时达到了1000ns 所以才不敢用 ...

1000ns那个是Input transition rise or fall rate,是要求输入的上升沿不能超过1000ns,最大延时2V时也只有125ns,而且单独一个逻辑门的最大工作频率不是看tpd,而是看tr/tf,74HC08 3.3V下应付30MHz+没问题的。

majianjia1991 发表于 2013-9-28 23:39:58

gzhuli 发表于 2013-9-28 23:39 static/image/common/back.gif
1000ns那个是Input transition rise or fall rate,是要求输入的上升沿不能超过1000ns,最大延时2V时也只 ...

受教受教,感谢大神!

imfv 发表于 2013-10-17 17:44:26

最近我也在玩I2S,时钟可以用高频率的晶振分频就可以了,就是不知道会不会影响同步的问题。另外请教一下楼主,本人想用PCM1781做一个正弦波信号发生器,只需要一个通道输出就可以了,想用STC的51去驱动,可能玩的起来?
页: [1]
查看完整版本: STM32F4的i2s+DAC做播放器,需要三路时钟,不知道如何才能切换