Você está na página 1de 6

Desenvolvimento de um data logger porttil para

sinais de movimento utilizando cartes MMC


R.E.M. Farias, J.P.J Conti, E.F. Manffra, P. Nohama
Programa de Ps-Graduao em Tecnologia em Sade (PPGTS), Pontifcia Universidade Catlica do
Paran (PUCPR), Brasil
Resumo - Neste artigo descreve-se o desenvolvimento de um data logger porttil para armazenagem de
sinais relacionados ao movimento humano. O sistema utiliza cartes MultiMediaCard como dispositivo de
armazenamento de alta capacidade e um microcontrolador com oito canais de converso A/D para entrada
dos sinais analgicos 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 preciso da taxa
configurada. As caractersticas finais de taxa de amostragem, tamanho fsico e capacidade de gravao
revelaram-se adequadas aplicao proposta.
Palavras-chave: Data logger, cartes 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.
Introduo
Em inmeras situaes clnicas, existe a
necessidade de realizar um registro de sinais
biomdicos por um grande intervalo de tempo.
Para tanto, instrumentos de monitorao so
utilizados desde a dcada de 1960, quando
dispositivos de registro, ou data-loggers,
baseados em fita magntica foram introduzidos
[1].
A partir da dcada de 1990, comearam a
ser desenvolvidos data-loggers, mais compactos
e com maior capacidade de armazenamento
graas s tecnologias de estado slido e discos
rgidos 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, presso
arterial e presso intracraniana. No entanto,
existem situaes em que dispositivos portteis
so necessrios, tais como a monitorao da
presso arterial ou ECG ao longo de 24h.
A portabilidade , tambm, fundamental
quando se deseja registrar caractersticas do
movimento humano durante vrias horas ou fora
do ambiente de laboratrio. O registro do
movimento s possvel com o uso de
instrumentos leves e de pequeno porte. Por esse
motivo, os data-loggers para registro do
movimento humano s comearam a ser
desenvolvidos no final da dcada de 1990,

quando cartes de memria, para armazenagem


massiva de dados, tornaram-se disponveis de
forma abrangente.
Em 1998, Moe-Nilssen e colaboradores
propuseram um dispositivo para anlise de
marcha onde os dados, provenientes de um
acelermetro, eram armazenados em um carto
de memria de 20 MB [2]. Os dados obtidos com
este dispositivo trouxeram resultados sobre as
caractersticas dinmicas da marcha [3].
A utilizao de data-loggers portteis
tambm bastante difundida na investigao de
distrbios de movimento, tais como a Doena de
Parkinson [4][5]. Van Someren [4] e Salarian [5]
utilizaram dispositivos para investigao de
tremor em que sinais de sensores de movimento
so registrados uma memria EEPROM de 4 kB
e em um carto de memria de 8MB,
respectivamente.
Mais recentemente, Hannson et al.
propuseram um sistema para registro simultneo
de sinais de goniometria, inclinometria e
eletromiografia [6], armazenando tais sinais em
cartes PCMCIA de 20 e 40 MB.
Os trabalhos citados so exemplos da
utilizao da tecnologia flash de memria no
voltil baseada em EEPROM (ElectricallyErasable Programmable Read Only Memory).
Atualmente, h memrias flash disponveis
comercialmente com capacidades que variam de
32 MB a 4 GB.

A tecnologia flash empregada em vrios


modelos de carto de memria disponveis no
mercado. Entre os mais conhecidos, destacamse: SecureDigital (SD), Memory Stick,
CompactFlash, xD-Picture e MultiMediaCard
(MMC), sendo que existem derivaes dos
modelos citados. A escolha de cartes de
memria flash para data-loggers algo natural, j
que eles consomem pouca energia, ocupam
pouco espao fsico so fisicamente robustos.
medida que cartes de maior capacidade
so disponibilizados comercialmente, o custo por
MB diminui. A fim de colocar esta capacidade
maior de armazenamento disponvel para anlise
de movimento, necessrio desenvolver dataloggers que possam suportar cartes de memria
de capacidade varivel. 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 carto de memria do tipo
MMC.
Dentre os vrios tipos de cartes
disponveis, optou-se pelo MMC, pois seu uso
permite que o sistema registre at 4GB de dados.
Porm, o mais importante na escolha foi o fato de
os cartes de memria de o tipo MMC possurem
padro aberto de comunicao, o que possibilita
desenvolver mais facilmente um firmware de
gravao e leitura dos cartes.
Metodologia
O sistema foi concebido para realizar as
seguintes funes bsicas: converso A/D e prprocessamento
dos
sinais
analgicos,
comunicao com dispositivo de memria e
armazenagem dos dados. Para tanto, utilizou-se
um microcontrolador PIC (Peripherical Interface
Controller) do tipo 16F877A [7]. Um diagrama
ilustrando a concepo do sistema mostrado na
Figura 1.
Sinais analgicos

