ELECTRONICĂ MEDICALĂ an IV Note de curs Prof. dr.ing. Hariton Costin 11. CALCULATOARELE ÎN ECHIPAMENTELE ELECTRONICE BIOMEDICALE Calculatoarele au un rol deosebit de important în sistemele de diagnosticare, terapie, de înregistrare şi transmitere a datelor, precum şi în educaţia şi cercetarea biomedicală. Proiectarea echipamentelor biomedicale actuale reprezintă o sinergie între senzori şi traductoare, circuite analogice, componente hardware de tehnică de calcul şi software, chiar pentru aparate relativ simple şi portabile. Calculatoarele analogice, puţin folosite azi, efectuau operaţii matematice continue și relativ simple, cum sunt de exemplu cele patru operaţii elementare, scalarea, integrarea şi derivarea. Precizia lor este de ordinul a 0,01% din domeniul de lucru, pot efectua operaţii în paralel, au viteză crescută, dar permit puţine decizii logice. Calculatorul digital are avantajul major al efectuării operaţiilor logice, culminând cu rezolvarea problemelor complexe de inteligenţă artificială. Partea electronică şi electromecanică, adică cea hardware, cuprinde în general următoarele părţi (Figura 11.1). 1. Unitatea de intrare: claviatură, modem, placa de reţea de calculatoare, CD-ROM; 2. Controlerul de intrare: controlul datelor de intrare către memorie; 3. Unitatea de memorie conţine memoria internă (RAM, ROM, cache, optică, cu rol de a memora date, instrucţiuni şi rezultate ale operaţiilor aritmetice şi logice, precum şi memoria externă (CD-ROM, HDD, discuri optice), care este nevolatilă şi permite densităţi şi capacităţi mari de informaţie stocată; 4. Unitatea de instrucţiuni şi controlerul aferent: interpretează sau decodifică instrucţiunile de program şi controlează operaţiile interne via generatorul semnalelor de control; 5. Unitatea aritmetico-logică (ALU): efectuează operaţiile elementare şi returnează rezultatele către memorie. Acumulatorul reţine rezultate intermediare. Majoritatea calculatoarelor de tip PC sunt secvenţiale iar logica binară conduce la un hardware mai simplu, însă timpul de calcul poate fi mare pentru probleme complexe; 6. Controlerul de ieşire: gestionează datele către unitatățile de ieşire; 7. Unitatea de ieşire: afişaj (cu tub catodic sau cristale lichide), imprimantă, modem, modul de reţea, tastatură ș.a.; 1
8. Unitatea centrală de procesare (CPU, procesor central) conţine memoria internă (principală), ALU şi registre speciale pentru prelucrarea instrucţiunilor, temporizare etc. Limbajele de programare, în ordinea crescătoare a complexităţii, sunt: limbajul maşină (specific procesorului central), limbajul de asamblare (ce operează cu mnemonice (succesiune de coduri alfanumerice care înlocuiesc instrucţiunile numerice din cazul limbajului maşină) şi limbajele de nivel înalt (BASIC, C/C++, FORTRAN, COBOL, JAVA etc.). Microprocesorul este un circuit digital integrat pe scară largă (LSI), un cip care conţine registrele de control, reţinere şi uneori memorie de lucru, specifice unui microcalculator. El efectuează operaţii aritmetico-logice, paralel pe bit, sub controlul unui program. Semnalele de intrare sunt recepţionate, prelucrate (decizii), memorate şi apoi prezentate ca semnale de ieşire (Figura 11.2, a). Circuitele auxiliare sunt cele de I/O şi de memorie. El accesează linii de date, adrese, ceas, temporizare şi de control (Figura 11.2, b). Figura 11.1 Schema bloc simplificată a unui calculator digital Un microcalculator este un calculator de uz general compus din circuite LSI standard şi este construit în jurul unei unităţi centrale de prelucrare (CPU sau microprocesor) (Figura 11.3). Microcalculatorul conţine o unitate cu microprocesor, circuite de memorie şi de 2
interfaţă pentru dispozitivele de I/E. Unitatea cu microprocesor este comandată de un set fix de instrucţiuni, folosite în programarea sa. Datele şi adresele sunt prelucrate pe o magistrală comună, cu tehnologia "3-stări": 0, 1 logic şi "impedanţă înaltă", în ultima stare datele sau adresele putând fi direcţionate spre destinaţia dorită. Figura 11.2 Sistem cu μp/μc (a) şi semnale la μp (b) Figura 11.3 Microcalculator 3
Microcontrolerele sunt circuite LSI mai simple ca μp şi au funcţii de tip măsurare, secvenţă şi control, în general funcţii repetitive. Procesoarele digitale de semnal (DSP) sunt circuite dedicate unor funcţii matematice sau prelucrării speciale a informaţiei. Ele degrevează μp/μc de calcule specifice, consumatoare de timp (de exemplu DSP pentru Transformata Fourier). 11.1 Calculatoarele în instrumentaţia de laborator Laboratoarele moderne folosesc interfeţe standard pentru schimbul de informaţie între aparate de laborator şi calculatoarele gazdă. În domeniul medical s-a dezvoltat de exemplu Medical Information Bus (MIB), o magistrală specializată pentru echipamente medicale. În general, funcţiile realizate de un sistem de achiziţie a datelor (SAD) sunt: (i) achiziţia datelor de la senzori; (ii) prelucrarea / analiza lor; (iii) afişarea rezultatelor. Un astfel de sistem poate avea 16 canale asimetrice sau opt diferenţiale, prevăzute cu amplificatoare cu câştig programabil. Semnalele analogice sunt digitizate prin intermediul unui circuit de eşantionare/memorare (S/H) şi a unui convertor A/D pe 12 biţi (de exemplu). Partea digitală suportă tehnica accesului direct la memorie (DMA), pentru mărirea vitezei de prelucrare. Precizia unui SAD este dată de ambele părţi, analogică şi digitală (Figura 11.4). Pentru 12 biţi ai CAN, LSB este 1/4096, adică, 0,024% din întreaga scală de măsurare. Prin urmare, ½ LSB (eroarea minimă teoretică) este 0,012%. În valori absolute, pentru 10 V domeniu de intrare rezultă ½ LSB=1,2 mv. Precizia globală teoretică, în exemplul dat, este deci de 99,976%, în condiţii de zgomot şi neliniarităţi reduse. Figura 11.4 Digitizarea semnalelor analogice 4
Deşi majoritatea senzorilor este analogică, există azi o gamă largă de senzori cu ieşiri numerice (Figura 11.5). O magistrală de ieşire serială permite conectarea şi comunicarea între sensorii "inteligenţi" şi calculatorul-gazdă, ceea ce conduce la mărirea flexibilităţii (reconfigurabilităţii) sistemului. Astfel, orice senzor poate fi conectat la orice circuit electronic. Calculatorul poate accesa datele, prin program, de la orice senzor şi îl poate comanda să efectueze o anumită succesiune de operaţii. Senzorii îşi pot autocalibra zeroul, câştigul, neliniaritatea şi se pot autodiagnostica. De exemplu, în cazul electrocardiografului, se poate folosi un CAN pentru fiecare electrod şi sunt necesare doar două conductoare pentru transmiterea tuturor semnalelor la aparatul propriu-zis. De aici şi posibilitatea unei izolaţii electrice uşoare şi de calitate a acestora. Conceptul modern de proiectare hardware, software şi firmware în vederea folosirii tehnicii de calcul cât mai uşor, prietenos, fără a şti detalii de programare, se numeşte plugand-play. Programarea grafică, asociată instrumentaţiei virtuale, permite proiectarea unui SAD de exemplu pentru monitorizarea parametrilor fiziologici. Cheia aici este existenţa unui generator de linii de cod automat, care creează instrucţiuni sau cod-calculator la tastarea unei comenzi de nivel înalt, cum ar fi "select_channel_1". Exemple de medii de programare grafică sunt LabVIEW, LabWindows/CVI, Component Works,Virtual Bench,Visual Designer, Signal-Analyzer. Figura11.5 Transmiţător inteligent, cu ieşire numerică şi bus de comunicaţii serial 5
11.2 Calculatoarele în echipamentele biomedicale Aplicaţiile principale ale calculatoarelor se referă la achiziţia datelor, memorarea şi regăsirea datelor, compresia lor, calculul unor variabile prin implementarea unor formule, recunoaşterea formelor în diferite înregistrări (de semnale 1D, 2D, 3D), stabilirea unor limite şi semnalarea lor, analiza statistică a unor semnale deterministe sau aleatoare şi prezentarea datelor în diferite formate standard sau personalizate. Câteva realizări şi domenii concrete medicale sunt următoarele: Sisteme medicale informatice ; Analiza asistată de calculator a ECG şi EEG (inclusiv analiza potenţialelor evocate); Monitorizarea pacientului ; Analiza cateterizării cardiace, în săli de operaţie sau laborator; analiza funcţiei respiratorii pulmonare; Evaluarea testelor chimice de laborator clinic şi transmiterea rezultatelor la distanţă; Tomografie axială computerizată, tomografie cu RM, tomografie cu ultrasunete, cu emisie de pozitroni; medicină nucleară (detecţia scintilaţiilor, gama camere, diagnostic asistat etc.); Diverse alte echipamente biomedicale pentru: controlul anesteziei, dializă, servoventilaţie etc. 6