Quelles sont les différentes sources d'horloge pour les horloges à usage général?

13

J'essaie de générer un signal d'horloge propre de 11,289 MHz à partir de l'horloge à usage général, GPCLK0 sur GPIO4. L'itinéraire suggéré est d'utiliser le cristal de 19,2 MHz comme source, ce qui semble fonctionner pour les fréquences plus basses, mais peu importe ce que j'essaie, il est réglé par défaut sur 2,5 kHz. En lisant la documentation, cela semble impliquer que les sources PLL doivent être utilisées.

Quelles sont les informations supplémentaires sur les sources mentionnées? Particulièrement:

  • 4 = PLLA par
  • 5 = PLLC par
  • 6 = PLLD par

Voir page 107 - Registre de contrôle d'horloge de la documentation périphérique du BCM2835.

Oreilles de chien
la source
Avez-vous résolu le problème? Je voudrais aussi générer un signal d'horloge (entre 2 et 10 MHz), car je voudrais lire les données des registres à décalage. Mais je ne peux pas le faire fonctionner. Comment puis-je configurer le GPCLK0 sur la broche GPIO4 pour une sortie de signal d'horloge? Merci!
user3171

Réponses:

5

Bien qu'il ne soit pas spécifié explicitement, j'ai supposé à partir de la spécification que:

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

À partir de cela, je suggère ce qui suit:

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

Si je lis bien les spécifications, cela produira:

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

Vous pouvez essayer MASH en 2 et 3 expérimentalement si ceux-ci fonctionnent mieux. Vous pouvez également essayer les horloges PLL plus lentes, bien que la précision en souffrira probablement légèrement. Ceci est également mentionné dans la documentation:

Dans les applications où la gigue est un problème, la source d'horloge disponible la plus rapide doit être utilisée.

Nakedible
la source
6

J'ai fait un peu d'expérimentation avec les horloges à usage général.

Ces informations semblent être correctes (à la date de publication).

Reportez-vous à http://www.raspberrypi.org/wp-content/uploads/2012/02/BCM2835-ARM-Peripherals.pdf pages 102-108. Les fréquences d'horloge ont été déterminées par expérience. Il est peu probable que l'oscillateur (19,2 MHz) et le PLLD (500 MHz) changent.

Sources d'horloge

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

Le diviseur entier peut être 2-4095. Le diviseur fractionnaire peut être 0-4095.

Il n'y a (probablement) pas de limite de 25 MHz pour utiliser des valeurs de purée non nulles.

Il y a trois horloges à usage général.

Les horloges sont nommées GPCLK0, GPCLK1 et GPCLK2.

Les horloges sont accessibles à partir des gpios suivants.

N'utilisez pas GPCLK1 (il est probablement utilisé pour l'horloge Ethernet).

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)
joan
la source