• Nenhum resultado encontrado

2.3 Sistema de detec¸c˜ao e arquitetura propostos

2.3.2.2 GPIO

GPIOs (General Purpose Input/Output) s˜ao portas program´aveis de prop´osito geral que podem funcionar tanto como entradas como sa´ıdas digitais. As GPIOs n˜ao tem fun¸c˜ao definida e podem ser usadas para prover mecanismos de sinaliza¸c˜ao entre o DSP e o mundo externo.

O mecanismo de sinaliza¸c˜ao se baseia no fato de que o n´ıvel de tens˜ao de cada pino de GPIO est´a associado a um bit na mem´oria interna do DSP. N˜ao importa como o pino ´e configurado, o bit correspondente no registrador de dados reflete sempre o estado atual do pino. Em outras palavras, o bit mapeia na mem´oria do DSP, o n´ıvel de tens˜ao de cada pino GPIO. E mais que isso, permite alterar uma vari´avel a partir da outra.

Neste trabalho, o GPIO foi utilizado na medi¸c˜ao do tempo de execu¸c˜ao de trechos de c´odigo cr´ıticos e das interrup¸c˜oes. O procedimento de medi¸c˜ao ´e conhecido como bit- on/bit-off e consiste em alterar o valor de um bit em dois pontos do c´odigo e analisar, por meio de oscilosc´opio, a onda digital produzida no pino GPIO.

2.3.2.3 Interrup¸c˜oes

“Interrup¸c˜ao ´e um evento externo ou interno que faz com que o processador pare a execu¸c˜ao do seu programa atual e passe a executar um trecho especial de c´odigo chamado de Rotina de Servi¸co de Interrup¸c˜ao (ISR)” (LAPSLEY et al.,1997). O termo interrup¸c˜ao, em diversas situa¸c˜oes, ´e utilizado para designar a pr´opria rotina de tratamento, a ISR.

Antes de processar a ISR, a CPU armazena os dados do processo anterior em re- gistradores espec´ıficos. Desta forma, logo que a ISR termina, a CPU retorna ao ponto de parada do processo anterior. As vari´aveis de processo carregam o contexto de execu¸c˜ao da CPU. Por isso, a a¸c˜ao de copiar as vari´aveis ´e denominada salvar contexto. Muitos micro- processadores n˜ao implementam rotinas de salvar contexto. Neste caso, a responsabilidade recai sobre o programador. N˜ao ´e o caso do TMS320F28335.

Para trocar o contexto, a CPU demora alguns ciclos de clock. Quando a troca de contexto esta associada a uma interrup¸c˜ao, o tempo gasto na troca ´e denominado de latˆencia de interrup¸c˜ao. O latˆencia de interrup¸c˜ao depende da arquitetura do processador. Processadores mais avan¸cados tˆem Shadow Registers (Registradores Sombra) que fazem c´opia das vari´aveis de processo em apenas um ciclo de clock (SMITH, 1999). Como o TMS320F28335 n˜ao disp˜oe deste recurso, o programador deve ponderar sobre as vantagens trazidas pelas interrup¸c˜oes e as consequˆencias de seu uso.

(LAPSLEY et al., 1997) discute sobre o uso de interrup¸c˜oes em substitui¸c˜ao aos loops para implementa¸c˜ao de instru¸c˜oes repetitivas. O estudo mostra que a latˆencia de inter- rup¸c˜ao pode ser trˆes vezes menor que o tempo necess´ario para atualizar as vari´aveis de controle do loop e realizar o opera¸c˜ao de desvio de instru¸c˜ao.

A maioria dos loops executam um n´umero fixo de vezes, o processador costuma usar um registro para manter o ´ındice de loop, ou seja, o contador para o n´umero de vezes que o processador executa o loop. O processador realiza uma varredura nos dados para aumentar ou diminuir o ´ındice e testa se a condi¸c˜ao do la¸co foi cumprida. Em caso negativo, uma instru¸c˜ao de desvio condicional traz o processador de volta ao topo do loop. Todas estas etapas adicionam sobrecarga a opera¸c˜ao do loop e usam registradores preciosos. (LAPSLEY et al., 1997, p. 91)

Algumas funcionalidades s˜ao eficientes somente quando implementadas por inter- rup¸c˜oes. Atividades temporizadas, por exemplo, quando executadas dentro de um loop, exigem que o processador esteja em espera ocupada.