PIC

SPI

MMC

Figura 1 Diagrama esquemtico dos principais


elementos do sistema
Optou-se pelo PIC 16F877A por ser um
microcontrolador comercial de baixo custo que
possui
caractersticas
que
atendem
s
necessidades do sistema. Possui 8 portas de
converso A/D com at 10 bits de resoluo que
permitem uma taxa de amostragem de at 30
ksps.
Outra caracterstica presente no PIC, e que
essencial ao sistema, a interface MIC que

compatvel com o protocolo SPI (Serial Peripheral


Interface), um dos protocolos de comunicao
sustentado pelo carto MMC. Sendo assim, a
comunicao entre o PIC e o carto realizada
atravs deste protocolo, conforme ilustra a Figura
1.
Antes de proceder descrio do firmware
implementado, til descrever algumas
caractersticas
da
converso
A/D
do
PIC16F877A,
do
protocolo
SPI
e
da
armazenagem dos dados no carto MMC.
Pode-se escolher
a
resoluo
da
converso A/D do PIC de 1 a 10 bits. Neste
trabalho, optou-se pela resoluo mxima, mais
adequada s aplicaes em biomdica. O dado
de uma converso armazenado em dois
registradores de um byte cada.
O SPI um protocolo serial que utiliza
apenas 4 conexes entre o carto MMC e o PIC.
O outro protocolo e que o protocolo principal
do carto o prprio MultiMediaCard Protocol
[8]. Assim, o modo de comunicao default o
MultiMediaCard Protocol.
Internamente, o carto possui um buffer,
um controlador e uma memria Flash. medida
que os dados vo sendo enviados para o carto,
o seu buffer vai sendo carregado. Quando o
buffer, que de 512 bytes est totalmente cheio,
os dados so ento enviados para a memria
Flash. Assim, os dados armazenados no carto
devem ser enviados em blocos de 512 bytes [8].
A comunicao entre o microcontrolador
PIC e os cartes MMC algo que atualmente
est tecnologicamente dominado [9]. Isto motivou
a escolha por esse protocolo uma vez que as
demais
caractersticas
do
sistema
j
demandariam um esforo de desenvolvimento
relativamente grande.
Firmware
Como o protocolo em comum entre o
carto MMC e o PIC o SPI, o primeiro processo
executado a alterao do modo de
comunicao de MultiMediaCard para o SPI [10].
A fim de controlar a taxa de amostragem de
forma precisa, as converses A/D so disparadas
por uma interrupo controlada por um timer
interno ao PIC. Assim, a taxa de converso pode
ser configurada conforme a necessidade do sinal
biolgico a ser armazenado. O sistema permite
selecionar diferentes taxas de amostragem para
cada um dos 8 canais disponveis no PIC.
Aps a converso A/D, o sistema deve
enviar o sinal amostrado para o carto. Para
evitar o desperdcio de espao decorrente da
ocupao de 2 bytes para uma converso de 10
bits, foi implementado um protocolo de
armazenagem. Nesse protocolo, as converses
so concatenadas de tal forma que quatro
converses A/D ocupam 5 bytes. Toda vez que
um dos 5 bytes totalmente preenchido
enviado ao carto. O protocolo assim como o

desperdcio de espao
representados na Figura 2.

sem

ele

esto

Byte1 Byte2 Byte3 Byte4 Byte5


Converso1 Converso2

...

Byte1 Byte2 Byte3 Byte4 Byte5


Conv1

Conv2

Conv3

Conv4

Figura 2 Acima: desperdcio de 6 bits para


armazenar cada converso A/D de 10 bits
realizada pelo PIC. Abaixo: protocolo
implementado para evitar o desperdcio de
espao.
Cada vez que um bloco de 512 bytes
enviado ao carto (virada de bloco), so
executadas instrues de comunicao entre PIC
e carto com a finalidade de confirmar a gravao
dos dados.
Durante a execuo das instrues de
virada de bloco, no possvel enviar os dados
amostrados para o carto. Para garantir a
fidelidade dos dados, foi implementado um buffer
FIFO. Dessa forma, as converses que so
realizadas durante o processamento de virada de
bloco vo sendo armazenadas no buffer. Isso
garante que nenhum dado ser perdido mesmo
durante processos do PIC que deixem de enviar
as converses, imediatamente, ao carto.
Na Figura 3, esto representados os
processos descritos nos pargrafos anteriores e
os
demais
processos
necessrios
ao
funcionamento do sistema. Aps os processos de
configurao e inicializao do carto, o sistema
aguarda um comando externo (acionado pelo
usurio) para iniciar a gravao dos blocos
seqenciais. Os blocos so repetidamente
enviados ao carto at que um comando externo
sinalize que a gravao deve parar ou a
capacidade do carto seja esgotada.
Recuperao dos dados
A leitura dos dados gravados no carto

