2007/19 –30.5.2007
Měřič krevního tlaku Ing. Martin Švrček
[email protected] Ústav biomedicínckého inženýrství Fakulta elektrotechniky a komunikačních technologií VUT v Brně Kolejní 4, 61200 Brno
Tento článek popisuje návrh a realizaci měřiče krevního tlaku. Nejprve je popsána oscilometrická metoda měření krevního tlaku, která je jednou z nejčastěji používaných. Dále je popsán návrh systému po hardwarové i softwarové stránce. Hardwarovou část tvoří piezorezistivní tlakový snímač, 16 bitový A/D převodník, procesor Freescale z řady HC08 a podpůrné obvody. Softwarová část byla navržena ve vývojovém prostředí Borland C++ Builder. Navržený systém umožňuje měření krevního tlaku s možností automatického nebo manuálního vyhodnocení.
1 Měření krevního tlaku Pro neinvazivní měření krevního tlaku se v současné době používá několika metod z nichž nejznámější jsou oscilometrická metoda, automatizovaná auskultační metoda nebo tzv. hybridní metoda, která využívá dvojího měření jednak pomocí oscilometrické, tak i automatizované auskultační metody. Systém popsaný v tomto článku využivá nejčastěji používané oscilometrické metody a umožňuje automatické nebo manuální měření krevního tlaku.
1.1 Princip oscilometrické metody Manžeta ,která je umístěna na paži ve výši srdce, se nafoukne na tlak, který má vyšší hodnotu než předpokládaný systolický tlak(možno nastavit). Poté se tlak v manžetě začne postupně snižovat, s tím jak tlak klesá, začínají se v manžetě objevovat oscilace, které se zvyšují až na určitou maximální hodnotu. Další klesání tlaku pak vede ke snižování oscilací v manžetě. Amplituda těchto oscilací je závislá na rozdílu tlaku uvnitř a vně tepny, tzv. transmurální tlak. Tlak v manžetě, který koresponduje s bodem maxima oscilací, obvykle odpovídá střední hodnotě arteriálního tlaku. Hodnota systolického tlaku je zaznamenána, když oscilace v manžetě začínají prudce vzrůstat, hodnota diastolického, když naopak hodnota oscilací prudce poklesne. Princip metody nejlépe dokumentují obr.1 a obr 2. Obr. 1 ukazuje jak vypadá signál na výstupu tlakového snímače, obr. 2 pak ukazuje z něj vyfiltrovaný signál oscilací a na něm znázorněné okamžiky, které odpovídají danému systolickému, diastolickému či střednímu tlaku. Jak je patrné z obr.2Chyba! Nenalezen zdroj odkazů., jsou oscilace objemu v manžetě velice slabé, pro různé měřené osoby se velikost oscilací pohybuje od 1 do 3mmHg.
19-1
2007/19 –30.5.2007
Obrázek 1: Průběh tlaku v manžetě během měření, meze pro vybrání užitečného signálu
Obrázek 2: Vyfiltrovaný, zesílený a rozměřený signál oscilací.
2 Návrh systému Navrženou realizaci systému ukazuje blokové schéma na obr.3. Schéma je rozděleno do třech vrstev (Pacient, Tester-modul a PC s instalovaným SW). Ideou měření krevního tlaku je kontinuální měření tlaku v manžetě během jejího napouštění a vypouštění. Následuje pak jeho samostatné vyhodnocení. Filtrace oscilací se provádí softwarově, nikoli hardwarově pomoci flitrů na vstupu, jak je jinak obvyklé.Toto je umožněno použitím 16 bitového A/D převodníku a rozšiřuje to možnosti zpracování signálu[4.].
Obrázek 3: Blokové schéma navrženého systému
19-2
2007/19 –30.5.2007
2.1 Konfigurace pro měření Navržený systém počítá s manžetou, která bude připojena k tlakovému senzoru. Tato manžeta musí splňovat požadavky pro měření krevního tlaku. V manžetě je umístěn gumový vak, jehož šířka by měla odpovídat 40% obvodu horní končetiny. Délka vaku by měla být 80 % obvodu paže u dospělých osob.Doporučená šířka manžety pro obvod paže v rozsahu 3241 cm je 15 cm. K manžetě je připojen nafukovací balónek a ventil, které umožní nafouknutí a plynulé vypouštění vzduchu. Doporučená rychlost vypouštění manžety je 2-3 mmHg/ s (použití jiné rychlosti může ovlivnit dosažitelnost přesnost) . U navrženého systému je rychlost vypouštění manžety korigována pomoci vzduchového ventilu. Lze použít šroubového ventilu, u kterého lze ručně nastavovat rychlost vypouštění tak, aby odpovídala tomuto požadavku. Pro měření lze také použít vhodnější elektronicky ovládaný ventil s příslušnou regulací. Řešením tohoto problému se však tento článek nezabýval.
3 Hardwarová část Navrhovanou hardwarovou část systému představuje zařízení s názvem Tester-modul (dále jen TM) . TM je zařízení, které tvoří společně s počítačem PC (s nainstalovaným softwarem Tester) systém pro měření krevního tlaku. Jak ukazuje obr.3, je TM tvořen čtyřmi základními bloky, které představují tlakový snímač, A/D převodník, mikrokontroler(dále jen MC) a převodník úrovní. Komunikace tohoto modulu s PC je realizována přes rozhraní RS232C. Zařízení TM plní v systému tyto základní funkce: měření tlaku v manžetě, vzorkování a kvantování signálu, přenos změřených údajů do PC a řízení průběhu měření. Měření tlaku v manžetě zajišťuje piezorezistivní snímač tlaku. Na jeho výstupu je napětí, které je úměrné tlaku v manžetě. Toto napětí zpracovává A/D převodník, který zajišťuje jeho filtraci, vzorkování a převod na signál digitální. Tento signál je pak dále přenášen pomocí rozhraní SPI do MC, kde je kódován a dále přeposílán do PC k následnému zpracování. Jelikož rozhraní, které je použito ke komunikaci mezi MC a PC, používá rozdílné napěťové úrovně, musíme do systému zařadit převodník úrovní, který zajistí jejich vzájemnou konverzi.
3.1 Snímač tlaku Pro měření tlaku ve vzduchové manžetě, se jeví jako nejvhodnější použít piezorezistivní tlakový snímač. Pro aplikaci byl vybrán snímač firmy Freescale typ. MPXV2053G. Tento snímač vyhovuje svými parametry pro aplikaci měření krevního tlaku. Rozsah je (0-50kPa). U tohoto snímače je nutné softwarově realizovat kalibraci nuly a rozsahu.
3.2 A/D převodník Pro aplikaci byl vybrán A/D převodník firmy Analog Devices AD7715-5. Volba ADC vychází z požadavku na přesnost měření respektive rozlišení měřené veličiny. Vzhledem k tomu, je vyžadováno rozlišení měřené veličiny 0.01mmHg ( pro zaznamenáni oscilací) je potřeba zvolit 16 bitový ADC. Co se týče vzorkovací frekvence, je vhodné ji volit tak, aby byl přenesen signál KT s co nejmenším zkreslením.Budeme-li chtít provádět přenos v reálném čase, budeme limitováni přenosovými rychlostmi jednotlivých dílčích celků přenosového systému, proto bude třeba zvážit, jaká přenosová rychlost je reálná v navržené konfiguraci. Vzhledem k rychlosti změny KT a k principu oscilometrické metody, je dostačující vzorkovací frekvence 250 Hz. Na výstupu z tlakového snímače není třeba zařazovat filtr typu dolní propust, abychom zabránili aliasingu, neboť byl zvolen převodník, který má tento filtr integrován. Zvolený převodník rovněž zajišťuje odfiltrování případného síťového brumu.
19-3
2007/19 –30.5.2007
3.3 Mikrokontroler Mikrokontroler je jádrem celého systému. Pro aplikaci byl zvolen mikrokontroler z rodiny HC08, který obsahuje vlastní Flash paměť a umožňuje programování v systém (typ HC908GP32) . MC byl vybrán z ohledem na požadované vlastnosti a integrované periférie. Požadovanými perifériemi byly modul pro sériové rozhraní SCI ( pro komunikaci s PC) a modul pro komunikaci s perifériemi SPI.(komunikace ADC).
3.4 Převodník úrovní TTL / RS232C Pro konverzi úrovní TTL/ RS232 byl použit obvod MAX 232C
3.5 Úplné schéma zapojení Tester-modulu Na obr. 3 je úplné schéma zapojení zařízení TM včetně propojení jednotlivých části. DVDD DV
AVDD REF IN (+)
IN+
26PCBS
68HC08 RESET
SS
TxD
S CLK
SCK
RxD
DRDY
PTA3
DATA OUT
MISO
DATA IN
MOSI
CS
PTA4
REF IN (-)
Napájení +5V
AIN1 (+) OUT-
OUT+
AIN1 (-)
AD7715
IN-
DV DD
AGND
DGND
GND
PTA3
AMKT
MAX232 T1 IN
T1 OUT
R1 OUT
R1 IN
RS232
1 6
PC 9 5
DB9 GND
Obrázek 4: Schéma zapojení Tester-modul
4 Softwarová část V této části bude popsán návrh programového vybavení pro mikrokontroler a PC
4.1 Programové vybavení pro mikrokontroler Program pro mikrokontroler je psán v jazyce symbolických instrukcí. Tento program zajišťuje koordinaci jednotlivých bloků a přenášení získaných dat až na vstupní rozhraní PC. Z tohoto je zřejmé, že je nedílnou částí, která zajišťuje správnou funkci celého systému. Proto je nutné, aby při návrhu tohoto software byl brán zřetel na jednak správné nastavení všech řídicích registrů(modulu) periférií, ale také na správné načasování jednotlivých úloh, které MC vykonává.Software MC zajišťuje nastavení , kalibraci ADC, přenos dat z ADC do MC, zpracování přijatých dat, převod do ASCII kódu a odeslání dat na sběrnici RS232C. 19-4
2007/19 –30.5.2007
4.1.1 Popis struktury programu Vývojový diagram navrženého programu pro mikrokontroler je na obr.5. Funkce: po zapnutí napájení, nebo po resetu MC je spuštěn hlavní program (program MAIN_init), který zajišťuje nastavení MC, registru pro přenos na SPI a SCI, kalibraci ADC a inicializaci ADC pro čtení dat.Hlavní program pak končí v nekonečné smyčce. Při příjmu řídícího slova na SCI, dojde k vyvolání přerušení, v jehož obsluze(program Recive_isr) se zjišťuje, je-li přijímaný znak řídícím znakem Tester modulu.Rozlišujeme dva možné řídící znaky: znak „s“ pro spuštění měření a znak „k“ pro ukončení měření. Byl-li přijat znak „s“, provede se inicializace KB interruptu. Byl-li přijat znak „k“ KB interrupt je zakázán.Signál DRDY z ADC je připojen ke vstupu MC. Svou sestupnou hranou vyvolá KB interrupt, během jehož obsluhy ( program DRDY_isr) se provádí přenos naměřených dat z ADC do MC, převod dat do ASCII kódu a přenos dat na sběrnici RS232C . M A IN _init
R ecive _isr
Inicializace M C (porty, frekvence ,C O P ..)
M askování interruptu od přijám ače S CI.
Inicializace S P I
P řišel znak „s“ ?
ano
Zhasnutí LE D „připraven“ Inicializace KB interruptu
ne Inicializace SC I ano
P řišel znak „k“ ? ne
Inicializace A DC
Zákaz KB interruptu Zhasnutí LED „přenos“ R ozsvícení LE D „připraven“
P ovolení interuptu od přijím ače
R TI
DR DY _isr
M askování K B interruptu P ovolení vysílače S CI R ozsvícení LED „přenos“
O deslání A CH I a A C LO W na S C I
P řenos dat z AD C
O deslání oddělovací značky („M “) na S Ci
(horní byte=A D H I, dolní byte =A D LO W )
Konverze AD HI na znaky A S CII (znak horní části =A C H I, znak dolní části =A C LO W )
ne
Skončil přenos na SC I ? ano
O deslání AC H I a A C LO W na S CI
K onverze A D LO W na znaky A S CII
Zakázání vysílače SC I P ovolení KB intrruptu
R TI
(znak horní čáasti =A C H I, znak dolní části =A C LO W )
Obrázek 5:Vývojový diagram navrženého programu pro mikrokontroler 19-5
2007/19 –30.5.2007
4.1.2 Časování Vzhledem k tomu, že systém umožňuje „real time“ měření, je nutné vyřešení otázky časování jednotlivých periférií. Vzhledem k tomu, že prioritou je navzorkování a následné odeslání naměřených dat zvolenou vzorkovací frekvencí, bude vhodné řídit časový průběh programu samotným převodníkem pomocí interruptu. Při získání každého nového vzorku bude na výstupním pinu DRDY (ADC) generována sestupná hrana, kterou lze u MC vyvolat přerušení. Aby bylo možné vzorky přenášet a zpracovávat v reálném čase je nutné během obsluhy tohoto přerušení provést následující operace: přenesení dat z ADC do MC, převod dat do ASCII kódu a nakonec odeslání dat včetně oddělovacích značek na sběrnici RS232C. Je třeba zajistit, aby celková doba provádění těchto operací byla kratší než perioda vzorkování. Základní parametry (platí pro HC908GP32 ) : Kmitočet fBUS a perioda cyklu MC TCYC : Stanovení kmitočtu fBUS je poměrně komplikované, proto zde nebude uvedeno, podrobnější informace lze nalézt v [1.]. Pro aplikaci bylo zvoleno: Kmitočet: fBUS=4,9152 MHz.
Perioda cyklu: TCYC=204ns
Kmitočet CGMOUT: Kmitočet CGMOUT lze určit dle: CGMOUT=fBUS*2=4,9152*2=9,8304MHz Přenosová rychlost na SPI: Přenosovou rychlost na SPI lze určit dle vztahu CGMOUT baud _ rate = 2 xBD baud _ rate =
CGMOUT 9,8304 MHz = = 614400 Bd 2 xBD 2 x8
BD (nastavení registru SPSCR) BD=8
Přenosová rychlost na SCI: Přenosovou rychlost na SCI, lze určit dle vztahu 0. SCI _ clock _ source baud _ rate = 64 xPDxBD baud _ rate =
f SCI _ clock _ source 4,9152 MHz = BUS = = 38400 Bd 64 xPDxBD 64 x1x 2 128
SCI clock source = zdrojem hodinového signálu může být fBUS nebo CGMXCLK (zvoleno nastavením bitu SCIBDSRC v registru CONFIG2)
19-6
2007/19 –30.5.2007
4.2 Programové vybavení pro PC Programové vybavení pro PC je realizováno ve vývojovém prostředí Borland C++ Builder. Program zajišťuje uživatelské rozhraní pro koordinaci,vyhodnocení a archivaci měření na počítači PC v prostředí Windows. Software umožňuje komunikaci se zařízením Tester-modul po sériové lince, zajišťuje automatické nebo manuální vyhodnocení změřených dat a umožňuje jejich archivaci v databázi.
Strukturu programu lze rozdělit do tří hlavních částí, podle funkcí, které vykonávají: a) Přenos dat po sériové lince (RS232) Zpracovávání a vyhodnocení změřeného signálu b) c) Databázová část
4.2.1 Přenos dat po sériové lince (RS232) Vzhledem k tomu, že využití přímého přístupu na porty PC je ve Windows (verze 2000,NT,XP) je komplikované, je potřeba využít funkce, pro práci s porty, které jsou implementovány ve vyšších programovacích jazycích. V [2.] byla uvedena implementace třídy TSerial, kterou lze v C++ Builderu využít pro sériovou komunikaci (porty COM).
Implementované funkce pro přenos dat Pro práci se sériovým portem je třeba provést jeho nastavení, zejména je nutné nastavit přenosovou rychlost, paritu přenosu, délku přenášeného bajtu, počet stop-bitů, délku vstupního a výstupního bufferu atd. Tyto hodnoty se nastavují jako vlastnosti objektu třídy TSerial.
19-7
2007/19 –30.5.2007 K samotnému příjmu a přenosu je využíváno těchto funkcí [2.]: int_fastcall WriteString(const AnsiString&String) – tato funkce posílá na sériový kanál řetězec určený parametrem String a vrací počet zapsaných znaků. int_fastcall ReadString(AnsiString &String, int Length) – tato funkce načte ze sériového kanálu maximálně Length znaků do řetězce String a vrátí počet přečtených znaků.
4.2.2 Filtrace a zpracování signálu Signál na výstupu tlakového senzoru je tvořen dvěma signály, a to „užitečným“ signálem oscilací v manžetě (jeho kmitočet je přibližně 1Hz), který je superponován na signál tlaku v manžetě(ten má kmitočet do cca 0,04Hz). Při návrhu filtru budeme proto vycházet z těchto kmitočtů a navrhneme horní propust tak, aby útlum při kmitočtu 1Hz byl nižší než -10dB a útlum na kmitočtu 0,04Hz byl cca -60dB. Dále budeme u filtru požadovat co nejmenší zvlnění a konstantní přenos v propustném pásmu. Takovýto filtr lze navrhnout ve vývojovém prostředí MATLAB pomocí funkce fir1. Vhodnou volbou délky impulsní charakteristiky, mezního kmitočtu a typu použitého okna. Parametry navrženého filtru: Délka impulsní charakteristiky: 200 vz. Mezní frekvence:1,38 Hz Typ filtru:Horní propust Typ okna: Kaiserovo(Beta=3) Samotná filtrace je realizována konvolucí vstupního signálu a impulsní charakteristiky filtru dle vztahu [3.].
Zpracování signálu dále zahrnuje rozměření signálu, určení tepové frekvence, stanovení hodnot krevního tlaku, tak jak bylo uvedeno v kapitole 1.1.
4.2.3 Databáze Databázová část programu umožňuje archivaci, zobrazení a editaci změřených záznamů. Je realizována s využitím XML jazyka. V programu je využíváno pouze jedné databázové tabulky XML , která uchovává informace o realizovaných měřeních.
5 Závěr Měřič krevního tlaku je založen na principu oscilometrické metody a umožňuje automatické i manuální měření hodnot krevního tlaku. Měřené průběhy jsou graficky znázorněny a tak je možné, provést nejenom automatické, ale i manuální vyhodnocení. Tato výhoda se uplatňuje zejména u atypických průběhů oscilací, kdy algoritmy pro automatické vyhodnocení selhávají. U měřených průběhů je možno pouhým pohledem zkontrolovat, jestli automatické vyhodnocení proběhlo správně, jestli se v měření nevyskytnul pohybový artefakt a podobně. Navržený systém byl experimentálně testován a poskytoval srovnatelné výsledky s porovnávanou auskultační metodou. Absolutní hodnota tlaku byla kontrolována pomocí 19-8
2007/19 –30.5.2007 rtuťového manometru s tím,že odchylka byla nižší než 1mmHg. Je třeba však zdůraznit, že nejkritičtější části měření s ohledem na přesnost, není stanovení absolutní hodnoty tlaku v manžetě, ale interpretace naměřených výsledků (vyhodnocení průběhu oscilací), což je ovlivněno kvalitou navrženého vyhodnocovacího softwaru v případě automatického vyhodnocení, nebo odbornou kvalifikaci obsluhy v případě manuálního vyhodnocení.
6 Poděkování Tato práce byla podpořena výzkumným programem Vysokého učení technického v Brně č. MSM 0021630513.
7 Použitá literatura [1.]
MC68HC908GP32 Data Sheet. Rev.7,2006. Freescale semiconductor,Inc. Dostupné z http://www.freescale.com
[2.]
Matoušek,D. Udělej si z PC – generátor,čítač, převodník, programátor....Měření,
řízení a regulace pomoci sériového portu PC a sběrnice I2C 1.díl. Praha:BEN,2004. ISBN 80-7300-036-9. [3.]
Jan,J.;Kozumplík,J.; Kolář,R.; et al. Číslicové zpracování a analýza signálů. Počítačové cvičení. Brno:VUT Brno, 2003
[4.]
Švrček,M. Tester tlakoměru, Diplomová práce VUT v Brně, 2006
19-9