Programas estruturados sob interrup¸c˜oes s˜ao mais modulares e organizados. Por outro lado, a gerˆencia das interrup¸c˜oes n˜ao ´e t˜ao simples. ´E preciso analisar o momento em que cada interrup¸c˜ao deve ocorrer. Identificar trechos de c´odigo cr´ıticos, ou seja, instru¸c˜oes cont´ıguas que n˜ao podem ser interrompidas. Verificar se as interrup¸c˜oes n˜ao interferem umas nas outras.

A gest˜ao de interrup¸c˜ao exige do desenvolvedor um conhecimento profundo da ar- quitetura do hardware. ´E necess´ario saber como as interrup¸c˜oes est˜ao organizadas, quais s˜ao priorit´arias e como habilitar e desabilitar cada uma.

Os DSPs tˆem muitos perif´ericos e cada perif´erico ´e capaz de gerar uma ou mais interrup¸c˜oes. A CPU n˜ao ´e capaz de lidar com todos os pedidos de interrup¸c˜ao dos pe- rif´ericos. Por este motivo, os DSPs utilizam mecanismos de arbitragem de pedidos. No TMS320F28335, o m´odulo respons´avel pela arbitragem ´e o Peripheral Interrupt Expansion (PIE). O PIE divide as interrup¸c˜oes em 12 grupos, de acordo com a fonte. Neste traba- lho foram utilizadas apenas interrup¸c˜oes dos grupos 1 e 9. A prioridade das interrup¸c˜oes segue a numera¸c˜ao dos grupos, sendo o grupo 1 o mais priorit´ario. No grupo 1 est˜ao as interrup¸c˜oes de convers˜ao A/D e dos temporizadores. O grupo nove traz as interrup¸c˜oes da SCI. Al´em de gerenciar os pedidos de interrup¸c˜ao, o PIE tamb´em ´e respons´avel por informar `a CPU, o endere¸co de mem´oria de cada ISR.

2.3.2.4 Temporizador (Timer)

Temporizadores s˜ao contadores de pulsos de clock utilizados na gera¸c˜ao de sinais de clock de menor frequˆencia. Os temporizadores podem ser entendidos como osciladores controlados por software. Quase todos os DSPs fornecem temporizadores program´aveis. Eles s˜ao normalmente utilizados como fontes de interrup¸c˜oes peri´odicas (LAPSLEY et al.,

1997). Outra poss´ıvel aplica¸c˜ao ´e como clock para circuitos externos a partir dos pinos de GPIO.

O TMS320F28335 conta com trˆes temporizadores (CPU-Timers 0, 1 e 2). Cada tem- porizador tem um contador decrescente de 32 bit que gera uma interrup¸c˜ao quando atinge o valor zero. A interrup¸c˜ao do CPU-Timer 0 (TINT0) est´a mapeada no PIE e pode ser

usada para aplica¸c˜oes gerais. Os temporizadores utilizam o clock da CPU (SYSCLKOUT) como referˆencia. Como a frequˆencia deste clock ´e muito elevada, 150 MHz, ´e necess´ario um elemento de pr´e-escala. O elemento de pr´e-escala realiza uma divis˜ao de frequˆencia preliminar. A Figura 8 mostra o funcionamento de um temporizador padr˜ao. O per´ıodo da interrup¸c˜ao ´e definido atrav´es do valor inicial do contador, o qual ´e recarregado quando o contador chega a zero.

Figura 8 - Funcionamento b´asico de um temporizador. Fonte: baseado em (LAPSLEY et al.,1997).

Contador Pré-escala

ContadorReiniciar

Clock da CPU Interrupção

2.3.3 GPS

GPSs (Global Positioning Systems) s˜ao sistemas de navega¸c˜ao baseados em sat´elites que fornecem informa¸c˜oes a respeito da localiza¸c˜ao e hor´ario de qualquer coordenada geogr´afica na Terra.

O termo GPS est´a normalmente associado ao aparelho receptor. Existem in´umeros tipos de receptores GPS. Muitos deles s˜ao equipamentos de bolso com interface para intera¸c˜ao com humanos. Neste trabalho, utilizamos o receptor ET322 da Globalsat R

. O ET322 ´e um modelo bastante simples, consiste em uma pequena placa de circuito com pinos para acesso `as informa¸c˜oes dos sat´elites. Como mostra a Figura 3, cada esta¸c˜ao conta com um GPS. Os GPSs se comunicam diretamente com os DSPs, promovendo o sincronismo entre as esta¸c˜oes. O sincronismo ´e importante porque o sistema supervis´orio utiliza a diferen¸ca entre os hor´arios dos alarmes para calcular a localiza¸c˜ao dos vazamentos. A proposta inicial era que os DSPs comunicassem com os GPSs apenas quando um vazamento ocorresse. Contudo, no momento do vazamento, a comunica¸c˜ao com o sistema supervis´orio se intensifica. Para evitar conflito entre as comunica¸c˜oes e sobrecarga da rede, foi decidido pela implementa¸c˜ao de um rel´ogio interno no DSP.

