晶振设计是单片机应用设计的重要环节之一,因此很有必要了解晶振电路的特点,组成以及如何选用相关电子元件。
pic单片机有四种振荡方式可供选择,振荡方式经配置寄存器config的f0sc1,f0sc0位加以选择,并在eprom编程时写入。
表1:振荡器类型选择
f0sc1
f0sc0
振 荡 方 式
0
0
低功耗振荡lp(low power)
0
1
标准晶体振荡xt(crystal/resonator)
1
0
高速晶体振荡hs (high speed)
1
1
阻容振荡 rc(resistor/capacitor)
晶体振荡器/陶瓷振荡器:
xt、lp、hs三种方式中,需一晶体或陶瓷谐振器连接到单片机的osc1/clkin和osc2/clkout引脚上,以建立振荡,如图1所示。电阻rs常用来防止晶振被过分驱动。在晶体振荡下,电阻rf≈10mω。对于32khz以上的晶体振荡器,当vdd>4.5v时,建议c1=c2≈30pf。(c1:相位调节电容; c2:增益调节电容。)
图1
外部晶体振荡器电路:
pic芯片可以使用已集成在片内的振荡器,亦可使用由ttl门电路构成的简单振荡器电路。当外接振荡器时,外部振荡信号)仅限于hs。xt。lp)从osc1端输入,osc2端开路。
图2
图2所示的是典型的外部并行谐振振荡电路,应用晶体的基频来设计。74as04反相器以来实现振荡器所需的180°相移,4.7kω的电阻用来提供负反馈给反相器,10kω的电位器用来提供偏压,从而使反相器74as04工作在线性范围内。
图3所示的是典型的外部串行谐振振荡电路,亦应用晶体的基频来设计。74as04反相器用来提供振荡器所需的180°相移, 330ω的电阻用来提供负反馈,同时偏置电压。
图3
rc振荡:
rc振荡适合于对时间精度要求不高的低成本应用。rc振荡频率随着电源电压vdd,rc值及工作环境温度的变化而变化。同时由于工艺参数的差异,对不同芯片其振荡器频率将不同。另外,当外接电容cext值较小时,对振荡器频率的影响更大,当然,我们也应考虑电阻电容本身的容差对振荡器频率的影响。
图4
图4所示的是rc振荡电路,如果rext低于2.2kω,振荡器将处于不稳定工作状态,甚至停振。而rext大于1m[时,振荡器又易受噪声、湿度、漏电流的干扰。因此,电阻rext取值最好在3kω~100kω范围内。在不接外部电容时,振荡器仍可工作,但为了抗干扰及保证稳定性,建议接一20pf以上的电容。
pic单片机片内有一4分频电路,从osc1/clkin引脚输入或rc振荡器产生的振荡频率fosc经4分频后从osc2/clkout引脚输出4分频信号,该信号可用于测试或作为其它逻辑电路的同步信号。