通用时钟有哪些不同的时钟源?


13

我正在尝试从通用时钟GPIO4上的GPCLK0生成干净的11.289 MHz时钟信号。建议的路线是使用19.2 MHz的晶体作为源,这似乎适用于较低的频率,但是无论我尝试什么,它的默认值为2.5 kHz。阅读文档,似乎暗示应该使用PLL源。

关于上述来源有哪些进一步的信息?尤其:

  • 4 =每个PLLA
  • 5 =每个PLLC
  • 6 =每个PLLD

请参见第107页-BCM2835外围设备文档的时钟控制寄存器。


您解决问题了吗?我也想生成一个时钟信号(在2-10 MHz之间),因为我想从移位寄存器中读取数据。但是我无法使其工作。如何在GPIO4引脚上设置GPCLK0以输出时钟信号?谢谢!
user3171 '11

Answers:


5

尽管没有明确指定,但我从规范中假定:

  • PLLA = 650兆赫
  • PLLB = 400 MHz
  • PLLC = 200 MHz

据此,我提出以下建议:

SRC = 4 (PLLA), MASH = 1, DIVI = 57, DIVF = 592

如果我正确阅读规格,则会产生:

min freq = 11.207 MHz, max freq = 11.404 MHz, avg freq = 11.289 MHz

如果效果更好,您可以尝试将MASH设为2和3。您也可以尝试使用较慢的PLL时钟,尽管精度可能会稍有下降。文档中也提到了这一点:

在需要考虑抖动的应用中,应使用最快的时钟源。


6

我已经做了一些通用时钟的实验。

此信息似乎是正确的(在发布日期)。

请参阅http://www.raspberrypi.org/wp-content/uploads/2012/02/BCM2835-ARM-Peripherals.pdf第102-108页。时钟频率是通过实验确定的。振荡器(19.2 MHz)和PLLD(500 MHz)不太可能改变。

时钟来源

0     0 Hz     Ground
1     19.2 MHz oscillator
2     0 Hz     testdebug0
3     0 Hz     testdebug1
4     0 Hz     PLLA
5     1000 MHz PLLC (changes with overclock settings)
6     500 MHz  PLLD
7     216 MHz  HDMI auxiliary
8-15  0 Hz     Ground

整数除法器可以是2-4095。分数除法器可以是0-4095。

使用非零混搭值(可能)没有25MHz上限。

有三个通用时钟。

时钟分别命名为GPCLK0,GPCLK1和GPCLK2。

可以从以下gpios访问时钟。

不要使用GPCLK1(它可能用于以太网时钟)。

gpio4  GPCLK0 ALT0
gpio5  GPCLK1 ALT0 B+ and compute module only (reserved for system use)
gpio6  GPCLK2 ALT0 B+ and compute module only
gpio20 GPCLK0 ALT5 B+ and compute module only
gpio21 GPCLK1 ALT5 Not available on Rev.2 B (reserved for system use)

gpio32 GPCLK0 ALT0 Compute module only
gpio34 GPCLK0 ALT0 Compute module only
gpio42 GPCLK1 ALT0 Compute module only (reserved for system use)
gpio43 GPCLK2 ALT0 Compute module only
gpio44 GPCLK1 ALT0 Compute module only (reserved for system use)
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.