Schritt 2: Richten Sie Ihre Raspberry Pi
Der Raspberry Pi ist ein Allzweck-single Board Computer, der eine Linux-Betriebssystem ausgeführt werden kann. Jedoch Linux-Betriebssysteme nicht normalerweise Prozesse in Echtzeit ausgeführt. Und zwar deshalb, weil das Betriebssystem für die Eingänge von anderen Geräten, anstatt nur einem Befehl Verarbeitung gleichzeitig hört. Eine parallele ADC dient zur Eingabe zu und wenn einen externen ADC zu lesen, muss man sicherstellen, dass die Zeitspanne zwischen jeder Probe Punkt gleich ist. Ohne ein Echtzeit-Betriebssystem ist dies nicht gewährleistet. Besonderen Dank an Herrn Daniel Pelikan wieder zum Schreiben ein Linux-Kernel-Modul, um das Problem zu lösen.
Was ist ein Linux-Kernel-Modul?
Eine ladbare Kernel-Modul (LKM) ist ein Mechanismus zum Hinzufügen von Code zu, oder entfernen Code aus dem Linux-Kernel zur Laufzeit. Module sind Teile des Codes, das Be- und Entladen in den Kernel auf Anfrage. Sie erweitern die Funktionalität des Kernels ohne die Notwendigkeit, das System neu starten. Beispielsweise ist eine Art des Moduls der Gerätetreiber, wodurch den Kernel an das System angeschlossene Hardware zugreifen. Ohne diese modulare Funktion würde der Linux-Kernel sehr groß sein, da es müsste jeder Fahrer, der jemals benötigt werden würde auf der BBB zu unterstützen. Außerdem musst du den Kernel neu erstellen, jedes Mal, wenn Sie neuen Hardware hinzufügen oder Aktualisieren eines Gerätetreibers wollte. Der Nachteil der LKMs ist, dass die Treiber-Dateien müssen für jedes Gerät gewartet werden. LKMs werden zur Laufzeit geladen, aber sie führen nicht im User-Space – sie sind im wesentlichen Teil des Kernels. Erfahren Sie mehr über Linux-Kernel-Modul folgen Sie den unten angegebenen Links.
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/
Schreiben einen Linux-Kernel-Modul bietet die Möglichkeit, niedrigen Niveau Hardware Operationen durchführen. Wir müssen mit der höchsten Priorität, ausführen, lesen die GPIO-Register mit der System-Interrupts deaktiviert für so kurz wie möglich.
Eine parallele ADC kann verwendet werden, nehmen eine Probe auf der ansteigenden Flanke des ein Taktsignal und die Probe auf die Daten-Pins auf die fallende Flanke ausgegeben. Uhr des ADCs mit unseren erforderlich Samplerate und alle Daten-Pins zwischen jeder Probe lesen soll.