Digital Electronics gtgvy  

Peças: Oscilador programável de 133MHz-16.2khz (DS1077)

O DS1077 é uma fonte de relógio programável de 5volt, 133MHz para 16kHz. O divisor de freqüência interior é configurado sobre uma fácil interface I2C, bem como o chip não precisa de partes externas. Não pobre por menos de $ 2. Nós utilizamos o pirata de ônibus para testar esse chip antes de utilizá-lo em um projeto. Obtenha a folha de dados (PDF), bem como cumprir junto.

DS1077, $ 1,69 direto de Maxim + $ 10 de envio.

Este chip não é oferecido em qualquer tipo de grandes distribuidores ainda, no entanto, a máxima os tem por menos de $ 2 / cada um com uma taxa de envio de US $ 10. Este é um chip de instalação de superfície de 8Pin SOIC, por isso fizemos uma pequena placa de fuga para testes.

Circuito de teste

Conexões de pinos

Pirata de ônibus
DS1077 (PIN)

Scl.
SCL (8)

SDA.
SDA (7)

Aux.
Out1 (1)

+ 5volts.
VCC (3)

Gnd.
GND, CTRL (4,5,6)

Nós alimentamos o DS1077 da fonte de alimentação 5Volt do Pirate Bus. Dois resistores, R1, bem como R2, puxe o ônibus I2C para 5Volts quando não está em uso. Capacitor C1 é 0,01UF, bem como C2 é 0.1UF, como sugerido pela folha de dados. Gerenciar pinos oferecem algumas funções extras, no entanto, nós contornamos-os ao solo durante o nosso teste. OUTPUT1 é o pino de sinal do relógio principal.

Interface

Endereço
Objetivo

0B10110000.
Endereço base padrão (0xB0)

0xb0.
Escrever endereço

0xb1.
Ler endereço

Colocamos o pirata do ônibus no modo I2C (M, Opções: I2C, 100KHz). Os resistores de pull-up externo mantêm o ônibus em 5Volts, por isso é essencial deixar os resistores de pull-up 3.3volt (padrão).

I2c> {0b10110000} <- DS1077 Compor endereço 210 I2C começar a condição 220 I2C escrever: 0xb0 tem Ack: De fato <- Got Ack 240 I2C Stop Condition I2c>

Primeiro, transmitimos o endereço do DS1077, bem como ver se reconhece. O endereço do DS1077 é 1011, além de três bits programáveis ​​(000 por padrão), bem como o check-out (1) ou compor (0) bit. Nós temos um ACK, então entendemos que o circuito está funcionando, bem como nossas conexões são boas.

Endereço
Bytes.
Registro

0x01.
2.
10 bit relógio divisor, n + 2 (div)

0x02.
2.
Prescaler, funções do PIN CTRL. (Mux)

0x0d.
1.
ENDEREÇO ​​SELECT, EEPROM Compor o controle. (ÔNIBUS)

0x3f.
0.
Salvar configurações para EEPROM (E2)

O DS1077 é gerenciado compondo valores aos locais mostrados na tabela.

I2c> {0xb0 0x0d 0 b00001000}, <-Write to Bus Register 210 I2C começar a condição 220 I2C Write: 0xb0 Got Ack: De fato <-ds1077 Componha o endereço 220 I2C escrever: 0x0d Got Ack: De fato <- Registro de Bus 220 I2C Write: 0x08 Got ACK: De fato <- Configuração do Registro de Bus 240 I2C Stop Condition I2c>

Por padrão, o DS1077 salva todas as modificações no EEPROM. Não exigimos isso durante o teste, então desativamos a definição de bit 3 (0b1000) do registro de ônibus (0x0d). Os primeiros quatro bits devem ser deixados como 0, os últimos três bits escolher o endereço para caber vários DS1077 no mesmo barramento I2C. Veja a página da folha de dados.

I2C> {0xb0 0x02 0B00011000 0B00000000} <-Set o valor de 16 bits mux 210 I2C começar a condição 220 I2C Write: 0xb0 Got Ack: De fato <-ds1077 Componha o endereço 220 I2C Write: 0x02 Got Ack: De fato <-MUX Registre-se 220 I2C Write: 0x18 Got Ack: De fato <-data Byte 1 220 I2C escrever: 0x00 Got Ack: De fato <-data Byte 2 240 I2C Stop Condition I2c>

O registro MUX controla os prescalers, funções do PIN CTRL, bem como divisor de freqüência. Desativamos o Prescaler, bem como os pinos Ctrl, bem como permitem o divisor de frequência de 10 bits. O registro MUX é explicado na página 5 da folha de dados.

Freqüências específicas são produzidas dividindo a frequência de recomendação de 133 MHz com os prescalers, bem como um divisor programável 10bit (1025 nível). O relógio é dividido pelo valor especificado no registro div, mais dois. Quando DIV = 0, a saída é 133MHz / 2 = 66MHz.

Este plano fornece a melhor resolução de frequência em baixas faixas, bem como nenhuma etapa entre 133MHz, bem como 66MHz.

I2c> {0xb0 1 0b11111111 0b11000000} <-div = 1025 210 I2C começar a condição 220 I2C Write: 0xb0 Got Ack: De fato <-ds1077 Componha o endereço 220 I2C escrever: 0x01 Got Ack: De fato <- Div Register 220 I2C escrever: 0xff Got Ack: De fato <- Bits 9: 2 220 I2C escrever: 0xc0 Got Ack: De fato <- Bits 1: 0 240 I2C Stop Condition I2c> f <-Var uma contagem de freqüência 9xx contagem de freq em AUX: 16128Hz (16KHz) <- DS1077 FREQUENCY I2c>

Colocamos todos os bits no registro div para 1 para a divisão máxima de frequência. ‘F’ Passa a frequência no PIN AUX, que está vinculado à saída do relógio DS1077. Com DIV = 1025, a frequência é de cerca de 16kHz.

I2c> {0xb0 1 0 0} <- div = 0, 133MHz divide por 2 ... 9xx contagem de freq no AUX: 0Hz <-66MHz, bem rápido para contar ----- I2c> {0xb0 1 0 0B10000000} <- div = 2 ... 9xx contagem de freq em AUX: 3339696Hz (33MHz) <-133MHz / 4 ----- I2c> {0xb0 1 0b00000001 0B00000000} <-div = 4 ... 9xx contagem de freq em AUX: 22192384Hz (22MHz) <-133MHz / 6 Podemos brincar com o divisor, bem como produzir uma variedade de freqüências. A saída é sempre igual à frequência de recomendação (133MHz) dividida por div + 2. O pino de entrada do pirata de ônibus só é capaz de medir cerca de 50MHz, então as maiores velocidades não se registram. Uma versão futura do ônibusPirata deve incluir um prescaler Gigahertz para medição de alta frequência. I2C> {0xb0 0x3f} <-Write E2 Register Finalmente, podemos compor o registro E2 (0x3F) para salvar essas configurações no EEPROM. O DS1077 agora retornará a essas configurações no Power-On. Conclusão O DS1077 simplifica fontes de clock complexas, movendo um oscilador programável, bem como divisor de frequência em um único chip. Não é oferecido a partir de distribuidores, no entanto, você pode comprá-lo diretamente da Maxim. Se você exigem muito melhor gerenciamento de altas freqüências, inspecione o DS1085 com 10KHz de passos de 133MHz para 8kHz. O DS1085L é uma versão 3.3volt, 66MHz oferecida em Digikey.

Leave A Comment