|
| 楼主:kelly003kelly003 |
 |
|
| 关于晶振? |
看datasheet时经常会遇到晶振的问题,上网查了些资料感觉还是很迷茫,说的太理论了,希望高手给予解答,谢谢 1,晶振有什么作用? 2,晶振和时序有什么关系? 3,为什么需要有不同的晶振在一个板子上? 4,在程序中发现可以用定时器根据不同的晶振调整波特率,为什么可以一调整? 谢谢! |
|
|
2008-07-15 20:49:58 |
|
 |
|
| 2楼:shuiyan
|
 |
|
|
|
|
CPU运行时是一步一步的,每“一步”执行一条指令,这个“一步”的判断依据就是来自晶振。低端CPU的运行速度由晶振直接决定。高端CPU的运行速度由晶振倍频后产生时钟决定。 比如 89C51的经典晶振是11.0592MHz,其运行频率是11.0592MHz/12。 PC机的奔腾,酷睿等CPU也是有晶振的(别问是多少Hz的,我也不知道:-)),倍频N倍后可到GHz。 时序的细化就是“依赖时钟进行运作的顺序”,而时钟就是有晶振产生的。不过说实话,这两者没有直接联系。时序更多的是涉及一组信号之间的关系,比如I2C接口的SCL/SDA,这两者之间有严格的时序关系。SPI的CLK/MISO/MOSI,也有时序依赖关系。USB的D+/D-也有协议要求的时序关系。这些看起来是跟晶振没有直接的关系。 不同的CPU,不同的芯片,都有其标准定制的运行频率,所以需要不同的晶振。比如,USB1.1需要的是48MHz时钟进行分频,那么一般需要12MHz晶振,倍频4倍得到48MHz。RTC时钟需要比较准确的1S(1秒)定时,所以需要32.768KHz的晶振。 你说的波特率一般是针对串口的,其他通讯一般不用“波特率”。用不同的晶振,要得到同样的波特率,所需要做的分频是不一样的,所以你看到的设置就不同了。 |
|
2008-07-15 21:13:54 |
|
 |
|