您可以为PIC微控制器选择任何晶体吗?


8

我正在使用PIC16F690,我知道内部振荡器具有某些值(20,8,4 ...)。

我想放置一个外部8MHz晶体,但只能找到8.8MHz或7.6MHz。

我想知道是否可以将其中的任何一个放到PIC上,还是必须精确地是8MHz?另外,我该如何选择每个电容器?

Answers:


10

您可以使用任何晶体,只要它在指定PIC晶体驱动器的频率范围内即可。

可以将大多数PIC的晶体驱动器(我没有专门查看您的PIC,这是您的工作),可以设置为三种不同的驱动级别,通常称为LP(低功耗),XT(晶体)和HS(高速)。较慢的晶体功耗较低,但可以支持的最大晶体频率较低。HS模式可能会过速运行并损坏敏感的低频32768 Hz晶体,如手表中使用的晶体。三种晶振驱动电平的总和范围从几十kHz到20 MHz,这是PIC无论如何都能最快地驱动。

另一点是您要使用为并联谐振应用指定的晶体。这意味着其频率是为PIC晶体驱动器驱动晶体的方式指定的。这些晶体将指定一个负载电容。串联谐振晶体可以工作,但频率可能不在容差范围内。


非常感谢 。我的问题是内部振荡器为我提供了0.47us的指令时钟,而不是0.5us-8MHz的时钟。所以我想一个EXTERNAL振荡器会更准确。真的吗?另一件事,我不明白如何为那个f设置保险丝?
Curnelious

4
@Curn:是的,外部晶体比内部振荡器更精确。即使是廉价的晶体也能达到50 ppm的价格,而通常以20 ppm的价格也不会花太多钱。至于配置设置,这些都在数据表中进行了详细描述。对于8 MHz的晶体,您将要使用HS模式。
Olin Lathrop

8

假设您没有超出芯片,编程的保险丝和应用代码的时钟速率规格,则可以使用任何您喜欢的晶体。数据手册将说明要使用的电容器。


3
值得注意的是,更改时钟速率也会更改诸如波特率和间隔计时器之类的计算。看起来很明显,但是很容易忘记。
Scott Winder

@Scott:仅当您编写不负责任的代码并使用硬编码的波特率除数。使用正确的编码,您可以更改一个数字,即振荡器频率,并且一切都将在构建时自动从中得出,当然还要进行错误检查,以检查是否可能或超出范围。您说对了,但是您确实要记住更改一个数字。
奥林·拉斯洛普

1
@OlinLathrop:我同意您的频率稍有变化。但是,剧烈的频率变化可能需要修改波特率发生器的前和/或后标量,以将中频保持在推荐范围内。在计时器方面,某些时钟频率开关可能会导致溢出,并且任何不同的频率都将为您提供不同的时钟分辨率,因此修改计时器计数(使用频率宏)只是解决方案的一部分。定时器时钟也可能需要修改以获得所需的精度和长度。
Scott Winder

1
@Scott:但这就是在构建时计算或至少检查过的东西。如果您对诸如预分频器之类的东西进行硬编码(通常是不必要的),而新的指令频率不支持您要执行的操作,则构建时代码将引发错误以提醒您。如果可以处理,它会默默地处理。频率变化没有任何理由静默地引起问题。那只是不好的编码。
Olin Lathrop

@OlinLathrop:我不同意。我只是指出,即使编码良好,它也不总是像更改单个数字那样容易。无论如何,在更改频率时都需要注意。
Scott Winder

0

如数据表所述,您可以使用高达20Mhz的振荡器。对于电容器,数据表可以告诉您使用哪种类型的电容器,但是对于电容器的数量,您应该使用自己的经验。


1
虽然“经验”始终是一件好事,但所需的负载电容取决于晶体,应在晶体数据手册中指定。这与并联谐振频率有关。此外,应考虑uC引脚和走线的杂散电容。
2013年

@ Rev1.0太好了,谢谢!我投票给你。例如,我看到了此数据表:html.alldatasheet.com/html-pdf/236074/CRYSTEKCRYSTAL/CYSDXX / ...在它的右侧,您可以看到一个表格(标准零件号)。我应该用它来选择电容器吗?例如对于16MHz,我应该使用20pf电容器吗?
Roh 2013年

1
不,给定的负载电容是所需的总电容,而不是两个电容器的值。计算CX = 2 *(CL-Cstray),其中CX是您需要的电容器,CL = 20pf,Cstray取决于您的设计(大约2-5pf)。
2013年

1
Cstray是微控制器引脚(数据表)的电容+电路板上走线的寄生电容(可以在知道走线的长度,宽度和层的情况下近似得出)。如果这仅是一个业余项目,则假定5pf,可能还不错。
2013年

1
阅读并理解这个 :)。“如果未指定Cin和Cout,则每个值的猜测值为5 pF是一个好的开始。”
2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.