G1 a continuar nossa sequência de vídeos sobre temporizadores nesse vídeo eu vou dar mais detalhes sobre o modo de comparação ou como usar os comparadores e um temporizador e eu queria começar o vídeo falando sobre um conceito que importante sobre os canais de um timer temporizador a gente viu no vídeo passado que ele é formado por três elementos principais uma referência de tempo ou seja um coloque um contador de Hits que incrementam seu valor a cada batida do Coque e um comparador a saída do contador vai para o comprador a Uma das entradas e comparador
só que esse valor é comparado com um determinado Limiar desse Limiar vai ficar salvo no registro e aquilo Chamar esse de Limiar serão e a comparação desses dois valores resulta num sinal de igualdade que aqui estou chamando de igual. Zero e nada impede que a gente use o valor do temporizador valor do contador para mais de um comparador E aí se conjunto de um registro de Limiar mais um comparador digital nome de um canal do timer e eu posso ter n canais é um timer ele é mais rico quando você tem diversos canais e a
gente vai ver como que a gente usa esses diferentes recursos Então até ambos de nomenclatura aqui o canal n de um timer eu vou representar tudo com a terminação n tá eu Limiar n é o sinal de igualdade e com n e por aí vai e agora o canal zero ele é um importante Ele é super importante porque o sinal de igualdade é o único capaz de zerar o contador vocês devem ter visto no final do vídeo passado eu consigo no modo ap modo de contagem do computador estabelecer um teto de Contagem eu consigo limitar
o valor de Contagem antes do valor máximo isso é feito através desse feedback esse feedback permite que quando o valor de terra for igual ao valor do imi a 0 o sinal de igualdade vai valer um E então vamos zerar o timer quando chegar nesse valor é ele continua a contagem a partir de zero então o Linea zero tem um significado especial que é o teto de Contagem no modo AP e os outros canais eles são usados para várias funções assim como o canal zero é ele tem significados genéticos tão um sinal de igualdade não
é usado apenas para zerar o contador o sinal de igualdade ele gera ele seta 1 free pop que segura o valor de uma Flag chamada de ifn-g e f g é o nome de interruptor Flag a gente ainda vai estudar interrupções mas por enquanto a gente vai usar esse valor como se fosse um valor de 1 bit é o valor que está salvo no hip-hop que a gente vai ler esse valor ler e zerar ele bom então toda vez que o sinal de igual vale um esse filho próprio é sentado Quando o sinal de igualdade
vai para zero esse floop guarda o valor então esse essa entrada detector de detecção de Franco ela é um sinal de sete né ele vai setar o valor do flip-flop toda vez que tiver um frango de subida e não vai virar então o timer nunca zera a Flávia d e f g quem vai gerar essa Flag é o processador mais tarde eu tô a gente chama de Flag eu até desenho aqui uma bandeirinha para a gente detectar que isso aqui Vai representar então um evento e um evento que acontece no tempo já que eu tô
contando um número que tem uma referência de tempo então no final das contas essa flecha é um marcador temporal de algum evento que aconteceu no tempo esse evento é o timer PR chegou No Limiar eu quero né então a Flag n vai comprar o valor do timer com o Limiar n e as frente de operação elas são super úteis tá é um conceito bastante interessante que funciona bem em conjunto com o conceito de canal pra gente vai chamar esse conjunto de o registro de linear mais o comparador mais a Flag de um canal né todo
tudo que vai junto aqui é o canal do time então eu posso TN canais agora vou falar um pouquinho mais sobre essa Flag o sistema de comunicação da freg o nome Flag vem do da caixa de correio no sistema americano né o carteiro vem deposita uma carta na sua casa e aí o carteiro ele levanta a bandeirinha dessa caixa de correio e ele na hora que colocou ele faz isso manualmente tá ele pega lá com a mão dele Levanta a bandeirinha para avisar você aqui uma carta chegou que você tem correspondência para você não precisar
ficar toda vez Abrindo a caixa e olhar inutilmente né com aquela esperança de pôr Será que tem uma carta para mim e toda vez não p né então o corrente Avisa o carteiro vai lá e te aviso a hora chegou o carta nova você assim que ela ver a bandeira levantada falou que beleza Chegou carta para mim vai lá e pega as cartas quando você pega as cartas e vê lá né A Carta dos seus colegas que moram longe ou então você pode até ficar triste com esse boleto para pagar muito mais frequente né É
esse o caso você vai e abaixa a Flag e não é para o carteiro chegar e colocar mais mas cartas e depois levantar ou abaixar a a bandeirinha é uma sinalização para você mesmo saber quando o carteiro chegou e colocou mais cartas porque se a bandeirinha tiver levantada e o carteiro colocou mais cartas ele não vai abaixar e levantar Bandeiras você não vai perceber que isso aconteceu a bandeira vai continuar levantada só a bandeira levantada é uma sinalização de que um evento aconteceu ou seja as cartas foram depositadas pois sistema de comunicação ele é traduzido
numa Flag e f g e no sistemas de informática né os sistemas computacionais de microprocessadores e o carteiro é o periférico e o coletor de cartas é o processador no caso específico dos tempos dos temporizadores o timer é o carteiro ele que vai depositar uma cartinha vai falar de um evento aconteceu e o programa do usuário é que tem que responder abaixando a bandeirinha né Falando que essa que esse evento aconteceu indicando que a gente aconteceu e que você está pronto para receber novas cartas que você está pronto para receber novos eventos tá sabendo desse
conceito Vamos explorar mais o funcionamento do comparador o primagi no comparador dá um toque tá contando esse exemplo gente viu no vídeo passado é o computador o registro time está contando lá de 0 até e né se era até o seu 2 elevado a n valor máximo e aqui eu tenho dois Linhares o primeiro CTO linear em 4 o que fez o sinal de igualdade desse canal e para um durante esse tempo e depois eu mudei o Limiar para 11 o que faz o contador o sinal de igualdade para um durante essa janelinha de tempo
aqui em que os dois sinais são iguais como o flip-flop ele é sensível flanco de subida e o sinal daí FG ele vai para um nesse frango aqui e a gente tem que pensar que o processador ele é muito mais rápido do que o timer ele tá sempre a mostrando essa Flag tá olhando para esse valor aqui muito rápido e aí quando ele detecta que o valor foi para um ele instantaneamente trata aquele evento né Logo em seguida ele trata evento e logo abaixa a tag então é muito como você ver né esse esse caso
aqui o sinal de igualdade foi para um ele ficou em um a Flag foi para um o processador já tratou o evento já Zerou a Flag e o sinal de igualdade continuem um mas a Flag não foi para um mais ela não vai para um durante esse tempo porque porque senão floop que tem o valor de 7 sensível a borda sem Silva Franco então ele esse valor da UFG só é citado uma vez no flanco de subida do pico Oi Teresa e como é que eu uso isso aqui eu gostaria de mostrar para vocês em
detalhes como funciona o contador do msp430 essa é uma sub parte é metade do temporizador né É só a parte de referência de referência de tempo e a parte do contador aqui e ele tem algumas configurações todas elas a gente é vinho algumas a gente vai ver agora umas novas né quase todas a gente viu então era só eu tenho um registro no timer e até um timer de tipo ah o timer a control CTL pa CTL esse x aqui indica Instância do timer então pode ser o timer0 timer um timer 2 eu tenho vários
trailers então para o timer0 Eu tenho um contador então ter a zero CTL é o registro de configuração desse contador nesse em gesso de configuração Eu tenho algumas entradas como por exemplo os or select até as or select um chão uma entrada chamada input devider e a gente já vai ver o funcionamento dela para que que ela serve uma entrada chamada modo de Contagem Mc e uma entrada de Clear aos LR uma entrada de inter Latina aí para gente vai ver só depois e uma entrar e um valor aqui de uma e f g uma
Flag e os or select Arc or select é o seletor desse multiplexador aqui da nossa referência de tempo que eu tenho a escolha do a clock do esse Block e de dois blocos externos que podem ver De Pinus fora do me controlador e o clock ter selecionado ele pode ser dividido por valores fixos de 1 até 8 e posteriormente divididos ainda mais de 1 até 8 de passos de um eu tô aqui eu tenho eu ando em potência de 2 né nesse ponto de vai ver aqui e no intuito de Wagner eckstein der né e
cx AD extended eu consigo dividir por valores ainda mais então o máximo que eu consigo dividir é oito vezes oito né valor bem maior que 8 e é 64 no caso né Então esse é o clock do timer o clock do timer então Gero from subida para o time do TR contar se eu quiser eu posso por software zerar o time através do sinal criar que tá aqui em baixo o Clear Então faz com que o valor de ter Vá para zero e começa a contagem 0 e eu tenho uma saída que é chamada de
ripple country é um sinal que detecta overflow quando a transição para o zero esse sinal aqui vai sentar Flag do tfg o processo muito semelhante é o que a gente viu lá nos compradores só que aqui é específico do contador e eu tenho uma entrada chamada modo de Contagem ao que permite selecionar um daqueles quatro modos o modo Stop um modo ap módulo aptidão e o continu e esse cara aqui recebe o sinal de igualdade do canal zero que justamente para detectar aquela transição do modo aptidão para quando ele chega no máximo ele começa a
decrementar né o sinal de igualdade também é direcionado para o cliente ele pode zerar o timer é ao mesmo tempo que o usuário pode também zerar Steiner manualmente e vamos ver um exemplo aqui de um caso em que eu quero configurar esse contador para usar o armlock como fonte de entrada não quero dividir porém o valor com a coloque para mim serve quero começar a contagem a partir do zero Então vou citar o cria e vou selecionar o modo de Contagem aqui com o modo AP e para fazer isso então eu vou escrever a seguinte
linha de código o Terra zero control então registro de configuração t0 cpl para configurar a Instância zero desse Timer para receber o valor terá sorte select então no campo terá força let eu vou selecionar o valor de a clock é um modo de Contagem eu quero modo anp tem uma bota dois underline cima do Happy aqui eu tenho dois no celular está bem e eu quero citar o teckler prazer as contador que começar a contagem a partir de zero e quando o certo tem a Clear eu não preciso zerar ele depois isso é feito automaticamente
no timer Então isso é uma maneira bem prática de começar a contagem de 0 a E agora se eu quiser observar a Flag de overflow para poder realizar alguma ação para saber quando que se timer contou até o final Então vou ficar observando esse valor aqui ó que é um dos Campos fez registro e é isso Campo aqui então eu vou pegar esse valor aqui e vou filtrar apenas esse Beach vão ver como é que faz isso então vou criar uma trava de execução no mesmo Da mesma forma que a gente fazia lá Henrique aí
ou para observar os pinos eu faço um enquanto Lion o valor de t h e f g dentro do registro ta0 CTL então um e Comercial aqui para fazer um filtro de 20 nenhum Beach Test e enquanto esse valor for 0 Ou seja eu vou inverter esse valor lógico aqui para condição dentro dos parentes ser verdadeira quando o valor de TF F10 Então se esse cara que for zero esse valor investido Vai resultar no valor um que é verdadeiro bom então aqui eu vou ter uma condição que é verdadeira enquanto o valor 0 e termino
com ponto-e-vírgula justamente para fazer a minha trava de execução né para não ter nenhum código dentro desse Lion nenhuma linha de código bem desse Lion eu fico travado aqui nesse Uai o infinitamente né fica travado aqui até que até a e f g vai para um quando essa Flag for para um eu vou sair dessa trava execução e Executar a próxima linha a próxima linha Então eu tenho que reagir a esse evento zerando a Flag e realizando alguma ação Então vou pegar o valor dentro do registro t0 CTL eu vou limpar a Flag terá II
FG E aí são dois exemplos bem clássicos e vai usar bastante quando ele for configurar contadores aqui tô falando sobre as instâncias o nosso me comprador tem quatro instâncias de timers tem três do timer de tipo ah o ter a 0 o T1 ou T2 e tem uma Instância do tipo b o t b 0 a gente vai ver diferenças deles daqui a sem ser a próxima aula na outra e o time de tipo ah esse Terra zero aqui tem o número de compradores de cada uma dessas instâncias é diferente tá então tá em brazero
tem cinco comparadores enquanto tá embrião tem três comparadores e o timer 2 também tem três comparadores cada um desses times tem um contador por exemplo t0 tem um registro de contagem t0rre tem cinco comparadores do ccr0 até o ccr4 pra gente vai chamar aqueles lineares que eu te chamei até agora nem os comparadores de CCR então caption Comper rede ter a parte de captura o caption gente ainda não vai ver agora entregar na próxima aula mas por enquanto esse é o registrador de comparação com Perry witness Tour eu não vou ter lá o ccr0 você
R15 R2 até o ccr4 bom então todo time tem um contador e n compara dois a Instância um terá um tem o t1r e o tenha um ccr0 até um ccr1 et16 R2 porque são três compara dois o terá dois mesma coisa e o time B tem sete comparadores então ele tem desde o tb0 ccr0 até o TV zero ccr6 dá para gente ir uma grande Gama de possibilidades para gerar vários sinais sincronizados com o mesmo temporizador o ok sabendo disso eu queria denotar aqui a no seguinte nomenclatura com vocês eu vou sempre escrever teaches
I cry onde X é um número da instância ou seja representa tudo bloco de um temporizador mais comparadores e o y representa 11 desses comparadores certo Um dos compradores dentro do timer dentro de uma Instância do tiger Ah tá vou ver como é que a gente usa aí são diferentes modos de Contagem de dentro do timer pra uso de canais de comparação cada canal de comparação tem um registro de configuração e eu queria que vocês notassem aqui a diferença no nome desses dois registros a gente já conhece o a o registro de configuração do computador
que altera xcpl bom então esse registro de controle aqui tem o software químico devider o modo de Contagem o Clear E aí FG essas partes que a gente ainda não viu que ele vai vir mais tarde eu deixei mais escurinho aqui para não influenciar tanto aqui em cima eu mostrei o número do Beach né então tenho dois do bit 0 até o bilhete 15 bom e cada comparador cada canal de comparação dentro de um timer tem o seu registro de conformação Tem Vários valores aqui que a gente vai ver na próxima aula que por enquanto
não interessam o que a gente só está interessado hoje é esse c c e f g que é aquela Flag que vai para um quando o comparador é detecta né uma igualdade entre o registro de contagem do time do TR heur valor do Limiar que a gente configura no CCR e tu nisso quando eu tenho aquele mesmo gráfico não é um modo de Contagem Ops é do meu contador eu posso sentar o teto de Contagem com o ccr0 ele é o contador especial eu sei que ele representa o teto de Contagem então ele é o
que ele vai me determinar o período de repetição Então ccr0 ele pode ser visto como um um sinônimo de período de repetição claro que o tempo de fato eu tenho que multiplicar o valor de 60 por eu vou ccr0 mais um né Por o período do coque e os valores dos demais comparadores de dentro de uma mesma distância do timer são valores que você pode usar para detectar transições internas dentro dessa curva aí você pode responder esses eventos internos por exemplo eu posso usar isso para criar uma forma de onda é absolutamente arbitrária E se
eu quiser fazer alguma forma de onda desse tipo aqui ó eu posso basta colocar eventos específicos né Em cada um desses bolinhas aqui e para detectar então cada uma dessas transições eu vou usar uma trava de execução por exemplo para detectar a transição pelo teto de Contagem né o ccr0 eu vou colocar uma trava de execução while not até a zero cctl 0 a perceba agora um duplo c&c do sinal do registro configuração do canal e o número zero aqui é o canal zero dentro do timer 0 Oi e aí eu vou filtrar apenas a
Flag syn CF gente essa Fred aqui que eu quero detectar quando que houve igualdade nos compara 2 E se eu quiser detectar o do canal um então eu faço uma trava dizer que o celular eu tenho a zero CCE tr1 e seja feliz e do canal dois mesma coisa então Esse travesseiro são ela aí ela detecta a transmissão dessa bolinha verde Aqui quanto que segundo detecta transmissão dessa bolinha amarela aqui e o primeiro da bolinha laranja Olá neste módulo Happy eu queria mostrar para vocês o que que qual que é a equivalência né o entre
o valor dos do comparador interno que não é o teto de montagem com o evento da Frida e f g é que a gente vai detectar com processador é tão uma ccr0 já falei ao teto de Contagem ele permite então estabelecer o período do de repetição você R1 CRN né Qualquer comprador que não seja zero pode ser usado para detectar um evento intermediário seu aumento o valor de cr1 olha só é o valor do evento ele anda para frente então eu aumento a fase de sinal né o o evento vai acontecer mais tardiamente e se
eu abaixo o valor de vocês e R1 então eu diminui eu avanço né o tempo que acontece aí FG Então existe um mapeamento entre o valor de CCR e o momento no tempo que acontece o evento da freg Oi para o modo ap esse evento ele é basicamente diretamente proporcional seu aumento série o evento acontece mais tarde se eu diminuir CCR o evento acontece mais cedo e agora no modo rapidão é mais curioso porque não modo rapidão seus incrementar o valor de cr1 as os eventos produzidos pela comparação né do CCR um com o contador
o registro do timer aqui eles vão se aproximar então Observe agora se eu incremento valor desse R1 Então os valores dos eventos das Flex se aproximaram da metade do período é do centro do período e seu diminuir esses valores se afastam então é uma mudança de fazer um pouco mais complexo eu tinha anterior esse modo ele é muito interessante se você quiser gerar sinais que são simétricos em relação a metade do período e é para isso que serve o modo avião a gente vai ver casos de uso nos exercícios e também nos próximos vídeos G1
bom e é isso gente eu vou botar então alguns exercícios na nossa aula síncrona para gente ir praticar o uso do comparadores dos dos comparadores e do contador até loguinho