ENCICLOPÉDIA DE RÁDIO ELETRÔNICA E ENGENHARIA ELÉTRICA Novos modos no instrumento de medição combinado. Enciclopédia de rádio eletrônica e engenharia elétrica Enciclopédia de eletrônica de rádio e engenharia elétrica / Tecnologia de medição Durante a operação do instrumento combinado [1], o programa de seu microcontrolador foi significativamente melhorado. A nova versão 2.03 deste programa disponibiliza ao usuário, além dos já disponíveis, os modos de medição de frequência do sinal de entrada e varredura simples no analisador lógico. Novas funções são implementadas de forma puramente software, nenhuma alteração teve que ser feita no hardware do dispositivo. O modo de varredura única foi fornecido desde o início no osciloscópio do instrumento, mas o autor não o implementou no analisador lógico, embora não seja menos útil nele. Na nova versão do programa do microcontrolador, essa omissão é corrigida. Agora podemos dizer que o analisador lógico, como o osciloscópio do instrumento, possui dois modos de varredura: regular e simples. Eles são quase idênticos com duas exceções. Primeiro, o analisador lógico não mede a tensão do sinal de entrada. Esta operação não faz sentido aqui, pois os sinais dos níveis lógicos padrão são examinados. Em segundo lugar, as informações adicionais exibidas na tela sobre a posição do quadro de informações no eixo do tempo no modo analisador lógico não são sobrepostas à área dos oscilogramas e não interferem em sua observação. Portanto, seu desligamento não é implementado como desnecessário. Um exemplo de uma imagem na tela indicadora no modo de varredura única do analisador lógico é mostrado na fig. 1.
A partir do modo de varredura regular do analisador, este modo é acessado pressionando a tecla "5". Possui as seguintes teclas de controle: "4" - mova o quadro para a esquerda (para o início do buffer); "5" - pare de se mover ao longo das contagens de sinal; "6" - mova o quadro para a direita (para o final do buffer); "0" - seleção do passo do movimento (contagem ou quadro); "D" - sai do modo de varredura única. Uma descrição completa do modo de varredura única não é fornecida, pois é totalmente descrita em [2] em relação a um osciloscópio. Quanto ao modo de medição de frequência, o microcontrolador da família ATxmega permite implementar várias de suas opções. Junto com o cálculo clássico do número de períodos do sinal medido por unidade de tempo, os contadores-temporizadores deste microcontrolador são capazes de medir diretamente o período de repetição dos pulsos do sinal de entrada, o que facilita o cálculo de sua frequência de repetição. A vantagem deste método é o curto tempo de medição, no entanto, a precisão aceitável é mantida apenas até uma frequência que não exceda várias dezenas de kilohertz. A este respeito, a medição da frequência do sinal no dispositivo é realizada pelo método clássico mencionado acima. Seu princípio é simples. Um contador-temporizador gera um intervalo de tempo de medição, o segundo conta os pulsos do sinal de entrada durante esse intervalo. Se a duração do intervalo de medição for de 1 s, o número acumulado durante esse tempo no segundo contador é a frequência do sinal em hertz. No entanto, existem dificuldades na implementação deste método. Em primeiro lugar, todos os contadores-temporizadores do microcontrolador da família ATxmega [3] são de 16 bits. Isso significa que a frequência máxima medida corretamente por tal contador é limitada pelo estouro de seu registro de contagem e é igual a 216 - 1 = 65535 Hz. Isso claramente não é suficiente, visto que os elementos do microcontrolador operam até uma frequência de 32 MHz. A maneira mais fácil de aumentar a frequência mensurável máxima é diminuir o intervalo de medição. Por exemplo, reduzi-lo por um fator de quatro resultará em um aumento de quatro vezes no valor máximo da frequência medida. Ao mesmo tempo, a discrição de sua medição aumentará no mesmo fator, porque cada pulso "pesará" quatro vezes mais. Portanto, esse caminho é inadequado. É possível obter um aumento na frequência máxima medida sem aumentar a discrição da medição apenas aumentando a capacidade do contador de pulsos do sinal de entrada. A arquitetura do microcontrolador ATxmega torna isso possível ao permitir que vários temporizadores/contadores sejam conectados em série. Para obter um contador de 32 bits, basta combinar dois contadores de tempo de 16 bits. O estouro de um contador de 32 bits por segundo só pode ocorrer a uma frequência de 2 - 1 = 4294967295 Hz, portanto, o limite superior da frequência medida neste caso é limitado apenas pelas propriedades de frequência dos elementos do microcontrolador e é igual a 32 MHz. Em segundo lugar, é necessário "trazer" o sinal de entrada da linha da porta para o contador-temporizador e forçar este último a contar pulsos em um amplo intervalo de sua taxa de repetição. Em terceiro lugar, é necessário garantir a operação estritamente síncrona de todos os elementos do microcontrolador envolvidos no processo de contagem, independentemente da operação de seus outros nós, a fim de evitar todos os tipos de falhas de contagem imprevisíveis. Uma ferramenta maravilhosa disponível na família de microcontroladores ATxmega - o sistema de eventos [4] - ajudará a superar essas dificuldades. Com sua ajuda, você pode gerar todos os sinais necessários para a operação e transportá-los da fonte ao receptor com o menor atraso possível e, o mais importante, estável. O diagrama funcional do medidor de frequência implementado no dispositivo em questão é mostrado na fig. 2. O equipamento da porta de entrada-saída permite analisar o estado de cada uma das suas linhas e gerar eventos caso mudem. Por exemplo, para gerar eventos para cada borda ascendente ou descendente do sinal de entrada. Os contadores-temporizadores são capazes de contar não apenas os pulsos do relógio interno do microcontrolador, mas também os sinais de eventos. A partir disso, fica claro como a contagem dos pulsos do sinal de entrada é organizada.
O sinal é aplicado na linha PF3, que é configurada como entrada e gera eventos nas bordas de subida do sinal (um evento para cada período). O contador de tempo TCC1 opera no modo contador de eventos fornecido no canal 3 do roteador de eventos. Ele também gera e envia eventos de estouro (OVF) de seu registrador de contagem de 4 bits para o canal 16 do roteador. Eles são contados pelo temporizador-contador TCD1, que está configurado para operar como um contador de 16 bits de eventos entregues no canal 4. Uma vez por segundo, ao final do intervalo de contagem gerado pelo contador-temporizador TCF0, configurado para contar os pulsos sincronizadores do microcontrolador, o programa "cola" os resultados dos contadores TCC1 e TCD1 em uma palavra de 32 bits e atribui seu valor a uma variável. Em seguida, reinicia todos os temporizadores/contadores, iniciando um novo ciclo de medição de frequência. Principais recursos no modo de medição de frequência
As principais fontes de erro de medição de frequência devem ser consideradas: 1. Configuração imprecisa da frequência do relógio do microcontrolador, como resultado da qual a duração real do intervalo de medição difere de um segundo. Este erro tem dois componentes: sistemático e aleatório. O componente sistemático é o resultado da desigualdade do valor médio real da frequência do relógio para o valor nominal. É permanente e pode ser compensado. Como fazer isso será discutido abaixo. O componente aleatório do erro surge devido a flutuações na frequência do gerador de clock. Existem alguns fatores que dão origem a isso. São instabilidade e ondulação da tensão de alimentação, ruído intrínseco dos elementos do gerador, influência da temperatura, etc. Em dispositivos de última geração, toda uma gama de medidas é usada para minimizar os efeitos nocivos de tais fatores, até a estabilização térmica e proteção contra vibração do gerador de relógio. No entanto, esse tipo de erro só pode ser reduzido, não pode ser completamente eliminado. Na cópia do dispositivo do autor, não excede ± 0,001%. Isso significa que a frequência de 5 MHz é medida com um erro de ±50 Hz. 2. Erro de discretização do resultado da medição. É familiar para qualquer pessoa que já tenha lidado com qualquer instrumento de medição digital. A origem desse erro é explicada pelos gráficos da Fig. 3. Dependendo da posição relativa no eixo do tempo dos limites do intervalo de medição e das quedas de sinal medidas registradas pelo contador, o resultado da contagem pode diferir em um. Por exemplo, no caso mostrado na figura, 6 ou 7 pulsos podem ser contados em uma taxa de repetição real de cerca de 6,6 Hz (com um intervalo de contagem de 1 s). Este efeito é preservado em qualquer razão entre a frequência medida e o intervalo de contagem. Quando uma medição é repetida várias vezes, o dígito menos significativo de seu resultado "salta" de ciclo em ciclo. O valor relativo deste erro cresce inversamente com a frequência medida. Por exemplo, uma frequência em torno de 100 Hz será medida com um erro relativo médio de ±0,5%. A uma frequência de vários megahertz e superior, o erro de amostragem pode ser desprezado. Aqui, prevalece o componente aleatório da duração do intervalo de medição.
O bloco de programa que realiza a medição de frequência foi desenvolvido, como todo o programa, no sistema de programação BASCOM AVR. Ao entrar no modo frequencímetro, o programa configura adequadamente os elementos da estrutura interna do microcontrolador envolvidos na medição de frequência: - A linha PF3, que recebe o sinal de entrada, é configurada como uma entrada que gera eventos em quedas crescentes de sinal, e o canal 3 do roteador de eventos é configurado para transmitir sinais sobre esses eventos: Portf_pin3ctrl=1 Evsys_ch3mux=&B01111011 - configura o temporizador-contador TCF0 para gerar um intervalo de medição com duração de 1 s: config Tcf0=Normal,Pré-escala=7 Tcf0_per=31249 - configura o contador-temporizador TCC1 para contar eventos vindos do canal 3 do roteador da linha PF3: configuração Tcc1=Normal Tcc1_ctrla=&B00001011 Tcc1_ctrld=&B00001011 e canal 4 do roteador - para sinalizar o estouro do temporizador-contador TCC1: Evsys_ch4mux=&B11001000 - configura um contador-temporizador para contar os eventos provenientes do canal 4 do roteador: configuração Tcd1=Normal Tcd1_ctrla=&w00001100 Tcd1_ctrld=&w00011100 Como resultado, os contadores de tempo TCC1 e TCD1 formam um único contador de 32 bits. O sistema agora está pronto para contar os períodos do sinal medido. Além disso, já está em andamento, pois cada um dos dispositivos considerados começa a funcionar imediatamente após a inicialização. Mas para obter o resultado correto, é necessário começar a contar os eventos do zero no início do intervalo de medição. Portanto, o ciclo de medição deve começar com o zeramento simultâneo de todos os três contadores-temporizadores que participam dele. É especialmente importante vincular ao início do intervalo de medição (momento de reinício do timer TCF0) o momento de reinício do timer-contador TCC1 operando na velocidade máxima. A questão da vinculação estrita do momento de reiniciar o contador-temporizador TCD1 ao início do intervalo de medição não é tão aguda. O primeiro evento que ele terá que contar só ocorrerá quando o contador-temporizador TCC1 estourar. Embora seja fornecida a possibilidade de reiniciar simultaneamente vários contadores de tempo no microcontrolador, ela é implementada apenas por meio do sistema de eventos. Não pode ser utilizado no caso em questão, pois o temporizador-contador TCC1 está configurado para receber sinais de eventos do canal 3 e não pode receber sinais de eventos de outros canais sem reconfiguração. Portanto, apenas o processador pode dar um comando de reinicialização aos contadores de tempo, e apenas um por um. O ciclo de medição de frequência consiste em duas etapas: a medição real e a formação de seu resultado. A fase de medição é descrita pelas seguintes cinco linhas do programa: Tcf0_ctrlfset=&B00001000 Tcc1_ctrlfset=&B00001000 Tcd1_ctrlfset=&B00001000 Bitwait Tcf0_intflags.0, Definir Evsys_ch3mux=&B00000000 As três primeiras linhas deste fragmento reiniciam os contadores de tempo na ordem TCF0, TCC1, TCD1. Portanto, o contador-temporizador TCC1 inicia a contagem dos eventos não no início do intervalo de medição contado pelo contador-temporizador TCF0, mas com um retardo Δt1 em relação a este momento (Fig. 4). É igual à duração da operação de reinicialização do processador do temporizador-contador TCC1. A seguir, com o mesmo atraso, o processador reinicia o contador-temporizador TCD1, após o que passa a aguardar o término do intervalo de medição. Quando esse momento chegar, o contador-temporizador TCF0 definirá o sinalizador de solicitação de interrupção de estouro no bit zero do registrador TCF0_JNTFLAGS.
Tendo detectado este sinalizador, o processador deve proibir o contador-temporizador TCC1 de outros eventos de contagem (períodos do sinal medido). Isso pode ser feito de diferentes maneiras. No nosso caso, na última operação da etapa de medição, o processador simplesmente desabilita o canal 3 do roteador de eventos. Para esta operação, ele precisa do tempo Δt2 (Fig. 4), durante o qual continua a contagem dos períodos. Se Δt2 ≠Δt1, a duração real da contagem de eventos (medição de frequência) difere em Δt2 -Δt1 a partir da duração dada do intervalo de medição, isso gera outro componente do erro de medição. Para eliminá-lo, é necessário igualar esses atrasos. No entanto, em um programa de linguagem de alto nível (incluindo BASCOM AVR), é difícil determinar os valores exatos de sua duração, pois o programador não conhece o algoritmo para traduzir as construções de linguagem usadas em comandos de máquina. Portanto, em um programa real, os fragmentos que reiniciam o temporizador-contador TCC!, bem como fixam o fim do intervalo de medição e param o TCC!, são escritos em linguagem assembly, e são tomadas medidas para garantir a mesma duração de execução desses fragmentos. Isso atinge a igualdade Δt2 =Δt1 e, consequentemente, a igualdade da duração real do intervalo de medição dado. A seguir, considere o método implementado no dispositivo para eliminar o erro sistemático associado à desigualdade da frequência do clock do microcontrolador para o valor nominal. Conforme observado acima, a consequência de tal discrepância é o desvio da duração do intervalo de medição do valor necessário de 1 s e o desvio do valor de frequência medido proporcional a ele do valor real. Em primeiro lugar, esse desvio deve ser medido. Isso exigirá um gerador de sinal exemplar com uma frequência de vários megahertz ou um conjunto de qualquer gerador suficientemente estável e um medidor de frequência exemplar. O sinal do gerador é alimentado nos slots 8 e 3 (comum) do conector X5 do dispositivo. Os códigos do arquivo Osc-Volt-2_03.hex anexado ao artigo são carregados na memória de programa do microcontrolador do dispositivo. Depois de ligar, o dispositivo é colocado no modo de contador de frequência e a frequência do gerador exemplar é medida por ele. A medição deve ser repetida 10 a 20 vezes e, em seguida, calcular o valor médio medido da frequência Fmeas. O fator de correção é calculado pela fórmula K=Farr/Fmeas, onde farr - frequência do gerador exemplar. Para inserir o coeficiente K no programa, no arquivo Osc-Volt-2_03.bas (o código fonte do programa) você precisa encontrar a linha comentada compensação: 'Temp2=Temp2*1.000004 É rotulado Compensação: para facilitar a localização. Deve ser descomentado, e o multiplicador 1.000004 (este valor é válido para a cópia do dispositivo do autor) deve ser substituído pelo valor encontrado do fator de correção K. Depois disso, é necessário compilar o programa corrigido e carregar os códigos do arquivo HEX resultante para a memória do programa do microcontrolador. Como já mencionado, o sinal cuja frequência deve ser medida é alimentado no soquete 8 do conector X5 do dispositivo, de onde entra na entrada PF3 do microcontrolador. É claro que o microcontrolador é capaz de perceber corretamente apenas esse sinal, cujos níveis correspondem aos aceitos na lógica de três ou cinco volts. Para medir a frequência de sinais de uma forma diferente (por exemplo, senoidal), é necessário um driver adicional. Bons resultados são obtidos usando a sonda comparadora descrita em [5]. Ele pode ser conectado ao soquete X5 do instrumento. Você só precisa enviar da taxa A! dispositivo ao slot livre 2 deste conector tensão +5 ou +3,3 V para alimentar a sonda (está operacional em qualquer um dos valores de tensão especificados). Conecte a sonda de acordo com o diagrama mostrado na Fig. 5.
A visualização da tela do indicador do instrumento no modo de contador de frequência é mostrada na fig. 6.
Este modo é acessado a partir do modo normal do analisador lógico pressionando a tecla "LA". Mude o dispositivo do modo de contador de frequência para outros modos pressionando as seguintes teclas: "OS" - para o modo osciloscópio; "LA" - para o modo analisador lógico; "GN" - no modo gerador de sinal. O programa do microcontrolador pode ser baixado em ftp://ftp.radio.ru/pub/2015/09/combi2-03.zip. Literatura
Autor: A. Savchenko Veja outros artigos seção Tecnologia de medição. Leia e escreva útil comentários sobre este artigo. Últimas notícias de ciência e tecnologia, nova eletrônica: Uma nova maneira de controlar e manipular sinais ópticos
05.05.2024 Teclado Primium Seneca
05.05.2024 Inaugurado o observatório astronômico mais alto do mundo
04.05.2024
Outras notícias interessantes: ▪ Comunicação Óptica com Eficiência Energética ▪ Férmions de Majorana encontrados em ditelureto de urânio ▪ Couro artificial elástico impresso em 3D ▪ Seda de aranha criada usando bactérias fotossintéticas Feed de notícias de ciência e tecnologia, nova eletrônica
Materiais interessantes da Biblioteca Técnica Gratuita: ▪ seção do site Transferência de dados. Seleção de artigos ▪ artigo A linguagem é dada a um diplomata para esconder seus pensamentos. expressão popular ▪ artigo Instrutor do centro de treinamento. Descrição do trabalho ▪ artigo Sonda com recursos avançados. Enciclopédia de rádio eletrônica e engenharia elétrica ▪ artigo Entre no buraco de uma agulha. Segredo do Foco
Deixe seu comentário neste artigo: Todos os idiomas desta página Página principal | Biblioteca | Artigos | Mapa do Site | Revisões do site www.diagrama.com.ua |