feita com auxlio do software WinHex [11]. Esse


software permite a leitura do contedo
hexadecimal do carto MMC possibilitando
tambm salvar os dados em arquivos texto.
A fim de recuperar os dados, levando em
considerao o protocolo de concatenao das
converses, foi implementado um aplicativo em
ambiente MATLAB. Este aplicativo bsico
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.

Validao do sistema
As caractersticas bsicas do sistema tais
como a taxa mxima de amostragem por canal, a
capacidade de armazenagem, foram verificadas
atravs de testes simples desenvolvidos para
este fim.
Alm disso, este sistema bsico de
armazenagem de sinais est sendo utilizado em
dois sistemas portteis em desenvolvimento. Um
deles permite o registro simultneo de sinais de
ngulo articular e eletromiografia, e o outro
permite a monitorao dos movimentos de
portadores da Doena de Parkinson.
Na segunda aplicao, os sinais analgicos
so fornecidos por acelermetros de trs eixos
MMA7260Q [12]. Os sinais x e y de um sensor
so filtrados por filtros anti-alising passa baixa de
200 Hz e amostrados a uma taxa de 400 Hz pelos
canais 0 e 1 de converso A/D do PIC. Os eixos
x, y e z dos dois outros sensores so filtrados por
filtros anti-alising passa baixa de 20 Hz e

amostrados a uma taxa de 40 Hz pelos canais 2 a


7 de converso A/D do PIC.
A necessidade das diferentes freqncias
de amostragem deve-se ao fato de que o primeiro
sensor ser dedicado ao estudo dos movimentos
da marcha e os dois outros sensores sero
dedicados ao estudo do tremor.
Para esta aplicao, desenvolveu-se um
aplicativo em ambiente MATLAB capaz de
separar os dados dos diferentes sensores, montar
as sries temporais correspondentes e exibi-las
graficamente.
Para validao 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 carto.
Esse mesmo sinal foi coletado em um sistema j
validado: a placa de aquisio de sinais PCI
6024E em conjunto com o software LabView 6i

da National Instruments .

(a)

(b)

Resultados
O sistema foi construdo em uma placa de
circuito impresso de 9 X 6 cm, conforme mostram
as Figuras 4(a) e 4(b), cujo consumo mdio de
20 mA. Os sinais analgicos devem estar
acondicionados entre 0 e 5 V, pois so
direcionados para os canais de converso 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
distribuda pelos canais de converso A/D
utilizados.
O nmero mximo de amostras que pode
ser armazenado em um carto est relacionado
com o protocolo de concatenao dos dados
desenvolvido e o tempo de gravao, com o
nmero de canais e com a taxa de amostragem.
Na Tabela 1, ilustram-se alguns valores desses
parmetros
para
cartes
disponveis
comercialmente considerando-se apenas um
canal amostrado taxa mxima de 3,5 ksps.
Naturalmente, aumentando-se o nmero de
canais e a taxa de amostragem, o tempo de
gravao ser alterado.
Na figura 5, mostram-se os sinais de
movimento do oscilador massa-mola gravados no
carto a partir dos canais 0 e 1 e 2, 3 e 4 de
converso A/D do PIC armazenados no carto. A
ausncia das componentes de alta freqncia no
sinal dos canais 2, 3 e 4 resultado da freqncia
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 possvel observar o carto
MMC no seu conector.

Tabela 1 Nmero de amostras e tempo de


