Desenvolvimento de um data logger portátil para sinais de movimento utilizando cartões MMC

June 30, 2017 | Autor: Percy Nohama | Categoria: Data storage, Human Movement, Data Logger
Share Embed


Descrição do Produto

Desenvolvimento de um data logger portátil para sinais de movimento utilizando cartões MMC R.E.M. Farias, J.P.J Conti, E.F. Manffra, P. Nohama Programa de Pós-Graduação em Tecnologia em Saúde (PPGTS), Pontifícia Universidade Católica do Paraná (PUCPR), Brasil Resumo - Neste artigo descreve-se o desenvolvimento de um data logger portátil para armazenagem de sinais relacionados ao movimento humano. O sistema utiliza cartões MultiMediaCard™ como dispositivo de armazenamento de alta capacidade e um microcontrolador com oito canais de conversão A/D para entrada dos sinais analógicos provenientes de sensores de movimento ou eletrodos de eletromiografia. A taxa de amostragem pode ser configurada para cada canal e há um firmware que garante a precisão da taxa configurada. As características finais de taxa de amostragem, tamanho físico e capacidade de gravação revelaram-se adequadas à aplicação proposta. Palavras-chave: Data logger, cartões MMC, sinais de movimento. Abstract – This article describes the development of a portable data logger for human movement signals obtained from accelerometers, for instance. The system uses MultiMediaCard™ as its mass data storage device and a microcontroller featuring eight A/D input analog channels. The sample rate can be configured for each channel individually and the firmware was designed to guarantee that the desired sample rate is precisely accomplished. The achieved values of sample rate, physical size, storage capacity and cost have shown to fulfill the needs of the designed application. Key-words: Data logger, MultiMediaCard™, human movement signals. Introdução Em inúmeras situações clínicas, existe a necessidade de realizar um registro de sinais biomédicos por um grande intervalo de tempo. Para tanto, instrumentos de monitoração são utilizados desde a década de 1960, quando dispositivos de registro, ou data-loggers, baseados em fita magnética foram introduzidos [1]. A partir da década de 1990, começaram a ser desenvolvidos data-loggers, mais compactos e com maior capacidade de armazenamento graças às tecnologias de estado sólido e discos rígidos mais compactos [1]. Em ambiente hospitalar, geralmente, os data-loggers permanecem em locais fixos, pois a finalidade é registrar sinais de pacientes à beira do leito tais como: eletrocardiograma, pressão arterial e pressão intracraniana. No entanto, existem situações em que dispositivos portáteis são necessários, tais como a monitoração da pressão arterial ou ECG ao longo de 24h. A portabilidade é, também, fundamental quando se deseja registrar características do movimento humano durante várias horas ou fora do ambiente de laboratório. O registro do movimento só é possível com o uso de instrumentos leves e de pequeno porte. Por esse motivo, os data-loggers para registro do movimento humano só começaram a ser desenvolvidos no final da década de 1990,

quando cartões de memória, para armazenagem massiva de dados, tornaram-se disponíveis de forma abrangente. Em 1998, Moe-Nilssen e colaboradores propuseram um dispositivo para análise de marcha onde os dados, provenientes de um acelerômetro, eram armazenados em um cartão de memória de 20 MB [2]. Os dados obtidos com este dispositivo trouxeram resultados sobre as características dinâmicas da marcha [3]. A utilização de data-loggers portáteis também é bastante difundida na investigação de distúrbios de movimento, tais como a Doença de Parkinson [4][5]. Van Someren [4] e Salarian [5] utilizaram dispositivos para investigação de tremor em que sinais de sensores de movimento são registrados uma memória EEPROM de 4 kB e em um cartão de memória de 8MB, respectivamente. Mais recentemente, Hannson et al. propuseram um sistema para registro simultâneo de sinais de goniometria, inclinometria e eletromiografia [6], armazenando tais sinais em cartões PCMCIA de 20 e 40 MB. Os trabalhos citados são exemplos da utilização da tecnologia flash de memória não volátil baseada em EEPROM (ElectricallyErasable Programmable Read Only Memory). Atualmente, há memórias flash disponíveis comercialmente com capacidades que variam de 32 MB a 4 GB.

