27.09.2013 Views

Optisk dataoverførsel til en microcontroller - Danmarks Tekniske ...

Optisk dataoverførsel til en microcontroller - Danmarks Tekniske ...

Optisk dataoverførsel til en microcontroller - Danmarks Tekniske ...

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.

0. Første data-bit modtages efter <strong>en</strong> start-bit (et logisk 1-tal), hvorfor de følg<strong>en</strong>de bits modtages<br />

som 01010101B, hvilket læses bagfra, da LSB modtages først, så resultatet ved aflæsning af<br />

EEPROM'<strong>en</strong> bliver i virkelighed<strong>en</strong> 10101010B eller (AAH). Overførsl<strong>en</strong> afsluttes med <strong>en</strong> stop-bit<br />

(repræs<strong>en</strong>teret ved et logisk 0), og <strong>en</strong> ny transaktion påbegyndes med <strong>en</strong>dnu <strong>en</strong> start-bit osv.<br />

osv. Dette sc<strong>en</strong>arie b<strong>en</strong>yttes <strong>til</strong> at undersøge fejlrat<strong>en</strong> for modtager<strong>en</strong> ved at fylde EEPROM'<strong>en</strong><br />

med <strong>en</strong> masse 1'er og 0'er, hvorfor succeskriteriet er så mange AH-nibbles (1010B) i<br />

EEPROM'<strong>en</strong> som muligt. Efterfølg<strong>en</strong>de undersøges grænserne for automatisk detektering af<br />

signalets periodetid.<br />

Hvert af de følg<strong>en</strong>de testsc<strong>en</strong>arier afhænger af de forudgå<strong>en</strong>de, så de givne forhold og<br />

inds<strong>til</strong>linger er gæld<strong>en</strong>de, ind<strong>til</strong> andet beskrives.<br />

Testsc<strong>en</strong>arie Forv<strong>en</strong>tet resultat Faktisk resultat<br />

Modtager<strong>en</strong> modificeres<br />

<strong>til</strong> at kunne modtage<br />

data med <strong>en</strong> fast<br />

periodetid på 100ms.<br />

Yderligere sættes modtager<strong>en</strong><br />

<strong>til</strong> skrive de<br />

modtagne bits direkte i<br />

EEPROM'<strong>en</strong>.<br />

Test-applett<strong>en</strong> sættes <strong>til</strong><br />

at blinke med <strong>en</strong><br />

frekv<strong>en</strong>s på 5Hz@50%<br />

(<strong>en</strong> periode på 200ms),<br />

hvilket giver hhv. <strong>en</strong> on-<br />

og off-tid på 100ms,<br />

hvilket svarer <strong>til</strong><br />

periodetid<strong>en</strong> for hver bit.<br />

Efter nogle minutter<br />

standses forsøget.<br />

Det meste af<br />

EEPROM'<strong>en</strong> vil være<br />

fyldt med HEX-værdi<strong>en</strong><br />

A (1010B). Der vil<br />

muligvis være nogle fejl<br />

i modtagels<strong>en</strong>, der kan<br />

skyldes at applett<strong>en</strong><br />

”falder ud”, som<br />

skyldes mangl<strong>en</strong>de<br />

kalibrering.<br />

Modtager<strong>en</strong> opdager et blinkesignal og<br />

forsøger at detektere periodetid<strong>en</strong>.<br />

Tydelige fejl i blinkesignalet opdages med<br />

det blotte øje – og efter nærmere<br />

undersøgelse af styresystemets processer<br />

står det klart, at nogle programmer<br />

optager store mængder CPU-tid.<br />

Figur<strong>en</strong> viser styresystemets jobliste<br />

sorteret efter CPU-tid, og det fremgår<br />

tydeligt, hvad problemet skyldes – nemlig<br />

programmet Miro, der sluger store<br />

mængder ressourcer.<br />

Modtager 43

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

Saved successfully!

Ooh no, something went wrong!