A comunica¸c˜ao entre DSP e GPS foi estabelecida por meio da interface de comuni- ca¸c˜ao serial B (SCIB). As seguintes configura¸c˜oes foram adotadas: taxa de transmiss˜ao de 4800 bps, 1 bit de parada, nenhum controle de fluxo e paridade. A comunica¸c˜ao ´e regida pelo protocolo NMEA0183. Na configura¸c˜ao padr˜ao, o GPS envia cinco mensagens a cada segundo: GGA, GLL, GSA, GSV e RMC. O hor´ario global est´a contido na mensagem RMC. O DSP envia uma requisi¸c˜ao que desabilita as demais mensagens. O fabricante garante um atraso m´aximo de 1 µs em rela¸c˜ao ao hor´ario dos sat´elites.

2.3.3.1 Rel´ogio interno

O rel´ogio interno ´e um contador implementado no DSP que utiliza a interrup¸c˜ao peri´odica TINT0 para atualizar o hor´ario obtido junto ao GPS.

O hor´ario fornecido pelo GPS obedece ao formato hhmmss.sss, ou seja, tem precis˜ao na casa dos milissegundos. Apesar de fornecer o hor´ario com precis˜ao de milissegundo, o GPS s´o ´e capaz de enviar a mensagem RMC a cada segundo. Por isso, o temporizador CPU-Timer 0 foi regulado para promover interrup¸c˜oes peri´odicas a cada milissegundo, atualizando o hor´ario com a m´axima precis˜ao e sem necessidade de comunica¸c˜ao constante entre DSP e GPS. A l´ogica de atualiza¸c˜ao do rel´ogio interno ´e mostrada na Figura9.

Figura 9 - Fluxograma do rel´ogio implementado no DSP. Fonte: (AVELINO,2009)

início incrementa milissegundo milissegundo = 1000? zera milissegundo incrementa segundo segundo = 60? zera segundo incrementa minuto zera minuto incrementa hora hora = 24? zera hora minuto = 60? sim sim sim sim

Como mostrado na subse¸c˜ao2.3.2.3, a interrup¸c˜ao do CPU-Timer 0 tem prioridade m´axima no PIE. Isso garante que nenhuma interrup¸c˜ao possa atrasar a atualiza¸c˜ao do rel´ogio.

2.4 Descri¸c˜ao do duto

O sistema de detec¸c˜ao foi implantado num duto de 9,6 km de extens˜ao e 16” de diˆametro. O duto ´e totalmente pressurizado e transporta uma mistura multif´asica de ´oleo bruto, ´agua e g´as, entre duas esta¸c˜oes de transferˆencia, referenciadas a partir deste momento como esta¸c˜oes A e B. O fluido ´e transportado da esta¸c˜ao B para a A usando, para isso, um total de 18 bombas: 16 na esta¸c˜ao B e 2 na A. Os ligamentos e desligamentos de bombas s˜ao constantes, acarretando em perfis de press˜ao com muitos transientes. A press˜ao na entrada do duto varia entre 18 e 24 bar e na sa´ıda alterna na faixa de 14 a 17 bar.

Como o m´etodo de detec¸c˜ao proposto se baseia em modelos de assinaturas, foram necess´arias simula¸c˜oes de vazamentos. Os vazamentos foram simulados por meio de v´al- vulas localizadas nas esta¸c˜oes. Foram escolhidos 2 pontos de simula¸c˜ao na esta¸c˜ao B e 3 na A. As Figuras 10 e 11 mostram as plantas das esta¸c˜oes, com foco na localiza¸c˜ao dos sensores e dos pontos de simula¸c˜ao.

Figura 10 - Esquema da Esta¸c˜ao A.

