02.09.2013 Views

Multipla elektroder för elektrisk behandling av förmaksarytmi

Multipla elektroder för elektrisk behandling av förmaksarytmi

Multipla elektroder för elektrisk behandling av förmaksarytmi

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Timer0<br />

period<br />

6.6 System timing<br />

Timingen i systemet är uppbyggd på så sätt att då sl<strong>av</strong>en får ett startkommando påbörjas<br />

<strong>för</strong>sta AD-omvandlingen. En AD-omvandling blir klar på mindre än 10 µs därefter tar<br />

interruptrutinen samt data <strong>behandling</strong> ca ytterligare 40 µs. Mastern <strong>av</strong>bryter vid detektion<br />

sl<strong>av</strong>en varje ms, synkroniserar klockan mot masterns (klockan nollställs) samt påbörjar en ny<br />

AD-omvandling.<br />

Om mastern inte skickar något ”skicka data” kommando kommer värden att gå <strong>för</strong>lorade.<br />

Ingen intern databuffer finns hos sl<strong>av</strong>processorerna. Vi är dock säkra på att då mastern begär<br />

ett värde är detta högst 1ms gammalt.<br />

Timer<br />

interrupt<br />

AD<br />

omvandling<br />

interrupt<br />

Tid mellan varje timerinterrupt (ca 240 µs)<br />

Kommunikation<br />

interrupt<br />

AD omv #3 AD omv #4<br />

1 ms<br />

~100 µs<br />

Räknaren nollställs, ett nytt värde sänds till<br />

Master (två byte).<br />

Nytt värde finns redo att hämtas<br />

Vid kontinuerlig insamling <strong>av</strong> data från en given sl<strong>av</strong> är systemtimingen en viktig del i hur<br />

effektivt programmet kan arbeta. Om en interruptrutin påbörjas precis innan sl<strong>av</strong>ens<br />

kommunikations interrupt aktiverats måste detta slut<strong>för</strong>as innan masterns order kan granskas.<br />

Eftersom mastern väntar på att sl<strong>av</strong>en skall svara <strong>för</strong>dröjs även nästa sl<strong>av</strong>s anrop. Denna<br />

störning fortplantar sig sedan genom hela anropssekvensen. För att undvika detta stängs AD<br />

omvandlingarna <strong>av</strong> då ett ”skicka data” kommando anländer. Sl<strong>av</strong>en räknare som <strong>av</strong>gör<br />

frekvensen hos AD omvandlingarna uppdateras och laddas med perioden 100 µs. Under<br />

denna tid är vi säkra på att det <strong>för</strong>egående mätvärdet skickats till mastern. När sedan räknaren<br />

slår runt efter 100 µs laddas den vanliga perioden på 250 µs. Fyra AD omvandlingar har alltså<br />

påbörjas 850 µs efter huvudprocessorns anrop (100 + 250*3). Mastern anropar en viss sl<strong>av</strong> en<br />

gång per ms vilket innebär att sl<strong>av</strong>en alltid har ett färskt mätvärde redo att över<strong>för</strong>as till<br />

61<br />

Interrupt från master,<br />

nollställ räknaren<br />

1 ms<br />

AD omv #1<br />

#1 #2 #3 #4<br />

Summering<br />

Ett nytt mätvärde<br />

finns redo att<br />

hämtas

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!