Você está na página 1de 6

Documento: Tutorial

Com suporte da NI: Sim


Publicao: Ago 23, 2012

Recursos de temporizao e sincronizao do NI-DAQmx


ndice
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.

Viso geral
Por que temporizar e sincronizar?
Uma API que trabalha ocultamente
Medies de modo misto
Entradas/sadas analgicas sincronizadas
Sincronizao de sinais no analgicos
Opes de roteamento de sinal
Funcionalidade avanada
Sincronizao entre vrios dispositivos
Concluso

A srie Iniciando com o NI-DAQmx da National Instruments visa ajudar voc a aprender os fundamentos de programao do NI-DAQmx. Por meio
de tutoriais no formato de texto e vdeo, esta srie levar voc da verificao da operao do seu dispositivo no Measurement & Automation Explorer
(MAX) at a programao de aplicaes de aquisio de dados usando LabVIEW. Os tutoriais so destinados tanto para os usurios menos
experientes que querem aprender a usar o DAQ Assistant, quanto para os usurios mais experientes que desejam aproveitar as vantagens dos
recursos avanados oferecidos pelo NI-DAQmx.
Viso geral
Esse documento aborda os conceitos bsicos sobre temporizao e sincronizao no NI-DAQmx. Em particular, os tpicos discutidos incluem medies de modo misto, sincronizao que vai
alm do modo somente analgico e compartilhamento de sinais de temporizao entre dispositivos de aquisio de dados (DAQ).
Por que temporizar e sincronizar?
Existem muitas aplicaes que necessitam de um controle preciso da temporizao e a habilidade de sincronizar as operaes. Por exemplo, quando voc est encarregado de medir e analisar
um elevado nmero de sinais altamente dinmicos, qualquer incompatibilidade de fase entre esses sinais pode ser inaceitvel. Para entender porque temporizar e sincronizar uma aplicao,
necessrio saber que uma medio de um sinal em um ponto especfico de tempo pode ser avaliada baseada em outro sinal no mesmo ponto no tempo, e com isso, essas aquisies precisam de
algum tipo de esquema de sincronizao. O NI-DAQmx e o ambiente de programao grfica LabVIEW fornecem a voc as ferramentas para construir facilmente esses sistemas de aquisio de
dados.
Uma API que trabalha ocultamente
O NI-DAQmx fornece muitas solues poderosas para as suas necessidades de temporizao e sincronizao. Sua funcionalidade no LabVIEW demonstra a prxima gerao de programao de
aquisio de dados. Os dias em que era necessrio definir os caminhos da fiao dos sinais entre os dispositivos se foram - O NI-DAQmx encontra automaticamente uma maneira de trazer os
sinais aonde voc precisa deles, tudo que voc tem que fazer especificar o destino. Nesse contexto, o driver opera ocultamente de forma inteligente para eliminar a complexidade da operao
de configurao. Isso, entretanto, apenas a ponta do iceberg da temporizao e sincronizao...
Medies de modo misto
Uma vez que a maioria dos dispositivos de aquisio de dados da Srie E possuem recursos de entrada/sada digital, entrada analgica, sada analgica e contador/temporizador, o desafio
frequentemente programar o dispositivo de maneira que aproveite a vantagem de cada tipo de medio com a segurana de que os dispositivos estaro sincronizados entre si. Alguns casos
incluem:
1) Entrada analgica e sada analgica iniciadas simultaneamente:
As operaes comeam simultaneamente, mas no esto sincronizadas;
Entrada analgica e sada analgica sincronizadas;
As operaes podem ser iniciadas simultaneamente e configuradas para executar na mesma taxa;
As operaes podem compartilhar o clock de amostragem.
2) Entrada analgica e sada analgica sincronizadas com um Trigger:
Compartilham clock de amostragem e trigger do hardware.
3) Operaes analgica sincronizadas e de contador.
4) Contador cria trem de pulsos como clock para operao analgica.
5) Operao de contador de portas analgicas de clock .
Na API NI-DAQmx, voc pode usar um nmero muito pequeno de VIs para realizar a maioria das suas necessidades de temporizao e sincronizao. Em particular, o DAQmx Timing.vi e
DAQmx Trigger.vi permitem que voc especifique a que intervalo os seus canais devem ser digitalizados e quando eles devem comear (ou parar). Tirando proveito do polimorfismo do LabVIEW,
esses dois VIs so capazes de definir a temporizao e trigger no apenas de sinais de entrada analgica, mas tambm da sada analgica, contador/temporizador e entrada/sada digital (veja a
Figura 1).

1/6

www.ni.com