16'' Nominal 2,90 m 0,40 m 0,87 m 0,87 m Sensor 1 Fluxo Saída do duto 16'' Nominal 4,10 m Sensor 2 COSASCO 6,47 m Ponto de simulação 3 3/4'' Nominal 0,27 m 0,70 m 0,17 m 0,37 m Ponto de simulação 1 3/4'' Nominal 0,44 m 0,53 m ReSebedor de Pigs Ponto de simulação 2 2'' Nominal Tonel Caixa API

Os dois primeiros pontos de simula¸c˜ao da esta¸c˜ao A est˜ao localizados no recebedor de pigs, como mostra a Figura 10. J´a o terceiro ponto fica numa deriva¸c˜ao de 3/4”, em paralelo com a v´alvula de fechamento do recebedor. Para simular vazamentos no ponto 3 ´e necess´ario garantir que o recebedor est´a isolado do resto do duto, vazio e com a mesma press˜ao da caixa API. Por isso, al´em de fechar a v´alvula de 16”, ´e preciso abrir a v´alvula do ponto 2. Satisfeitas estas condi¸c˜oes, o recebedor de pigs funciona como uma extens˜ao da caixa API.

Figura 11 - Esquema da Esta¸c˜ao B. 3,00 m 0,18 m 0,36 m 0,69 m 0,16 m 1,70 m 0,95 m 5,66 m 0,19 m 0,16 m 0,75 m Caixa API Entrada do duto 0,60 m Fluxo 16'' Nominal Ponto de simulação 1 3/4'' Nominal Sensor 1 Sensor 2 12'' Nominal Ponto de simulação 2 2'' Nominal Caixa API Caixa API

A situa¸c˜ao mais cr´ıtica para o sistema de detec¸c˜ao ´e quando o vazamento ocorre pr´oximo a uma das esta¸c˜oes. Pois, nesta condi¸c˜ao, o transiente hidr´aulico chega a outra esta¸c˜ao muito atenuado.

Nesta se¸c˜ao foram apresentados os principais m´etodos de detec¸c˜ao de vazamentos. Os m´etodos foram classificados de acordo com o funcionamento e comparados. O m´etodo de transiente de press˜ao

3 O SISTEMA DE AQUISI ¸C ˜AO DE DADOS

Eu sempre digo que, quando se pode medir aquilo sobre o que fa- lamos e conseguimos exprimir essa medida em n´umeros, sabemos algo a seu respeito, mas quando n˜ao podemos exprimi-la em n´ume- ros, nosso conhecimento ´e limitado e insatisfat´orio. Pode at´e ser o come¸co do conhecimento, mas o pensamento ter´a avan¸cado muito pouco para o est´agio cient´ıfico, seja qual for o assunto.

Thorson, Sir William A interven¸c˜ao direta dos humanos sobre os processos industriais diminui ano ap´os ano. Atividades antes manuais passam, cada vez mais, a ser exclusividade das m´aquinas. Neste cen´ario, os processos tornam-se mais r´apidos e a necessidade de conhecˆe-los minu- ciosamente aumenta. O conhecimento profundo sobre uma aplica¸c˜ao ´e a primeira etapa para a sua automa¸c˜ao. ´E, tamb´em, uma quest˜ao de seguran¸ca, uma vez que o processo automatizado n˜ao disp˜oe da habilidade humana de encontrar solu¸c˜oes diante ao inespe- rado.

O conhecimento sobre qualquer fenˆomeno vem atrav´es da observa¸c˜ao. A observa¸c˜ao ´e o primeiro passo, ´e a fonte de informa¸c˜ao. O segundo passo ´e an´alise das informa¸c˜oes, a correla¸c˜ao entre fatos, que leva `a constru¸c˜ao de padr˜oes. O terceiro passo ´e utiliza¸c˜ao dos padr˜oes para a tomada de decis˜oes, que por sua vez, levam a novas observa¸c˜oes.

N´os humanos geralmente associamos o termo observa¸c˜ao `a vis˜ao. Mas devemos lem- brar que o termo ´e bem mais amplo. A observa¸c˜ao refere-se a toda e qualquer forma de capturar informa¸c˜oes. Mesmo dispondo de cinco sentidos, a nossa capacidade de obser- va¸c˜ao ´e muito limitada. A vis˜ao, por exemplo, corresponde as informa¸c˜oes de um curto trecho do espectro de frequˆencias. O trecho da audi¸c˜ao ´e ainda mais estreito.

