Sistema de Clock

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 41

UNIDADE 1 - ESTUDO DOS MÓDULOS PERIFÉRICOS

Denny Daniel Collina

Enderson Neves Cruz

John Kennedy Schettino de Souza


Sistemas
Digitais
III

Introdução a Visão Computacional


Powered by Larissa Coutinho, Vinícius Braga, Enderson Neves Cruz 1
Introdução

Basicamente, o sinal de clock é uma onda quadrada


cujas bordas acionam todos os dispositivos de
hardware para que as alterações nos diferentes
componentes sejam sincronizadas.
Sistemas Digitais III
Pulsos dados pelo oscilador, possibilitam a operação
síncrona de todos os circuitos do microcontrolador.
Programação C
para MCU (MSP430)

Sistema de Clock
• Normalmente, o clock pode ser dividido por um fator ( 2, 4, 8 etc.), denominado PRESCALER.

• Também pode ser diferente para a CPU e para os outros dispositivos.


Introdução

• Devido ao conflito entre as exigências de alta performance e o baixo consumo de energia,


os microcontroladores mais modernos possuem sistemas de clocks mais elaborados,
muitas vezes com duas ou mais fontes.

Sistemas Digitais III


• Clocks com especificações bastante diferentes são muitas vezes necessários:
Programação C
para MCU (MSP430)
• Um clock rápido para controlar o processador, que pode ser iniciado e
interrompido rapidamente para conservar energia, mas que geralmente não
precisa ser particularmente preciso.
• Em muitas aplicações o microprocessador passa a maior parte do tempo em um Sistema de Clock
modo de baixo consumo (LPM - Low Power Mode) até algum evento ocorrer,
quando ele deve “acordar” e manipular o evento rapidamente.

• 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

Cristais de quartzo Cristal


Introdução

• 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

Ressonadores cerâmicos Ressonador


Cerâmico
Introdução

• Oscilador RC (Resistor – Capacitor)


• Mais barato e rápido para iniciar, mas com menor precisão e estabilidade.
• Os componentes podem ser externos ou integrados dentro do MCU (oscilador
Interno).
• Indicado quando não houver, por parte da aplicação, necessidade de estabilidade e Sistemas Digitais III
precisão da oscilação.
Programação C
para MCU (MSP430)

Oscilador RC Interno Oscilador RC Externo Sistema de Clock

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

• Nos microcontroladores MSP430, são encontrados módulos de clock distintos em função


da família:

• 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

Sistemas Digitais III

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)

 Função partida automática (self wake-up) RTC para os


modos de baixo consumo (32.768 kHz);
 Sempre alimentado pelo oscilador de cristal LFXT1 ou
pelo VLO.
Sistemas Digitais III
MCLK (Master clock  Clock principal) Programação C
 Gerado inicialmente pelo DCO (mas também pode ser para MCU (MSP430)
alimentado pelo oscilador de cristal);
 Ativo e estável em menos de 6 µs;
 Usado para sincronizar a CPU e periféricos de alta
velocidade. Sistema de Clock

SMCLK (Subsystem main clock  Clock secundário)

 Usado como fonte de clock alternativa para os


periféricos.
Módulo de Clock – Estrutura interna BCM

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 de alta Frequência


Clock principal
Sistema de Clock
XT2

Oscilador Controlado
Digitalmente
SMCLK
DCO Subsystem main clock
Clock secundário
Módulo de Clock – Estrutura interna BCM+

Oscilador de Baixo Consumo/Baixa Frequência


VLO 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 de alta Frequência


Clock principal
Sistema de Clock
XT2

Oscilador Controlado
Digitalmente
SMCLK
DCO Subsystem main clock
Clock secundário
Módulo de Clock – Estrutura interna BCM+

Oscilador de Baixo Consumo/Baixa Frequência


VLO

Very Low Power/Low Frequency Oscilador de Baixa/Alta Sistemas Digitais III


Oscillator (VLO) Frequência
 4 – 20kHz (típicamente 12kHz)
 Não disponível nos modelos da
família 21x1
LFXT1 Programação C
para MCU (MSP430)
Crystal oscillator (LFXT1)
 32768-Hz watch Crystal
 Capacitores programáveis

Optional Cristal oscillator (XT2) Oscilador de alta Frequência Sistema de Clock


 400kHz - 16MHz (High-Frequency
Oscillator) XT2
 Cristal, ressonadores e clock externo

Digitally Controlled Oscillator (DCO)


 0-to-16MHz
 + 3% de tolerância Oscilador Controlado
 Calibração de fábrica na Flash Digitalmente

DCO
Gerando o SMCLK a partir do Módulo de Clock

Sistemas Digitais III

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.

Fator de divisão do clock principal SMCLK (DIVSx)


Ativação do sinal SMCLK
A seleção é feita através dos
bits DIVSx no Registrador BCSCTL2 O sinal do clock secundário pode ser Sistemas Digitais III
ativado/desativado através do bit SCG1,
Seleção da origem do clock secundário DIVSx Símbolo Fator de divisão localizado no registrador SR.
SMCLK (SELS) 00
01
DIVS_0
DIVS_1
1
2
SCG1 = 0  Sinal SMCLK ativo Programação C
A seleção é feita através do bit SELS
localizado no registrador BCSCTL2
10
11
DIVS_2
DIVS_3
4
8
SCG1 = 1  Sinal SMCLK desativado para MCU (MSP430)
SELS = 0  DCO

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