Figura 1
Entradas/sadas analgicas sincronizadas
Um caso de uso comum que demonstra as preocupaes de sincronizao, a situao onde voc gostaria que uma operao de entrada analgica e sada analgica execute usando o mesmo
clock. Nesse caso, voc precisaria de duas cadeias de cdigo: uma para a entrada analgica e uma para a sada analgica. Em cada uma, use o VI Timing do DAQmx para especificar a
operao contnua desejada. Para a temporizao da sada analgica, deixe a entrada source como default isso significa que a sua operao de sada analgica vai funcionar de acordo com o
clock padro de sada analgica, que o clock interno. No VI Timing da entrada analgica do DAQmx, tudo que voc tem que fazer especificar a fonte que ser o clock de amostragem da
sada analgica. Isso estabelece para ambas as operaes de entrada analgica e sada analgica uma operao temporizada por meio do sinal de sada analgica (veja a Figura 2).

Figura 2
Sincronizao de sinais no analgicos
O exemplo anterior demonstrou como voc pode unir sinais analgicos de temporizao. O que acontece quando voc quer lidar com sinais analgicos e digitais combinados? Voc pode ainda
contar com a mesma quantidade de integrao direta? A resposta sim.
Imagine que as suas medies analgicas dependem de um sinal de clock no tradicional ou externo ex: Adquirir uma amostra a cada milissegundo durante 10 milissegundos, esperar 3
milissegundos e repetir novamente o processo. Nesse caso, voc pode usar o contador em um dispositivo da srie E para gerar o sinal de temporizao desejado. Mas como voc solicita para a
parte analgica que precisa us-lo como um clock? A resposta novamente, o VI Timing do DAQmx. Ao especificar sua fonte para ser um pino interno de sada do contador, a sada do contador
se tornar o clock de entrada analgica e sem usar um fio externo para conectar os pinos em um bloco terminal (veja a Figura 3).

Figura 3

A facilidade de uso demonstrada na sincronizao tambm se estende para trigger. Usando o VI Trigger do DAQmx, voc pode facilmente configurar que uma operao espere por um sinal de
trigger interno ou externo (analgico ou digital). Um bom exemplo o trigger de evento. Com trigger de evento, o dispositivo ignora os primeiros N triggers antes de comear uma aquisio. Para

2/6

www.ni.com

fazer isso, um contador usado para criar um nico pulso que permite a inicializao da aquisio de entrada analgica. O contador usa os primeiros N triggers para criar a parte baixa do pulso e
validar o trigger da parte alta do pulso para comear a aquisio real. No exemplo a seguir, h duas linhas paralelas de cdigo: a de cima configura a operao de entrada analgica, e a de baixo
configura um contador. A fonte do trigger a sada do Contador 0, sendo este configurado para produzir um pulso de trigger depois da entrada do pulso nth. Nesse caso, a base de tempo
interna de 100 kHz est selecionada como a fonte de entrada, mas voc tambm poderia ter especificado uma localizao externa para a fonte, permitindo que voc estabelea um trigger
atrasado de um trem de pulsos externo (veja a Figura 4).

Figura 4

Nota: Nos dois ltimos exemplos, Ctr0InternalOutput e Crt0Out esto referenciados como a localizao de um sinal de trigger ou clock. Ctr0Internal Out um sinal disponvel para rotas internas
da placa. O Crt0Out deveria ser usado ao rotear a sada do computador para PFI e RTSI. O exemplo na Figura 4 poderia ter usado CtrOInternal Out em vez do Ctr0Out.
Opes de roteamento de sinal

Para rotear sinais de uma localizao em um dispositivo para outra, como os exemplos anteriores demonstram, voc precisa levar algumas coisas em considerao. Primeiro, o NI-DAQmx est
configurado para rotear esses sinais? Segundo, que sinais esto disponveis para roteamento? Devido habilidade de passar esses sinais por um caminho intermedirio de comunicao, torna
necessrio o uso de um barramento de Integrao de Sistema de Tempo Real (Real Time System Integration - RTSI).
O barramento RTSI (disponvel em um dispositivo PCI como um conector de 34 pinos incluso no conector do backplane no PXI) expe 7 pinos nos quais voc pode enviar sinais de temporizao
de um dispositivo para outro (ou internamente em um dispositivo). Antes que voc possa usar esse caminho de comunicao, faa com que o driver saiba como os dispositivos no sistema esto
conectados. Para dispositivos PCI, conecte os dispositivos apropriados com um cabo RTSI e registre essa conexo no Measurement & Automation Explorer (MAX). Com o MAX 3.0, isso feito
clicando com o boto direito em NI-DAQmx Devices e escolhendo Create New NI-DAQmx Device >> RTSI Cable. Isso vai adicionar um cabo RTSI sua lista NI-DAQmx Devices. Para sistemas
PXI, tudo que voc precisa fazer identificar o sistema PXI clicando com o boto direito em PXI System >> Identify As. O barramento RTSI descrito como o barramento de trigger do PXI em
sistemas PXI. (A Figura 5 mostra um cabo RTSI conectado a um dispositivo DAQ.)

Figura 5

3/6

www.ni.com

