Zum Inhalt springen

Navi: Unterschied zwischen den Versionen

Dannym (Diskussion | Beiträge)
Die Seite wurde neu angelegt: „= Navi = == Ziele == Linux-Navigationsgerät bauen mit ausschließlich Free Software. Einarbeiten in UART, SPI, I²C, SPI mit Linux >= 4.4 Spaß haben == Ha…“
 
Dannym (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
= Navi =
= Ziele =


== Ziele ==
* Linux-Navigationsgerät fürs Auto bauen mit ausschließlich Free Software.
* Einarbeiten in UART, SPI, I²C, SPI mit Linux >= 4.4
* Spaß haben


Linux-Navigationsgerät bauen mit ausschließlich Free Software.
= Hardware, abstrakt =
Einarbeiten in UART, SPI, I²C, SPI mit Linux >= 4.4
Spaß haben
 
== Hardware ==


* Stromversorgung
* GPS
* GPS
* FM-Radio
* FM-Radio
* VAN-Controller
* VAN Bus Controller für Display etc
 
= Hardware, konkret =
 
* 5 V "Anker" Netzteil für Auto
* MT3329 GPS Receiver
* TSS463AA VAN Bus Controller
* MCP2551 CAN Line Driver
* RDA5807M FM Radio
* TDA7850 4-Kanal-Audio-Verstärker
* PT7313E Audio Filter
* A20-OLinuXIno-LIME2 Host Computer
 
= Verbindungen =
 
* 5 V Netzteil für Auto: ISO-Stecker, USB
* MT3329 GPS Receiver: UART
* TSS463AA VAN Bus Controller: SPI
* MCP2551 CAN Line Driver: UART
* RDA5807M FM Radio: I²C, Antenne
* TDA7850 4-Kanal-Audio-Verstärker: Cinch
* PT7313E Audio Filter: I²C, Klinke
* A20-OLinuXIno-LIME2 Host Computer: Ethernet
 
== Hardware-Fallstricke ==
 
== FM-Antenne ==
 
* vorhanden am Auto etc
* hat möglicherweise eingebauten Verstärker
* schwierig zu finden (ist meist außerhalb des Autos)
* Phantomspeisung zur Stromversorgung nötig?
* Buchse? ISO oder DIN? Wahrscheinlich DIN.
* Impedanz? 100 Ω? 50 Ω?
 
== EMI ==
 
* ElectroMagnetic Interference
* unsere Hardware stellt viele Hochfrequenzstörquellen dar
* Störung von außen gibt’s vielleicht auch
* Audioverstärker sollte nicht gestört werden
* Faradayscher Käfig nötig (1 oder mehr)
** Filterplatte mit Masse
** min. 2 Lagen
 
== Ghost in the Machine ==
 
* Pull-Up-Widerstände sind auf den Kommunikationsleitungen notwendig, damit kein Blödsinn gesendet/empfangen wird, wenn ein Gerät ohne Strom ist
 
= Software =
 
* Selbstgebastelte (wenn sinnvoll User-Space-) Treiber für die Hardware
** http://svn.nomike.com/playground/trunk/Navi/
* MT3329 geht über gpsd schon
** xgps-Testprogramm
 
* Linux 4.4-rc2
** Hardware und Verbindungen müssen im Device-Tree-File eingetragen sein (d.h. eingetragen werden)
 
* es existieren verschiedene Headerfiles für SPI.
** Vorsicht! linux-headers-Paket im User Space installieren&verwenden, nicht /usr/src/linux/include
 
** Device Tree
*** offiziell sollten für Peripherie Device-Tree-Overlays verwendet werden (wird zusätzlich zum Board-Device-Tree-File geladen):
*** Spezialsyntax __overlay__ { … }
*** dtc -@ xxx.dts
*** Linux Command Line: dtoverlay=xxx.dtb beim Booten
*** geht nicht in Debian, weil "/plugin/" unbekannt
 
*** Hack: Board-File editieren
*** bei unserem Host: sun7i-a20-olinuxino-lime2.dts
*** folgendes hinten anhängen und dann: make dtbs und die entstehende Datei sun7i-a20-olinuxino-lime2.dtb  dem Bootvorgang zur Verfügung stellen
 
<pre>
&uart4 {
pinctrl-names = “default”;
pinctrl-0 = <&uart4_pins_a>;
status = “okay”;
};
 
&spi2 {
status = “okay”;
pinctrl-names = “default”;
pinctrl-0 = <&spi2_pins_a>;
van0: tss463aa@1 {
compatible = “atmel,tss463aa”;
reg = <0>;
spi-max-frequency = <4000000>;
spi-cpol;
spi-cpha;
};
};
 
&i2c2 {
pinctrl-names = “default”;
pinctrl-0 = <&i2c2_pins_a>;
status = “okay”;
};
 
&codec {
status = “okay”;
};
</pre>


[[Kategorie:Projekte]]
[[Kategorie:Projekte]]