gravao possvel em funo da capacidade do
carto.
Capacidade
Nmero
Tempo de
do carto
Amostras
gravao (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, so mostrados os sinais dos
canais x,y e z do sensor adquiridos
simultaneamente gravao no carto pela placa
de aquisio e LabView.

Discusso e Concluses
O sistema resultou de tamanho reduzido e
baixo consumo, o que mostra a possibilidade de
construo de um instrumento porttil para
monitorao de movimento.
No que tange taxa de amostragem
possvel, o sistema apresenta as caractersticas
necessrias ao armazenamento de sinais de
movimento. Por exemplo, para estudo de tremor,
necessrio analisar componentes espectrais at
20 Hz no mximo [5], para estudo de marcha at

500 Hz [2][3][13], e sinais de eletrodos de


eletromiografia de superfcie tm componentes
espectrais relevantes em freqncias at 500 Hz
[14]. Alm disso, o sistema comporta facilmente
combinaes 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.5

2.5

3.5

4.5

3.5

4.5

Tempo (s)
3.2

Y-Canal 1 - (V)

3
2.8
2.6
2.4
2.2
2
1.8
0.5

1.5

2.5

Tempo (s)

X-Canal 2 - (V)

Sinais Armazenados e Recuperados pelo Sistema


3

2.5

2
0

Y-Canal 3 - (V)

Tempo (s)
3

2.5

2
0

Z-Canal 4 - (V)

Tempo (s)
5
4
3
2
1
0

Tempo (s)

Figura 5 Acima: sinais dos canais 0 e 1


recuperados a partir dos dados gravados no
carto. Abaixo: sinais dos canais 2, 3 e 4.

Agradecimentos

Eixo X - (V)

Sinais do LABVIEW
3

2.5

2
0.5

1.5

2.5

3.5

4.5

Eixo Y - (V)

Tempo (s)

Este projeto tem apoio financeiro da


Fundao Araucria (035/05, P.6600). Os autores
agradecem a L. M. Kapuchinski e ao Prof. M.F. de
Amorin pelo auxlio tcnico prestado.

Referncias

2.5

2
0.5

1.5

2.5

3.5

4.5

3.5

4.5

Tempo (s)
5

Eixo Z - (V)

O tempo de gravao possvel depende do


nmero de canais, mas pode se estender por
vrias horas, tempo necessrio ao monitoramento
igualando-se ou superando os data-loggers j
existentes.
Outra caracterstica do sistema o custo
relativamente baixo do hardware, pois o item de
maior custo carto MMC.
Apesar de atender s necessidades da
aplicao proposta neste trabalho, este sistema
ainda apresenta algumas desvantagens em
relao aos sistemas comerciais disponveis. A
utilizao do carto MMC e no do carto SD, por
exemplo, eleva o custo e dificulta a construo do
sistema j que os cartes SD apresentam menor
custo por MB e so mais facilmente encontrados
comercialmente.
Alm disso, deve-se levar em conta que
para recuperao dos dados ainda necessria a
utilizao do software MATLAB no disponvel
livremente. Assim, necessrio desenvolver um
aplicativo dedicado ao sistema proposto.
Apesar das limitaes citadas, este sistema
flexvel, ou seja, no est amarrado a um uso
especfico, diferente de outros sistemas de
aquisio de sinais. Com isso, podem-se realizar
diferentes configuraes de hardware e software
e mudar assim a aplicao final do sistema.
Sendo assim, o sistema pode ser aplicado para
aquisio de outros sinais biomdicos tais como
ECG, EEG, presso arterial, entre outros.
Os cartes MMC suportam no somente
dados de sinais biomdicos, mas tambm
pronturios de pacientes, imagens mdicas e
outras informaes que podem ser integradas no
contexto a informtica mdica. Sendo assim, a
aplicao do sistema bsico pode ser integrado a
outros sistemas de Informao em Sade tanto
em hospitais como em home-care, j que se trata
de um instrumento porttil.

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.5

2.5

Tempo (s)

Figura 6 Sinais x,y,z do sensor adquiridos


simultaneamente pelo sistema de aquisio 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
Parkinsons 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, Disponvel em:
http://ww1.microchip.com/downloads/en/Devic
eDoc/39582b.pdf. Acesso em 01/02/2006.
[8] SanDisk, Inc., (2006), SanDisk OEM
Manuals,
Disponvel
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,
Disponvel em: http://www.microchipc.com/
sourcecode/. Acesso em 01/02/2006
[10] WAUGH, Ed, mmc.c, 2004. Disponvel
em:http://www.microchipc.com/sourcecode/#
mmc. Acesso em: 10/22/2005.
[11] X Ways Software Technology AG, (2005),
Software fr Datenrettung und IT-Sicherheit
Hex-Editor fr Dateien, Datentrger & RAM,
Disponvel em: http://www.winhex.de. Acesso
em 01/12/2005.
[12] Freescale Semiconductor (2006) Technical
Data - MMA7260Q - Rev 3, 04/2006,
Disponvel 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 Parkinsons
disease Journal of Neural Engineering, v.1,
n.1, p. 8-15.

Roberto Eliud Marks Farias.


E-mail: robertoemf@gmail.com
Prof. Elisangela Ferretti Manffra
E-mail: elisangela.manffra@pucpr.br
PUCPR - PPGTS
Rua Imaculada Conceio, 1155. Prado Velho.
Curitiba, PR - CEP: 80215-901.
Telefones: (41) 3271-2446., 3271-1674