PiScope (Raspberry Pi baserat oscilloskop) (2 / 10 steg)
Steg 2: Konfigurera din Raspberry Pi
Raspberry Pi är en enkel bräde dator som kan köra en Linux operativsystem. Dock köra Linux operativsystem inte normalt processer i realtid. Detta är eftersom operativsystemet lyssnar efter ingångar från andra enheter, snarare än bara bearbetning ett kommando i taget. En parallell ADC används för att ta in och när du läser en extern ADC, måste man se till att tiden mellan varje prov punkt är samma. Utan ett realtime operativsystem garanteras detta inte. Speciellt tack till Mr Daniel Pelikan igen för att skriva en Linux kernel modul för att lösa problemet.
Vad är en Linux kernel modul?
En belastningsbar kärna modul (LKM) är en mekanism för att lägga till kod till, eller ta bort koden från Linuxkärnan vid körning. Moduler är bitar av kod som kan lastas och lossas i kärnan på begäran. De utöka funktionerna i kärnan utan att behöva starta om systemet. Till exempel, är en typ av modul drivrutinen, vilket gör att kärnan att till hårdvara ansluten till systemet. Utan detta modulära kapacitet, skulle Linux-kärnan vara mycket stor, eftersom det skulle behöva stödja varje förare som någonsin skulle behövas på BBB. Du skulle också behöva återskapa kärnan varje gång du ville lägga till ny maskinvara eller uppdatera en drivrutin. Nackdelen med LKMs är att drivrutinsfilerna måste upprätthållas för varje enhet. LKMs laddas under körning, men de inte köra i användarrymden – de ingår i huvudsak i kärnan. Om du vill veta Följ mer om Linux kernel module länkarna nedan.
http://www.tldp.org/LDP/lkmpg/2.6/HTML/
http://derekmolloy.IE/writing-a-linux-kernel-module-part-1-Introduction/
http://www.thegeekstuff.com/2013/07/Write-linux-kernel-module/
Skriva en Linux kernel modul ger möjlighet att utföra låg nivå hårdvara operationer. Vi måste köra med högsta möjliga prioritet, läsa GPIO registret med systemet avbrotten inaktiverad för så kort tid som möjligt.
En parallell ADC kan användas för att ta ett prov på stigande kanten av en klocksignal och utgång provet på data stiften på fallande kanten. Syftet är att klocka ADC på våra krävs samplingsfrekvens och läsa alla data stift mellan varje prov.