sun_sky 发表于 2013-2-28 18:02:36

为什么AT91SAM9260EK的晶振选18.432M

为什么AT91SAM9260EK的晶振选18.432M,选这个频率的晶振能同时满足USB和I2S吗?是如何分频和倍频的,那位好心人能指点一下?!
先谢谢了!

redroof 发表于 2013-2-28 19:47:29

看芯片手册啊!!

lusson 发表于 2013-2-28 20:15:05

我印象中好像给出了几种选择

sun_sky 发表于 2013-2-28 23:14:39

redroof 发表于 2013-2-28 19:47 static/image/common/back.gif
看芯片手册啊!!

芯片手册我看了,可是没有讲AT91SAM9260EK,我想也不应该讲

redroof 发表于 2013-3-1 09:23:43

sun_sky 发表于 2013-2-28 23:14 static/image/common/back.gif
芯片手册我看了,可是没有讲AT91SAM9260EK,我想也不应该讲

18.432M是被bootloader完整支持的很少几个选项之一。你不用18.432也可以用另外几个选项,随便你了,反正就几个可选。
在这几个频率之内,其实随便挑一个都行

sun_sky 发表于 2013-3-1 10:21:45

redroof 发表于 2013-3-1 09:23 static/image/common/back.gif
18.432M是被bootloader完整支持的很少几个选项之一。你不用18.432也可以用另外几个选项,随便你了,反正 ...

谢谢,原来是这样。
推荐的晶振和使用内部还是外部慢速时钟有关。

sun_sky 发表于 2013-3-4 16:45:52

把自己学到的放在这儿,供有需要的参考
在bootstrap的\board\at91sam9260ek\dataflash\at91sam9260ek.h中定义PLL为
#define PLLA_SETTINGS        0x2060BF09
#define PLLB_SETTINGS        0x10483F0E
计算PLLA输出为18.432/9*(96+1)=198.656Mhz
PLLB输出为18.432/14*(72+1)=96.110Mhz
PLLB经2分频后为48.055MHZ,与USB要求的48M误差为0.1%,满足小于0.25%的误差要求。

redroof 发表于 2013-3-4 17:11:17

sun_sky 发表于 2013-3-4 16:45 static/image/common/back.gif
把自己学到的放在这儿,供有需要的参考
在bootstrap的\board\at91sam9260ek\dataflash\at91sam9260ek.h中定 ...

跟这个无关。
所有被支持的晶振频率,都可以用锁相环正确的变出48M的USB时钟。
选6M晶振其实还更好算一些^_^
那几个可选频率之内选哪个完全可以是随意的。

sun_sky 发表于 2013-3-4 18:20:46

redroof 发表于 2013-3-4 17:11 static/image/common/back.gif
跟这个无关。
所有被支持的晶振频率,都可以用锁相环正确的变出48M的USB时钟。
选6M晶振其实还更好算一些 ...

嘻嘻,你说的很对,现在我还不知道I2S的时钟是怎出来的,就目前所支持的情况而言,我觉得使用8M,12M更简单
关心18.432M,是因为初学9260,我可以不用改程序就可以直接用网上下载的程序,这样方便对硬件的验证。

redroof 发表于 2013-3-4 20:02:39

sun_sky 发表于 2013-3-4 18:20 static/image/common/back.gif
嘻嘻,你说的很对,现在我还不知道I2S的时钟是怎出来的,就目前所支持的情况而言,我觉得使用8M,12M更简 ...

呵呵,8M和12M在没有32768晶振的时候不被Bootloader支持。
原因嘛,其实很简单,因为它这个时候只能用内部很不准的RC振荡器来计算外部晶振频率,也就是说各个可选的晶振频率必须差很远才能区分开。
ATMEL的设计师选择了6M和18.432M,就这么简单。
如果他们当时选8M和18.432M也行,但如果选8M和12M就可能不够区分了。

sun_sky 发表于 2013-3-4 20:15:14

redroof 发表于 2013-3-4 20:02 static/image/common/back.gif
呵呵,8M和12M在没有32768晶振的时候不被Bootloader支持。
原因嘛,其实很简单,因为它这个时候只能用内 ...

对!您的回答确认了我的猜测,不过我计划使用外部慢时钟,OSCSEL=1,所以计划使用8M或12M,这两个晶振也支持USB
不过我还是对软件的时钟设置没有信心,比如Bootstrap和UBoot。

redroof 发表于 2013-3-4 20:17:56

sun_sky 发表于 2013-3-4 20:15 static/image/common/back.gif
对!您的回答确认了我的猜测,不过我计划使用外部慢时钟,OSCSEL=1,所以计划使用8M或12M,这两个晶振也 ...

内部Bootloader所做的操作在datasheet里面都写明了。
其他还要什么初始化你就用官方代码自己改啦

烂泥桑 发表于 2014-6-20 09:50:50

这里好像有个大神,我先留个名{:shy:}
页: [1]
查看完整版本: 为什么AT91SAM9260EK的晶振选18.432M