Microcontroller
This presentation is the property of its rightful owner.
Sponsored Links
1 / 70

Microcontroller PowerPoint PPT Presentation


  • 141 Views
  • Uploaded on
  • Presentation posted in: General

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.

Download Presentation

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Microcontroller

Microcontroller

  • Fordele ved anvendelse af microcontroller

  • Teori

  • Informationsflow i microcontrolleren

  • Anvendelses muligheder

  • Implementering


Fordel ved anvendelse af microcontroller

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

Teori omkring microcontrolleren

  • CPU´en bygger på en von Neuman arkitektur:


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

    Informationsflow i microcontrolleren


    Informationsflow i microcontrolleren1

    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

    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

    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 filtrering1

    EKSEMPEL: Digital filtrering

    • Overføringsfunktionen:

    • Differensligningen:


    Eksempel digital filtrering2

    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 filtrering3

    EKSEMPEL: Digital filtrering

    • Stabilitetsforhold kan undersøges via pol/ nulpunktsdiagram

    • Implementering af det

      digitale filter i

      microcontrolleren


    Implementering

    Implementering

    • Primær anvendelse: ADC

    • Konstruktion af processer der står for kommunikationen med PC


    Adc protokol

    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

    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


  • Interrupts1

    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;

    }

    }


    Interrupts2

    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


    Microcontroller

    GUI

    Labview


    Frontpanel

    Frontpanel


    Diagram

    Diagram


    Muligheder p pc en

    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

    Krav til GUI

    Opbygning


    Krav til gui1

    Krav til GUI

    Funktionalitet

    • Kommunikation m. MC

    • Visning

    • Pulsberegning

    • Alarm

    • Patientoprettelse

    • Datalagring/hentning


    Implementering1

    Implementering


    Arbejdsstation

    Arbejdsstation


    Arbejdsstationen

    Arbejdsstationen


    Monitorering

    Monitorering


    Monitorering1

    Monitorering


    Uart rx

    UART RX

    • 4 bytes modtaget?

    • Send kommando

    • Modtag 3x10 nye pkt.

    • Lav tre lister med 10 pkt.


    Vis ekg

    Vis EKG

    • Filtrering af valgte afledning


    Pulsberegning

    Pulsberegning

    • Øjeblikspuls/gennemsnitspuls

    • Stabilitet/kontinuitet

    • HRV/pulsudvikling


    Pulsberegning1

    Pulsberegning


    Patientinformation

    Patientinformation


    Filstruktur

    Filstruktur

    • C:\EKGMonitorering

    • \System:kildekode m.m.

    • \Patienter:patientinfo + data

    • \monitorer:Info om monitorerne


    Cpr nr tester

    CPR.Nr.-tester


    Tilf j patient rettelser

    Tilføj patient/rettelser

    • Test CPR.Nr

    • Tilføj nye rettelser el.

    • Opret patient

    • Opdater patientlister


    Slet patient

    Slet patient

    • Hent patient fra liste

    • Bruger bekræftelse

    • Slet patient


    Alarmering

    Alarmering


    Datalagring

    Datalagring


    Vis ekg1

    Vis EKG


    Indstillinger

    Indstillinger


    Reflektion

    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

    Perspektivering

    • HRV

      • Anvendelig for læger

      • Nem at implementere i systemet

    • Pacemakerspikes

      • Samplerate ca. 4 kHz

    • Elektronisk patientjournal

      • Standard for patientdata skal kendes


    Konklusion

    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


    Microcontroller

    GUI

    Labview


    Frontpanel1

    Frontpanel


    Diagram1

    Diagram


    Muligheder p pc en1

    Muligheder på PC’en

    • Yderligere konditionering af signal

    • Ressourcekrævende beregninger

    • Data præsentation

    • Kommunikation/styring af ekstern hardware

    • Grafisk brugerinteraktion

    • Datalagring


    Krav til gui2

    Krav til GUI

    Opbygning


    Krav til gui3

    Krav til GUI

    Funktionalitet

    • Kommunikation m. MC

    • Visning

    • Pulsberegning

    • Alarm

    • Patientoprettelse

    • Datalagring/hentning


    Implementering2

    Implementering


    Arbejdsstation1

    Arbejdsstation


    Arbejdsstationen1

    Arbejdsstationen


    Monitorering2

    Monitorering


    Monitorering3

    Monitorering


    Uart rx1

    UART RX

    • 4 bytes modtaget?

    • Send kommando

    • Modtag 3x10 nye pkt.

    • Lav tre lister med 10 pkt.


    Vis ekg2

    Vis EKG

    • Filtrering af valgte afledning


    Pulsberegning2

    Pulsberegning

    • Øjeblikspuls/gennemsnitspuls

    • Stabilitet/kontinuitet

    • HRV/pulsudvikling


    Pulsberegning3

    Pulsberegning


    Patientinformation1

    Patientinformation


    Filstruktur1

    Filstruktur

    • C:\EKGMonitorering

    • \System:kildekode m.m.

    • \Patienter:patientinfo + data

    • \monitorer:Info om monitorerne


    Cpr nr tester1

    CPR.Nr.-tester


    Tilf j patient rettelser1

    Tilføj patient/rettelser

    • Test CPR.Nr

    • Tilføj nye rettelser el.

    • Opret patient

    • Opdater patientlister


    Slet patient1

    Slet patient

    • Hent patient fra liste

    • Bruger bekræftelse

    • Slet patient


    Alarmering1

    Alarmering


    Datalagring1

    Datalagring


    Vis ekg3

    Vis EKG


    Indstillinger1

    Indstillinger


    Reflektion1

    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


    Perspektivering1

    Perspektivering

    • HRV

      • Anvendelig for læger

      • Nem at implementere i systemet

    • Pacemakerspikes

      • Samplerate ca. 4 kHz

    • Elektronisk patientjournal

      • Standard for patientdata skal kendes


    Konklusion1

    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


  • Login