Sistema de Clock
Sistema de Clock
Sistema de Clock
Sistema de Clock
• Normalmente, o clock pode ser dividido por um fator ( 2, 4, 8 etc.), denominado PRESCALER.
• Um clock lento e contínuo para monitorar em tempo real, que consuma pouca
energia e que seja preciso.
• Muitas vezes, é necessário manter um intervalo de tempo real, permitindo que a
CPU possa despertar periodicamente (a cada segundo ou minuto, por exemplo)
ou por uma marcação de tempo de eventos externos.
Introdução
• O módulo de clock poderá trabalhar com osciladores distintos sendo os mesmos internos
ou externos ao módulo.
• Entre os osciladores podemos destacar:
• Cristal Quartzo,
• Ressonador Cerâmico, Sistemas Digitais III
• Circuito RC e
• Módulos osciladores. Programação C
para MCU (MSP430)
Sistema de Clock
Introdução
• Cristal de Quartzo
• Preciso - a frequência é próxima a informada no encapsulamento, normalmente
dentro de uma parte em 105.
• Estável - não muda muito com o tempo ou temperatura.
• Normalmente geram uma frequência elevada de alguns MHz para controlar o bus Sistemas Digitais III
principal ou uma baixa frequência de 32.768 Hz para um relógio de tempo real
(RTC). Programação C
• São caros e delicados, o oscilador consome uma corrente relativamente grande, para MCU (MSP430)
especialmente na alta frequência.
• O cristal é um componente extra e pode necessitar de dois capacitores.
• Osciladores de cristal também levar um longo tempo para iniciar e estabilizar,
Sistema de Clock
muitas vezes cerca de 105 ciclos, que é um efeito colateral inevitável da sua alta
estabilidade.
Pino
C1 OSC1
XTAL
Pino
C2
OSC2
• Ressonador Cerâmico
• Têm características bastante similares aos cristais de quartzo.
• São ligados da mesma maneira que os cristais de quartzo.
• Têm a vantagem de serem muito menos onerosos, entretanto são menos estáveis
e precisos quando comparado com os cristais. Sistemas Digitais III
• São usados para frequências entre os 100KHz e os 20MHz.
Programação C
para MCU (MSP430)
Pino
Sistema de Clock
C1 OSC1
X1
Pino
C2
OSC2
Pino
R OSC1
Pino
OSC1
C
Pino
Pino
OSC2
OSC2
Introdução
• Oscilador Externo
• A fonte de relógio externo é ligada ao pino OSC1.
• Mais caros e
• Utilizado para garantir o sincronismo com vários microcontroladores.
Sistemas Digitais III
Programação C
Pino
para MCU (MSP430)
OSC1
Oscilador
Externo
Sistema de Clock
Pino
OSC2
Introdução
• Família MSP430x1xx - Módulo de Clock Básico (BCM – Basic Clock Module): Sistemas Digitais III
• Família MSP430x2xx - Módulo de Clock Básico Avançado (BCM+):
Programação C
Família MSP430x4xx - Módulo de Clock de laço amarrado em frequência (FLL+ Frequency Locked Loop):
para MCU (MSP430)
Sistema de Clock
• Vamos estudar a estrutura básica do BCM que está presente nas famílias que utilizamos
em nossos laboratórios (MSP430x1xx e MSP430x2xx ).
Módulo de Clock – Visão geral
Estrutura interna da família MSP430G2XXX
Programação C
para MCU (MSP430)
Sistema de Clock
O módulo de Clock do MCU tem como função a geração de diversos clocks para o
sistema.
Módulo de Clock – Visão geral
ACLK (Auxiliary clock Clock auxiliar)
ACLK
Auxiliary clock
Oscilador de Baixa/Alta Clock auxiliar Sistemas Digitais III
Frequência
LFXT1 Programação C
para MCU (MSP430)
MCLK
Master clock
Oscilador Controlado
Digitalmente
SMCLK
DCO Subsystem main clock
Clock secundário
Módulo de Clock – Estrutura interna BCM+
LFXT1 Programação C
para MCU (MSP430)
MCLK
Master clock
Oscilador Controlado
Digitalmente
SMCLK
DCO Subsystem main clock
Clock secundário
Módulo de Clock – Estrutura interna BCM+
DCO
Gerando o SMCLK a partir do Módulo de Clock
Programação C
para MCU (MSP430)
Sistema de Clock
SMCLK
Subsystem main clock
Clock secundário
Gerando o SMCLK a partir do Módulo de Clock
• Configurando o SMCLK.
SELS = 1 XT2
Sistema de Clock
SMCLK
Fontes
Subsystem main clock Periféricos
Clock secundário
Gerando o SMCLK a partir do Módulo de Clock
Programação C
para MCU (MSP430)
c
Sistema de Clock
Gerando o SMCLK a partir do Módulo de Clock
Programação C
para MCU (MSP430)
Sistema de Clock
Gerando o SMCLK a partir do Módulo de Clock com a fonte DCO
• Configurando a fonte de clock selecionada do SMCLK.
Programação C
para MCU (MSP430)
Sistema de Clock
Oscilador Controlado
Digitalmente
SMCLK
DCO Subsystem main clock
Clock secundário
Gerando o SMCLK a partir do Módulo de Clock com a fonte DCO
• Configurando o DCO para a fonte de clock selecionada do SMCLK.
Programação C
para MCU (MSP430)
Sistema de Clock
Gerando o SMCLK a partir do Módulo de Clock com a fonte DCO
Condição
default
Programação C
para MCU (MSP430)
Sistema de Clock
Gerando o SMCLK a partir do Módulo de Clock com a fonte DCO
Programação C
para MCU (MSP430)
Sistema de Clock
Gerando o SMCLK a partir do Módulo de Clock com a fonte DCO
Programação C
para MCU (MSP430)
Sistema de Clock
454kHz Programação C
para MCU (MSP430)
769kHz
1,23MHz
Simulado no
Proteus
(Slaa120 –
MSP430F1121)
Gerando o SMCLK a partir do Módulo de Clock com a fonte DCO
• Ciclo de trabalho gerado pelo software X hardware.
• Habilite também o canal A do osciloscópio para observar o sinal gerado em P1.2, oriundo
do código do programa, juntamente com o sinal gerado pelo DCO em P1.4.
Programação C
para MCU (MSP430)
Sistema de Clock
Gerando o SMCLK a partir do Módulo de Clock a partir do DCO
• Ciclo de trabalho gerado pelo software X hardware.
Sinal Programação C
gerado pelo para MCU (MSP430)
Software
Sistema de Clock
Sinal
gerado pelo
hardware
SMCLK
• Porque o sinal gerado pelo software, ao contrário do sinal gerado por hardware, NÃO
apresenta o ciclo de tralho de 50%, se a macro __delay_cycles apresenta CICLOS=1
tanto para nível lógico alto como baixo?
Gerando o SMCLK a partir do Módulo de Clock com a fonte DCO
• Avaliando o RSEL/DCO para obtenção de um clock de 1MHz.
Programação C
para MCU (MSP430)
Sistema de Clock
Figura 4.5 (Página 116 do arquivo slau049f MSP430x1xx Family - Users Guide).
Gerando o SMCLK a partir do Módulo de Clock com a fonte DCO
• Avaliando o RSEL/DCO para obtenção de um clock de 1MHz (Ex02 Faixas RSEL).
Programação C
DCO=7 | 1,98MHz
DCO=0 | 869kHz para MCU (MSP430)
DCO=7 |1,18MHz
DCO=0 | 540kHz
Sistema de Clock
Simulado no
Proteus
(Slaa120 –
MSP430F1121)
Gerando o SMCLK a partir do Módulo de Clock com a fonte DCO
• Afinando o DCO ~1MHz com base no modulador (MOD).
Programação C
para MCU (MSP430)
Sistema de Clock
Gerando o SMCLK a partir do Módulo de Clock com a fonte DCO
MOD T us F MHz
0 1,063 0,94
• Afinando o DCO ~1MHz com base no modulador (MOD). 1 1,059 0,94
2 1,055 0,95
3 1,052 0,95
• O ajuste da frequência é obtido com base na seguinte equação: 4 1,048 0,95
5 1,045 0,96
6 1,041 0,96
7 1,038 0,96
8 1,034 0,97 Sistemas Digitais III
• Onde a constante MOD define com que frequência discreta 9 1,031 0,97
10 1,027 0,97
fDCO+1 será usada em 32 ciclos de clock. 11 1,024 0,98 Programação C
• Os ciclos de clock restantes (32 – MOD) usará a frequência 12
13
1,020
1,017
0,98
0,98 para MCU (MSP430)
discreta fDCO. 14 1,013 0,99
15 1,010 0,99
16 1,006 0,99
17
18
1,003
0,999
1,00
1,00 Sistema de Clock
• Condições dos testes: 19 0,996 1,00
20 0,992 1,01
• RSEL=4 , pois contém a F=1MHz na sua faixa. 21 0,989 1,01
• DCO=5 F=0,952MHz Estas frequências foram 22 0,985 1,02
Programação C
para MCU (MSP430)
Sistema de Clock
• Como foi possível observar o sinal SMCLK se o mesmo não encontra-se conectado
externamente?
Gerando o SMCLK a partir do Módulo de Clock com a fonte DCO
• Compartilhamento dos terminais do MSP (Diagrama interno do MSP430F1121).
Programação C
para MCU (MSP430)
Sistema de Clock
Sistema de Clock
Gerando o SMCLK a partir do Módulo de Clock com a fonte DCO
• Observando o sinal SMCLK.
Programação C
para MCU (MSP430)
Sistema de Clock
Gerando o SMCLK a partir do Módulo de Clock com a fonte DCO
• Observando o sinal SMCLK.
Programação C
para MCU (MSP430)
Sistema de Clock
Gerando o SMCLK a partir do Módulo de Clock com a fonte DCO
• Configuração do registro de função especial/alternativa P1SEL(Ex03 Modulação DCO).
Simulado no
Proteus
(Slaa120 –
MSP430F1121)
Gerando o ACLK a partir do Módulo de Clock com a fonte LFXT1CLK
• Configurando a fonte de clock selecionada do ACLK.
Oscilador de Baixa/Alta
Frequência ACLK
Auxiliary clock
LFXT1 Clock auxiliar Sistemas Digitais III
Programação C
para MCU (MSP430)
Sistema de Clock
MSP430F1121
Programação C
para MCU (MSP430)
Falha no oscilador
Sistema de Clock
• Registro adicional que inibe a atuação de blocos específicos do sistema de clock.
Material necessário para o estudos dos módulos do MSP430
• Para que possamos realizar as configurações do MSP430 são necessários dois manuais
para cada família:
• User Guide (Guia do usuário): Neste manual cada um dos módulos periféricos terá
o seu comportamento detalhado, entretanto este é um manual genérico para uma
família do MSP:
• slau049f MSP430x1xx Family (Família iniciada com 1 :1121.147,147,149,1611) Sistemas Digitais III
• slau144j MSP430x2xx Family (Família iniciada com 2 :G2553,G2121,F2121)
• Data sheet (Folha de dados): Este manual é bem mais específico, sendo assim Programação C
cada manual fica restrito a alguns MSPs. Nele serão apresentadas as características para MCU (MSP430)
físicas do CI. Tais como pinagem, funcionalidade de cada terminal com as
respectivas funções especiais ou alternativas, características elétricas com tensões e
correntes de trabalho, frequências possíveis de operação do sistema de clock dentre Sistema de Clock
outras.
• slas256d MSP430F11x Family (Família iniciada com F11:1121,1122,1132)
• slas735j MSP430G2X53 Family (Família iniciada com G2 e finalizada com
53:2153, 2253, 2353, 2453, 2553)
Questionário
1. Quais são os caminhos possíveis de identificar a frequência padrão (default) do MCKL
do MSP430F1121, considerando que não haja um cristal externo conectado?
2. Faça uma configuração dos registros do sistema de clock e no de seleção de funções
especial/alternativa de tal forma que seja obtido um ACLK = 250KHz, SMCLK~1MHz e
um MCLK~4MHz. Para resolver este problema insira uma fonte de clock na entrada
XIN=1MHz. Gere o projeto no IAR e faça a simulação no Proteus utilizando o exemplo
slaa120. Sistemas Digitais III
Programação C
para MCU (MSP430)
Sistema de Clock