Conforme a necessidade se fez presente, n´os humanos tivemos que construir equipa- mentos que permitissem ampliar a capacidade de observa¸c˜ao. Estes equipamentos, deno- minados transdutores, nada mais fazem do que traduzir uma informa¸c˜ao que n˜ao pode ser sentida em outra que est´a dentro do dom´ınio de observa¸c˜ao. Para Fran¸ca (1997), “o transdutor ´e o componente respons´avel pela transforma¸c˜ao da grandeza de processo em outra que o sistema de aquisi¸c˜ao de dados possa usar”. Entende-se grandeza de processo como qualquer grandeza f´ısica mensur´avel. J´a sistema de aquisi¸c˜ao de dados pode ser de- finido como o conjunto de todos os equipamentos e procedimentos de adequa¸c˜ao de sinais utilizados para levar a informa¸c˜ao at´e o observador.

Os sistemas de aquisi¸c˜ao e an´alise de dados s˜ao fortemente dependentes das caracte- r´ısticas do processo controlado, sendo a quantidade de dados e a frequˆencia de amostragem dos sinais os aspectos mais cr´ıticos (SERRANO et al., 2001). A frequˆencia de amostragem

depende, em primeira instˆancia, da dinˆamica do sinal a ser tratado. Geralmente, utiliza-se o Teorema de Nyquist para definir a taxa de amostragem.

O Teorema de Nyquist estabelece uma taxa de amostragem m´ınima que reduz a perda de informa¸c˜ao por efeito aliasing. ´E importante salientar que em diversas situa¸c˜oes a perda de informa¸c˜ao provocada pelo efeito aliasing n˜ao tem influˆencia significativa sobre a aplica¸c˜ao. Por isso que a escolha da taxa de amostragem deve considerar aspectos como a finalidade dos dados adquiridos. Se os dados n˜ao ser˜ao usados para reconstru¸c˜ao fiel do sinal anal´ogico, o uso do Teorema de Nyquist n˜ao ´e obrigat´orio.

Uma das principais caracter´ısticas dos sistemas de aquisi¸c˜ao de dados ´e a seletivi- dade. Atrav´es dos equipamentos e procedimentos ´e poss´ıvel extrair apenas a informa¸c˜ao de interesse. Definir bem a informa¸c˜ao de interesse leva `a redu¸c˜ao no custo do sistema. Por isso, a maioria dos sistemas de aquisi¸c˜ao e an´alise de dados s˜ao ad-hoc (SERRANO et al., 2001). O termo ad-hoc significa constru´ıdo para atender uma demanda espec´ıfica, onde s˜ao inclu´ıdos al´em dos aspectos cr´ıticos (frequˆencia de amostragem e quantidade de dados), aspectos relacionados a prazo e custo.

Muitas empresas fornecem solu¸c˜oes comerciais para aquisi¸c˜ao de dados. O problema ´e que tais solu¸c˜oes tendem a ser generalistas, j´a que o objetivo ´e conquistar o maior n´umero de compradores poss´ıvel. As solu¸c˜oes comerciais s˜ao vi´aveis quando a aplica¸c˜ao depende de recursos b´asicos e em larga escala (muitos canais de convers˜ao A/D, por exemplo). A maioria das aplica¸c˜oes n˜ao utiliza a escala de recursos dispon´ıvel nas solu¸c˜oes comerciais e, por isso, muitas vezes os recursos s˜ao subutilizados.

Aplica¸c˜oes que exigem atributos especiais praticamente n˜ao encontram solu¸c˜oes co- merciais. O sistema de detec¸c˜ao de vazamentos apresentado nesta disserta¸c˜ao ´e um caso. A detec¸c˜ao de vazamentos baseia-se no reconhecimento de assinaturas. As assinaturas s˜ao estabelecidas por meio da an´alise offline dos dados de press˜ao obtidos ao longo do duto. At´e este ponto, a maioria dos sistemas comerciais atende aos requisitos. O problema ´e que a velocidade das ondas de press˜ao negativa ´e importante para a localiza¸c˜ao dos vazamen- tos e, por este motivo, h´a a necessidade de capturar dados de forma s´ıncrona em ponto distribu´ıdos. Esta especificidade da aplica¸c˜ao exigiu a constru¸c˜ao de sistema de aquisi¸c˜ao ad-hoc.

Documentos relacionados