Sistemas Digitais III

Programação C
para MCU (MSP430)

c
Sistema de Clock
Gerando o SMCLK a partir do Módulo de Clock

Sistemas Digitais III

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.

Sistemas Digitais III

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.

Seleção do resistor interno

Através dos bits de controle RSELx,


localizados no registrador
BCSCTL1, seleciona-se qual dos
oito sinais do divisor programável
Funcionamento do oscilador será utilizado.
Sistemas Digitais III
O oscilador pode ser desligado, RSEL3 - RSEL2 – RSEL1 – RSEL0
caso não esteja sendo utilizado,
para reduzir o consumo. Isto
pode ser realizado através do bit Seleção do modulador
Programação C
SCG0, localizado no registrador
SR.
Seleção da frequência do DCO
O fator programado no modulador através para MCU (MSP430)
A frequência de operação do DCO é dos bits MODx, localizados no registrador
SCG0 = 0  DCO ligado selecionada através dos bits DCOx, DCOCTL, determina quantas vezes o sinal
SCG0 = 1  DCO desligado localizados no registrador DCOCTL de maior frequência fDCO+1 será utilizado
num período de 32 ciclos de DCOCLK, nos
DCO2 – DCO1 – DCO0 demais ciclos será utilizado o sinal de
frequência fDCO. Sistema de Clock
MOD4 – MOD3 – MOD2 – MOD1 – MOD0

Sinais com frequências fDCO e fDCO+1


Gerando o SMCLK a partir do Módulo de Clock com a fonte DCO

Sistemas Digitais III

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

Sistemas Digitais III

Programação C
para MCU (MSP430)

Sistema de Clock
Gerando o SMCLK a partir do Módulo de Clock com a fonte DCO

Sistemas Digitais III

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 DCO.

O SMCLK=DCO é possível observar o Momento de fé!


clock gerado pelo DCO.. Sistemas Digitais III

Programação C
para MCU (MSP430)

Sistema de Clock

• Desabilite o canal A do osciloscópio e conecte P1.4 no canal B.


Gerando o SMCLK a partir do Módulo de Clock com a fonte DCO
• Configurando o DCO e fazendo o SMCLK=DC0 (Ex01 SMCLK fonte DCO).

Sistemas Digitais III

454kHz Programação C
para MCU (MSP430)
769kHz

1,23MHz

2,06MHz Sistema de Clock

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.

Sistemas Digitais III

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.

Sistemas Digitais III

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.

Sistemas Digitais III

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).

Sistemas Digitais III

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).

Sistemas Digitais III

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

DCO+1=6  F=1,05MHz obtidas rodando na


23 0,982 1,02
• 24 0,978 1,02 Simulado no
simulação no Proteus. 25 0,975 1,03 Proteus
26 0,971 1,03
27 0,968 1,03 (Slaa120 –
Variando a modulação entre 0 e 31, aplicando a equação fornecida 28 0,964 1,04 MSP430F1121)
29 0,961 1,04
pelo fabricante, foram obtidas as seguintes frequências  30 0,957 1,04
31 0,954 1,05
• Ajustando o DCO (Ex03 Modulação DCO).
Gerando o SMCLK a partir do Módulo de Clock com a fonte DCO
• Diagrama interno do MSP430F1121

Sistemas Digitais III

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).

Sistemas Digitais III

Programação C
para MCU (MSP430)

Sistema de Clock

• O sistema de clock, assim como os demais periféricos, necessitam compartilhar os


terminais das portas digitais (P1 e P2) para conectar-se ao mundo externo do MCU.
Gerando o SMCLK a partir do Módulo de Clock com a fonte DCO

• Observando o sinal SMCLK.

O sinal SMCLK pode ser


disponibilizado externamente no pino
P1.4 do MSP430F1121. Sistemas Digitais III
Entretanto é necessário configurar o
registrador P1SEL para função
alternativa. 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.

Sistemas Digitais III

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.

Sistemas Digitais III

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).

Sistemas Digitais III


PxSEL - Registrador de Seleção de Função (Function Select Register): Utilizado para selecionar
entre função especial/alternativa e IO digital. Programação C
Bit = 0: IO digital.
Bit = 1: Função especial/alternativa – Cada terminal tem uma função especial/alternativa para MCU (MSP430)
associada. Consultar o data sheet para identificar a função associada ao terminal. Em alguns
MCUs um terminal pode ter mais de uma função especial associada ao mesmo, o que demandará
mais de um registro de seleção.
Endereço: 26H. Sistema de Clock
Condição inicial: 0.

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

Codificação da geração do ACLK


(Ex04 ACLK fonte LFXT1). Simulado no
Proteus
• Insira no Terminal XIN
(Slaa120 –
um clock externo que
MSP430F1121)
será a fonte do ACLK.
Resumo dos registros do módulo de sistema de clock do 1121

Sistemas Digitais III

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

Você também pode gostar