1 / 70

Microcontroller

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.

Télécharger la présentation

Microcontroller

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Microcontroller • Fordele ved anvendelse af microcontroller • Teori • Informationsflow i microcontrolleren • Anvendelses muligheder • Implementering

  2. Fordel ved anvendelse af microcontroller • Den tænkende enhed så tæt på patienten som muligt • Indbygget ADC samt mulighed for descimering af signalet

  3. Teori omkring microcontrolleren • CPU´en bygger på en von Neuman arkitektur:

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

  5. Informationsflow i microcontrolleren

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

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

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

  9. EKSEMPEL: Digital filtrering • Overføringsfunktionen: • Differensligningen:

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

  11. EKSEMPEL: Digital filtrering • Stabilitetsforhold kan undersøges via pol/ nulpunktsdiagram • Implementering af det digitale filter i microcontrolleren

  12. Implementering • Primær anvendelse: ADC • Konstruktion af processer der står for kommunikationen med PC

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

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

  15. 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; } }

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

  17. GUI Labview

  18. Frontpanel

  19. Diagram

  20. Muligheder på PC’en • Yderligere konditionering af signal • Ressourcekrævende beregninger • Data præsentation • Kommunikation/styring af ekstern hardware • Grafisk brugerinteraktion • Datalagring

  21. Krav til GUI Opbygning

  22. Krav til GUI Funktionalitet • Kommunikation m. MC • Visning • Pulsberegning • Alarm • Patientoprettelse • Datalagring/hentning

  23. Implementering

  24. Arbejdsstation

  25. Arbejdsstationen

  26. Monitorering

  27. Monitorering

  28. UART RX • 4 bytes modtaget? • Send kommando • Modtag 3x10 nye pkt. • Lav tre lister med 10 pkt.

  29. Vis EKG • Filtrering af valgte afledning

  30. Pulsberegning • Øjeblikspuls/gennemsnitspuls • Stabilitet/kontinuitet • HRV/pulsudvikling

  31. Pulsberegning

  32. Patientinformation

  33. Filstruktur • C:\EKGMonitorering • \System: kildekode m.m. • \Patienter: patientinfo + data • \monitorer: Info om monitorerne

  34. CPR.Nr.-tester

  35. Tilføj patient/rettelser • Test CPR.Nr • Tilføj nye rettelser el. • Opret patient • Opdater patientlister

  36. Slet patient • Hent patient fra liste • Bruger bekræftelse • Slet patient

  37. Alarmering

  38. Datalagring

  39. Vis EKG

  40. Indstillinger

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

  42. Perspektivering • HRV • Anvendelig for læger • Nem at implementere i systemet • Pacemakerspikes • Samplerate ca. 4 kHz • Elektronisk patientjournal • Standard for patientdata skal kendes

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

  44. GUI Labview

  45. Frontpanel

  46. Diagram

  47. Muligheder på PC’en • Yderligere konditionering af signal • Ressourcekrævende beregninger • Data præsentation • Kommunikation/styring af ekstern hardware • Grafisk brugerinteraktion • Datalagring

  48. Krav til GUI Opbygning

  49. Krav til GUI Funktionalitet • Kommunikation m. MC • Visning • Pulsberegning • Alarm • Patientoprettelse • Datalagring/hentning

  50. Implementering

More Related