所有的嵌入式硬件都用到振荡器,振荡器是电路的“脉搏”,振荡器产生的时钟推动程序执行。
常用电路的振荡器RC振荡器,晶体振荡器
RC振荡器一般在cpu内部,一般推动程序是靠外部晶振
晶振分为有源晶振和无源晶振
主要区别:
无源晶振:
电路如下
特点:
1.便宜
2.输出有不规则频率,比如32.768/11.059
有源晶振:
1.贵
2.功耗高,一般在15mA~35mA,对于低功耗系统不合适,相当于一个小cpu功耗
有源和无源都有频率稳定性问题:
疑问:便宜的电子表怎么走那么准
答:石英晶体容易受温度影响,标称在±10~100ppm,(1ppm是百万分之一),一年大约5~50分钟。在电路中加上温度测量系统,通过测量温度对系统进行补偿。手表的温度是恒定的(人体体温),容易做补偿,所以手表很准。
对于对时钟精度要求高的系统,通常有3种办法来提高时钟稳定性:
1.直接使用温度补偿晶体振荡器,100$
2.加装温度传感器,跟踪温度并按照一定要求调整时间
3.使用原子钟,原子中精度10的12次方分之一,卫星/GPS使用