A tecnologia flash é empregada em vários modelos de cartão de memória disponíveis no mercado. Entre os mais conhecidos, destacamse: SecureDigital™ (SD), Memory Stick™, CompactFlash®, xD-Picture™ e MultiMediaCard™ (MMC), sendo que existem derivações dos modelos citados. A escolha de cartões de memória flash para data-loggers é algo natural, já que eles consomem pouca energia, ocupam pouco espaço físico são fisicamente robustos. À medida que cartões de maior capacidade são disponibilizados comercialmente, o custo por MB diminui. A fim de colocar esta capacidade maior de armazenamento disponível para análise de movimento, é necessário desenvolver dataloggers que possam suportar cartões de memória de capacidade variável. Nesse sentido, a proposta do trabalho descrito neste artigo foi o desenvolvimento de um dispositivo capaz de armazenar um grande volume de dados de sinais de movimento em um cartão de memória do tipo MMC. Dentre os vários tipos de cartões disponíveis, optou-se pelo MMC, pois seu uso permite que o sistema registre até 4GB de dados. Porém, o mais importante na escolha foi o fato de os cartões de memória de o tipo MMC possuírem padrão aberto de comunicação, o que possibilita desenvolver mais facilmente um firmware de gravação e leitura dos cartões. Metodologia O sistema foi concebido para realizar as seguintes funções básicas: conversão A/D e préprocessamento dos sinais analógicos, comunicação com dispositivo de memória e armazenagem dos dados. Para tanto, utilizou-se um microcontrolador PIC (Peripherical Interface Controller) do tipo 16F877A [7]. Um diagrama ilustrando a concepção do sistema é mostrado na Figura 1. Sinais analógicos

PIC

SPI

MMC

Figura 1 – Diagrama esquemático dos principais elementos do sistema Optou-se pelo PIC 16F877A por ser um microcontrolador comercial de baixo custo que possui características que atendem às necessidades do sistema. Possui 8 portas de conversão A/D com até 10 bits de resolução que permitem uma taxa de amostragem de até 30 ksps. Outra característica presente no PIC, e que é essencial ao sistema, é a interface MI²C que é

compatível com o protocolo SPI (Serial Peripheral Interface), um dos protocolos de comunicação sustentado pelo cartão MMC. Sendo assim, a comunicação entre o PIC e o cartão é realizada através deste protocolo, conforme ilustra a Figura 1. Antes de proceder à descrição do firmware implementado, é útil descrever algumas características da conversão A/D do PIC16F877A, do protocolo SPI e da armazenagem dos dados no cartão MMC. Pode-se escolher a resolução da conversão A/D do PIC de 1 a 10 bits. Neste trabalho, optou-se pela resolução máxima, mais adequada às aplicações em biomédica. O dado de uma conversão é armazenado em dois registradores de um byte cada. O SPI é um protocolo serial que utiliza apenas 4 conexões entre o cartão MMC e o PIC. O outro protocolo – e que é o protocolo principal do cartão – é o próprio MultiMediaCard Protocol [8]. Assim, o modo de comunicação default é o MultiMediaCard Protocol. Internamente, o cartão possui um buffer, um controlador e uma memória Flash. À medida que os dados vão sendo enviados para o cartão, o seu buffer vai sendo carregado. Quando o buffer, que é de 512 bytes está totalmente cheio, os dados são então enviados para a memória Flash. Assim, os dados armazenados no cartão devem ser enviados em blocos de 512 bytes [8]. A comunicação entre o microcontrolador PIC e os cartões MMC é algo que atualmente está tecnologicamente dominado [9]. Isto motivou a escolha por esse protocolo uma vez que as demais características do sistema já demandariam um esforço de desenvolvimento relativamente grande. Firmware Como o protocolo em comum entre o cartão MMC e o PIC é o SPI, o primeiro processo executado é a alteração do modo de comunicação de MultiMediaCard para o SPI [10]. A fim de controlar a taxa de amostragem de forma precisa, as conversões A/D são disparadas por uma interrupção controlada por um timer interno ao PIC. Assim, a taxa de conversão pode ser configurada conforme a necessidade do sinal biológico a ser armazenado. O sistema permite selecionar diferentes taxas de amostragem para cada um dos 8 canais disponíveis no PIC. Após a conversão A/D, o sistema deve enviar o sinal amostrado para o cartão. Para evitar o desperdício de espaço decorrente da ocupação de 2 bytes para uma conversão de 10 bits, foi implementado um protocolo de armazenagem. Nesse protocolo, as conversões são concatenadas de tal forma que quatro conversões A/D ocupam 5 bytes. Toda vez que um dos 5 bytes é totalmente preenchido é enviado ao cartão. O protocolo assim como o

desperdício de espaço representados na Figura 2.

sem

ele

estão

Byte1 Byte2 Byte3 Byte4 Byte5 Conversão1 Conversão2