Para ver quais sinais podem ser roteados dentro de um nico dispositivo DAQ, voc pode visualizar a aba Devices Routes no MAX. Quando voc clica no dispositivo DAQ no MAX, voc ver os
atributos do dispositivo aparecerem na janela direita de Configuration. Se voc selecionar a aba Device Routes na parte inferior daquela janela, cada rota de sinal disponvel listada. Os
quadrados verdes indicam rotas que podem ser feitas diretamente enquanto os quadrados amarelos indicam rotas que devem ser feitas atravs de algum tipo de subsistema no dispositivo. Os
subsistemas intermedirios que so necessrios para completar a rota esto listados na caixa Subsytem Used, quando o usurio passa por um quadrado amarelo. Isso pode ser til conforme
rotas indiretas, podendo s vezes interferir em outras operaes que voc est realizando (Figura 6).

Figura 6
Funcionalidade avanada
Os VIs DAQmx Timing e DAQmx Trigger oferecem funcionalidade de alto nvel para estabelecer a sua operao, mas h ocasies onde informaes de baixo nvel se tornam importantes.
Digamos que voc precisa saber qual a base de tempo em que uma operao de sada analgica est atualizando e para qual nvel um trigger de borda analgico foi configurado. Essas
informaes so expostas por meio dos Property Nodes do DAQmx Timing e DAQmx Trigger (veja a Figura 7). A partir desses Property Nodes, voc pode acessar todos os valores configurados
relevantes, seja para configur-los ou para visualiz-los.

4/6

www.ni.com

Figura 7

Um exemplo em que o Property Node do DAQmx Trigger expe funcionalidade complexa a opo retriggerable para contadores. Nas APIs anteriores, tornar um contador retriggerable mudava
completamente o cdigo para a operao do contador. Com a API NI-DAQmx, a simples incluso de um Property Node do DAQmx Trigger, definido para Start.Retriggerable, muda o contador de
um nico trigger para operao retriggerable (veja a Figura 8).

Figura 8
Sincronizao entre vrios dispositivos
Os exemplos anteriores mostraram algumas das maneiras que voc pode unir operaes (seja por meio de trigger ou temporizao) no mesmo dispositivo. Mas e se a funcionalidade de um
dispositivo no permite a caracterizao completa de um sistema? H vezes em que simplesmente a quantidade de canais de um sistema exige a combinao de vrios dispositivos. Se cada
dispositivo contm conectividade RTSI, as mesmas opes de sincronizao esto disponveis para ns em um nico dispositivo.

Figura 9

Para mostrar uma conexo entre dispositivos, no MAX, clique com o boto direito no cabo RTSI e selecione cada um dos dispositivos apropriados abaixo de Add Device to Cable. Uma vez que os
dispositivos foram adicionados, o NI-DAQmx agora aproveitar todos os caminhos de roteamento entre dispositivos disponveis (a sincronizao ser direta). Se este for um dispositivo PCI, voc
precisar adicionar fisicamente o cabo RTSI entre os dispositivos.
Agora voc pode referenciar os pinos apropriados de temporizao e trigger de outros dispositivos como o source dos seus VIs Timing e Trigger do DAQmx. (O gerenciamento do barramento
RTSI est oculto por default, entretanto a opo existe para rotear explicitamente certos sinais a pinos especficos do RTSI usando o Export Signal.vi). O exemplo a seguir demonstra como voc
pode compartilhar sinais de temporizao de um dispositivo para outro por uma operao de entrada analgica (veja a Figura 10).

5/6

www.ni.com

Figura 10

Veja que h duas operaes separadas acontecendo em dois dispositivos separados. O clock de amostragem para o dispositivo 1 foi configurado como o clock de amostragem do dispositivo 2.
Simplesmente falando, o NI-DAQmx usa o Dev1/ai/SampleClock como o clock de amostragem para o dispositivo 2. O NI-DAQmx apresenta como realmente fazer o roteamento, para garantir que
os dados sero amostrados mesma taxa em ambos os dispositivos de aquisio de dados.
Concluso

A maioria dos dispositivos DAQ da NI contm recursos que permitem que voc compartilhe temporizao e trigger. Para tirar proveito dessa funcionalidade, o NI-DAQmx, com sua caracterstica
facilidade de uso, anlise simplificada e maior desempenho, fornece a voc as ferramentas para garantir que suas medies ocorram no mesmo domnio de tempo.

Downloads
synchronization_code.zip

Informaes legais
Esse tutorial (esse "tutorial") foi desenvolvido pela National Instruments ("NI"). No caso de a National Instruments fornecer suporte tcnico a esse tutorial, isso no implicar que o contedo desse
tutorial tenha sido completamente testado e verificado, nem que a NI oferecer garantias de qualquer natureza quanto qualidade desse contedo ou que a NI continuar a fornecer suporte a
esse contedo a cada nova reviso dos produtos e drivers relacionados. ESSE TUTORIAL FORNECIDO "COMO EST", SEM GARANTIAS DE QUALQUER NATUREZA E SUJEITO A
DETERMINADAS RESTRIES, COMO ESTABELECIDO DE FORMA MAIS ESPECFICA NOS TERMOS DE USO DA NI.COM ( http://ni.com/legal/termsofuse/unitedstates/us/).

6/6

www.ni.com

Você também pode gostar