Le DS1077 est une source d’horloge programmable de 5 Volts, 133 MHz à 16 kHz. Le diviseur de fréquence intérieure est configuré sur une interface I2C facile, ainsi que la puce ne nécessite aucune pièce extérieure. Pas faible pour moins de 2 $. Nous avons utilisé le pirate de bus pour tester cette puce avant de l’utiliser dans un projet. Obtenez la fiche technique (PDF) ainsi que conformément à.
DS1077, $ 1.69 directement à partir de Maxim + 10 $ de livraison.
Cette puce n’est pas encore offerte à aucun type de grands distributeurs, mais Maximate maximum pour moins de 2 $ / chacune avec des frais d’expédition à plat. Il s’agit d’une puce d’installation de surface SOIC 8PIN, nous avons donc fait des tests un peu de cassure.
Circuit de test
Connexions PIN
Pirate de bus
DS1077 (PIN)
SCL
SCL (8)
SDA
SDA (7)
Aux
OUT1 (1)
+ 5Volts
VCC (3)
Gnd
GND, Ctrl (4,5,6)
Nous avons alimenté le DS1077 de l’alimentation 5 Volt du pirate du bus. Deux résistances, R1 ainsi que R2, tirent le bus I2C à 5 Volts quand il n’est pas utilisé. Le condensateur C1 est 0.01UF ainsi que C2 est 0.1UF, comme suggéré par la fiche technique. Gérer les broches Offrez des fonctions supplémentaires, mais nous les avons contournement de la terre pendant notre test. La sortie1 est la goupille principale du signal d’horloge.
Interface
Adresse
But
0B10110000
Adresse de base par défaut (0xb0)
0xb0
Adresse écrite
0xb1
Adresse de lecture
Nous mettons le pirate de bus en mode I2C (m, options: I2C, 100KHz). Les résistances de pull-up extérieur contiennent le bus à 5 Volts, il est donc essentiel de quitter les résistances de pull-up intégrées de 3,3 Volts (par défaut).
I2C> {0B10110000} <- DS1077 Compose Adresse 210 i2c commencent condition 220 I2C Ecrire: 0xb0 a obtenu ACK: En effet <- a obtenu ACK Condition d'arrêt 240 I2C I2c>
Premièrement, nous diffusons l’adresse de la DS1077 ainsi que voir si elle reconnaît. L’adresse du DS1077 est 1011, plus trois bits programmables (000 par défaut), ainsi que la sortie choisi (1) ou composent (0) bit. Nous avons eu un ACK, nous comprenons donc que le circuit fonctionne aussi bien que nos connexions sont bonnes.
Adresse
Octets
S’inscrire
0x01
2
Diviseur d’horloge 10 bits, N + 2 (DIV)
0x02
2
PRESCALER, CTRL PIN Fonctions. (Mux)
0x0d
1
ADRESSE SELECT, EEPROM COMPOSE CONTRÔLE. (AUTOBUS)
0x3f
0
Enregistrer les paramètres sur EEPROM (E2)
Le DS1077 est géré par la composition des valeurs aux endroits indiqués dans la table.
I2c> {0xb0 0x0d 0b00001000}, <-write to bus registre 210 i2c commencent condition 220 I2C Écrire: 0xb0 a obtenu ACK: En effet <-DS1077 Compose adresse 220 I2C Écrire: 0x0d a reçu ACK: En effet <- Registre de bus 220 I2C Ecrire: 0x08 Got ACK: En effet <- Cadre de registre de bus Condition d'arrêt 240 I2C I2c>
Par défaut, le DS1077 enregistre toutes les modifications de l’EEPROM. Nous n’exigeons pas cela lors des tests, nous le désactivons donc en définissant le bit 3 (0B1000) du registre de bus (0x0D). Les trois premiers premiers bits doivent être laissés à 0, les trois derniers bits choisissent l’adresse pour s’adapter à plusieurs DS1077 sur le même bus I2C. Voir la feuille de données page 7.
I2c> {0xb0 0x02 0b00011000 0b00000000} <-Se la valeur mux 16 bits 210 i2c commencent condition 220 I2C Écrire: 0xb0 a obtenu ACK: En effet <-DS1077 Compose adresse 220 I2C Écrire: 0x02 a reçu ACK: En effet <-MUX registre 220 I2C Écrire: 0x18 a été ACK: En effet <-Data Byte 1 220 I2C Écrire: 0x00 Got ACK: En effet <-Data Byte 2 Condition d'arrêt 240 I2C I2c>
Le registre du MUX contrôle les prescaleurs, les fonctions de code PIN CTRL, ainsi que le diviseur de fréquence. Nous désactivons le prescalaire ainsi que les broches CTRL, ainsi que permettre le diviseur de fréquence 10 bits. Le registre du MUX est expliqué à la page 5 de la fiche technique.
Des fréquences spécifiques sont produites en divisant la fréquence de recommandation de 133 MHz avec les préliminaires ainsi qu’un diviseur programmable de 10 bits (niveau 1025). L’horloge est divisée par le montant spécifié dans le registre DIV, plus deux. Lorsque Div = 0, la sortie est de 133 MHz / 2 = 66 MHz.
Ce plan fournit la meilleure résolution de fréquence dans des gammes basses, ainsi qu’aucune étape entre 133 MHz et 66 MHz.
I2C> {0XB0 1 0B11111111 0B11000000} <-DIV = 1025 210 i2c commencent condition 220 I2C Écrire: 0xb0 a obtenu ACK: En effet <-DS1077 Compose adresse 220 I2C Écrire: 0x01 a reçu ACK: En effet <- Div Register 220 I2C Écrire: 0xFF a reçu ACK: En effet <- BITS 9: 2 220 I2C Écrire: 0xc0 a reçu ACK: En effet <- BITS 1: 0 Condition d'arrêt 240 I2C I2c> f <--do un compte de fréquence 9xx Nombre de freq sur AUX: 16128HZ (16KHz) <- DS1077 FRÉQUENCE I2c>
Nous définissons tous les bits du registre DIV sur 1 pour une division de fréquence maximale. ‘F’ étapes la fréquence sur la broche AUX, qui est liée à la sortie d’horloge DS1077. Avec DIV = 1025, la fréquence est d’environ 16 kHz.
I2c> {0xb0 1 0 0 0} <- Div = 0, 133MHz Diviser par 2 ... 9xx Freq Comptez sur AUX: 0Hz <-66MHz, aussi vite à compter ----- I2c> {0xb0 1 0 0b10000000} <- div = 2 ... 9XX FREQ Compte sur AUX: 3339696HZ (33MHz) <-133mHz / 4 ----- I2c> {0xb0 1 0B00000001 0B00000000} <-DIV = 4 ... 9XX FREQ Compte sur AUX: 22192384HZ (22 MHz) <-133MHz / 6 Nous pouvons jouer avec le diviseur et produire une variété de fréquences. La sortie est toujours égale à la fréquence de la recommandation (133 MHz) divisée par DIV + 2. La broche d'entrée du pirate du bus n'est capable que de mesurer environ 50 MHz. Les plus grandes vitesses ne s'inscrivent pas. Une future version du busPirate devrait inclure un prescalaire Gigahertz pour une mesure haute fréquence. I2c> {0xb0 0x3f} <-write e2 registre Enfin, nous pouvons composer le registre E2 (0x3f) pour enregistrer ces paramètres dans l'EEPROM. Le DS1077 reviendra maintenant à ces paramètres à la mise sous tension. Conclusion Le DS1077 simplifie les sources d'horloge complexes en déplaçant un oscillateur programmable ainsi que des diviseurs de fréquence en une seule puce. Il n'est pas offert des distributeurs, mais vous pouvez l'acheter directement à partir de Maxim. Si vous exigez beaucoup mieux à gérer les hautes fréquences, inspectez la DS1085 avec des étapes de 10 kHz à partir de 133 MHz à 8KHz. Le DS1085L est une version de 3,3 Volt, 66 MHz offerte à DigiKey.