...

Byte1 Byte2 Byte3 Byte4 Byte5 Conv1

Conv2

Conv3

Conv4

Figura 2 – Acima: desperdício de 6 bits para armazenar cada conversão A/D de 10 bits realizada pelo PIC. Abaixo: protocolo implementado para evitar o desperdício de espaço. Cada vez que um bloco de 512 bytes é enviado ao cartão (virada de bloco), são executadas instruções de comunicação entre PIC e cartão com a finalidade de confirmar a gravação dos dados. Durante a execução das instruções de virada de bloco, não é possível enviar os dados amostrados para o cartão. Para garantir a fidelidade dos dados, foi implementado um buffer FIFO. Dessa forma, as conversões que são realizadas durante o processamento de virada de bloco vão sendo armazenadas no buffer. Isso garante que nenhum dado será perdido mesmo durante processos do PIC que deixem de enviar as conversões, imediatamente, ao cartão. Na Figura 3, estão representados os processos descritos nos parágrafos anteriores e os demais processos necessários ao funcionamento do sistema. Após os processos de configuração e inicialização do cartão, o sistema aguarda um comando externo (acionado pelo usuário) para iniciar a gravação dos blocos seqüenciais. Os blocos são repetidamente enviados ao cartão até que um comando externo sinalize que a gravação deve parar ou a capacidade do cartão seja esgotada. Recuperação dos dados A leitura dos dados gravados no cartão é ® feita com auxílio do software WinHex [11]. Esse software permite a leitura do conteúdo hexadecimal do cartão MMC possibilitando também salvar os dados em arquivos texto. A fim de recuperar os dados, levando em consideração o protocolo de concatenação das conversões, foi implementado um aplicativo em ambiente MATLAB®. Este aplicativo básico fornece um vetor de valores decimais correspondentes aos sinais convertidos, respeitando a ordem temporal em que foram armazenados.

Figura 3 – Fluxograma com os principais processos do firmware implementado.

Validação do sistema As características básicas do sistema tais como a taxa máxima de amostragem por canal, a capacidade de armazenagem, foram verificadas através de testes simples desenvolvidos para este fim. Além disso, este sistema básico de armazenagem de sinais está sendo utilizado em dois sistemas portáteis em desenvolvimento. Um deles permite o registro simultâneo de sinais de ângulo articular e eletromiografia, e o outro permite a monitoração dos movimentos de portadores da Doença de Parkinson. Na segunda aplicação, os sinais analógicos são fornecidos por acelerômetros de três eixos MMA7260Q [12]. Os sinais x e y de um sensor são filtrados por filtros anti-alising passa baixa de 200 Hz e amostrados a uma taxa de 400 Hz pelos canais 0 e 1 de conversão A/D do PIC. Os eixos x, y e z dos dois outros sensores são filtrados por filtros anti-alising passa baixa de 20 Hz e

amostrados a uma taxa de 40 Hz pelos canais 2 a 7 de conversão A/D do PIC. A necessidade das diferentes freqüências de amostragem deve-se ao fato de que o primeiro sensor será dedicado ao estudo dos movimentos da marcha e os dois outros sensores serão dedicados ao estudo do tremor. Para esta aplicação, desenvolveu-se um aplicativo em ambiente MATLAB® capaz de separar os dados dos diferentes sensores, montar as séries temporais correspondentes e exibi-las graficamente. Para validação do sistema, um único sensor foi acoplado a um oscilador massa – mola, e seu sinal foi conectado à entrada dos 8 filtros do sistema desenvolvido, amostrado pelos 8 canais do conversor A/D do PIC, e gravado no cartão. Esse mesmo sinal foi coletado em um sistema já validado: a placa de aquisição de sinais PCI® 6024E em conjunto com o software LabView 6i ® da National Instruments .

(a)

(b)

