710 likes | 1k Views
Microcontroller. Fordele ved anvendelse af microcontroller Teori Informationsflow i microcontrolleren Anvendelses muligheder Implementering. Fordel ved anvendelse af microcontroller. Den tænkende enhed så tæt på patienten som muligt Indbygget ADC samt mulighed for descimering af signalet.
E N D
Microcontroller • Fordele ved anvendelse af microcontroller • Teori • Informationsflow i microcontrolleren • Anvendelses muligheder • Implementering
Fordel ved anvendelse af microcontroller • Den tænkende enhed så tæt på patienten som muligt • Indbygget ADC samt mulighed for descimering af signalet
Teori omkring microcontrolleren • CPU´en bygger på en von Neuman arkitektur:
Von Neuman arkitektur • CPU´ens bestanddele: • Kontrolenhed: hentning af instruktioner • Aritmetisk logisk enhed (ALU): udfører simple beregninger • Lager: midlertidig lagring af data • Reserverede resigtre: • Program counter (PC) • Instruction register (IR) • Datastien i en von Neuman maskine
Informationsflow i microcontrolleren • ADC´en består af en multiplexer -> der kan samples fra flere kanaler • Har desuden en sample-and-hold funktion -> signalet forbliver kontinuert • ADC´en består af en multiplexer -> der kan samples fra flere kanaler
Anvendelses muligheder • Der er utallige muligheder for anvendelse af microcontrolleren • Signalbehandling: • Differentiering af EKG • Pulsberegning • Digital filtrering • Et eksempel på hvorledes et digitalt filter kan implementeres i microcontrollren
EKSEMPEL: Digital filtrering • Valg af IIR-filter eller FIR-filter. • Designet udføres vha. Matlab • Valg af pas- og stopband frekvensgrænser samt max ripple i pas- og stopband • Vælg Butterworth, Chebychev type I eller II, elliptisk • Ud fra de valgte koefficienter, kan overføringsfunktionen findes
EKSEMPEL: Digital filtrering • Overføringsfunktionen: • Differensligningen:
EKSEMPEL: Digital filtrering • Overskueliggørelse via blokdiagram • To metoder Direct Form I og II • Beregninger kan desuden mindskes ved, at inddele i 2. ordens sektioner i kaskade struktur
EKSEMPEL: Digital filtrering • Stabilitetsforhold kan undersøges via pol/ nulpunktsdiagram • Implementering af det digitale filter i microcontrolleren
Implementering • Primær anvendelse: ADC • Konstruktion af processer der står for kommunikationen med PC
ADC protokol • 10 datapunkter fra hver afledning void ADC_protokol(unsigned int ADCresult0[]) { int j; for(j=0; j<10; j++){ while ((IFG1 & UTXIFG0)==0); TXBUF0 = ADCresult0[j]>>4; } } • Genereres et interrupt hvergang transmitbufferen er tom
Interrupts • Opsætning af timer, UART, ADC, porte standsning af WDT • 3 interrupt service rutiner: • Timer A • Starter konverteringen • ADC12 • Konverteret data flyttes • Funktionskald af UART_TX • Funktionskald af ADC_protokol
Interrupts • UART receive • Overfører modtaget karakter til array int UART_RX(char receive_buffer[]) { int status = 0; if(strcmp(receive_buffer, "startMON") == 0){ TACTL |= MC_1; status =1; return status; } }
Interrupts • Værdien af status undersøges, og funktionen kaldes med med tilhørende argument void UART_TX(char send_buffer[4]) { int i = 0; while(i<4){ while((IFG1 & UTXIFG0)== 0); TXBUF0 = send_buffer[i]; i++; } } • A/D-konverteringen kan herefter påbegyndes
GUI Labview
Muligheder på PC’en • Yderligere konditionering af signal • Ressourcekrævende beregninger • Data præsentation • Kommunikation/styring af ekstern hardware • Grafisk brugerinteraktion • Datalagring
Krav til GUI Opbygning
Krav til GUI Funktionalitet • Kommunikation m. MC • Visning • Pulsberegning • Alarm • Patientoprettelse • Datalagring/hentning
UART RX • 4 bytes modtaget? • Send kommando • Modtag 3x10 nye pkt. • Lav tre lister med 10 pkt.
Vis EKG • Filtrering af valgte afledning
Pulsberegning • Øjeblikspuls/gennemsnitspuls • Stabilitet/kontinuitet • HRV/pulsudvikling
Filstruktur • C:\EKGMonitorering • \System: kildekode m.m. • \Patienter: patientinfo + data • \monitorer: Info om monitorerne
Tilføj patient/rettelser • Test CPR.Nr • Tilføj nye rettelser el. • Opret patient • Opdater patientlister
Slet patient • Hent patient fra liste • Bruger bekræftelse • Slet patient
Reflektion • Anvende digital filtrering på MC’en • Nemt at implementere og ændre • Ændre knækfrekvens • 150Hz => 40Hz • Ændre pulsberegningsmodulet • +1 sek når der intet pulsslag registres
Perspektivering • HRV • Anvendelig for læger • Nem at implementere i systemet • Pacemakerspikes • Samplerate ca. 4 kHz • Elektronisk patientjournal • Standard for patientdata skal kendes
Konklusion • Vise de 3 afledninger • Alarmer for asystoli, bradykardi og takykardi • Søge i data for sidste døgn • Ved vidre arbejde på systemet, vil det kunne anvendes som monitorerings-system på kardiologisk afdeling
GUI Labview
Muligheder på PC’en • Yderligere konditionering af signal • Ressourcekrævende beregninger • Data præsentation • Kommunikation/styring af ekstern hardware • Grafisk brugerinteraktion • Datalagring
Krav til GUI Opbygning
Krav til GUI Funktionalitet • Kommunikation m. MC • Visning • Pulsberegning • Alarm • Patientoprettelse • Datalagring/hentning