牛人关于晶振的问答

2014-03-211.2万
AI 快速预览详细 收起
本文解答了关于晶振的常见问题,包括晶振的作用、与CPU运行的关系、不同频率晶振的应用场景以及波特率调整方法。晶振为CPU提供时钟信号,不同频率的晶振用于不同的应用场景,如USB1.1需要48MHz时钟,RTC需要32.768KHz晶振。通过分频操作可以调整波特率,实现不同设备或协议的通讯速度。


问1:
   
看datasheet时经常会遇到晶振的问题,上网查了些资料感觉还是很迷茫,说的太理论了,希望高手给予解答,谢谢
1,晶振有什么作用?
2,晶振和时序有什么关系?
3,为什么需要有不同的晶振在一个板子上?
4,在程序中发现可以用定时器根据不同的晶振调整波特率,为什么可以一调整?
谢谢!

答1:

  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的晶振。

    你说的波特率一般是针对串口的,其他通讯一般不用“波特率”。用不同的晶振,要得到同样的波特率,所需要做的分频是不一样的,所以你看到的设置就不同了。

问答2:

    再问一下USB1.1需要的是48MHz时钟进行分频,那么一般需要12MHz晶振,倍频4倍得到48MHz。为什么不直接用48MHz晶振,而要选择倍频?
答:
    一般高频晶振容易对外围电路或受到外围电路的影响,PCB layout时需要注意, 所以有些芯片为了使用方便,采用低频晶振倍频的方式得到高频。 但这不是绝对的,很多电路采用50M甚至更高频率的晶振。

    RTC时钟需要比较准确的1S(1秒)定时,为什么需要32.768KHz的晶振。
答:数字电路都是用2进制表示数字,32768表示为1000000000000000(15个零), 这样只要检测到最高位变化,就知道1秒了,不要检查每个位,电路简单。
32.768KHZ的晶振产生的振荡信号经过石英钟内部分频器进行15次分频后得到1HZ秒信号

   
时钟一定要通过晶振产生的吗?
答:还有其他方式产生时钟,例如RC电路等,但精度不高。(容易受温度影响而漂移,就是温漂)很多单片机不要晶振,就是内部有RC振荡电路。

    为什么调整波特率实际上一般都是分频操作?而不是倍频?
答: 分频电路是数字电路,在实现上只要一个计数器加一个比较器就可以了, 而倍频电路是模拟电路,一般是PLL(锁相环)实现,实现M、N在一定范围内的M/N的倍频或分频,比较复杂,而且对电路电源的干扰敏感,所以能采用分频的一般不用倍频。

    波特率不是有大有小吗?
答: 波特率是特指某个设备或协议的通讯速度,不同的设备或协议又较大区别,同一设备或协议也可能工作在多种波特率下,例如以太网卡可以达到10M/100M/1000M,而I2C为100K/400K,RS232(串口)一般最大为115.2K

    通过分频率为什么可以调整波特率?
答:分频的原理就是用一个计数器计数输入的时钟个数,到了指定个数切换输出电平,例如一个10M的输入时钟,每个时钟切换一次输出,则输出为5M, 注意:输出一个1加一个0才是一个完整输出时钟,所以分频器输出至少是2分频,因此如果每5个时钟切换一次输出,就只有1M了。

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(1)
Grey
Grey
那问一下,陶瓷振荡器和普通的晶振 有什么大的区别吗?
Youyou
Youyou
作者
回复Angleo
印象中,记得有些抗干扰不好的单片机,在它上面短接一个充满电的大容量电容,单片机瞬间死机,而且貌似看门狗也死了。。。
Angleo
Angleo回复Youyou
石英晶振的确会靠谱很多,
陶瓷晶振只要手搭上去,单片机很容易重启。。。
共6条回复,已加载2条,点击查看更多共6条回复,已加载全部
- 没有更多了 -