Resultados O sistema foi construído em uma placa de circuito impresso de 9 X 6 cm, conforme mostram as Figuras 4(a) e 4(b), cujo consumo médio é de 20 mA. Os sinais analógicos devem estar acondicionados entre 0 e 5 V, pois são direcionados para os canais de conversão A/D do PIC. Os testes de velocidade do sistema demonstraram que a maior taxa de amostragem validada, utilizando-se o buffer FIFO, é de 3,5 ksps, utilizando-se um único canal. Ao se utilizarem mais canais, essa taxa vai sendo distribuída pelos canais de conversão A/D utilizados. O número máximo de amostras que pode ser armazenado em um cartão está relacionado com o protocolo de concatenação dos dados desenvolvido e o tempo de gravação, com o número de canais e com a taxa de amostragem. Na Tabela 1, ilustram-se alguns valores desses parâmetros para cartões disponíveis comercialmente considerando-se apenas um canal amostrado à taxa máxima de 3,5 ksps. Naturalmente, aumentando-se o número de canais e a taxa de amostragem, o tempo de gravação será alterado. Na figura 5, mostram-se os sinais de movimento do oscilador massa-mola gravados no cartão a partir dos canais 0 e 1 e 2, 3 e 4 de conversão A/D do PIC armazenados no cartão. A ausência das componentes de alta freqüência no sinal dos canais 2, 3 e 4 é resultado da freqüência de corte dos filtros que acondicionam os sinais destes canais (20 Hz). O comportamento dos sinais dos canais 5, 6 e 7 foi semelhante ao dos canais 2, 3 e 4.

Figura 4 – (a) Vista superior do hardware do sistema. (b) Vista inferior do hardware implementado, onde é possível observar o cartão MMC no seu conector.

Tabela 1 – Número de amostras e tempo de gravação possível em função da capacidade do cartão. Capacidade Número Tempo de do cartão Amostras gravação (h) 32 MB 26,738M 2,12 64 MB 53,477M 4,24 128 MB 106,954M 8,48 256 MB 213,909M 16,97 512 MB 427,819M 33,95 1 GB 855,638M 67,90 2 GB 1,711G 135,81 4 GB 3,422G 261,63 Na Figura 6, são mostrados os sinais dos canais x,y e z do sensor adquiridos simultaneamente à gravação no cartão pela placa de aquisição e LabView.

Discussão e Conclusões O sistema resultou de tamanho reduzido e baixo consumo, o que mostra a possibilidade de construção de um instrumento portátil para monitoração de movimento. No que tange à taxa de amostragem possível, o sistema apresenta as características necessárias ao armazenamento de sinais de movimento. Por exemplo, para estudo de tremor, é necessário analisar componentes espectrais até 20 Hz no máximo [5], para estudo de marcha até

500 Hz [2][3][13], e sinais de eletrodos de eletromiografia de superfície têm componentes espectrais relevantes em freqüências até 500 Hz [14]. Além disso, o sistema comporta facilmente combinações de tipos diferentes de sinais uma vez que a taxa de amostragem de cada canal pode ser configurada separadamente. Sinais Armazenados e Recuperados pelo Sistema 3.2

X-Canal 0 - (V)

3 2.8 2.6 2.4 2.2 2 1.8 0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

3.5

4

4.5

5

Tempo (s) 3.2

Y-Canal 1 - (V)

3 2.8 2.6 2.4 2.2 2 1.8 0.5

1

1.5

2

2.5

3

Tempo (s)

X-Canal 2 - (V)

Sinais Armazenados e Recuperados pelo Sistema 3

2.5

2 0

1

2

3

4

5

6

4

5

6

4

5

6

Y-Canal 3 - (V)

Tempo (s) 3

2.5

2 0

1

2

3

Z-Canal 4 - (V)

Tempo (s) 5 4 3 2 1 0

0

1

2

3

Tempo (s)

Figura 5 – Acima: sinais dos canais 0 e 1 recuperados a partir dos dados gravados no cartão. Abaixo: sinais dos canais 2, 3 e 4.

Agradecimentos

Eixo X - (V)

Sinais do LABVIEW 3

2.5

2 0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

Eixo Y - (V)

Tempo (s)

Este projeto tem apoio financeiro da Fundação Araucária (035/05, P.6600). Os autores agradecem a L. M. Kapuchinski e ao Prof. M.F. de Amorin pelo auxílio técnico prestado.

3

Referências

2.5

2 0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

3.5

4

4.5

5

Tempo (s) 5

Eixo Z - (V)

