我应该如何选择晶体频率?


8

我已经看到了这样的问题该说说选择用于UART晶体,我已经看到了这样的问题这样提及32.768千赫RTC。但是,如何确定适合自己应用的晶体。

此时,我不确定我将使用哪种UART波特,但这将是标准波特率之一。能够以毫秒为单位获得半准确的时间会很好,但不是必需的。凭直觉,我认为使用微型显微镜可以使用的最快的晶体将为我提供最大的灵活性,但是我缺少什么吗?人们使用“通用”频率吗?


十分小心... :)
vicatcu 2010年

Answers:


11

老实说,我可以花几个小时来描述不同的频率以及为什么要使用它们,但是有人已经知道了!

http://en.wikipedia.org/wiki/Crystal_oscillator_frequencies

该表有一个UART列,用于告诉您将其划分为哪些UART频率。

它还会告诉您何时频率是特定通信系统的标准晶体。


如果每个人使用的晶振频率都不错,那不是很好。
Kellenjb 2010年

1
如果世界各地都在建筑物中使用相同的电源插座,那将是永续的生活,除非您将电源插座弄混了,这不是很好。
2011年

2

凭直觉,将使用适用于我的应用程序的最慢晶体。您将获得较少的时钟漂移,并且在较低频率下电路走线通常表现得更好。

顺便说一句,如果您想每隔几毫秒执行一次操作,则可以按照以下步骤进行操作:

Fosc = 25MHz. 
T=1/Fosc = 40ns; 
1ms/40ns = 25000 cycles/ms;
0xFFFF-25000=0x9E57;

on overflow TMR1:  //assuming TMR1 is 16 bit and counts every clock cycle
doEveryMillisecond;
incrementMillisecondTimer;
TMR1 = 0x9E57;

不确定使用的是哪种微处理器,但MPLAB具有实用程序来计时事件花费多长时间,因此您可以使用它来调整TMR1的复位值,以处理所有开销和/或不准确的时钟。晶体的差异可能很大,以至于在生产环境中这是不可行的……不确定。


作为对此的扩展,如果不知道在其小部件中使用哪种XTAL,则根本不要选择一个。只需保持PCB板上不存在任何点,然后等待直到您需要稳定性(例如,内部RC振荡器的校准在所需的波特率上不够好)或速度。不要修复没有坏的东西!
tyblu

同意-如果您的MCU有内部振荡器,请尝试使用该振荡器。确保正确设置配置字/保险丝。另外,您应该考虑在PCB上使用插座,这样就不必处理焊接/拆焊晶体了……好处是您可以轻松地交换它们。
艾萨克(Isaac)2010年

1
@isaac,晶体是板上最大的EMI来源之一,它应尽可能靠近接地层,不要穿过连接器,并在其周围有屏蔽线。
Kortuk

同样,@ isaac,如果您具有10ppm的时钟漂移,则无论您采用何种晶振速度都没有关系。它们都将被除以相同的潜在误差,因为更高速度的时钟必须具有更大的除法。较慢的晶体意味着在其他方面的分辨率较差。
Kortuk

@isaac我以前从未遇到过40MHz晶体的问题。我只是将它们尽可能地贴近微镜。和@kortuk响应是我认为时钟漂移不是问题的相同原因。我认为更高的时钟速度可以使我精确地接近1毫秒。
Kellenjb 2010年
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.