O tempo de gravação possível depende do número de canais, mas pode se estender por várias horas, tempo necessário ao monitoramento igualando-se ou superando os data-loggers já existentes. Outra característica do sistema é o custo relativamente baixo do hardware, pois o item de maior custo é cartão MMC. Apesar de atender às necessidades da aplicação proposta neste trabalho, este sistema ainda apresenta algumas desvantagens em relação aos sistemas comerciais disponíveis. A utilização do cartão MMC e não do cartão SD, por exemplo, eleva o custo e dificulta a construção do sistema já que os cartões SD apresentam menor custo por MB e são mais facilmente encontrados comercialmente. Além disso, deve-se levar em conta que para recuperação dos dados ainda é necessária a utilização do software MATLAB® não disponível livremente. Assim, é necessário desenvolver um aplicativo dedicado ao sistema proposto. Apesar das limitações citadas, este sistema é flexível, ou seja, não está amarrado a um uso específico, diferente de outros sistemas de aquisição de sinais. Com isso, podem-se realizar diferentes configurações de hardware e software e mudar assim a aplicação final do sistema. Sendo assim, o sistema pode ser aplicado para aquisição de outros sinais biomédicos tais como ECG, EEG, pressão arterial, entre outros. Os cartões MMC suportam não somente dados de sinais biomédicos, mas também prontuários de pacientes, imagens médicas e outras informações que podem ser integradas no contexto a informática médica. Sendo assim, a aplicação do sistema básico pode ser integrado a outros sistemas de Informação em Saúde tanto em hospitais como em home-care, já que se trata de um instrumento portátil.

4 3 2

[1] Anderson, R., Lyons, G.M., (2001), “Data logging technology in ambulatory medical instrumentation”, Physiol. Meas., v.22, p. 113.

1 0 0.5

1

1.5

2

2.5

3

Tempo (s)

Figura 6 – Sinais x,y,z do sensor adquiridos simultaneamente pelo sistema de aquisição de sinais com LabView.

[2] Moe-Nilssen, R. (1998a), “A new method for evaluating motor control in gait under real-life environmental conditions. Part 1: The instrument”, Clinical Biomechanics, v.13, n.45, p. 320-327.

[3] Moe-Nilssen, R. (1998b), “A new method for evaluating motor control in gait under real-life environmental conditions. Part 2: Gait analysis”, Clinical Biomechanics, v.13, n.4-5, p. 328-335.

[14] Merletti, R.E.,(1999), “Standards for reporting EMG data”. Journal of Electromiography and kinesiology, v 9, n. 1.

Contatos [4] Van Someren, E.J.W., Vonk, B.F.M., Thijsen, W.A., et al., (1998), “A new actigraph for Long Term registration of the duration and intensity of tremor movement”, IEEE Transactions on Biomedical Engineering, v. 45, n. 3, p. 386395. [5] Salarian, A., Russmann, H, Vingerhoets, F.J.G, et al., (2003) “New ambulatory system to quantify bradikinesia and tremor in Parkinson’s disease”, Proc. of the 4th Annual IEEE Com. on Information Thechnology Applications in Biomedicine”, [6] Hansson, G-A., Asterland, P., Kellerman, M., (2003), “Modular data logger system for physical workload measurements”, Ergonomics, v. 46, n. 4, p. 407-415. [7] Microchip Technology Inc, (2005), “PIC16F87XA Data Sheet”, Disponível em: http://ww1.microchip.com/downloads/en/Devic eDoc/39582b.pdf. Acesso em 01/02/2006. [8] SanDisk, Inc., (2006), “SanDisk OEM Manuals”, Disponível em: http://www.sandisk.com/Assets/File/OEM/ Manuals/manual-rs-mmcv1.0.pdf. Acesso em 01/02/2006. [9] Microchipc.com PIC micros and C, (2005), “C sample code for PIC micros and Hi-Tech C”, Disponível em: http://www.microchipc.com/ sourcecode/. Acesso em 01/02/2006 [10] WAUGH, Ed, mmc.c, 2004. Disponível em:http://www.microchipc.com/sourcecode/# mmc. Acesso em: 10/22/2005. [11] X Ways Software Technology AG, (2005), “Software für Datenrettung und IT-Sicherheit Hex-Editor für Dateien, Datenträger & RAM”, Disponível em: http://www.winhex.de. Acesso em 01/12/2005. [12] Freescale Semiconductor (2006) “Technical Data - MMA7260Q - Rev 3, 04/2006”, Disponível em: http://www.freescale.com/ files/sensors/doc/data_sheet/MMA7260Q.pdf. Acesso em 01/02/2006. [13] Sekine, M. et al. (2004) “Fractal dynamics of body motion in patients with Parkinson’s disease” Journal of Neural Engineering, v.1, n.1, p. 8-15.

Roberto Eliud Marks Farias. E-mail: [email protected] Prof. Elisangela Ferretti Manffra E-mail: [email protected] PUCPR - PPGTS Rua Imaculada Conceição, 1155. Prado Velho. Curitiba, PR - CEP: 80215-901. Telefones: (41) 3271-2446., 3271-1674

Lihat lebih banyak...

Comentários

Copyright © 2017 DADOSPDF Inc.